annotate python/open.py @ 498:95ba5770d2f0

file decorator
author Jeff Hammel <jhammel@mozilla.com>
date Wed, 21 Aug 2013 15:54:09 -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)