annotate python/open.py @ 803:70e9f82c2443

* prime actually doesnt work; if i had a decent CI for my own software, i would have known that; but i dont * resource_filename.py even _says_ example in it. let us hope it is telling the truth
author Jeff Hammel <k0scist@gmail.com>
date Fri, 28 Oct 2016 17:00:37 -0700
parents 2025368488ee
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
398
2025368488ee adding python/open.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 def load(resource):
2025368488ee adding python/open.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2 """
2025368488ee adding python/open.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3 open a file or URL for reading. If the passed resource string is not a URL,
2025368488ee adding python/open.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
4 or begins with 'file://', return a ``file``. Otherwise, return the
2025368488ee adding python/open.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
5 result of urllib2.urlopen()
2025368488ee adding python/open.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
6 """
2025368488ee adding python/open.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
7
2025368488ee adding python/open.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
8 # handle file URLs separately due to python stdlib limitations
2025368488ee adding python/open.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
9 if resource.startswith('file://'):
2025368488ee adding python/open.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
10 resource = resource[len('file://'):]
2025368488ee adding python/open.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
11
2025368488ee adding python/open.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
12 if not is_url(resource):
2025368488ee adding python/open.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
13 # if no scheme is given, it is a file path
2025368488ee adding python/open.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
14 return file(resource)
2025368488ee adding python/open.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
15
2025368488ee adding python/open.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
16 return urllib2.urlopen(resource)