view python/open.py @ 664:ffb75d832afe

make sneaky urls
author Jeff Hammel <k0scist@gmail.com>
date Mon, 07 Apr 2014 19:24:57 -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)