Update guix package definition after core-updates merge. (#122)

This commit is contained in:
Giacomo Leidi 2022-01-03 20:14:31 +01:00 committed by GitHub
parent c63ff905e5
commit 43d653f37c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 233 additions and 263 deletions

5
.envrc
View File

@ -1,6 +1,7 @@
if command -v guix; then
rm -f .guix-root
eval "$(guix time-machine -C channels-lock.scm -- shell -r .guix-root -D -f guix.scm -m manifest.scm --pure --search-paths -L .)"
GUIX_PROFILE="${PWD}/.guix-root"
rm -f "$GUIX_PROFILE"
eval "$(guix time-machine -C channels-lock.scm -- shell -r "$GUIX_PROFILE" -D -f guix.scm -m manifest.scm --search-paths -L .)"
# Add development scripts to PATH
export PATH="$(pwd)/scripts:${PATH}"

View File

@ -1,9 +1,11 @@
(use-modules (guix channels))
(list
(channel
(name 'guix)
(url "https://git.savannah.gnu.org/git/guix.git")
(commit
"20d525a842ca5d22edc4e2aa4a5d8225c2f5306c")
"01ec5efff7cf95cae69493bd4ccfdd21a38770ae")
(introduction
(make-channel-introduction
"9edb3f66fd807b096b48283debdcddccfea34bad"

View File

@ -3,6 +3,7 @@
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix transformations)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system python)
@ -10,6 +11,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages databases)
#:use-module (gnu packages django)
#:use-module (gnu packages openstack)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
@ -30,11 +32,53 @@
"https://wiki.coopcycle.org/en:license"
"Coopyleft License")))
(define wrap-python3
(@@ (gnu packages python) wrap-python3))
;; This comes from Guix commit ef347195278eb160ec725bbdccf71d67c0fa4271
(define python-asynctest-from-the-past
(package
(name "python-asynctest")
(version "0.13.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "asynctest" version))
(sha256
(base32
"1b3zsy7p84gag6q8ai2ylyrhx213qdk2h2zb6im3xn0m5n264y62"))))
(build-system python-build-system)
(arguments
'(#:tests? #f))
(home-page "https://github.com/Martiusweb/asynctest")
(synopsis "Extension of unittest for testing asyncio libraries")
(description
"The package asynctest is built on top of the standard unittest module
and cuts down boilerplate code when testing libraries for asyncio.")
(license license:asl2.0)))
(define-public python-3.9-wrapper
(wrap-python3 python-3.9))
;; After core-updates-freeze merge poetry stopped building.
;; We pin the version based on old master until it'll be fixed.
(define python-os-testr/fixed
(package
(inherit python-os-testr)
(native-inputs
(modify-inputs (package-native-inputs python-os-testr)
(prepend python-testrepository)))))
(define python-msgpack-transitional/fixed
(package
(inherit python-msgpack-transitional)
(arguments
(substitute-keyword-arguments (package-arguments python-msgpack-transitional)
((#:phases phases)
`(modify-phases ,phases
(delete 'check)))))))
(define-public poetry/pinned
(let ((transform
(package-input-rewriting/spec `(("python-msgpack-transitional" .
,(const python-msgpack-transitional/fixed))
("python-os-testr" .
,(const python-os-testr/fixed))))))
(transform poetry)))
;; This is only for mobilizon-bots.git.
(define-public python-arrow-1.1
@ -49,35 +93,6 @@
(base32
"1n2vzyrirfj7fp0zn6iipm3i8bch0g4m14z02nrvlyjiyfmi7zmq"))))))
;; This is only for mobilizon-bots.git.
(define-public python-tortoise-orm-0.17
(package (inherit python-tortoise-orm)
(name "python-tortoise-orm")
(version "0.17.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tortoise-orm" version))
(sha256
(base32
"0viwmd8773b4bz8119d26wd3qxrdhmafrqd4m8bdz3439gcpq67l"))))))
;; This is only for mobilizon-bots.git.
(define-public python-pytest-asyncio-0.15
(package (inherit python-pytest-asyncio)
(name "python-pytest-asyncio")
(version "0.15.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-asyncio" version))
(sha256
(base32
"0vrzsrg3j1cfd57m0b3r5xf87rslgcs42jya346mdg9bc6wwwr15"))))
(arguments
(substitute-keyword-arguments (package-arguments python-pytest-asyncio)
((#:tests? _ #f) #f)))))
(define-public python-markdownify
(package
(name "python-markdownify")
@ -93,83 +108,15 @@
(arguments
`(#:tests? #f))
(native-inputs
`(("python-pytest" ,python-pytest-6)))
(list python-pytest-6))
(propagated-inputs
`(("python-flake8" ,python-flake8)
("python-beautifulsoup4" ,python-beautifulsoup4)
("python-six" ,python-six)))
(list python-flake8 python-beautifulsoup4 python-six))
(home-page
"http://github.com/matthewwithanm/python-markdownify")
(synopsis "Convert HTML to markdown.")
(description "Convert HTML to markdown.")
(license license:expat)))
(define-public python-ipaddress
(package
(name "python-ipaddress")
(version "1.0.23")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ipaddress" version))
(sha256
(base32 "1qp743h30s04m3cg3yk3fycad930jv17q7dsslj4mfw0jlvf1y5p"))))
(build-system python-build-system)
(home-page "https://github.com/phihag/ipaddress")
(synopsis "IPv4/IPv6 manipulation library")
(description "IPv4/IPv6 manipulation library")
(license #f)))
(define-public python-vcrpy
(package
(name "python-vcrpy")
(version "4.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "vcrpy" version))
(sha256
(base32 "16gmzxs3lzbgf1828n0q61vbmwyhpvzdlk37x6gdk8n05zr5n2ap"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? outputs #:allow-other-keys)
(when tests?
(substitute* "tox.ini"
(("AWS_ACCESS_KEY_ID") "PYTHONPATH"))
(setenv "PYTHONPATH" (string-append ".:" (getenv "PYTHONPATH")))
;; These tests require network access.
(delete-file "tests/unit/test_stubs.py")
(invoke "pytest" "tests/unit")))))))
(native-inputs
`(
("python-black" ,python-black)
("python-coverage" ,python-coverage)
("python-flake8" ,python-flake8)
("python-flask" ,python-flask)
("python-httplib2" ,python-httplib2)
("python-ipaddress" ,python-ipaddress)
("python-mock" ,python-mock)
("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
("python-pytest-httpbin" ,python-pytest-httpbin)
("python-tox" ,python-tox)
("python-urllib3" ,python-urllib3)))
(propagated-inputs
`(("python-pyyaml" ,python-pyyaml)
("python-six" ,python-six)
("python-wrapt" ,python-wrapt)
("python-yarl" ,python-yarl)))
(home-page "https://github.com/kevin1024/vcrpy")
(synopsis
"Automatically mock your HTTP interactions to simplify and speed up testing")
(description
"Automatically mock your HTTP interactions to simplify and speed up testing")
(license license:expat)))
(define-public python-tweepy
(package
(name "python-tweepy")
@ -190,17 +137,13 @@
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python" "-m" "unittest")))))))
(propagated-inputs
`(("python-aiohttp" ,python-aiohttp)
("python-requests" ,python-requests)
("python-requests-oauthlib" ,python-requests-oauthlib)))
(list python-aiohttp python-requests python-requests-oauthlib))
(native-inputs
`(("python-coveralls" ,python-coveralls)
("python-tox" ,python-tox)
("python-vcrpy" ,python-vcrpy)))
(list python-coveralls python-tox python-vcrpy))
(home-page "https://www.tweepy.org/")
(synopsis "Twitter library for Python")
(description "Twitter library for Python")
@ -249,6 +192,64 @@ Facebook authentication.")
;; Tests depend on network access.
`(#:tests? #false)))))
(define-public python-ddlparse
(package
(name "python-ddlparse")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ddlparse" version))
(sha256
(base32 "1nh8m6rxslwk05daxshxmgk41qfp18yynydba49b13l4m8dnh634"))))
(build-system python-build-system)
(arguments
;; Tests depend on network access.
`(#:tests? #false))
(propagated-inputs (list python-pyparsing))
(home-page "http://github.com/shinichi-takii/ddlparse")
(synopsis "DDL parase and Convert to BigQuery JSON schema")
(description "DDL parase and Convert to BigQuery JSON schema")
(license #f)))
(define-public python-dictdiffer/fixed
(package (inherit python-dictdiffer)
(arguments
(substitute-keyword-arguments (package-arguments python-send2trash)
((#:phases phases)
`(modify-phases ,phases
(delete 'check)))))))
;; (replace 'check
;; (lambda* (#:key tests? #:allow-other-keys)
;; (when tests?
;; (invoke "pytest"))))
(define-public python-aerich
(package
(name "python-aerich")
(version "0.6.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "aerich" version))
(sha256
(base32 "19bvx5icsmmf9ylxyqrxw4wjv77shg5r8pjgdg7plzhn937bzlch"))))
(build-system python-build-system)
(propagated-inputs
(list python-asyncmy
python-asyncpg
python-click
python-ddlparse
python-dictdiffer/fixed
python-tomlkit
python-tortoise-orm))
(home-page "https://github.com/tortoise/aerich")
(synopsis "A database migrations tool for Tortoise ORM.")
(description
"This package provides a database migrations tool for Tortoise ORM.")
(license #f)))
(define-public mobilizon-reshare.git
(let ((source-version (with-input-from-file
(string-append %source-dir
@ -265,8 +266,7 @@ Facebook authentication.")
#:select? (git-predicate %source-dir)))
(build-system python-build-system)
(arguments
`(#:python ,python-3.9
#:phases
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'generate-setup.py
(lambda* (#:key inputs outputs #:allow-other-keys)
@ -287,29 +287,29 @@ Facebook authentication.")
;; because they depend on system timezone.
"-k" "not test_get_settings_failure_invalid_toml and not test_format_event")))))))
(native-inputs
`(("python-asynctest" ,python-asynctest)
("python-iniconfig" ,python-iniconfig)
("poetry" ,poetry)
("python-pytest" ,python-pytest-6)
("python-pytest-cov" ,python-pytest-cov)
("python-pytest-asyncio" ,python-pytest-asyncio-0.15)
("python-pytest-lazy-fixture"
,python-pytest-lazy-fixture)
("python-responses" ,python-responses)
("python-wrapper" ,python-3.9-wrapper)))
;; This is needed until we switch to tortoise 0.18.*
(list python-asynctest-from-the-past
python-iniconfig
poetry/pinned
python-pytest
python-pytest-cov
python-pytest-asyncio
python-pytest-lazy-fixture
python-responses))
(propagated-inputs
`(("python-aiosqlite" ,python-aiosqlite)
("python-appdirs" ,python-appdirs)
("python-arrow" ,python-arrow-1.1)
("python-beautifulsoup4" ,python-beautifulsoup4)
("python-click" ,python-click)
("dynaconf" ,dynaconf)
("python-facebook-sdk" ,python-facebook-sdk.git)
("python-jinja2" ,python-jinja2)
("python-markdownify" ,python-markdownify)
("python-requests" ,python-requests)
("python-tweepy" ,python-tweepy)
("python-tortoise-orm" ,python-tortoise-orm-0.17)))
(list python-aerich
python-aiosqlite
python-appdirs
python-arrow-1.1
python-beautifulsoup4
python-click
dynaconf
python-facebook-sdk.git
python-jinja2
python-markdownify
python-requests
python-tweepy
python-tortoise-orm))
(home-page
"https://github.com/Tech-Workers-Coalition-Italia/mobilizon-reshare")
(synopsis

View File

@ -1,18 +1,15 @@
(define-module (manifest)
#:use-module (docker mobilizon-reshare)
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix profiles))
(packages->manifest
(append
(list
python-3.9-wrapper)
(map specification->package+output
'("meld" "git-cal" "man-db" "texinfo"
"python-pre-commit" "poetry" "bzip2"
"guix" "grep" "sed" "unzip" "bash" "ncurses"
"findutils" "ripgrep" "python-semver"
"util-linux" "python-black" "gawk" "fd"
"coreutils" "less" "git" "git:credential-libsecret"
"gitg" "direnv" "which" "vim" "emacs"
"tar" "gzip" "openssh" "docker-cli" "docker-compose"))))
(append
(map cadr (package-direct-inputs mobilizon-reshare.git))
(list poetry/pinned)
(map specification->package+output
'("git-cal" "man-db" "texinfo"
"python-pre-commit"
"ripgrep" "python-semver"
"fd"))))

158
poetry.lock generated
View File

@ -1,6 +1,6 @@
[[package]]
name = "aerich"
version = "0.5.8"
version = "0.6.1"
description = "A database migrations tool for Tortoise ORM."
category = "main"
optional = false
@ -10,11 +10,11 @@ python-versions = ">=3.7,<4.0"
click = "*"
ddlparse = "*"
dictdiffer = "*"
pydantic = "*"
tomlkit = "*"
tortoise-orm = ">=0.17.7,<0.18.0"
[package.extras]
aiomysql = ["aiomysql"]
asyncmy = ["asyncmy"]
asyncpg = ["asyncpg"]
[[package]]
@ -38,7 +38,7 @@ python-versions = "*"
[[package]]
name = "arrow"
version = "1.2.1"
version = "1.1.1"
description = "Better dates & times for Python"
category = "main"
optional = false
@ -65,28 +65,28 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]]
name = "attrs"
version = "21.2.0"
version = "21.4.0"
description = "Classes Without Boilerplate"
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
[package.extras]
dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit"]
dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"]
docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"]
tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface"]
tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins"]
tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "cloudpickle"]
tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "cloudpickle"]
[[package]]
name = "beautifulsoup4"
version = "4.10.0"
version = "4.9.3"
description = "Screen-scraping library"
category = "main"
optional = false
python-versions = ">3.0.0"
python-versions = "*"
[package.dependencies]
soupsieve = ">1.2"
soupsieve = {version = ">1.2", markers = "python_version >= \"3.0\""}
[package.extras]
html5lib = ["html5lib"]
@ -101,15 +101,12 @@ optional = false
python-versions = "*"
[[package]]
name = "charset-normalizer"
version = "2.0.9"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
name = "chardet"
version = "4.0.0"
description = "Universal encoding detector for Python 2 and 3"
category = "main"
optional = false
python-versions = ">=3.5.0"
[package.extras]
unicode_backport = ["unicodedata2"]
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
[[package]]
name = "click"
@ -203,11 +200,11 @@ resolved_reference = "3fa89fec6a20dd070ccf57968c6f89256f237f54"
[[package]]
name = "idna"
version = "3.3"
version = "2.10"
description = "Internationalized Domain Names in Applications (IDNA)"
category = "main"
optional = false
python-versions = ">=3.5"
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]]
name = "iniconfig"
@ -303,21 +300,6 @@ category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
[[package]]
name = "pydantic"
version = "1.8.2"
description = "Data validation and settings management using python 3.6 type hinting"
category = "main"
optional = false
python-versions = ">=3.6.1"
[package.dependencies]
typing-extensions = ">=3.7.4.3"
[package.extras]
dotenv = ["python-dotenv (>=0.10.4)"]
email = ["email-validator (>=1.0.3)"]
[[package]]
name = "pyparsing"
version = "3.0.6"
@ -331,7 +313,7 @@ diagrams = ["jinja2", "railroad-diagrams"]
[[package]]
name = "pypika-tortoise"
version = "0.1.1"
version = "0.1.2"
description = "Forked from pypika and streamline just for tortoise-orm"
category = "main"
optional = false
@ -374,19 +356,18 @@ testing = ["coverage", "hypothesis (>=5.7.1)"]
[[package]]
name = "pytest-cov"
version = "2.12.1"
version = "2.8.1"
description = "Pytest plugin for measuring coverage."
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[package.dependencies]
coverage = ">=5.2.1"
pytest = ">=4.6"
toml = "*"
coverage = ">=4.4"
pytest = ">=3.6"
[package.extras]
testing = ["fields", "hunter", "process-tests", "six", "pytest-xdist", "virtualenv"]
testing = ["fields", "hunter", "process-tests (==2.0.2)", "six", "virtualenv"]
[[package]]
name = "pytest-lazy-fixture"
@ -420,21 +401,21 @@ python-versions = "*"
[[package]]
name = "requests"
version = "2.26.0"
version = "2.25.1"
description = "Python HTTP for Humans."
category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
[package.dependencies]
certifi = ">=2017.4.17"
charset-normalizer = {version = ">=2.0.0,<2.1.0", markers = "python_version >= \"3\""}
idna = {version = ">=2.5,<4", markers = "python_version >= \"3\""}
chardet = ">=3.0.2,<5"
idna = ">=2.5,<3"
urllib3 = ">=1.21.1,<1.27"
[package.extras]
security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"]
socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"]
use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"]
[[package]]
name = "requests-oauthlib"
@ -491,6 +472,14 @@ category = "dev"
optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
[[package]]
name = "tomlkit"
version = "0.8.0"
description = "Style preserving TOML library"
category = "main"
optional = false
python-versions = ">=3.6,<4.0"
[[package]]
name = "tortoise-orm"
version = "0.17.8"
@ -513,7 +502,7 @@ accel = ["ciso8601 (>=2.1.2,<3.0.0)", "python-rapidjson", "uvloop (>=0.14.0,<0.1
[[package]]
name = "tweepy"
version = "4.4.0"
version = "4.1.0"
description = "Twitter library for Python"
category = "main"
optional = false
@ -553,12 +542,12 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
[metadata]
lock-version = "1.1"
python-versions = "^3.9"
content-hash = "5896850e9ff67d9d336191d73dd738bbca16d857cf5a1a04f4bdac2f7dc350d8"
content-hash = "5c405fa6ef97b2f9f81e5cf3ea24313142fcf712b6dda7eda87facb0d281f153"
[metadata.files]
aerich = [
{file = "aerich-0.5.8-py3-none-any.whl", hash = "sha256:231ea9897f49e1a5e95884cd5fbed31df722dbd417a4778d301e9c46af7457a4"},
{file = "aerich-0.5.8.tar.gz", hash = "sha256:1086d67788d805e273b828100fc66593ba96c1baeba7ff1198bf5be993975f4d"},
{file = "aerich-0.6.1-py3-none-any.whl", hash = "sha256:bf8c79079b3c11921b313173658e68295f000fd8a8c48b2ead549a1111a1cbd4"},
{file = "aerich-0.6.1.tar.gz", hash = "sha256:90d1bfce48167e7acf6b4f5e94cb83fa9c2d39e13d63dfa94fae56cd62e97ba5"},
]
aiosqlite = [
{file = "aiosqlite-0.16.1-py3-none-any.whl", hash = "sha256:1df802815bb1e08a26c06d5ea9df589bcb8eec56e5f3378103b0f9b223c6703c"},
@ -569,8 +558,8 @@ appdirs = [
{file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"},
]
arrow = [
{file = "arrow-1.2.1-py3-none-any.whl", hash = "sha256:6b2914ef3997d1fd7b37a71ce9dd61a6e329d09e1c7b44f4d3099ca4a5c0933e"},
{file = "arrow-1.2.1.tar.gz", hash = "sha256:c2dde3c382d9f7e6922ce636bf0b318a7a853df40ecb383b29192e6c5cc82840"},
{file = "arrow-1.1.1-py3-none-any.whl", hash = "sha256:77a60a4db5766d900a2085ce9074c5c7b8e2c99afeaa98ad627637ff6f292510"},
{file = "arrow-1.1.1.tar.gz", hash = "sha256:dee7602f6c60e3ec510095b5e301441bc56288cb8f51def14dcb3079f623823a"},
]
asynctest = [
{file = "asynctest-0.13.0-py3-none-any.whl", hash = "sha256:5da6118a7e6d6b54d83a8f7197769d046922a44d2a99c21382f0a6e4fadae676"},
@ -581,20 +570,21 @@ atomicwrites = [
{file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"},
]
attrs = [
{file = "attrs-21.2.0-py2.py3-none-any.whl", hash = "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1"},
{file = "attrs-21.2.0.tar.gz", hash = "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb"},
{file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"},
{file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"},
]
beautifulsoup4 = [
{file = "beautifulsoup4-4.10.0-py3-none-any.whl", hash = "sha256:9a315ce70049920ea4572a4055bc4bd700c940521d36fc858205ad4fcde149bf"},
{file = "beautifulsoup4-4.10.0.tar.gz", hash = "sha256:c23ad23c521d818955a4151a67d81580319d4bf548d3d49f4223ae041ff98891"},
{file = "beautifulsoup4-4.9.3-py2-none-any.whl", hash = "sha256:4c98143716ef1cb40bf7f39a8e3eec8f8b009509e74904ba3a7b315431577e35"},
{file = "beautifulsoup4-4.9.3-py3-none-any.whl", hash = "sha256:fff47e031e34ec82bf17e00da8f592fe7de69aeea38be00523c04623c04fb666"},
{file = "beautifulsoup4-4.9.3.tar.gz", hash = "sha256:84729e322ad1d5b4d25f805bfa05b902dd96450f43842c4e99067d5e1369eb25"},
]
certifi = [
{file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"},
{file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"},
]
charset-normalizer = [
{file = "charset-normalizer-2.0.9.tar.gz", hash = "sha256:b0b883e8e874edfdece9c28f314e3dd5badf067342e42fb162203335ae61aa2c"},
{file = "charset_normalizer-2.0.9-py3-none-any.whl", hash = "sha256:1eecaa09422db5be9e29d7fc65664e6c33bd06f9ced7838578ba40d58bdf3721"},
chardet = [
{file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"},
{file = "chardet-4.0.0.tar.gz", hash = "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"},
]
click = [
{file = "click-8.0.3-py3-none-any.whl", hash = "sha256:353f466495adaeb40b6b5f592f9f91cb22372351c84caeb068132442a4518ef3"},
@ -667,8 +657,8 @@ dynaconf = [
]
facebook-sdk = []
idna = [
{file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"},
{file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"},
{file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"},
{file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"},
]
iniconfig = [
{file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"},
@ -773,37 +763,13 @@ py = [
{file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"},
{file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"},
]
pydantic = [
{file = "pydantic-1.8.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:05ddfd37c1720c392f4e0d43c484217b7521558302e7069ce8d318438d297739"},
{file = "pydantic-1.8.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a7c6002203fe2c5a1b5cbb141bb85060cbff88c2d78eccbc72d97eb7022c43e4"},
{file = "pydantic-1.8.2-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:589eb6cd6361e8ac341db97602eb7f354551482368a37f4fd086c0733548308e"},
{file = "pydantic-1.8.2-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:10e5622224245941efc193ad1d159887872776df7a8fd592ed746aa25d071840"},
{file = "pydantic-1.8.2-cp36-cp36m-win_amd64.whl", hash = "sha256:99a9fc39470010c45c161a1dc584997f1feb13f689ecf645f59bb4ba623e586b"},
{file = "pydantic-1.8.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a83db7205f60c6a86f2c44a61791d993dff4b73135df1973ecd9eed5ea0bda20"},
{file = "pydantic-1.8.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:41b542c0b3c42dc17da70554bc6f38cbc30d7066d2c2815a94499b5684582ecb"},
{file = "pydantic-1.8.2-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:ea5cb40a3b23b3265f6325727ddfc45141b08ed665458be8c6285e7b85bd73a1"},
{file = "pydantic-1.8.2-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:18b5ea242dd3e62dbf89b2b0ec9ba6c7b5abaf6af85b95a97b00279f65845a23"},
{file = "pydantic-1.8.2-cp37-cp37m-win_amd64.whl", hash = "sha256:234a6c19f1c14e25e362cb05c68afb7f183eb931dd3cd4605eafff055ebbf287"},
{file = "pydantic-1.8.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:021ea0e4133e8c824775a0cfe098677acf6fa5a3cbf9206a376eed3fc09302cd"},
{file = "pydantic-1.8.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e710876437bc07bd414ff453ac8ec63d219e7690128d925c6e82889d674bb505"},
{file = "pydantic-1.8.2-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:ac8eed4ca3bd3aadc58a13c2aa93cd8a884bcf21cb019f8cfecaae3b6ce3746e"},
{file = "pydantic-1.8.2-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:4a03cbbe743e9c7247ceae6f0d8898f7a64bb65800a45cbdc52d65e370570820"},
{file = "pydantic-1.8.2-cp38-cp38-win_amd64.whl", hash = "sha256:8621559dcf5afacf0069ed194278f35c255dc1a1385c28b32dd6c110fd6531b3"},
{file = "pydantic-1.8.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8b223557f9510cf0bfd8b01316bf6dd281cf41826607eada99662f5e4963f316"},
{file = "pydantic-1.8.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:244ad78eeb388a43b0c927e74d3af78008e944074b7d0f4f696ddd5b2af43c62"},
{file = "pydantic-1.8.2-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:05ef5246a7ffd2ce12a619cbb29f3307b7c4509307b1b49f456657b43529dc6f"},
{file = "pydantic-1.8.2-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:54cd5121383f4a461ff7644c7ca20c0419d58052db70d8791eacbbe31528916b"},
{file = "pydantic-1.8.2-cp39-cp39-win_amd64.whl", hash = "sha256:4be75bebf676a5f0f87937c6ddb061fa39cbea067240d98e298508c1bda6f3f3"},
{file = "pydantic-1.8.2-py3-none-any.whl", hash = "sha256:fec866a0b59f372b7e776f2d7308511784dace622e0992a0b59ea3ccee0ae833"},
{file = "pydantic-1.8.2.tar.gz", hash = "sha256:26464e57ccaafe72b7ad156fdaa4e9b9ef051f69e175dbbb463283000c05ab7b"},
]
pyparsing = [
{file = "pyparsing-3.0.6-py3-none-any.whl", hash = "sha256:04ff808a5b90911829c55c4e26f75fa5ca8a2f5f36aa3a51f68e27033341d3e4"},
{file = "pyparsing-3.0.6.tar.gz", hash = "sha256:d9bdec0013ef1eb5a84ab39a3b3868911598afa494f5faa038647101504e2b81"},
]
pypika-tortoise = [
{file = "pypika-tortoise-0.1.1.tar.gz", hash = "sha256:6831d0a56e5e0ecefac3307dd9bdb3e5073fdac5d617401601d3a6713e059f3c"},
{file = "pypika_tortoise-0.1.1-py3-none-any.whl", hash = "sha256:860020094e01058ea80602c90d4a843d0a42cffefcf4f3cb1a7f2c18b880c638"},
{file = "pypika-tortoise-0.1.2.tar.gz", hash = "sha256:76d1bb45d9cd92ec18037be312d3ee8a26945f787ce981367cfed1ac6e1a11c9"},
{file = "pypika_tortoise-0.1.2-py3-none-any.whl", hash = "sha256:90a61d3d8b9c19cecd1bdd3ca3515114cb7c3a657a6cad9e9e48cfe6db8cc1e0"},
]
pytest = [
{file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"},
@ -814,8 +780,8 @@ pytest-asyncio = [
{file = "pytest_asyncio-0.15.1-py3-none-any.whl", hash = "sha256:3042bcdf1c5d978f6b74d96a151c4cfb9dcece65006198389ccd7e6c60eb1eea"},
]
pytest-cov = [
{file = "pytest-cov-2.12.1.tar.gz", hash = "sha256:261ceeb8c227b726249b376b8526b600f38667ee314f910353fa318caa01f4d7"},
{file = "pytest_cov-2.12.1-py2.py3-none-any.whl", hash = "sha256:261bb9e47e65bd099c89c3edf92972865210c36813f80ede5277dceb77a4a62a"},
{file = "pytest-cov-2.8.1.tar.gz", hash = "sha256:cc6742d8bac45070217169f5f72ceee1e0e55b0221f54bcf24845972d3a47f2b"},
{file = "pytest_cov-2.8.1-py2.py3-none-any.whl", hash = "sha256:cdbdef4f870408ebdbfeb44e63e07eb18bb4619fae852f6e760645fa36172626"},
]
pytest-lazy-fixture = [
{file = "pytest-lazy-fixture-0.6.3.tar.gz", hash = "sha256:0e7d0c7f74ba33e6e80905e9bfd81f9d15ef9a790de97993e34213deb5ad10ac"},
@ -830,8 +796,8 @@ pytz = [
{file = "pytz-2021.3.tar.gz", hash = "sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326"},
]
requests = [
{file = "requests-2.26.0-py2.py3-none-any.whl", hash = "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24"},
{file = "requests-2.26.0.tar.gz", hash = "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7"},
{file = "requests-2.25.1-py2.py3-none-any.whl", hash = "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e"},
{file = "requests-2.25.1.tar.gz", hash = "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804"},
]
requests-oauthlib = [
{file = "requests-oauthlib-1.3.0.tar.gz", hash = "sha256:b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a"},
@ -854,13 +820,17 @@ toml = [
{file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"},
{file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
]
tomlkit = [
{file = "tomlkit-0.8.0-py3-none-any.whl", hash = "sha256:b824e3466f1d475b2b5f1c392954c6cb7ea04d64354ff7300dc7c14257dc85db"},
{file = "tomlkit-0.8.0.tar.gz", hash = "sha256:29e84a855712dfe0e88a48f6d05c21118dbafb283bb2eed614d46f80deb8e9a1"},
]
tortoise-orm = [
{file = "tortoise-orm-0.17.8.tar.gz", hash = "sha256:1f5020e9964d32a4d6ed685d466b5d7285de328a63ee92ee988c1e4baf8fefbf"},
{file = "tortoise_orm-0.17.8-py3-none-any.whl", hash = "sha256:f18c41bb83be4748a6ca259ed7309ca954b35f5790971824bbc79a11d2b1ef3b"},
]
tweepy = [
{file = "tweepy-4.4.0-py2.py3-none-any.whl", hash = "sha256:cf02c4fbbd027fbc7172c24d03f53f061329ac040b22d201e59592a1cff86364"},
{file = "tweepy-4.4.0.tar.gz", hash = "sha256:8d4b4520271b796fa7efc4c5d5ef3228af4d79f6a4d3ace3900b2778ed8f6f1c"},
{file = "tweepy-4.1.0-py2.py3-none-any.whl", hash = "sha256:42c63f5ee2210a8afc7178c74a6d800ef5911b007ad19e774d75dec4b777993e"},
{file = "tweepy-4.1.0.tar.gz", hash = "sha256:88e2938de5ac7043c9ba8b8358996fbc5806059d63c96269d22527a40ca7d511"},
]
typing-extensions = [
{file = "typing_extensions-4.0.1-py3-none-any.whl", hash = "sha256:7f001e5ac290a0c0401508864c7ec868be4e701886d5b573a9528ed3973d9d3b"},

View File

@ -10,27 +10,27 @@ license = "Coopyleft"
[tool.poetry.dependencies]
python = "^3.9"
dynaconf = "^3.1"
tortoise-orm = "^0.17"
aiosqlite = "^0.16"
Jinja2 = "^2.11"
requests = "^2.25"
arrow = "^1.1"
click = "^8.0"
beautifulsoup4 = "^4.9"
markdownify = "^0.9"
appdirs = "^1.4"
tweepy = "^4.1"
dynaconf = "~3.1"
tortoise-orm = "~0.17"
aiosqlite = "~0.16"
Jinja2 = "~2.11"
requests = "~2.25"
arrow = "~1.1"
click = "~8.0"
beautifulsoup4 = "~4.9"
markdownify = "~0.9"
appdirs = "~1.4"
tweepy = "~4.1"
facebook-sdk = {git = "https://github.com/mobolic/facebook-sdk.git"}
aerich = "^0.5.8"
aerich = "~0.6"
[tool.poetry.dev-dependencies]
responses = "^0.13"
pytest-asyncio = "^0.15"
asynctest = "^0.13"
pytest = "^6.2"
pytest-cov = "^2.8"
pytest-lazy-fixture = "^0.6"
responses = "~0.13"
pytest-asyncio = "~0.15"
asynctest = "~0.13"
pytest = "~6.2"
pytest-cov = "~2.8"
pytest-lazy-fixture = "~0.6"
[build-system]
requires = ["poetry-core>=1.0.0"]

View File

@ -3,4 +3,4 @@ set -eu
guix time-machine -C channels-lock.scm -- build -L . -f guix.scm
guix time-machine -C channels-lock.scm -- system docker-image -L . --root=docker-image.tar.gz docker/image.scm
guix time-machine -C channels-lock.scm -- system image -t docker -L . --root=docker-image.tar.gz docker/image.scm

View File

@ -1,9 +1,9 @@
import logging
from datetime import timedelta
from uuid import UUID
from unittest.mock import MagicMock
import pytest
from asynctest import MagicMock
from mobilizon_reshare.event.event import MobilizonEvent
from mobilizon_reshare.models.publication import (