用于从单个AP API JSON文件中提取测试数据的命令行界面。
项目描述
APFAKE
你是否曾经想过“我应该记录半小时后到来的AP API测试”,却发现实际上它半小时前就已经结束了?”我做过好几次这样的事情。而且如果我以前做过,我必须假设其他人也会这样做。
以AP API选举测试的最终JSON状态文件为例(例如,测试运行后但在新测试或现场选举前的一刹那将测试归零时会发生什么),apfake
将生成一个全零的文件,然后在零和最终文件之间生成n
个中间状态,这些状态中的投票数将平稳增加。
简而言之:如果你给它一个测试的最后文件,apfake
将为你生成所有缺失的文件。
注意事项
apfake
不调用比赛。apfake
的投票在计票时并没有正确匹配实际的选举夜高峰。apfake
报告的投票点和投票点百分比可能不正确。apfake
不适用于零或初始化数据。它需要AP API的格式&results=ru
。
用法
安装
apfake
最简单的安装方式是直接从PyPi安装。它需要一个Python 3环境。
pip install apfake
使用
apfake -f 2018-03-20-final.json -n 10 -d /tmp/foo/ -r 2018-03-20
apfake
接受四个命令行选项,其中两个是必需的。
-f, --final-results-path
必需 最终结果JSON文件的路径。-n, --number
必需 要生成的文件数量。-r, --racedate
可选 选举的YYYY-MM-DD
racedate。如果指定在final-results-path
中的文件有racedate在文件名中,则使用此日期。否则,apfake
将引发一个ValueError
。-d, --data-directory
可选 要写入数据的目录或一组目录。如果这些目录不存在,apfake
将创建它们,并还将创建一个名为racedate
的目录以存放输出文件。默认为/tmp/
。
调试法术
这是apfake
期望你的JSON具有的形状。如果你使用格式&results=ru
,它可能工作。如果你使用不同的格式,它可能也会工作,尽管效果可能因人而异。
"""
results.keys()
dict_keys(['electionDate', 'timestamp', 'races', 'nextrequest'])
results['races'][0].keys()
dict_keys(['test', 'raceID', 'raceType', 'raceTypeID', 'officeID', 'officeName', 'party', 'seatName', 'reportingUnits'])
result['races][0]['reportingUnits'][0].keys()
dict_keys(['statePostal', 'stateName', 'level', 'lastUpdated', 'precinctsReporting', 'precinctsTotal', 'precinctsReportingPct', 'candidates'])
results['races'][0]['reportingUnits'][0]['candidates'][0].keys()
dict_keys(['first', 'last', 'party', 'incumbent', 'candidateID', 'polID', 'ballotOrder', 'polNum', 'voteCount'])
"""
项目详情
关闭
apfake-0.0.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5a20f9ec1396f8f2dba3b66291cf9aa7d95f25dd050b3f93bd0a848c5e2bb89f |
|
MD5 | 5b6d606480c5b17f5ea7c37f5124e8db |
|
BLAKE2b-256 | 97519f0d9601b6fe60cdc3bfbba128c7f3dd1b77816c20cccdaedcd665e04ae3 |