Clickable hyperlinks
Deborah Swanson
python at deborahswanson.net
Wed Jan 4 23:19:33 EST 2017
Chris Angelico wrote, on January 04, 2017 4:16 AM
>
> Yeah, there's no simple answer; however, you'll find that
> Python on many platforms is entirely capable of popping a URL
> up in the user's default browser. Check this out:
>
> >>> import antigravity
I downloaded the code from the Package Index, but there really wasn't
much in it. This is the entire .py file:
STRIP_URL = "http://xkcd.com/353/"
def start():
return STRIP_URL
And setup.py is equally disappointing:
from distutils.core import setup
setup(
name='antigravity',
version='0.1',
description='A really simple module that allow everyone to do
"import antigravity"',
author='Fabien Schwob',
author_email='antigravity at x-phuture.com',
url='http://fabien.schwob.org/antigravity/',
packages=['antigravity'],
)
> This uses the 'webbrowser' module, which knows about a number
> of different ways to open a browser, and will attempt them
> all. So if you can figure out the UI part of things, actually
> making the link pop up in a browser isn't too hard; for
> instance, if you're doing OAuth at the command line and need
> the user to go and authenticate, you can simply
> webbrowser.open("http://......./") and it'll DTRT.
>
> ChrisA
All the action of antigravity must be done by the import statement. When
import opens a module that immediately returns a url, it must have a
mechanism to open it in a browser.
It would be very easy to do the same thing with my own .py and import it
into another .py.
Or, take a look at import's code and figure out how it opens a url in a
browser. I imagine it's the 'webbrowser' module you mention. If it tries
several methods, just pick one that will work for you.
Or, take a look at this Index of Packages Matching 'webbrowser' (~50
packages)
https://pypi.python.org/pypi?%3Aaction=search&term=webbrowser&submit=sea
rch
D'Arcy was right, there's lots in python that's internet aware, though
that wasn't the question I knew to ask.
More information about the Python-list
mailing list