view python/open.py @ 789:2064d617fe56

add a suggested fix for posterity
author Jeff Hammel <k0scist@gmail.com>
date Wed, 28 Sep 2016 17:58:48 -0700
parents 2025368488ee
children
line wrap: on
line source

def load(resource):
    """
    open a file or URL for reading.  If the passed resource string is not a URL,
    or begins with 'file://', return a ``file``.  Otherwise, return the
    result of urllib2.urlopen()
    """

    # handle file URLs separately due to python stdlib limitations
    if resource.startswith('file://'):
        resource = resource[len('file://'):]

    if not is_url(resource):
        # if no scheme is given, it is a file path
        return file(resource)

    return urllib2.urlopen(resource)