gnu: Add python-mechanicalsoup.

* gnu/packages/python-web.scm (python-mechanicalsoup)
(python2-mechanicalsoup): New public variable.
This commit is contained in:
Tobias Geerinckx-Rice 2018-10-23 00:39:37 +02:00
parent 11d99192c7
commit 56a5ef4cb2
No known key found for this signature in database
GPG key ID: 0DB0FF884F556D79

View file

@ -60,6 +60,7 @@ (define-module (gnu packages python-web)
#:use-module (gnu packages python-crypto) #:use-module (gnu packages python-crypto)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages time) #:use-module (gnu packages time)
#:use-module (gnu packages web)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (srfi srfi-1)) #:use-module (srfi srfi-1))
@ -255,6 +256,43 @@ (define-public python-httplib2
(define-public python2-httplib2 (define-public python2-httplib2
(package-with-python2 python-httplib2)) (package-with-python2 python-httplib2))
(define-public python-mechanicalsoup
(package
(name "python-mechanicalsoup")
(version "0.11.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "MechanicalSoup" version))
(sha256
(base32 "0k59wwk75q7nz6i6gynvzhagy02ql0bv7py3qqcwgjw7607yq4i7"))))
(build-system python-build-system)
(arguments
;; TODO: Enable tests when python-flake8@3.5 hits master.
`(#:tests? #f))
(propagated-inputs
`(("python-beautifulsoup4" ,python-beautifulsoup4)
("python-lxml" ,python-lxml)
("python-requests" ,python-requests)
("python-six" ,python-six)))
;; (native-inputs
;; ;; For tests.
;; `(("python-pytest-flake8" ,python-pytest-flake8)
;; ("python-pytest-httpbin" ,python-pytest-httpbin)
;; ("python-pytest-mock" ,python-pytest-mock)
;; ("python-pytest-runner" ,python-pytest-runner)
;; ("python-requests-mock" ,python-requests-mock)))
(home-page "https://mechanicalsoup.readthedocs.io/")
(synopsis "Python library for automating website interaction")
(description
"MechanicalSoup is a Python library for automating interaction with
websites. It automatically stores and sends cookies, follows redirects, and can
follow links and submit forms. It doesnt do JavaScript.")
(license license:expat)))
(define-public python2-mechanicalsoup
(package-with-python2 python-mechanicalsoup))
(define-public python-sockjs-tornado (define-public python-sockjs-tornado
(package (package
(name "python-sockjs-tornado") (name "python-sockjs-tornado")