为-the-law-factory项目(lafabriquedelaloi.fr)生成数据
项目描述
the-law-factory-parser
为the-law-factory项目(http://www.LaFabriqueDeLaLoi.fr)生成数据
用于生成API的代码可在:http://www.LaFabriqueDeLaLoi.fr/api/
安装依赖项
您应设置一个专用的Python 3.5+虚拟环境
virtualenv -p $(which python3) venv
source venv/bin/activate
使用PyPy可以显著提高性能。您可以轻松安装它,并使用它创建虚拟环境,例如通过安装Pyenv
pyenv install pypy3.5-6.0.0
pyenv virtualenv pypy3.5-6.0.0 lafabrique
pyenv activate lafabrique
然后,激活您选择的虚拟环境,安装依赖项
sudo apt install libxml2-dev libxslt-dev # necessary for lxml
pip install --upgrade setuptools pip # not necessary but always a good idea
pip install -e .
pip install -Ur requirements.txt # to get the latest version of those dependencies
为单项法案生成数据
-
在Senat.fr上搜索法案程序页面或Assemblee-nationale.fr。
-
使用程序页面执行tlfp-parse脚本。
tlfp-parse <url>
数据生成在"data"目录中。您可以通过输入数据路径作为额外参数来更改此默认行为:tlfp-parse <url> <dataDir>
。
例如,要生成关于"高等教育和研究"法案的数据
tlfp-parse http://www.senat.fr/dossier-legislatif/pjl12-614.html
ls data/pjl12-614/
您还可以直接使用参议院的ID,例如:tlfp-parse pjl12-614
开发选项--debug
、--enable-cache
和--only-promulgated
也可以使用。
为许多法案生成数据
要生成2008年以来的所有法案,可以将ID或URL列表通过管道输入到tlfp-parse-many
。
这样做的便捷方式是使用senapy
senapy-cli doslegs_urls --min-year=2008 | tlfp-parse-many data/
有关更多信息,请参阅senapy-cli doslegs_urls
的帮助。您还可以使用anpy与anpy-cli doslegs_urls
。
为The Law Factory网站本地提供服务
首先,您需要为所有所需的法案构建数据。
然后生成前端所需的文件
python tlfp/generate_dossiers_csv.py data/ # generates home.json and dossiers_promulgues.csv used by the searchbar
python tlfp/tools/assemble_procedures.py data/ # generates dossiers_n.json files used by the Navettes viz
最后,以您喜欢的方式提供数据目录。例如,您可以使用简单的http服务器(如nodeJs)在特定端口上提供服务,在这种情况下,您需要启用cors:只需使用npm安装http-server并在给定端口(例如8002)上运行数据目录
npm install -g http-server
cd data & http-server -p 8002 --cors
为法案生成git版本
工作正在进行中
您可以导出所有法案作为git存储库:python tlfp/tools/make_git_repos.py git_export
您可以做的其他事情
- 解析参议院dosleg:
senapy-cli parse pjl15-610
- 解析国民议会dosleg:
anpy-cli parse http://www.assemblee-nationale.fr/13/dossiers/deuxieme_collectif_2009.asp
- 解析所有参议院dosleg:
senapy-cli doslegs_urls | senapy-cli parse_many senat_doslegs/
- 解析所有国民议会dosleg:
anpy-cli doslegs_urls | anpy-cli parse_many an_doslegs/
- 生成步骤图:
python tlfp/tools/steps_as_dot.py data/ | dot -Tsvg > steps.svg
您可以在这里探索相关项目
测试
要运行测试,您可以遵循.travis.yml
文件。
git clone https://github.com/regardscitoyens/the-law-factory-parser-test-cases.git
python tests/test_regressions.py the-law-factory-parser-test-cases
如果您进行了修改,最佳做法是使用--regen
标志重新生成测试用例。
python tests/test_regressions.py the-law-factory-parser-test-cases --regen
要使测试更快,您还可以使用--enable-cache
标志。要清除缓存,您可以删除lawfactory_where_is_my_cache
返回的目录。要更新元信息(例如,添加了新的政治团体),您需要清除所有根.json
文件的测试用例目录。
您还可以监视尚未被测试覆盖的代码部分
- 首先,安装
coverage
:pip install coverage
- 然后,您可以执行
bash coverage.sh
- 然后,报告在
htmlcov/index.html
致谢
这项工作,是Regard Citoyens、médialab Sciences Po和CEE Sciences Po之间的合作,由法国国家研究机构(ANR)管理的公共资助支持,作为“Investissements d'Avenir”计划框架内的LIEPP卓越中心(ANR11LABX0091,ANR 11 IDEX000502)的一部分。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
tlfp-0.0.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 573d2547294d735048ff1b0dbaa36ab7eede8d6e2b43cd59adc9c79240ff7605 |
|
MD5 | f743388eeeea1986cab7f36d8ee21ed9 |
|
BLAKE2b-256 | 0fbd2c2cee1aef5b166376f0440c4ad34c638dde798a5b7de6faa77529c34a0f |
tlfp-0.0.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 63dd1f270b30b2f7c20394e287d7c1ce7d414a23d1f396563ed08b88939b1fb4 |
|
MD5 | 8e2fb7cf409ab454bf1d8e16ee977c5a |
|
BLAKE2b-256 | 99efac6db508dd39c7ef46ce55c512ab5cf367a929ab727a81951f4e448761c7 |