1{ lib
2, babel
3, buildPythonPackage
4, colorama
5, cssselect
6, feedparser
7, fetchFromGitLab
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, python-dateutil
21, pythonOlder
22, pyyaml
23, requests
24, simplejson
25, termcolor
26, unidecode
27}:
28
29buildPythonPackage rec {
30 pname = "woob";
31 version = "3.0";
32 format = "setuptools";
33
34 disabled = pythonOlder "3.7";
35
36 src = fetchFromGitLab {
37 owner = "woob";
38 repo = pname;
39 rev = version;
40 hash = "sha256-XLcHNidclORbxVXgcsHY6Ja/dak+EVSKTaVQmg1f/rw=";
41 };
42
43 nativeBuildInputs = [
44 pyqt5
45 ];
46
47 propagatedBuildInputs = [
48 babel
49 colorama
50 cssselect
51 python-dateutil
52 feedparser
53 gdata
54 gnupg
55 google-api-python-client
56 html2text
57 libyaml
58 lxml
59 mechanize
60 pdfminer-six
61 pillow
62 prettytable
63 pyqt5
64 pyyaml
65 requests
66 simplejson
67 termcolor
68 unidecode
69 ];
70
71 postPatch = ''
72 substituteInPlace setup.cfg \
73 --replace "with-doctest = 1" "" \
74 --replace "with-coverage = 1" ""
75 '';
76
77 checkInputs = [
78 nose
79 ];
80
81 checkPhase = ''
82 nosetests
83 '';
84
85 pythonImportsCheck = [
86 "woob"
87 ];
88
89 meta = with lib; {
90 description = "Collection of applications and APIs to interact with websites";
91 homepage = "https://woob.tech";
92 license = licenses.lgpl3Plus;
93 maintainers = with maintainers; [ DamienCassou ];
94 };
95}