1{
2 lib,
3 babel,
4 buildPythonPackage,
5 cssselect,
6 feedparser,
7 fetchPypi,
8 gdata,
9 gnupg,
10 google-api-python-client,
11 html2text,
12 libyaml,
13 lxml,
14 mechanize,
15 nose,
16 pdfminer-six,
17 pillow,
18 prettytable,
19 pyqt5,
20 pytestCheckHook,
21 python-dateutil,
22 pythonOlder,
23 pyyaml,
24 requests,
25 simplejson,
26 termcolor,
27 unidecode,
28}:
29
30buildPythonPackage rec {
31 pname = "weboob";
32 version = "2.0";
33 format = "setuptools";
34
35 disabled = pythonOlder "3.7";
36
37 src = fetchPypi {
38 inherit pname version;
39 sha256 = "1c69vzf8sg8471lcaafpz9iw2q3rfj5hmcpqrs2k59fkgbvy32zw";
40 };
41
42 nativeBuildInputs = [ pyqt5 ];
43
44 propagatedBuildInputs = [
45 babel
46 cssselect
47 python-dateutil
48 feedparser
49 gdata
50 gnupg
51 google-api-python-client
52 html2text
53 libyaml
54 lxml
55 mechanize
56 pdfminer-six
57 pillow
58 prettytable
59 pyqt5
60 pyyaml
61 requests
62 simplejson
63 termcolor
64 unidecode
65 ];
66
67 postPatch = ''
68 substituteInPlace setup.cfg \
69 --replace "with-doctest = 1" "" \
70 --replace "with-coverage = 1" "" \
71 --replace "weboob.browser.filters.standard," "" \
72 --replace "weboob.browser.tests.filters," "" \
73 --replace "weboob.tools.application.formatters.json," "" \
74 --replace "weboob.tools.application.formatters.table," "" \
75 --replace "weboob.tools.capabilities.bank.transactions," ""
76 '';
77
78 nativeCheckInputs = [ nose ];
79
80 checkPhase = ''
81 nosetests
82 '';
83
84 pythonImportsCheck = [ "weboob" ];
85
86 meta = with lib; {
87 description = "Collection of applications and APIs to interact with websites";
88 homepage = "http://weboob.org";
89 license = licenses.agpl3Plus;
90 maintainers = with maintainers; [ ];
91 };
92}