pythonPackages.woob: init at 3.0

This commit is contained in:
Damien Cassou 2021-04-12 10:50:28 +02:00
parent e002b635cd
commit 2e2b67bc52
No known key found for this signature in database
GPG key ID: B68746238E59B548
3 changed files with 138 additions and 0 deletions

View file

@ -0,0 +1,82 @@
{ lib
, buildPythonPackage
, fetchPypi
, isPy27
, Babel
, colorama
, cssselect
, dateutil
, feedparser
, futures
, gdata
, gnupg
, google-api-python-client
, html2text
, libyaml
, lxml
, mechanize
, nose
, pdfminer
, pillow
, prettytable
, pyqt5
, pyyaml
, requests
, simplejson
, termcolor
, unidecode
}:
buildPythonPackage rec {
pname = "woob";
version = "3.0";
src = fetchPypi {
inherit pname version;
sha256 = "09hpxy5zhn2b8li0xjf3zd7s46lawb0315p5mdcsci3bj3s4v1j7";
};
patches = [
# Disable doctests that require networking:
./no-test-requiring-network.patch
];
checkInputs = [ nose ];
nativeBuildInputs = [ pyqt5 ];
propagatedBuildInputs = [
Babel
colorama
cssselect
dateutil
feedparser
gdata
gnupg
google-api-python-client
html2text
libyaml
lxml
mechanize
pdfminer
pillow
prettytable
pyqt5
pyyaml
requests
simplejson
termcolor
unidecode
] ++ lib.optionals isPy27 [ futures ];
checkPhase = ''
nosetests
'';
meta = with lib; {
homepage = "https://woob.tech";
description = "Collection of applications and APIs to interact with websites without requiring the user to open a browser";
license = licenses.lgpl3Plus;
maintainers = [ maintainers.DamienCassou ];
};
}

View file

@ -0,0 +1,54 @@
--- a/woob/browser/browsers.py
+++ b/woob/browser/browsers.py
@@ -930,23 +930,6 @@
:class:`NextPage` constructor can take an url or a Request object.
- >>> from .pages import HTMLPage
- >>> class Page(HTMLPage):
- ... def iter_values(self):
- ... for el in self.doc.xpath('//li'):
- ... yield el.text
- ... for next in self.doc.xpath('//a'):
- ... raise NextPage(next.attrib['href'])
- ...
- >>> class Browser(PagesBrowser):
- ... BASEURL = 'https://woob.tech'
- ... list = URL('/tests/list-(?P<pagenum>\d+).html', Page)
- ...
- >>> b = Browser()
- >>> b.list.go(pagenum=1) # doctest: +ELLIPSIS
- <woob.browser.browsers.Page object at 0x...>
- >>> list(b.pagination(lambda: b.page.iter_values()))
- ['One', 'Two', 'Three', 'Four']
"""
while True:
try:
--- a/woob/browser/pages.py
+++ b/woob/browser/pages.py
@@ -49,25 +49,6 @@
:class:`NextPage` constructor can take an url or a Request object.
- >>> class Page(HTMLPage):
- ... @pagination
- ... def iter_values(self):
- ... for el in self.doc.xpath('//li'):
- ... yield el.text
- ... for next in self.doc.xpath('//a'):
- ... raise NextPage(next.attrib['href'])
- ...
- >>> from .browsers import PagesBrowser
- >>> from .url import URL
- >>> class Browser(PagesBrowser):
- ... BASEURL = 'https://woob.tech'
- ... list = URL('/tests/list-(?P<pagenum>\d+).html', Page)
- ...
- >>> b = Browser()
- >>> b.list.go(pagenum=1) # doctest: +ELLIPSIS
- <woob.browser.pages.Page object at 0x...>
- >>> list(b.page.iter_values())
- ['One', 'Two', 'Three', 'Four']
"""
@wraps(func)

View file

@ -8987,6 +8987,8 @@ in {
wled = callPackage ../development/python-modules/wled { };
woob = callPackage ../development/python-modules/woob { };
word2vec = callPackage ../development/python-modules/word2vec { };
wordcloud = callPackage ../development/python-modules/wordcloud { };