确保包的PYPI总线因子高于某个阈值。

mr.parker的Python项目详细描述


“有权必有责”-本叔叔

总线因子

在2009年的plone大会上,有句名言“我们通常认为公共汽车是 “杀死程序员”被偷听到。几天后,在短跑比赛中,人们注意到了 plone 4.0的几个核心包只能由一个人发布。 此程序包旨在通过确保给定的程序包 超过一定数量的pypi授权管理员。

语法

这将创建一个名为parker的控制台脚本,如下所示:

parker [--factor=2]
       [--versions-cfg <configfile>]
       [--repository=http://pypi.python.org/pypi] [packagename(s)]
–factor:(also -f) This determines the minimum number of people that have access before an error is raised. The default is 2.
–versions-cfg:(also -c) If this option is provided a ^{tt2}$ versions file will be parsed for the package names
–repository:(also -r) A repository URL that follows the baroque lookup logic assumptions
packagename(s):Required if –versions-cfg isn’t specified. Contains one or more packages to check, space separated.

巴洛克查找逻辑

不幸的是,api不允许我们找到用户可以访问的 包装,所以我们需要筛选刮痕。我们希望HTML格式如下:

<li>
 <strong>Package Index Owner:</strong>
 <span>deo, smcmahon, MatthewWilkes</span>
</li>

<li>
 <strong>Package Index Maintainer:</strong>
 <span>JoeBob</span>
</li>

即,包含包索引的列表元素<;rolename>;:和逗号 标签被移除后,将显示单独的列表。

首先,提取li标记

(?<=li\>)[\S\s]*?(?=\<\/li\>)

然后,提取角色名称:

"Package Index ([a-zA-Z]*)"

这些名字都有:

set(a[0] for a in re.compile("([a-zA-Z]+,?)+?").findall(li)
         if a[0] not in ['Package','Index',rolename,'span','strong'])

是的,很难看。我知道。我希望有一个用于此的api,或者 很容易擦伤。现在,这就行了。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何获得@sign,以便在Java代码中键入@override?   java Facebook登录不起作用,我忘了什么?   json如何在java中从MongoDB Atlas获取特定字段?   java如何在Android上的JNI中实现委托/协议(在iOS上)?   java为什么这个循环多次的程序在循环后有一个“println”时需要花费时间?   java无法使组合框正常工作   JavaCQ5。如何为作者显示列表发布者?版本5.5   java我可以要求泛型参数具有泛型参数吗?   JavaOKHTTP无法获取整个JSON   数组Java:用字符减去字符意味着什么?   java为什么Eclipse content assist无法从部分方法名生成方法存根?   java使用线程在Android Studio中一次加载一个多位图   java遍历二叉树并返回一个值