跳转到主要内容

为-the-law-factory项目(lafabriquedelaloi.fr)生成数据

项目描述

the-law-factory-parser

Build Status Coverage Status

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的帮助。您还可以使用anpyanpy-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文件的测试用例目录。

您还可以监视尚未被测试覆盖的代码部分

  • 首先,安装coveragepip install coverage
  • 然后,您可以执行bash coverage.sh
  • 然后,报告在htmlcov/index.html

致谢

这项工作,是Regard Citoyensmédialab Sciences PoCEE Sciences Po之间的合作,由法国国家研究机构(ANR)管理的公共资助支持,作为“Investissements d'Avenir”计划框架内的LIEPP卓越中心(ANR11LABX0091,ANR 11 IDEX000502)的一部分。

更多详细信息请参阅https://lafabriquedelaloi.fr/a-propos.html

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

tlfp-0.0.3.tar.gz (68.9 kB 查看哈希值)

上传时间

构建分发

tlfp-0.0.3-py3-none-any.whl (93.9 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面