当前位置: 首页>>代码示例>>Python>>正文


Python urllib.parse方法代码示例

本文整理汇总了Python中setuptools.extern.six.moves.urllib.parse方法的典型用法代码示例。如果您正苦于以下问题:Python urllib.parse方法的具体用法?Python urllib.parse怎么用?Python urllib.parse使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在setuptools.extern.six.moves.urllib的用法示例。


在下文中一共展示了urllib.parse方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: find_external_links

# 需要导入模块: from setuptools.extern.six.moves import urllib [as 别名]
# 或者: from setuptools.extern.six.moves.urllib import parse [as 别名]
def find_external_links(url, page):
    """Find rel="homepage" and rel="download" links in `page`, yielding URLs"""

    for match in REL.finditer(page):
        tag, rel = match.groups()
        rels = set(map(str.strip, rel.lower().split(',')))
        if 'homepage' in rels or 'download' in rels:
            for match in HREF.finditer(tag):
                yield urllib.parse.urljoin(url, htmldecode(match.group(1)))

    for tag in ("<th>Home Page", "<th>Download URL"):
        pos = page.find(tag)
        if pos!=-1:
            match = HREF.search(page,pos)
            if match:
                yield urllib.parse.urljoin(url, htmldecode(match.group(1))) 
开发者ID:jpush,项目名称:jbox,代码行数:18,代码来源:package_index.py

示例2: _download_svn

# 需要导入模块: from setuptools.extern.six.moves import urllib [as 别名]
# 或者: from setuptools.extern.six.moves.urllib import parse [as 别名]
def _download_svn(self, url, filename):
        url = url.split('#',1)[0]   # remove any fragment for svn's sake
        creds = ''
        if url.lower().startswith('svn:') and '@' in url:
            scheme, netloc, path, p, q, f = urllib.parse.urlparse(url)
            if not netloc and path.startswith('//') and '/' in path[2:]:
                netloc, path = path[2:].split('/',1)
                auth, host = splituser(netloc)
                if auth:
                    if ':' in auth:
                        user, pw = auth.split(':',1)
                        creds = " --username=%s --password=%s" % (user, pw)
                    else:
                        creds = " --username="+auth
                    netloc = host
                    parts = scheme, netloc, url, p, q, f
                    url = urllib.parse.urlunparse(parts)
        self.info("Doing subversion checkout from %s to %s", url, filename)
        os.system("svn checkout%s -q %s %s" % (creds, url, filename))
        return filename 
开发者ID:jpush,项目名称:jbox,代码行数:22,代码来源:package_index.py

示例3: _vcs_split_rev_from_url

# 需要导入模块: from setuptools.extern.six.moves import urllib [as 别名]
# 或者: from setuptools.extern.six.moves.urllib import parse [as 别名]
def _vcs_split_rev_from_url(url, pop_prefix=False):
        scheme, netloc, path, query, frag = urllib.parse.urlsplit(url)

        scheme = scheme.split('+', 1)[-1]

        # Some fragment identification fails
        path = path.split('#',1)[0]

        rev = None
        if '@' in path:
            path, rev = path.rsplit('@', 1)

        # Also, discard fragment
        url = urllib.parse.urlunsplit((scheme, netloc, path, query, ''))

        return url, rev 
开发者ID:jpush,项目名称:jbox,代码行数:18,代码来源:package_index.py

示例4: _encode_auth

# 需要导入模块: from setuptools.extern.six.moves import urllib [as 别名]
# 或者: from setuptools.extern.six.moves.urllib import parse [as 别名]
def _encode_auth(auth):
    """
    A function compatible with Python 2.3-3.3 that will encode
    auth from a URL suitable for an HTTP header.
    >>> str(_encode_auth('username%3Apassword'))
    'dXNlcm5hbWU6cGFzc3dvcmQ='

    Long auth strings should not cause a newline to be inserted.
    >>> long_auth = 'username:' + 'password'*10
    >>> chr(10) in str(_encode_auth(long_auth))
    False
    """
    auth_s = urllib.parse.unquote(auth)
    # convert to bytes
    auth_bytes = auth_s.encode()
    # use the legacy interface for Python 2.3 support
    encoded_bytes = base64.encodestring(auth_bytes)
    # convert back to a string
    encoded = encoded_bytes.decode()
    # strip the trailing carriage return
    return encoded.replace('\n','') 
开发者ID:jpush,项目名称:jbox,代码行数:23,代码来源:package_index.py

示例5: find_external_links

# 需要导入模块: from setuptools.extern.six.moves import urllib [as 别名]
# 或者: from setuptools.extern.six.moves.urllib import parse [as 别名]
def find_external_links(url, page):
    """Find rel="homepage" and rel="download" links in `page`, yielding URLs"""

    for match in REL.finditer(page):
        tag, rel = match.groups()
        rels = set(map(str.strip, rel.lower().split(',')))
        if 'homepage' in rels or 'download' in rels:
            for match in HREF.finditer(tag):
                yield urllib.parse.urljoin(url, htmldecode(match.group(1)))

    for tag in ("<th>Home Page", "<th>Download URL"):
        pos = page.find(tag)
        if pos != -1:
            match = HREF.search(page, pos)
            if match:
                yield urllib.parse.urljoin(url, htmldecode(match.group(1))) 
开发者ID:sofia-netsurv,项目名称:python-netsurv,代码行数:18,代码来源:package_index.py

示例6: _download_svn

# 需要导入模块: from setuptools.extern.six.moves import urllib [as 别名]
# 或者: from setuptools.extern.six.moves.urllib import parse [as 别名]
def _download_svn(self, url, filename):
        url = url.split('#', 1)[0]  # remove any fragment for svn's sake
        creds = ''
        if url.lower().startswith('svn:') and '@' in url:
            scheme, netloc, path, p, q, f = urllib.parse.urlparse(url)
            if not netloc and path.startswith('//') and '/' in path[2:]:
                netloc, path = path[2:].split('/', 1)
                auth, host = splituser(netloc)
                if auth:
                    if ':' in auth:
                        user, pw = auth.split(':', 1)
                        creds = " --username=%s --password=%s" % (user, pw)
                    else:
                        creds = " --username=" + auth
                    netloc = host
                    parts = scheme, netloc, url, p, q, f
                    url = urllib.parse.urlunparse(parts)
        self.info("Doing subversion checkout from %s to %s", url, filename)
        os.system("svn checkout%s -q %s %s" % (creds, url, filename))
        return filename 
开发者ID:sofia-netsurv,项目名称:python-netsurv,代码行数:22,代码来源:package_index.py

示例7: _vcs_split_rev_from_url

# 需要导入模块: from setuptools.extern.six.moves import urllib [as 别名]
# 或者: from setuptools.extern.six.moves.urllib import parse [as 别名]
def _vcs_split_rev_from_url(url, pop_prefix=False):
        scheme, netloc, path, query, frag = urllib.parse.urlsplit(url)

        scheme = scheme.split('+', 1)[-1]

        # Some fragment identification fails
        path = path.split('#', 1)[0]

        rev = None
        if '@' in path:
            path, rev = path.rsplit('@', 1)

        # Also, discard fragment
        url = urllib.parse.urlunsplit((scheme, netloc, path, query, ''))

        return url, rev 
开发者ID:sofia-netsurv,项目名称:python-netsurv,代码行数:18,代码来源:package_index.py

示例8: _encode_auth

# 需要导入模块: from setuptools.extern.six.moves import urllib [as 别名]
# 或者: from setuptools.extern.six.moves.urllib import parse [as 别名]
def _encode_auth(auth):
    """
    A function compatible with Python 2.3-3.3 that will encode
    auth from a URL suitable for an HTTP header.
    >>> str(_encode_auth('username%3Apassword'))
    'dXNlcm5hbWU6cGFzc3dvcmQ='

    Long auth strings should not cause a newline to be inserted.
    >>> long_auth = 'username:' + 'password'*10
    >>> chr(10) in str(_encode_auth(long_auth))
    False
    """
    auth_s = urllib.parse.unquote(auth)
    # convert to bytes
    auth_bytes = auth_s.encode()
    # use the legacy interface for Python 2.3 support
    encoded_bytes = base64.encodestring(auth_bytes)
    # convert back to a string
    encoded = encoded_bytes.decode()
    # strip the trailing carriage return
    return encoded.replace('\n', '') 
开发者ID:sofia-netsurv,项目名称:python-netsurv,代码行数:23,代码来源:package_index.py

示例9: _download_svn

# 需要导入模块: from setuptools.extern.six.moves import urllib [as 别名]
# 或者: from setuptools.extern.six.moves.urllib import parse [as 别名]
def _download_svn(self, url, filename):
        url = url.split('#', 1)[0]   # remove any fragment for svn's sake
        creds = ''
        if url.lower().startswith('svn:') and '@' in url:
            scheme, netloc, path, p, q, f = urllib.parse.urlparse(url)
            if not netloc and path.startswith('//') and '/' in path[2:]:
                netloc, path = path[2:].split('/', 1)
                auth, host = splituser(netloc)
                if auth:
                    if ':' in auth:
                        user, pw = auth.split(':', 1)
                        creds = " --username=%s --password=%s" % (user, pw)
                    else:
                        creds = " --username=" + auth
                    netloc = host
                    parts = scheme, netloc, url, p, q, f
                    url = urllib.parse.urlunparse(parts)
        self.info("Doing subversion checkout from %s to %s", url, filename)
        os.system("svn checkout%s -q %s %s" % (creds, url, filename))
        return filename 
开发者ID:awemulya,项目名称:kobo-predict,代码行数:22,代码来源:package_index.py

示例10: egg_info_for_url

# 需要导入模块: from setuptools.extern.six.moves import urllib [as 别名]
# 或者: from setuptools.extern.six.moves.urllib import parse [as 别名]
def egg_info_for_url(url):
    parts = urllib.parse.urlparse(url)
    scheme, server, path, parameters, query, fragment = parts
    base = urllib.parse.unquote(path.split('/')[-1])
    if server=='sourceforge.net' and base=='download':    # XXX Yuck
        base = urllib.parse.unquote(path.split('/')[-2])
    if '#' in base: base, fragment = base.split('#',1)
    return base,fragment 
开发者ID:jpush,项目名称:jbox,代码行数:10,代码来源:package_index.py

示例11: from_url

# 需要导入模块: from setuptools.extern.six.moves import urllib [as 别名]
# 或者: from setuptools.extern.six.moves.urllib import parse [as 别名]
def from_url(cls, url):
        "Construct a (possibly null) ContentChecker from a URL"
        fragment = urllib.parse.urlparse(url)[-1]
        if not fragment:
            return ContentChecker()
        match = cls.pattern.search(fragment)
        if not match:
            return ContentChecker()
        return cls(**match.groupdict()) 
开发者ID:jpush,项目名称:jbox,代码行数:11,代码来源:package_index.py


注:本文中的setuptools.extern.six.moves.urllib.parse方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。