main.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:dumb-pypi 作者: chriskuehl 项目源码 文件源码
def guess_name_version_from_filename(filename):
    if filename.endswith('.whl'):
        wheel = Wheel(filename)
        return wheel.name, wheel.version
    else:
        # These don't have a well-defined format like wheels do, so they are
        # sort of "best effort", with lots of tests to back them up.
        # The most important thing is to correctly parse the name.
        name = remove_extension(filename)
        version = None

        if '-' in name:
            if name.count('-') == 1:
                name, version = name.split('-')
            else:
                parts = name.split('-')
                for i in range(len(parts) - 1, 0, -1):
                    part = parts[i]
                    if '.' in part and re.search('[0-9]', part):
                        name, version = '-'.join(parts[0:i]), '-'.join(parts[i:])

        # possible with poorly-named files
        if len(name) <= 0:
            raise ValueError(f'Invalid package name: {filename}')

        # impossible
        assert version is None or len(version) > 0, version

        return name, version
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号