From 14ca71605567994168e3ef11a983a457b22be144 Mon Sep 17 00:00:00 2001 From: Henrik Petersson <44243358+hnrkcode@users.noreply.github.com> Date: Fri, 26 Aug 2022 20:59:39 +0200 Subject: [PATCH 01/42] Add install instructions --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 3729204..49292fd 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ # Python Loading SDK +## How to install + +``` +pip install python-loading-sdk +``` + ## Usage Examples Instantiate the client and optionally provide login credentials to be able to use methods that requires the user to be logged in. From e994dbf2b26d296f6fe5462dbdd7d6cd11ff91b3 Mon Sep 17 00:00:00 2001 From: Henrik Petersson <44243358+hnrkcode@users.noreply.github.com> Date: Fri, 26 Aug 2022 21:15:29 +0200 Subject: [PATCH 02/42] Add badges to readme --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index 49292fd..f036040 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,16 @@ # Python Loading SDK +[![PyPI Version][pypi-image]][pypi-url] +[![][versions-image]][versions-url] +[![Build Status][build-image]][build-url] + +[pypi-image]: https://img.shields.io/pypi/v/python-loading-sdk +[pypi-url]: https://pypi.org/project/python-loading-sdk/ +[versions-image]: https://img.shields.io/pypi/pyversions/python-loading-sdk +[versions-url]: https://pypi.org/project/python-loading-sdk/ +[build-image]: https://github.com/hnrkcode/python-loading-sdk/actions/workflows/build.yaml/badge.svg +[build-url]: https://github.com/hnrkcode/python-loading-sdk/actions/workflows/build.yaml + ## How to install ``` From 1fc645bb1f6c0f96f1840a1cfe2afd19b5a5efac Mon Sep 17 00:00:00 2001 From: Henrik Petersson <44243358+hnrkcode@users.noreply.github.com> Date: Fri, 2 Sep 2022 19:33:55 +0200 Subject: [PATCH 03/42] Add aiohttp dependency --- poetry.lock | 352 ++++++++++++++++++++++++++++++++++++++++++++++++- pyproject.toml | 1 + 2 files changed, 352 insertions(+), 1 deletion(-) diff --git a/poetry.lock b/poetry.lock index 645a3d2..e367589 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,3 +1,34 @@ +[[package]] +name = "aiohttp" +version = "3.8.1" +description = "Async http client/server framework (asyncio)" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +aiosignal = ">=1.1.2" +async-timeout = ">=4.0.0a3,<5.0" +attrs = ">=17.3.0" +charset-normalizer = ">=2.0,<3.0" +frozenlist = ">=1.1.1" +multidict = ">=4.5,<7.0" +yarl = ">=1.0,<2.0" + +[package.extras] +speedups = ["aiodns", "brotli", "cchardet"] + +[[package]] +name = "aiosignal" +version = "1.2.0" +description = "aiosignal: a list of registered asynchronous callbacks" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +frozenlist = ">=1.1.0" + [[package]] name = "alabaster" version = "0.7.12" @@ -6,6 +37,28 @@ category = "dev" optional = false python-versions = "*" +[[package]] +name = "async-timeout" +version = "4.0.2" +description = "Timeout context manager for asyncio programs" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "attrs" +version = "22.1.0" +description = "Classes Without Boilerplate" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "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)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "zope.interface", "cloudpickle"] +tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "cloudpickle"] + [[package]] name = "babel" version = "2.10.3" @@ -72,6 +125,14 @@ python-versions = ">=3.7" docs = ["furo (>=2022.6.21)", "sphinx (>=5.1.1)", "sphinx-autodoc-typehints (>=1.19.1)"] testing = ["covdefaults (>=2.2)", "coverage (>=6.4.2)", "pytest (>=7.1.2)", "pytest-cov (>=3)", "pytest-timeout (>=2.1)"] +[[package]] +name = "frozenlist" +version = "1.3.1" +description = "A list-like structure which implements collections.abc.MutableSequence" +category = "main" +optional = false +python-versions = ">=3.7" + [[package]] name = "idna" version = "3.3" @@ -126,6 +187,14 @@ category = "dev" optional = false python-versions = ">=3.7" +[[package]] +name = "multidict" +version = "6.0.2" +description = "multidict implementation" +category = "main" +optional = false +python-versions = ">=3.7" + [[package]] name = "packaging" version = "21.3" @@ -411,6 +480,18 @@ platformdirs = ">=2.4,<3" docs = ["proselint (>=0.13)", "sphinx (>=5.1.1)", "sphinx-argparse (>=0.3.1)", "sphinx-rtd-theme (>=1)", "towncrier (>=21.9)"] testing = ["coverage (>=6.2)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=21.3)", "pytest (>=7.0.1)", "pytest-env (>=0.6.2)", "pytest-freezegun (>=0.4.2)", "pytest-mock (>=3.6.1)", "pytest-randomly (>=3.10.3)", "pytest-timeout (>=2.1)"] +[[package]] +name = "yarl" +version = "1.8.1" +description = "Yet another URL library" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +idna = ">=2.0" +multidict = ">=4.0" + [[package]] name = "zipp" version = "3.8.1" @@ -426,13 +507,99 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest- [metadata] lock-version = "1.1" python-versions = "^3.8" -content-hash = "1c40c29ccdbe3e632575f682efc52266b8e7bd254f12c7ef24eefa55a2322abe" +content-hash = "b1893540c1eea57c75fc89eca4ed0e2c0f24c86f8da88e0c2f107477f4adb5ef" [metadata.files] +aiohttp = [ + {file = "aiohttp-3.8.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1ed0b6477896559f17b9eaeb6d38e07f7f9ffe40b9f0f9627ae8b9926ae260a8"}, + {file = "aiohttp-3.8.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7dadf3c307b31e0e61689cbf9e06be7a867c563d5a63ce9dca578f956609abf8"}, + {file = "aiohttp-3.8.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a79004bb58748f31ae1cbe9fa891054baaa46fb106c2dc7af9f8e3304dc30316"}, + {file = "aiohttp-3.8.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:12de6add4038df8f72fac606dff775791a60f113a725c960f2bab01d8b8e6b15"}, + {file = "aiohttp-3.8.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f0d5f33feb5f69ddd57a4a4bd3d56c719a141080b445cbf18f238973c5c9923"}, + {file = "aiohttp-3.8.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eaba923151d9deea315be1f3e2b31cc39a6d1d2f682f942905951f4e40200922"}, + {file = "aiohttp-3.8.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:099ebd2c37ac74cce10a3527d2b49af80243e2a4fa39e7bce41617fbc35fa3c1"}, + {file = "aiohttp-3.8.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2e5d962cf7e1d426aa0e528a7e198658cdc8aa4fe87f781d039ad75dcd52c516"}, + {file = "aiohttp-3.8.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:fa0ffcace9b3aa34d205d8130f7873fcfefcb6a4dd3dd705b0dab69af6712642"}, + {file = "aiohttp-3.8.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:61bfc23df345d8c9716d03717c2ed5e27374e0fe6f659ea64edcd27b4b044cf7"}, + {file = "aiohttp-3.8.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:31560d268ff62143e92423ef183680b9829b1b482c011713ae941997921eebc8"}, + {file = "aiohttp-3.8.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:01d7bdb774a9acc838e6b8f1d114f45303841b89b95984cbb7d80ea41172a9e3"}, + {file = "aiohttp-3.8.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:97ef77eb6b044134c0b3a96e16abcb05ecce892965a2124c566af0fd60f717e2"}, + {file = "aiohttp-3.8.1-cp310-cp310-win32.whl", hash = "sha256:c2aef4703f1f2ddc6df17519885dbfa3514929149d3ff900b73f45998f2532fa"}, + {file = "aiohttp-3.8.1-cp310-cp310-win_amd64.whl", hash = "sha256:713ac174a629d39b7c6a3aa757b337599798da4c1157114a314e4e391cd28e32"}, + {file = "aiohttp-3.8.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:473d93d4450880fe278696549f2e7aed8cd23708c3c1997981464475f32137db"}, + {file = "aiohttp-3.8.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99b5eeae8e019e7aad8af8bb314fb908dd2e028b3cdaad87ec05095394cce632"}, + {file = "aiohttp-3.8.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3af642b43ce56c24d063325dd2cf20ee012d2b9ba4c3c008755a301aaea720ad"}, + {file = "aiohttp-3.8.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3630c3ef435c0a7c549ba170a0633a56e92629aeed0e707fec832dee313fb7a"}, + {file = "aiohttp-3.8.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:4a4a4e30bf1edcad13fb0804300557aedd07a92cabc74382fdd0ba6ca2661091"}, + {file = "aiohttp-3.8.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6f8b01295e26c68b3a1b90efb7a89029110d3a4139270b24fda961893216c440"}, + {file = "aiohttp-3.8.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a25fa703a527158aaf10dafd956f7d42ac6d30ec80e9a70846253dd13e2f067b"}, + {file = "aiohttp-3.8.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:5bfde62d1d2641a1f5173b8c8c2d96ceb4854f54a44c23102e2ccc7e02f003ec"}, + {file = "aiohttp-3.8.1-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:51467000f3647d519272392f484126aa716f747859794ac9924a7aafa86cd411"}, + {file = "aiohttp-3.8.1-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:03a6d5349c9ee8f79ab3ff3694d6ce1cfc3ced1c9d36200cb8f08ba06bd3b782"}, + {file = "aiohttp-3.8.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:102e487eeb82afac440581e5d7f8f44560b36cf0bdd11abc51a46c1cd88914d4"}, + {file = "aiohttp-3.8.1-cp36-cp36m-win32.whl", hash = "sha256:4aed991a28ea3ce320dc8ce655875e1e00a11bdd29fe9444dd4f88c30d558602"}, + {file = "aiohttp-3.8.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b0e20cddbd676ab8a64c774fefa0ad787cc506afd844de95da56060348021e96"}, + {file = "aiohttp-3.8.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:37951ad2f4a6df6506750a23f7cbabad24c73c65f23f72e95897bb2cecbae676"}, + {file = "aiohttp-3.8.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c23b1ad869653bc818e972b7a3a79852d0e494e9ab7e1a701a3decc49c20d51"}, + {file = "aiohttp-3.8.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:15b09b06dae900777833fe7fc4b4aa426556ce95847a3e8d7548e2d19e34edb8"}, + {file = "aiohttp-3.8.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:477c3ea0ba410b2b56b7efb072c36fa91b1e6fc331761798fa3f28bb224830dd"}, + {file = "aiohttp-3.8.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2f2f69dca064926e79997f45b2f34e202b320fd3782f17a91941f7eb85502ee2"}, + {file = "aiohttp-3.8.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ef9612483cb35171d51d9173647eed5d0069eaa2ee812793a75373447d487aa4"}, + {file = "aiohttp-3.8.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:6d69f36d445c45cda7b3b26afef2fc34ef5ac0cdc75584a87ef307ee3c8c6d00"}, + {file = "aiohttp-3.8.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:55c3d1072704d27401c92339144d199d9de7b52627f724a949fc7d5fc56d8b93"}, + {file = "aiohttp-3.8.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:b9d00268fcb9f66fbcc7cd9fe423741d90c75ee029a1d15c09b22d23253c0a44"}, + {file = "aiohttp-3.8.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:07b05cd3305e8a73112103c834e91cd27ce5b4bd07850c4b4dbd1877d3f45be7"}, + {file = "aiohttp-3.8.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c34dc4958b232ef6188c4318cb7b2c2d80521c9a56c52449f8f93ab7bc2a8a1c"}, + {file = "aiohttp-3.8.1-cp37-cp37m-win32.whl", hash = "sha256:d2f9b69293c33aaa53d923032fe227feac867f81682f002ce33ffae978f0a9a9"}, + {file = "aiohttp-3.8.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6ae828d3a003f03ae31915c31fa684b9890ea44c9c989056fea96e3d12a9fa17"}, + {file = "aiohttp-3.8.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0c7ebbbde809ff4e970824b2b6cb7e4222be6b95a296e46c03cf050878fc1785"}, + {file = "aiohttp-3.8.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8b7ef7cbd4fec9a1e811a5de813311ed4f7ac7d93e0fda233c9b3e1428f7dd7b"}, + {file = "aiohttp-3.8.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c3d6a4d0619e09dcd61021debf7059955c2004fa29f48788a3dfaf9c9901a7cd"}, + {file = "aiohttp-3.8.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:718626a174e7e467f0558954f94af117b7d4695d48eb980146016afa4b580b2e"}, + {file = "aiohttp-3.8.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:589c72667a5febd36f1315aa6e5f56dd4aa4862df295cb51c769d16142ddd7cd"}, + {file = "aiohttp-3.8.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ed076098b171573161eb146afcb9129b5ff63308960aeca4b676d9d3c35e700"}, + {file = "aiohttp-3.8.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:086f92daf51a032d062ec5f58af5ca6a44d082c35299c96376a41cbb33034675"}, + {file = "aiohttp-3.8.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:11691cf4dc5b94236ccc609b70fec991234e7ef8d4c02dd0c9668d1e486f5abf"}, + {file = "aiohttp-3.8.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:31d1e1c0dbf19ebccbfd62eff461518dcb1e307b195e93bba60c965a4dcf1ba0"}, + {file = "aiohttp-3.8.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:11a67c0d562e07067c4e86bffc1553f2cf5b664d6111c894671b2b8712f3aba5"}, + {file = "aiohttp-3.8.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:bb01ba6b0d3f6c68b89fce7305080145d4877ad3acaed424bae4d4ee75faa950"}, + {file = "aiohttp-3.8.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:44db35a9e15d6fe5c40d74952e803b1d96e964f683b5a78c3cc64eb177878155"}, + {file = "aiohttp-3.8.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:844a9b460871ee0a0b0b68a64890dae9c415e513db0f4a7e3cab41a0f2fedf33"}, + {file = "aiohttp-3.8.1-cp38-cp38-win32.whl", hash = "sha256:7d08744e9bae2ca9c382581f7dce1273fe3c9bae94ff572c3626e8da5b193c6a"}, + {file = "aiohttp-3.8.1-cp38-cp38-win_amd64.whl", hash = "sha256:04d48b8ce6ab3cf2097b1855e1505181bdd05586ca275f2505514a6e274e8e75"}, + {file = "aiohttp-3.8.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f5315a2eb0239185af1bddb1abf472d877fede3cc8d143c6cddad37678293237"}, + {file = "aiohttp-3.8.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a996d01ca39b8dfe77440f3cd600825d05841088fd6bc0144cc6c2ec14cc5f74"}, + {file = "aiohttp-3.8.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:13487abd2f761d4be7c8ff9080de2671e53fff69711d46de703c310c4c9317ca"}, + {file = "aiohttp-3.8.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea302f34477fda3f85560a06d9ebdc7fa41e82420e892fc50b577e35fc6a50b2"}, + {file = "aiohttp-3.8.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2f635ce61a89c5732537a7896b6319a8fcfa23ba09bec36e1b1ac0ab31270d2"}, + {file = "aiohttp-3.8.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e999f2d0e12eea01caeecb17b653f3713d758f6dcc770417cf29ef08d3931421"}, + {file = "aiohttp-3.8.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0770e2806a30e744b4e21c9d73b7bee18a1cfa3c47991ee2e5a65b887c49d5cf"}, + {file = "aiohttp-3.8.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d15367ce87c8e9e09b0f989bfd72dc641bcd04ba091c68cd305312d00962addd"}, + {file = "aiohttp-3.8.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6c7cefb4b0640703eb1069835c02486669312bf2f12b48a748e0a7756d0de33d"}, + {file = "aiohttp-3.8.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:71927042ed6365a09a98a6377501af5c9f0a4d38083652bcd2281a06a5976724"}, + {file = "aiohttp-3.8.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:28d490af82bc6b7ce53ff31337a18a10498303fe66f701ab65ef27e143c3b0ef"}, + {file = "aiohttp-3.8.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:b6613280ccedf24354406caf785db748bebbddcf31408b20c0b48cb86af76866"}, + {file = "aiohttp-3.8.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:81e3d8c34c623ca4e36c46524a3530e99c0bc95ed068fd6e9b55cb721d408fb2"}, + {file = "aiohttp-3.8.1-cp39-cp39-win32.whl", hash = "sha256:7187a76598bdb895af0adbd2fb7474d7f6025d170bc0a1130242da817ce9e7d1"}, + {file = "aiohttp-3.8.1-cp39-cp39-win_amd64.whl", hash = "sha256:1c182cb873bc91b411e184dab7a2b664d4fea2743df0e4d57402f7f3fa644bac"}, + {file = "aiohttp-3.8.1.tar.gz", hash = "sha256:fc5471e1a54de15ef71c1bc6ebe80d4dc681ea600e68bfd1cbce40427f0b7578"}, +] +aiosignal = [ + {file = "aiosignal-1.2.0-py3-none-any.whl", hash = "sha256:26e62109036cd181df6e6ad646f91f0dcfd05fe16d0cb924138ff2ab75d64e3a"}, + {file = "aiosignal-1.2.0.tar.gz", hash = "sha256:78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2"}, +] alabaster = [ {file = "alabaster-0.7.12-py2.py3-none-any.whl", hash = "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"}, {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"}, ] +async-timeout = [ + {file = "async-timeout-4.0.2.tar.gz", hash = "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15"}, + {file = "async_timeout-4.0.2-py3-none-any.whl", hash = "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"}, +] +attrs = [ + {file = "attrs-22.1.0-py2.py3-none-any.whl", hash = "sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c"}, + {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, +] babel = [ {file = "Babel-2.10.3-py3-none-any.whl", hash = "sha256:ff56f4892c1c4bf0d814575ea23471c230d544203c7748e8c68f0089478d48eb"}, {file = "Babel-2.10.3.tar.gz", hash = "sha256:7614553711ee97490f732126dc077f8d0ae084ebc6a96e23db1482afabdb2c51"}, @@ -461,6 +628,67 @@ filelock = [ {file = "filelock-3.8.0-py3-none-any.whl", hash = "sha256:617eb4e5eedc82fc5f47b6d61e4d11cb837c56cb4544e39081099fa17ad109d4"}, {file = "filelock-3.8.0.tar.gz", hash = "sha256:55447caa666f2198c5b6b13a26d2084d26fa5b115c00d065664b2124680c4edc"}, ] +frozenlist = [ + {file = "frozenlist-1.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5f271c93f001748fc26ddea409241312a75e13466b06c94798d1a341cf0e6989"}, + {file = "frozenlist-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9c6ef8014b842f01f5d2b55315f1af5cbfde284eb184075c189fd657c2fd8204"}, + {file = "frozenlist-1.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:219a9676e2eae91cb5cc695a78b4cb43d8123e4160441d2b6ce8d2c70c60e2f3"}, + {file = "frozenlist-1.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b47d64cdd973aede3dd71a9364742c542587db214e63b7529fbb487ed67cddd9"}, + {file = "frozenlist-1.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2af6f7a4e93f5d08ee3f9152bce41a6015b5cf87546cb63872cc19b45476e98a"}, + {file = "frozenlist-1.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a718b427ff781c4f4e975525edb092ee2cdef6a9e7bc49e15063b088961806f8"}, + {file = "frozenlist-1.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c56c299602c70bc1bb5d1e75f7d8c007ca40c9d7aebaf6e4ba52925d88ef826d"}, + {file = "frozenlist-1.3.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:717470bfafbb9d9be624da7780c4296aa7935294bd43a075139c3d55659038ca"}, + {file = "frozenlist-1.3.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:31b44f1feb3630146cffe56344704b730c33e042ffc78d21f2125a6a91168131"}, + {file = "frozenlist-1.3.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c3b31180b82c519b8926e629bf9f19952c743e089c41380ddca5db556817b221"}, + {file = "frozenlist-1.3.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:d82bed73544e91fb081ab93e3725e45dd8515c675c0e9926b4e1f420a93a6ab9"}, + {file = "frozenlist-1.3.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49459f193324fbd6413e8e03bd65789e5198a9fa3095e03f3620dee2f2dabff2"}, + {file = "frozenlist-1.3.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:94e680aeedc7fd3b892b6fa8395b7b7cc4b344046c065ed4e7a1e390084e8cb5"}, + {file = "frozenlist-1.3.1-cp310-cp310-win32.whl", hash = "sha256:fabb953ab913dadc1ff9dcc3a7a7d3dc6a92efab3a0373989b8063347f8705be"}, + {file = "frozenlist-1.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:eee0c5ecb58296580fc495ac99b003f64f82a74f9576a244d04978a7e97166db"}, + {file = "frozenlist-1.3.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0bc75692fb3770cf2b5856a6c2c9de967ca744863c5e89595df64e252e4b3944"}, + {file = "frozenlist-1.3.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086ca1ac0a40e722d6833d4ce74f5bf1aba2c77cbfdc0cd83722ffea6da52a04"}, + {file = "frozenlist-1.3.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1b51eb355e7f813bcda00276b0114c4172872dc5fb30e3fea059b9367c18fbcb"}, + {file = "frozenlist-1.3.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:74140933d45271c1a1283f708c35187f94e1256079b3c43f0c2267f9db5845ff"}, + {file = "frozenlist-1.3.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee4c5120ddf7d4dd1eaf079af3af7102b56d919fa13ad55600a4e0ebe532779b"}, + {file = "frozenlist-1.3.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97d9e00f3ac7c18e685320601f91468ec06c58acc185d18bb8e511f196c8d4b2"}, + {file = "frozenlist-1.3.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:6e19add867cebfb249b4e7beac382d33215d6d54476bb6be46b01f8cafb4878b"}, + {file = "frozenlist-1.3.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a027f8f723d07c3f21963caa7d585dcc9b089335565dabe9c814b5f70c52705a"}, + {file = "frozenlist-1.3.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:61d7857950a3139bce035ad0b0945f839532987dfb4c06cfe160254f4d19df03"}, + {file = "frozenlist-1.3.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:53b2b45052e7149ee8b96067793db8ecc1ae1111f2f96fe1f88ea5ad5fd92d10"}, + {file = "frozenlist-1.3.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:bbb1a71b1784e68870800b1bc9f3313918edc63dbb8f29fbd2e767ce5821696c"}, + {file = "frozenlist-1.3.1-cp37-cp37m-win32.whl", hash = "sha256:ab6fa8c7871877810e1b4e9392c187a60611fbf0226a9e0b11b7b92f5ac72792"}, + {file = "frozenlist-1.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:f89139662cc4e65a4813f4babb9ca9544e42bddb823d2ec434e18dad582543bc"}, + {file = "frozenlist-1.3.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:4c0c99e31491a1d92cde8648f2e7ccad0e9abb181f6ac3ddb9fc48b63301808e"}, + {file = "frozenlist-1.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:61e8cb51fba9f1f33887e22488bad1e28dd8325b72425f04517a4d285a04c519"}, + {file = "frozenlist-1.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cc2f3e368ee5242a2cbe28323a866656006382872c40869b49b265add546703f"}, + {file = "frozenlist-1.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58fb94a01414cddcdc6839807db77ae8057d02ddafc94a42faee6004e46c9ba8"}, + {file = "frozenlist-1.3.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:022178b277cb9277d7d3b3f2762d294f15e85cd2534047e68a118c2bb0058f3e"}, + {file = "frozenlist-1.3.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:572ce381e9fe027ad5e055f143763637dcbac2542cfe27f1d688846baeef5170"}, + {file = "frozenlist-1.3.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:19127f8dcbc157ccb14c30e6f00392f372ddb64a6ffa7106b26ff2196477ee9f"}, + {file = "frozenlist-1.3.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42719a8bd3792744c9b523674b752091a7962d0d2d117f0b417a3eba97d1164b"}, + {file = "frozenlist-1.3.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2743bb63095ef306041c8f8ea22bd6e4d91adabf41887b1ad7886c4c1eb43d5f"}, + {file = "frozenlist-1.3.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:fa47319a10e0a076709644a0efbcaab9e91902c8bd8ef74c6adb19d320f69b83"}, + {file = "frozenlist-1.3.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:52137f0aea43e1993264a5180c467a08a3e372ca9d378244c2d86133f948b26b"}, + {file = "frozenlist-1.3.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:f5abc8b4d0c5b556ed8cd41490b606fe99293175a82b98e652c3f2711b452988"}, + {file = "frozenlist-1.3.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:1e1cf7bc8cbbe6ce3881863671bac258b7d6bfc3706c600008925fb799a256e2"}, + {file = "frozenlist-1.3.1-cp38-cp38-win32.whl", hash = "sha256:0dde791b9b97f189874d654c55c24bf7b6782343e14909c84beebd28b7217845"}, + {file = "frozenlist-1.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:9494122bf39da6422b0972c4579e248867b6b1b50c9b05df7e04a3f30b9a413d"}, + {file = "frozenlist-1.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:31bf9539284f39ff9398deabf5561c2b0da5bb475590b4e13dd8b268d7a3c5c1"}, + {file = "frozenlist-1.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e0c8c803f2f8db7217898d11657cb6042b9b0553a997c4a0601f48a691480fab"}, + {file = "frozenlist-1.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:da5ba7b59d954f1f214d352308d1d86994d713b13edd4b24a556bcc43d2ddbc3"}, + {file = "frozenlist-1.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74e6b2b456f21fc93ce1aff2b9728049f1464428ee2c9752a4b4f61e98c4db96"}, + {file = "frozenlist-1.3.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:526d5f20e954d103b1d47232e3839f3453c02077b74203e43407b962ab131e7b"}, + {file = "frozenlist-1.3.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b499c6abe62a7a8d023e2c4b2834fce78a6115856ae95522f2f974139814538c"}, + {file = "frozenlist-1.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ab386503f53bbbc64d1ad4b6865bf001414930841a870fc97f1546d4d133f141"}, + {file = "frozenlist-1.3.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f63c308f82a7954bf8263a6e6de0adc67c48a8b484fab18ff87f349af356efd"}, + {file = "frozenlist-1.3.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:12607804084d2244a7bd4685c9d0dca5df17a6a926d4f1967aa7978b1028f89f"}, + {file = "frozenlist-1.3.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:da1cdfa96425cbe51f8afa43e392366ed0b36ce398f08b60de6b97e3ed4affef"}, + {file = "frozenlist-1.3.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f810e764617b0748b49a731ffaa525d9bb36ff38332411704c2400125af859a6"}, + {file = "frozenlist-1.3.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:35c3d79b81908579beb1fb4e7fcd802b7b4921f1b66055af2578ff7734711cfa"}, + {file = "frozenlist-1.3.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c92deb5d9acce226a501b77307b3b60b264ca21862bd7d3e0c1f3594022f01bc"}, + {file = "frozenlist-1.3.1-cp39-cp39-win32.whl", hash = "sha256:5e77a8bd41e54b05e4fb2708dc6ce28ee70325f8c6f50f3df86a44ecb1d7a19b"}, + {file = "frozenlist-1.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:625d8472c67f2d96f9a4302a947f92a7adbc1e20bedb6aff8dbc8ff039ca6189"}, + {file = "frozenlist-1.3.1.tar.gz", hash = "sha256:3a735e4211a04ccfa3f4833547acdf5d2f863bfeb01cfd3edaffbc251f15cec8"}, +] idna = [ {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"}, {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"}, @@ -519,6 +747,67 @@ markupsafe = [ {file = "MarkupSafe-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247"}, {file = "MarkupSafe-2.1.1.tar.gz", hash = "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b"}, ] +multidict = [ + {file = "multidict-6.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b9e95a740109c6047602f4db4da9949e6c5945cefbad34a1299775ddc9a62e2"}, + {file = "multidict-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac0e27844758d7177989ce406acc6a83c16ed4524ebc363c1f748cba184d89d3"}, + {file = "multidict-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:041b81a5f6b38244b34dc18c7b6aba91f9cdaf854d9a39e5ff0b58e2b5773b9c"}, + {file = "multidict-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5fdda29a3c7e76a064f2477c9aab1ba96fd94e02e386f1e665bca1807fc5386f"}, + {file = "multidict-6.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3368bf2398b0e0fcbf46d85795adc4c259299fec50c1416d0f77c0a843a3eed9"}, + {file = "multidict-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4f052ee022928d34fe1f4d2bc743f32609fb79ed9c49a1710a5ad6b2198db20"}, + {file = "multidict-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:225383a6603c086e6cef0f2f05564acb4f4d5f019a4e3e983f572b8530f70c88"}, + {file = "multidict-6.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50bd442726e288e884f7be9071016c15a8742eb689a593a0cac49ea093eef0a7"}, + {file = "multidict-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:47e6a7e923e9cada7c139531feac59448f1f47727a79076c0b1ee80274cd8eee"}, + {file = "multidict-6.0.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:0556a1d4ea2d949efe5fd76a09b4a82e3a4a30700553a6725535098d8d9fb672"}, + {file = "multidict-6.0.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:626fe10ac87851f4cffecee161fc6f8f9853f0f6f1035b59337a51d29ff3b4f9"}, + {file = "multidict-6.0.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:8064b7c6f0af936a741ea1efd18690bacfbae4078c0c385d7c3f611d11f0cf87"}, + {file = "multidict-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2d36e929d7f6a16d4eb11b250719c39560dd70545356365b494249e2186bc389"}, + {file = "multidict-6.0.2-cp310-cp310-win32.whl", hash = "sha256:fcb91630817aa8b9bc4a74023e4198480587269c272c58b3279875ed7235c293"}, + {file = "multidict-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:8cbf0132f3de7cc6c6ce00147cc78e6439ea736cee6bca4f068bcf892b0fd658"}, + {file = "multidict-6.0.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:05f6949d6169878a03e607a21e3b862eaf8e356590e8bdae4227eedadacf6e51"}, + {file = "multidict-6.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2c2e459f7050aeb7c1b1276763364884595d47000c1cddb51764c0d8976e608"}, + {file = "multidict-6.0.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d0509e469d48940147e1235d994cd849a8f8195e0bca65f8f5439c56e17872a3"}, + {file = "multidict-6.0.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:514fe2b8d750d6cdb4712346a2c5084a80220821a3e91f3f71eec11cf8d28fd4"}, + {file = "multidict-6.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19adcfc2a7197cdc3987044e3f415168fc5dc1f720c932eb1ef4f71a2067e08b"}, + {file = "multidict-6.0.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9d153e7f1f9ba0b23ad1568b3b9e17301e23b042c23870f9ee0522dc5cc79e8"}, + {file = "multidict-6.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:aef9cc3d9c7d63d924adac329c33835e0243b5052a6dfcbf7732a921c6e918ba"}, + {file = "multidict-6.0.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4571f1beddff25f3e925eea34268422622963cd8dc395bb8778eb28418248e43"}, + {file = "multidict-6.0.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:d48b8ee1d4068561ce8033d2c344cf5232cb29ee1a0206a7b828c79cbc5982b8"}, + {file = "multidict-6.0.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:45183c96ddf61bf96d2684d9fbaf6f3564d86b34cb125761f9a0ef9e36c1d55b"}, + {file = "multidict-6.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:75bdf08716edde767b09e76829db8c1e5ca9d8bb0a8d4bd94ae1eafe3dac5e15"}, + {file = "multidict-6.0.2-cp37-cp37m-win32.whl", hash = "sha256:a45e1135cb07086833ce969555df39149680e5471c04dfd6a915abd2fc3f6dbc"}, + {file = "multidict-6.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6f3cdef8a247d1eafa649085812f8a310e728bdf3900ff6c434eafb2d443b23a"}, + {file = "multidict-6.0.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0327292e745a880459ef71be14e709aaea2f783f3537588fb4ed09b6c01bca60"}, + {file = "multidict-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e875b6086e325bab7e680e4316d667fc0e5e174bb5611eb16b3ea121c8951b86"}, + {file = "multidict-6.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:feea820722e69451743a3d56ad74948b68bf456984d63c1a92e8347b7b88452d"}, + {file = "multidict-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cc57c68cb9139c7cd6fc39f211b02198e69fb90ce4bc4a094cf5fe0d20fd8b0"}, + {file = "multidict-6.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:497988d6b6ec6ed6f87030ec03280b696ca47dbf0648045e4e1d28b80346560d"}, + {file = "multidict-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:89171b2c769e03a953d5969b2f272efa931426355b6c0cb508022976a17fd376"}, + {file = "multidict-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:684133b1e1fe91eda8fa7447f137c9490a064c6b7f392aa857bba83a28cfb693"}, + {file = "multidict-6.0.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fd9fc9c4849a07f3635ccffa895d57abce554b467d611a5009ba4f39b78a8849"}, + {file = "multidict-6.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e07c8e79d6e6fd37b42f3250dba122053fddb319e84b55dd3a8d6446e1a7ee49"}, + {file = "multidict-6.0.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4070613ea2227da2bfb2c35a6041e4371b0af6b0be57f424fe2318b42a748516"}, + {file = "multidict-6.0.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:47fbeedbf94bed6547d3aa632075d804867a352d86688c04e606971595460227"}, + {file = "multidict-6.0.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:5774d9218d77befa7b70d836004a768fb9aa4fdb53c97498f4d8d3f67bb9cfa9"}, + {file = "multidict-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2957489cba47c2539a8eb7ab32ff49101439ccf78eab724c828c1a54ff3ff98d"}, + {file = "multidict-6.0.2-cp38-cp38-win32.whl", hash = "sha256:e5b20e9599ba74391ca0cfbd7b328fcc20976823ba19bc573983a25b32e92b57"}, + {file = "multidict-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:8004dca28e15b86d1b1372515f32eb6f814bdf6f00952699bdeb541691091f96"}, + {file = "multidict-6.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2e4a0785b84fb59e43c18a015ffc575ba93f7d1dbd272b4cdad9f5134b8a006c"}, + {file = "multidict-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6701bf8a5d03a43375909ac91b6980aea74b0f5402fbe9428fc3f6edf5d9677e"}, + {file = "multidict-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a007b1638e148c3cfb6bf0bdc4f82776cef0ac487191d093cdc316905e504071"}, + {file = "multidict-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07a017cfa00c9890011628eab2503bee5872f27144936a52eaab449be5eaf032"}, + {file = "multidict-6.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c207fff63adcdf5a485969131dc70e4b194327666b7e8a87a97fbc4fd80a53b2"}, + {file = "multidict-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:373ba9d1d061c76462d74e7de1c0c8e267e9791ee8cfefcf6b0b2495762c370c"}, + {file = "multidict-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfba7c6d5d7c9099ba21f84662b037a0ffd4a5e6b26ac07d19e423e6fdf965a9"}, + {file = "multidict-6.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:19d9bad105dfb34eb539c97b132057a4e709919ec4dd883ece5838bcbf262b80"}, + {file = "multidict-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:de989b195c3d636ba000ee4281cd03bb1234635b124bf4cd89eeee9ca8fcb09d"}, + {file = "multidict-6.0.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7c40b7bbece294ae3a87c1bc2abff0ff9beef41d14188cda94ada7bcea99b0fb"}, + {file = "multidict-6.0.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:d16cce709ebfadc91278a1c005e3c17dd5f71f5098bfae1035149785ea6e9c68"}, + {file = "multidict-6.0.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:a2c34a93e1d2aa35fbf1485e5010337c72c6791407d03aa5f4eed920343dd360"}, + {file = "multidict-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:feba80698173761cddd814fa22e88b0661e98cb810f9f986c54aa34d281e4937"}, + {file = "multidict-6.0.2-cp39-cp39-win32.whl", hash = "sha256:23b616fdc3c74c9fe01d76ce0d1ce872d2d396d8fa8e4899398ad64fb5aa214a"}, + {file = "multidict-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:4bae31803d708f6f15fd98be6a6ac0b6958fcf68fda3c77a048a4f9073704aae"}, + {file = "multidict-6.0.2.tar.gz", hash = "sha256:5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013"}, +] packaging = [ {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, @@ -607,6 +896,67 @@ virtualenv = [ {file = "virtualenv-20.16.3-py2.py3-none-any.whl", hash = "sha256:4193b7bc8a6cd23e4eb251ac64f29b4398ab2c233531e66e40b19a6b7b0d30c1"}, {file = "virtualenv-20.16.3.tar.gz", hash = "sha256:d86ea0bb50e06252d79e6c241507cb904fcd66090c3271381372d6221a3970f9"}, ] +yarl = [ + {file = "yarl-1.8.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:abc06b97407868ef38f3d172762f4069323de52f2b70d133d096a48d72215d28"}, + {file = "yarl-1.8.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:07b21e274de4c637f3e3b7104694e53260b5fc10d51fb3ec5fed1da8e0f754e3"}, + {file = "yarl-1.8.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9de955d98e02fab288c7718662afb33aab64212ecb368c5dc866d9a57bf48880"}, + {file = "yarl-1.8.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ec362167e2c9fd178f82f252b6d97669d7245695dc057ee182118042026da40"}, + {file = "yarl-1.8.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:20df6ff4089bc86e4a66e3b1380460f864df3dd9dccaf88d6b3385d24405893b"}, + {file = "yarl-1.8.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5999c4662631cb798496535afbd837a102859568adc67d75d2045e31ec3ac497"}, + {file = "yarl-1.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed19b74e81b10b592084a5ad1e70f845f0aacb57577018d31de064e71ffa267a"}, + {file = "yarl-1.8.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e4808f996ca39a6463f45182e2af2fae55e2560be586d447ce8016f389f626f"}, + {file = "yarl-1.8.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:2d800b9c2eaf0684c08be5f50e52bfa2aa920e7163c2ea43f4f431e829b4f0fd"}, + {file = "yarl-1.8.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6628d750041550c5d9da50bb40b5cf28a2e63b9388bac10fedd4f19236ef4957"}, + {file = "yarl-1.8.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:f5af52738e225fcc526ae64071b7e5342abe03f42e0e8918227b38c9aa711e28"}, + {file = "yarl-1.8.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:76577f13333b4fe345c3704811ac7509b31499132ff0181f25ee26619de2c843"}, + {file = "yarl-1.8.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0c03f456522d1ec815893d85fccb5def01ffaa74c1b16ff30f8aaa03eb21e453"}, + {file = "yarl-1.8.1-cp310-cp310-win32.whl", hash = "sha256:ea30a42dc94d42f2ba4d0f7c0ffb4f4f9baa1b23045910c0c32df9c9902cb272"}, + {file = "yarl-1.8.1-cp310-cp310-win_amd64.whl", hash = "sha256:9130ddf1ae9978abe63808b6b60a897e41fccb834408cde79522feb37fb72fb0"}, + {file = "yarl-1.8.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0ab5a138211c1c366404d912824bdcf5545ccba5b3ff52c42c4af4cbdc2c5035"}, + {file = "yarl-1.8.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0fb2cb4204ddb456a8e32381f9a90000429489a25f64e817e6ff94879d432fc"}, + {file = "yarl-1.8.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:85cba594433915d5c9a0d14b24cfba0339f57a2fff203a5d4fd070e593307d0b"}, + {file = "yarl-1.8.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1ca7e596c55bd675432b11320b4eacc62310c2145d6801a1f8e9ad160685a231"}, + {file = "yarl-1.8.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0f77539733e0ec2475ddcd4e26777d08996f8cd55d2aef82ec4d3896687abda"}, + {file = "yarl-1.8.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:29e256649f42771829974e742061c3501cc50cf16e63f91ed8d1bf98242e5507"}, + {file = "yarl-1.8.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7fce6cbc6c170ede0221cc8c91b285f7f3c8b9fe28283b51885ff621bbe0f8ee"}, + {file = "yarl-1.8.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:59ddd85a1214862ce7c7c66457f05543b6a275b70a65de366030d56159a979f0"}, + {file = "yarl-1.8.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:12768232751689c1a89b0376a96a32bc7633c08da45ad985d0c49ede691f5c0d"}, + {file = "yarl-1.8.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:b19255dde4b4f4c32e012038f2c169bb72e7f081552bea4641cab4d88bc409dd"}, + {file = "yarl-1.8.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:6c8148e0b52bf9535c40c48faebb00cb294ee577ca069d21bd5c48d302a83780"}, + {file = "yarl-1.8.1-cp37-cp37m-win32.whl", hash = "sha256:de839c3a1826a909fdbfe05f6fe2167c4ab033f1133757b5936efe2f84904c07"}, + {file = "yarl-1.8.1-cp37-cp37m-win_amd64.whl", hash = "sha256:dd032e8422a52e5a4860e062eb84ac94ea08861d334a4bcaf142a63ce8ad4802"}, + {file = "yarl-1.8.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:19cd801d6f983918a3f3a39f3a45b553c015c5aac92ccd1fac619bd74beece4a"}, + {file = "yarl-1.8.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6347f1a58e658b97b0a0d1ff7658a03cb79bdbda0331603bed24dd7054a6dea1"}, + {file = "yarl-1.8.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c0da7e44d0c9108d8b98469338705e07f4bb7dab96dbd8fa4e91b337db42548"}, + {file = "yarl-1.8.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5587bba41399854703212b87071c6d8638fa6e61656385875f8c6dff92b2e461"}, + {file = "yarl-1.8.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31a9a04ecccd6b03e2b0e12e82131f1488dea5555a13a4d32f064e22a6003cfe"}, + {file = "yarl-1.8.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:205904cffd69ae972a1707a1bd3ea7cded594b1d773a0ce66714edf17833cdae"}, + {file = "yarl-1.8.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea513a25976d21733bff523e0ca836ef1679630ef4ad22d46987d04b372d57fc"}, + {file = "yarl-1.8.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0b51530877d3ad7a8d47b2fff0c8df3b8f3b8deddf057379ba50b13df2a5eae"}, + {file = "yarl-1.8.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d2b8f245dad9e331540c350285910b20dd913dc86d4ee410c11d48523c4fd546"}, + {file = "yarl-1.8.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ab2a60d57ca88e1d4ca34a10e9fb4ab2ac5ad315543351de3a612bbb0560bead"}, + {file = "yarl-1.8.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:449c957ffc6bc2309e1fbe67ab7d2c1efca89d3f4912baeb8ead207bb3cc1cd4"}, + {file = "yarl-1.8.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a165442348c211b5dea67c0206fc61366212d7082ba8118c8c5c1c853ea4d82e"}, + {file = "yarl-1.8.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b3ded839a5c5608eec8b6f9ae9a62cb22cd037ea97c627f38ae0841a48f09eae"}, + {file = "yarl-1.8.1-cp38-cp38-win32.whl", hash = "sha256:c1445a0c562ed561d06d8cbc5c8916c6008a31c60bc3655cdd2de1d3bf5174a0"}, + {file = "yarl-1.8.1-cp38-cp38-win_amd64.whl", hash = "sha256:56c11efb0a89700987d05597b08a1efcd78d74c52febe530126785e1b1a285f4"}, + {file = "yarl-1.8.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e80ed5a9939ceb6fda42811542f31c8602be336b1fb977bccb012e83da7e4936"}, + {file = "yarl-1.8.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6afb336e23a793cd3b6476c30f030a0d4c7539cd81649683b5e0c1b0ab0bf350"}, + {file = "yarl-1.8.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4c322cbaa4ed78a8aac89b2174a6df398faf50e5fc12c4c191c40c59d5e28357"}, + {file = "yarl-1.8.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fae37373155f5ef9b403ab48af5136ae9851151f7aacd9926251ab26b953118b"}, + {file = "yarl-1.8.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5395da939ffa959974577eff2cbfc24b004a2fb6c346918f39966a5786874e54"}, + {file = "yarl-1.8.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:076eede537ab978b605f41db79a56cad2e7efeea2aa6e0fa8f05a26c24a034fb"}, + {file = "yarl-1.8.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d1a50e461615747dd93c099f297c1994d472b0f4d2db8a64e55b1edf704ec1c"}, + {file = "yarl-1.8.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7de89c8456525650ffa2bb56a3eee6af891e98f498babd43ae307bd42dca98f6"}, + {file = "yarl-1.8.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4a88510731cd8d4befaba5fbd734a7dd914de5ab8132a5b3dde0bbd6c9476c64"}, + {file = "yarl-1.8.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2d93a049d29df172f48bcb09acf9226318e712ce67374f893b460b42cc1380ae"}, + {file = "yarl-1.8.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:21ac44b763e0eec15746a3d440f5e09ad2ecc8b5f6dcd3ea8cb4773d6d4703e3"}, + {file = "yarl-1.8.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:d0272228fabe78ce00a3365ffffd6f643f57a91043e119c289aaba202f4095b0"}, + {file = "yarl-1.8.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:99449cd5366fe4608e7226c6cae80873296dfa0cde45d9b498fefa1de315a09e"}, + {file = "yarl-1.8.1-cp39-cp39-win32.whl", hash = "sha256:8b0af1cf36b93cee99a31a545fe91d08223e64390c5ecc5e94c39511832a4bb6"}, + {file = "yarl-1.8.1-cp39-cp39-win_amd64.whl", hash = "sha256:de49d77e968de6626ba7ef4472323f9d2e5a56c1d85b7c0e2a190b2173d3b9be"}, + {file = "yarl-1.8.1.tar.gz", hash = "sha256:af887845b8c2e060eb5605ff72b6f2dd2aab7a761379373fd89d314f4752abbf"}, +] zipp = [ {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"}, {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"}, diff --git a/pyproject.toml b/pyproject.toml index a634511..8055ac1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,6 +13,7 @@ packages = [ [tool.poetry.dependencies] python = "^3.8" requests = "^2.28.1" +aiohttp = "^3.8.1" [tool.poetry.dev-dependencies] tox = "^3.25.1" From c0fb8e643baf20909591ff3ecb05f0846a11cf50 Mon Sep 17 00:00:00 2001 From: Henrik Petersson <44243358+hnrkcode@users.noreply.github.com> Date: Fri, 2 Sep 2022 19:34:45 +0200 Subject: [PATCH 04/42] Tweak tox.ini --- tox.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tox.ini b/tox.ini index 9f86fee..0c1805e 100644 --- a/tox.ini +++ b/tox.ini @@ -18,6 +18,6 @@ deps = commands = black --check --diff --verbose loading_sdk flake8 loading_sdk --max-complexity 10 --ignore E501 - pylint loading_sdk --disable=C0114,C0115,C0116 + pylint loading_sdk --disable=C0114,C0115,C0116,W0212,R0801 coverage run --source=loading_sdk --branch -m unittest -v - coverage report -m --fail-under 80 \ No newline at end of file + coverage report -m \ No newline at end of file From 874ca5693e3e3ed10c2b4f5576627c078b0bf00d Mon Sep 17 00:00:00 2001 From: Henrik Petersson <44243358+hnrkcode@users.noreply.github.com> Date: Fri, 2 Sep 2022 19:36:06 +0200 Subject: [PATCH 05/42] Add support for asynchronous code --- loading_sdk/__init__.py | 3 +- loading_sdk/async_api.py | 480 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 482 insertions(+), 1 deletion(-) create mode 100644 loading_sdk/async_api.py diff --git a/loading_sdk/__init__.py b/loading_sdk/__init__.py index ebb313e..a3eda79 100644 --- a/loading_sdk/__init__.py +++ b/loading_sdk/__init__.py @@ -1,3 +1,4 @@ from loading_sdk.api import LoadingApiClient +from loading_sdk.async_api import async_loading_api_client as AsyncLoadingApiClient -__all__ = ["LoadingApiClient"] +__all__ = ["LoadingApiClient", "AsyncLoadingApiClient"] diff --git a/loading_sdk/async_api.py b/loading_sdk/async_api.py new file mode 100644 index 0000000..3bd8e83 --- /dev/null +++ b/loading_sdk/async_api.py @@ -0,0 +1,480 @@ +import math +import aiohttp + +from loading_sdk.settings import ( + API_URL, + API_VERSION, + EDITORIAL_POST_TYPES, + EDITORIAL_SORT, + USER_AGENT, +) + + +async def async_loading_api_client(email=None, password=None): + client = AsyncLoadingApiClient() + await client._set_cookie(email, password) + + return client + + +class AsyncLoadingApiClient: + def __init__(self): + self._cookies = None + + async def _set_cookie(self, email, password): + if email and password: + response = await self._authenticate(email, password) + + if response.get("code") == 200: + self._cookies = response.get("cookies") + + async def _authenticate(self, email, password): + url = f"{API_URL}/{API_VERSION}/auth/login" + headers = { + "User-Agent": USER_AGENT, + "content-type": "application/x-www-form-urlencoded", + } + data = { + "email": email, + "password": password, + } + + async with aiohttp.ClientSession() as session: + async with session.post(url, headers=headers, data=data) as response: + if response.status == 200: + return {"code": response.status, "cookies": response.cookies} + + return await response.json() + + async def _get_threads_in_forum_category(self, category_name, page): + url = f"{API_URL}/{API_VERSION}/posts/" + headers = {"User-Agent": USER_AGENT, category_name: category_name} + + # Chooses a specific page instead of the first page which is the default page. + if page and page > 1: + headers["page"] = str(page) + + # Doing this checks to make sure it only return data from a page that exists. + if page and page < 1: + return { + "code": 404, + "message": "Page number too low", + "data": {"posts": [], "users": []}, + } + + async with aiohttp.ClientSession() as session: + async with session.get(url, headers=headers) as response: + data = await response.json() + + # Page out of range. + if not data["posts"]: + return { + "code": 404, + "message": "Page number too high", + "data": data, + } + + return { + "code": response.status, + "message": "OK", + "data": data, + } + + async def get_profile(self): + """Returns authenticated users profile data + + :rtype: dict + """ + + url = f"{API_URL}/{API_VERSION}/users/profile" + headers = {"User-Agent": USER_AGENT} + + async with aiohttp.ClientSession() as session: + async with session.get( + url, headers=headers, cookies=self._cookies + ) as response: + data = await response.json() + + if response.status == 200: + return { + "code": response.status, + "message": "OK", + "data": data, + } + + return data + + async def search(self, query): + """Returns posts that matches the query + + :param query: Search query + :type query: str + :rtype: dict + """ + + url = f"{API_URL}/{API_VERSION}/search/" + headers = { + "User-Agent": USER_AGENT, + "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", + } + data = {"query": query} + + async with aiohttp.ClientSession() as session: + async with session.post(url, headers=headers, data=data) as response: + data = await response.json() + + if response.status == 200: + return { + "code": response.status, + "message": "OK" if len(data["posts"]) else "No results", + "data": data, + } + + return data + + async def get_post(self, post_id): + """Returns a specific post + + :param post_id: unique post id + :type post_id: str + :rtype: dict + """ + + if not post_id: + return {"code": 404, "message": '"post_id" is not allowed to be empty'} + + url = f"{API_URL}/{API_VERSION}/posts/{post_id}" + headers = {"User-Agent": USER_AGENT} + + async with aiohttp.ClientSession() as session: + async with session.get(url, headers=headers) as response: + data = await response.json() + + if response.status == 200: + return { + "code": response.status, + "message": "OK", + "data": data, + } + + return data + + async def get_thread(self, thread_id, page=None): + """Returns all posts on a specific page from a specific thread + + :param thread_id: unique thread_id + :type thread_id: str + :param page: thread page (**optional**) + :type page: int + :rtype: dict + """ + + if not thread_id: + return {"code": 404, "message": '"thread_id" is not allowed to be empty'} + + url = f"{API_URL}/{API_VERSION}/posts/{thread_id}" + headers = {"User-Agent": USER_AGENT} + + # Chooses a specific page instead of the first page which is the default page. + if page and page > 1: + headers["page"] = str(page) + + async with aiohttp.ClientSession() as session: + async with session.get(url, headers=headers) as response: + data = await response.json() + + if response.status != 200: + return data + + if "title" not in data["posts"][-1]: + return { + "code": response.status, + "message": "Exists, but was not a thread id", + } + + # Doing this checks to make sure it only return data from a page that exists. + if page: + replies = data["posts"][-1]["replies"] + pages = math.ceil(replies / 30) + + # There is always atleast one page. + if pages == 0: + pages = 1 + + # Page is out of range. + if page < 1: + return { + "code": response.status, + "message": "Page number too low", + "data": {"posts": [], "users": []}, + } + + if page > pages: + return { + "code": response.status, + "message": "Page number too high", + "data": {"posts": [], "users": []}, + } + + successful_response = { + "code": response.status, + "message": "OK", + "data": data, + } + + return successful_response + + async def get_games(self, page=None): + """Retruns threads from a specific page in the game category + + :param page: Game forum page + :type page: int + :rtype: dict + """ + + category_name = "games" + thread_data = await self._get_threads_in_forum_category(category_name, page) + + return thread_data + + async def get_other(self, page=None): + """Retruns threads from a specific page in the other category + + :param page: Other forum page + :type page: int + :rtype: dict + """ + + category_name = "other" + thread_data = await self._get_threads_in_forum_category(category_name, page) + + return thread_data + + async def get_editorials(self, page=None, post_type=None, sort=None): + """Retruns threads from a specific page in the texts category + + :param page: Texts forum page (**optional**) + :type page: int + :param post_type: Articles can be of post_type: "review", "opinion", "update", "podcast", + or "conversation" (**optional**) + :type post_type: str + :param sort: Sort the returned threads by date by the default, but if "title" is used as + a parameter it's sorted by thread title instead. (**optional**) + :type sort: str + :rtype: dict + """ + + url = f"{API_URL}/{API_VERSION}/posts/" + headers = { + "User-Agent": USER_AGENT, + "texts": "texts", + "post-type": "neRegular", + } + + if post_type and post_type in EDITORIAL_POST_TYPES: + headers["post-type"] = post_type + + if sort and sort in EDITORIAL_SORT: + headers["sort"] = sort + + # Chooses a specific page instead of the first page which is the default page. + if page and page > 1: + headers["page"] = str(page) + + # Doing this checks to make sure it only return data from a page that exists. + if page and page < 1: + return { + "code": 404, + "message": "Page number too low", + "data": {"posts": [], "users": []}, + } + + async with aiohttp.ClientSession() as session: + async with session.get(url, headers=headers) as response: + data = await response.json() + + # Page out of range. + if not data["posts"]: + return { + "code": 404, + "message": "Page number too high", + "data": data, + } + + return { + "code": response.status, + "message": "OK", + "data": data, + } + + async def create_post(self, thread_id, message): + """Create new post in a thread + + :param thread_id: Unique thread id + :type thread_id: str + :param message: Text that can be formatted with markdown that will be posted in the thread + :type message: str + :rtype: dict + """ + + if not thread_id: + return {"code": 400, "message": '"thread_id" is not allowed to be empty'} + + url = f"{API_URL}/{API_VERSION}/posts/{thread_id}" + headers = { + "User-Agent": USER_AGENT, + "content-type": "application/x-www-form-urlencoded", + } + data = {"body": message} + + async with aiohttp.ClientSession() as session: + async with session.post( + url, + headers=headers, + data=data, + cookies=self._cookies, + ) as response: + data = await response.json() + + # Has no auth token. + if response.status == 401: + return data + + # Post id doesn't exist. + if response.status == 404: + return data + + if response.status == 201: + return { + "code": response.status, + "message": "Post created", + "data": data, + } + + # Handle any other unknown status code. + return data + + async def edit_post(self, post_id, message): + """Edit existing post in a thread + + :param post_id: Unique post id + :type post_id: str + :param message: New text, that can be formatted with markdown, + that will replace the old message + :type message: str + :rtype: dict + """ + if not message: + return {"code": 400, "message": '"message" is not allowed to be empty'} + + url = f"{API_URL}/{API_VERSION}/posts/{post_id}" + headers = { + "User-Agent": USER_AGENT, + "content-type": "application/x-www-form-urlencoded", + } + data = {"body": message} + + async with aiohttp.ClientSession() as session: + async with session.patch( + url, + headers=headers, + data=data, + cookies=self._cookies, + ) as response: + data = await response.json() + + # Has no auth token. + if response.status == 401: + return data + + # Post id doesn't exist. + if response.status == 404: + return data + + if response.status == 200: + return { + "code": response.status, + "message": "Post updated", + "data": data, + } + + # Handle any other unknown status code. + return data + + async def create_thread(self, title, message, category_name, post_type=None): + """Create new thread in one of the forum categories + + :param title: Thread title + :type title: str + :param message: Thread body that can be formatted with markdown + :type message: str + :param category_name: Forum category. Can be either "games" or "other". + :type category_name: str + :param post_type: Creates a "regular" thread by the default. (**optional**) + :rtype: dict + """ + if category_name not in ["games", "other"]: + return {"code": 400, "message": "Invalid forum category"} + + if post_type and post_type not in EDITORIAL_POST_TYPES: + return {"code": 400, "message": "Invalid post_type"} + + if not post_type: + post_type = "regular" + + url = f"{API_URL}/{API_VERSION}/posts/" + headers = { + "User-Agent": USER_AGENT, + "content-type": "application/x-www-form-urlencoded", + } + data = { + "category": category_name, + "postType": post_type, + "title": title, + "body": message, + } + async with aiohttp.ClientSession() as session: + async with session.post( + url, + headers=headers, + data=data, + cookies=self._cookies, + ) as response: + data = await response.json() + + # Validation errors. Happens when title or message is empty. + # Possibly in other cases too. + if response.status == 400: + return data + + # No auth token. + if response.status == 401: + return data + + if response.status == 201: + return { + "code": response.status, + "message": "Thread created", + "data": data, + } + + # Handle any other unknown status code. + return data + + async def edit_thread(self, thread_id, message): + """Edit existing thread + + :param thread_id: Unique thread id + :type thread_id: str + :param message: New text, that can be formatted with markdown, + that will replace the old message + :type message: str + :rtype: dict + """ + + thread_data = await self.edit_post(thread_id, message) + + if thread_data["code"] == 200: + thread_data["message"] = "Thread updated" + + return thread_data From 15f2bd94312ade8ed8c2481764aace998138e215 Mon Sep 17 00:00:00 2001 From: Henrik Petersson <44243358+hnrkcode@users.noreply.github.com> Date: Fri, 2 Sep 2022 19:47:25 +0200 Subject: [PATCH 06/42] Add docstring --- loading_sdk/async_api.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/loading_sdk/async_api.py b/loading_sdk/async_api.py index 3bd8e83..eecf1cc 100644 --- a/loading_sdk/async_api.py +++ b/loading_sdk/async_api.py @@ -18,6 +18,17 @@ async def async_loading_api_client(email=None, password=None): class AsyncLoadingApiClient: + """An async client that allows python apps to easily communicate with the loading forums web api. + + Some methods can be used anonymously, while others require the client to be authenticated + with user credentials. + + :param email: users email address (**optional**) + :type email: str + :param password: users password (**optional**) + :type password: str + """ + def __init__(self): self._cookies = None From cc60eac19fe8fbc9818957e4f366a6cf2cff63b5 Mon Sep 17 00:00:00 2001 From: Henrik Petersson <44243358+hnrkcode@users.noreply.github.com> Date: Fri, 2 Sep 2022 19:50:01 +0200 Subject: [PATCH 07/42] Bump to version 0.2.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 8055ac1..a14d891 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "python-loading-sdk" -version = "0.1.1" +version = "0.2.0" description = "Python api wrapper for loading.se" authors = ["hnrkcode <44243358+hnrkcode@users.noreply.github.com>"] packages = [ From 0a91c56e4053d58d3823ecf4b239b227b7d6d517 Mon Sep 17 00:00:00 2001 From: Henrik Petersson <44243358+hnrkcode@users.noreply.github.com> Date: Fri, 2 Sep 2022 19:51:07 +0200 Subject: [PATCH 08/42] Update documentation with async module --- docs/build/doctrees/environment.pickle | Bin 19961 -> 23707 bytes docs/build/doctrees/index.doctree | Bin 6468 -> 6486 bytes docs/build/doctrees/loading_sdk.doctree | Bin 102160 -> 160913 bytes docs/build/doctrees/modules.doctree | Bin 2730 -> 2748 bytes docs/build/html/.buildinfo | 2 +- docs/build/html/_sources/loading_sdk.rst.txt | 8 + .../html/_static/documentation_options.js | 2 +- docs/build/html/genindex.html | 50 ++++- docs/build/html/index.html | 2 +- docs/build/html/loading_sdk.html | 209 +++++++++++++++++- docs/build/html/modules.html | 3 +- docs/build/html/objects.inv | Bin 474 -> 556 bytes docs/build/html/py-modindex.html | 7 +- docs/build/html/search.html | 2 +- docs/build/html/searchindex.js | 2 +- docs/source/conf.py | 2 +- docs/source/loading_sdk.rst | 8 + 17 files changed, 286 insertions(+), 11 deletions(-) diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index 355f58c321e1fd81a2ba580a437922bbfeecce49..081612f2b64b09858a074fce84dcc4eca125eaf0 100644 GIT binary patch delta 6981 zcmcgxeQZ!!N;u!lh5*j z*>ET_V~z3gL^R?LTVwGk;b)UCH&>lGQPtGHQtg^EKl{n5R*UTl=&r4yUtqk<#RQ9G zhne8Y!%c6MFv;6hwcI8y6q)9q6VhejsDBzGm`qI1Ub%0qUe$cIxTt8r`!5>5qjhvE#x5 z^C7b^Xj#C=wTE?QVZ6?xy9JAN1NuMUa%l@(Zmb5b-k`e;we{nTzeQnciiJvkhu@oD z5S|yzgz5$d$RF|JX@T5@*XnC+%zl#;-2_eA6!QmW{WH8kK14mmdw?fIDdqX^N|2wz!5@zsnKPmrsM-UFo12!JSo7%ij4SPM zpHpk+0F&MO)Uvv{z-WO;0nd<0!E!1DteJdzWOa<0#ACwY;v!rZ)k%qPZ3A~xWiDJ7 z)Y>_$m4)jyF~LH)nLnqh(Mzm5+OnmQvF;-WQd4u$=~T8P-cd)L&2c^ay5-T_Jg=!O z3YNuHweGC)Y-P*h$08<$w)HdY>Rq^QY1qvYe@uSeSnwV+i7-e92c3L>r&;=^hHGuv};w~FFJYVAWxI?Gc05vE(X8`_I8%L^C(yfVje3ig@D>`rxG8r6jJF5Yy&4F zskuo!N%0UiDD=kyZIOqIStC8nK}CCiC6!>W`y|HhXKgh;oPkigp@NF=7YwsmK$*~f zRQDn1I|g+@8149O{W};6c@@pcPx0GQmrXmq{p4K~?I%Bnt)2Gf>+JgtHd2iClV9NX z)8suIakXEv4{S#M3CB9Oua*Kj2jA(usK1YM=?-|?wG9@!jZo853pI{Xc%y5r?mqme z>zJs}2H$p9F@@{STKJ25Jx*S5B*aMv#5_heIqvMl32;VnT-6<2&79k3csTFgj0$5Y zzSW%&#qB75-O&ygJ>_t|r%80x3V-dTn#Px1HvQjdXw~pWXQd-U=0e(_$+t#&3jHH)BQn7T4NYftYRzruD{o%f9sBxEyKKfv% zyE?CrE-fE1ccWJ#QtPbZ)S)J@L%oZ^jw_9G@^Zo6K5f6lu*YsoxH7xy)}g8RX-ii{JC!as=?t=4A({D&M}gYlXIczyNRc zNTtz34_w~#S~Y#RYUWvb-Qo$!=week83>1v5NWQVh}3+UGV@~NCUs_b7A<)vq~n^I z%Q_XLdZf$%c30~Vi^0l{?uhvQ$r}s#v;)9pw`W|_c$N-6veS&~0FH0EW^rtCQyM$# zp26`yZYr7e9L4c{50&(L>G-;r$8lpXot^Iu;rOTCxb9al;oFYm313wyCEL^F9K7n= zjFRv9diCrb%Rk@~U)$PwuBgZ?zI6E)xcWSD!2|eOpHD7$2v_^*XPs)h;wMxH+iE zV29d#1(aQ;$ikxbp_v8JvzHOQVoP^@dM~s(6_ME0K9-^4tqS`NwY?^oBI%YYd^prT zmf_rL`F{4O&6lCuEs8Ve;o$3iHSL^=qH-xu<#-Gkb) z!>4AZpytBAX4|j%J*LR^Oa)JJ)aL{i~J?t21nD1cz zm2>H}(#ryTS&RSSp{z}m8pMZYF9|OSQ!fel?wa?<13`fdp%DLFlGkO~0j6XcqyH$$ zdTh)Fv{&Y`EOxvF+kNprOk_+CAB|Xc*-?SeAvo}&K)m#+H}gc7me$9)G5Um7Pwac5 LctQ`C_Kp4*3S+Ys delta 4491 zcmcIo3v5$m6kfY_8+2tXp|Cf5uZ7XFCu7~lbYQo2FGLt@Gth09wg0*m`am%vU<4di zU^$lzgBTw?1eAaz8jJ}@G{yuCA<xd^UM_N3y0QvTiiG zNMCgP6WJFN=mVToX#i9@COoNH!Gy=NH76BJGMb#NoT9QjEWNhDzU8joe%`CJ4fb-+ zA5WQ{9GcNu6L~dQ zR@wBc*76XWlbO4NnLZi_Jvm*nU2rO=R(26&xu%#=^zYR}LT)hR+`9Go1 z)6HTdm+)D)kzdDa3B_7Xl&<|lXLQP5SC*b)?j$2-yP80>S~ z+;+~zlA~oIm+3$$XUQ;53G?n%xE(zr;6>=nPnjJ=h?ZPLL+=E;&E;Nhb8`bc@FB#( zzWlQCAS0iRlUvC-xxpST+y;FzvL_eRtN}9Y%B-q3`BX(};an;PaS<2!Q}0DK0{f`U%Jy$7V3UBpZJs z5}=h*%#u=Eg{?C(amgH>kt~G1mQ4|9$zTPwkTY{y9$Pqp3a*i~@FyFnpzD#?&}1VK z<6pd#ME|BB*%VS_X~|=-g?;9oVuuZdX+q~mV+2AO_e*AmyiJ9D1)5Oa-jlTO=NI7Z zZ6Q;sB(?u(OUUPAmJ=6wx(6J+9=aI??RH{?kouRBiTF}agjW6J(DYABT7|dGNl9$@ z8u?71N~-LSQ*|&I@^Fm|7&3%4a!oRv@r17#(n1sdRnjUv;h!b3{@w_zlm8)M+U5z( ztooTfjzKr>js7ku6%O5Swa^P{h1AYBPR*Q>q)=)mN?L_e6Z=SPC^eC`5WnBRJ}fM; zhhYPL_dK#ZzO9MfE2LJf_%a$Z!$U=#pk|dCoXj56(PE{vqu{7+A zu4P#1GrAt*h~FzLm?J5TBaZkaPFdnF>w3L)1n$;iVS zK#2U`H9)nb-#GsP588?}HNC=_B+tXqU(!y?Y_|gxDE7B6E2(Qb8 zB6gtc`-;`FF{qzgFIx%2a}VUcgL9I%P)Xj!r}3K{y?3>c{U~Z72cWC6RCka)A7UdV zqlFyC=OOX|jyT&9_Jil<9XL^$73T|R1TI&;FFOmb8C^I&Fg_P^7IEG(XlqD@m#Q;h zT7w!+Rpq1dN)?54R37Icur)s!!*2E8!m;MEsfEg@D6MeKKSya-_Sh{h7p!R0!SBX+H4*8* zgPN8)wMcMY0iU;)fWBQNmR?Z64=uG~$&U)iZw<1%L@noFsbVIHXBeg88nNjW1;n>i zizUBN_a(maOb}~sC}4YghOaiUL5^=J;AWe#RuubfnrzGf=e9a}`5`xcRfT*_iLiGO zOJ*TaP`M;eJmWnD*q0c^lKV7+3`lQJgvO^6#F_^Rc(9~0UgTB|N0!dUeo%{rO4!z3 zD;C5-*3weSR8TEcC^d>7O@qvIoRl>T?B>5>NjCAUY n_R<*XU^Q*#$uau&k^ha(i+r}`MIh3rNya5`k^Idsma+nnR)5@1*t{F`FV*s`UOS# OS*h72n_n|UiU9zG3KmEJ delta 40 wcmca+bi|0Ifpx0oMwUxVqPF@O`MIh3rNya5`oY;nnPo}&MJb#AGDV6304)a&{Qv*} diff --git a/docs/build/doctrees/loading_sdk.doctree b/docs/build/doctrees/loading_sdk.doctree index 35922291c082bed6a6af0c605de447be7e933a45..f2c0211049380b7e2ff490df578bbe2821b57339 100644 GIT binary patch delta 25555 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

@@cg2&|% zc`kqi$TI;dnaLwC-x+zJHkxi>9+L;MwLeurmP|Jv1R3PX1z~U>Xa$RIVbPGF=sQ^S zraU6g%se8`UEM_hjUa*+0|8{=LJ(vL!S#L!aCX4UKt~wGAw~fSqWF|ieB_7X^X{U6 zMi9jz0|jL9HV`%qPUNNkLb2*UH%gmRZGPMx zKJgh6H0N3Q#OE210H5bTMKhmcG2a=Vp*Gs_n0)3lWZ|+4WXbx@2SEm(N95B1_`6uN z&Y~ef(d{hy(R||b;(X%s6Wv7sjUWQuKmaLTbb&lUXfs3b5uh@ktusI0WSzPBM1Y@I zcRzS_hXm+TKm;IgOn@#`5?Vk62rgg|KlqDa0>tMN0iO4oDvl8n00bZb7Gv*;07DBr z1Q=T2M}WFWVUGFm?L~d?j><*yk^&~eg;4eEflC>B|@zZINSBuJRm+Dk*^)&ku% zQOp+w#DQnARU5$Z27||7fZ$sE+t3d4T5K&KT1>(rBM*+lhO__yNQ>Usd!ofF z_=z?(UUB)+;)+z!Y|INgm>!U+V;Q$m2R_EPyZYvpe)vj2a(D9SshkfJ=uVU!nJ z2&2TCx=`YY@_uyD4GUKxRm>}-isx}f$YI3^zKT#{s)+Y2uH=fdxMDL`gdA49(N_^l zOcjxUzMg77z+FFlxy5@fB49AamFg)iKjH_}22<|?cv_9G(y`CGCH&z+D7I=_3z>ca zDvDlbChsrg`RCa}GM1;XNjPH#Rsyf2z>5;^6cPd6C?xJdGN8Unp2Qv%$uA)R?tKfD z%qD&x<~!pa)J7A3qmWG;vX?J7AG5T=jx3^p2(lCq!MAAmM?k(|_=iEq#ubUOB0}XZ zB2n5!9gPk&RxXdAZu^>8nXm$A%lY~fkTM^&IK_1!11jJ zozW>q2MMBkgwZ|ZhwicNqJu^doifm=qKXK`F6M0cR-1U$<1zW-=e;QG5*>goUA-o^|8F|IcA~ zU?Tn4O|*do$^0MeRFV7z5+L*MP{~Z@Co$g{nV~jX^D>!yhd=}=mE>(V8%(fO_+t7<8CL4P7 zc1Of9l+32HuY^qp4t$6ADJ8QBFJ-d{5L6PnsgP1O9a|}xP6D=Q10ZBNaIRYxm6GY? zmy+o~g7fDErDQszAOX`E3zf{K6O8%JOb2SC>ExHP=|DMm3=AfB>|eY1l2Y zotNM#-`hrV^m!6f~9IWoRmV z%2_6sk-fxYvo-(&_A*Ttmcf9yH(K)PgmVyl*Qpse%V;oi%6Pov%S_`P1MR|-ncihI z7Vmp?g(7e)D$8grDzR-Ei!1RHjm4E^eq(WBE?m1a9_#2!YDI%wR>mW6EmSc^;H=+G zD>s!9p*NNxp+nX}lXNQh0(hGv-g$huj3$(4%4kA?98M@Nm3b!=DDg}vYw=@tgb$Ur z25unX;^XQvlOOoYBRLUk5IGO-HDx@waI`o4dn~qUr;Ncpn@)KT@1CSlo+o>k(*VnI z8sIfBvh-fOC_K3ZDe9sFPaZN1b=C5p%rM z0XH^94z6J8ltC4PI%oBEWqDx*(PLr-&4c4GG3G&E)7sbyw*R6EuW#FZt#Cw)Md@t* z#T7;b1&3CbVzE`brhLPeR+x-vWd#}0_YCh_ z6TE3MbPyTQD;3_kuuI87gUE<_4Pp`B`io#AS_GYjki8gXun~b8(1<_)8qq7*Ei$5t zK^`Nj800Y`I++@=4^Me;WjMZomEjZs9!s_2DFCWG+FNVC84mvDOzhI(Glg~Cw9@LuE_P$a%DT8py4 zAAC=%wksO`;F}lWC1mgiUrwfd9uI%;Ek*DK5%_~|7SWt|ryQ@_Yd7Hi*5&x;FkErd z@ZzE-;Pk(Sx3o0Z-|;VATG2M(v1>e-t{s8XZyKJXB#qNCLKr*9`udMqzy538?>`+Q z%w6U=g9tr6j*a7SFzrQr*o)_mw8Lmpc#1-siVwi?0kO6lpMK%PC9MiKpmBFydk=R$ zahp$@ifd`yA<)+2N(WbR+KUkSX&8@d$1uXfXiK{q=dEk|;NK!N`m&0hPp=VE#Qy`t Cl`jqe delta 10167 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 diff --git a/docs/build/doctrees/modules.doctree b/docs/build/doctrees/modules.doctree index 037416a091cdd6d1eef60840ddbd9408232112f1..02d0135e10b9f123c896fe2ed87073ae8d5e1879 100644 GIT binary patch delta 58 zcmZ1_x<{0yfpzM}jVwNl>Vf(h`MIh3rNya5`k^Idsma+nnR)5@1*t{F`FV*s`UOS# NS*h72n^PHGIRRwy6%zme delta 40 vcmdlZx=NI#fpzNqjVwNlqW1b3`MIh3rNya5`oY;nnPo}&MJb!h8C^L67ugNS diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo index 714668e..a7ed714 100644 --- a/docs/build/html/.buildinfo +++ b/docs/build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: c4d800262be12854ef2a1da1aeb238c2 +config: 51fcf3155e9b8927d200a3927a4b8e0b tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/build/html/_sources/loading_sdk.rst.txt b/docs/build/html/_sources/loading_sdk.rst.txt index 3070b22..8dde1ee 100644 --- a/docs/build/html/_sources/loading_sdk.rst.txt +++ b/docs/build/html/_sources/loading_sdk.rst.txt @@ -12,6 +12,14 @@ loading\_sdk.api module :undoc-members: :show-inheritance: +loading\_sdk.async_api module +----------------------------- + +.. automodule:: loading_sdk.async_api + :members: + :undoc-members: + :show-inheritance: + Module contents --------------- diff --git a/docs/build/html/_static/documentation_options.js b/docs/build/html/_static/documentation_options.js index 3462e59..8c1afeb 100644 --- a/docs/build/html/_static/documentation_options.js +++ b/docs/build/html/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '0.1.1', + VERSION: '0.2.0', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index a0b634b..1159a82 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -3,7 +3,7 @@ - Index — python-loading-sdk 0.1.1 documentation + Index — python-loading-sdk 0.2.0 documentation ~1MQ<^L3SXfrmdFrQ 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 rI_oeF(jVH~8$}iP)0O_5qdf&JV~r5UIfb*k>^ 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

T#L{dVBkjHWDgT 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
  • (loading_sdk.sync_api.client.LoadingApiClient method)
  • - - + diff --git a/docs/build/html/loading_sdk.html b/docs/build/html/loading_sdk.html index 6f7adc3..3b09429 100644 --- a/docs/build/html/loading_sdk.html +++ b/docs/build/html/loading_sdk.html @@ -274,6 +274,34 @@

    Submodules +
    +get_total_category_pages(category)
    +

    Returns total pages of a forum category.

    +
    +
    Parameters
    +

    category (str) – Category name. Can be games, other, or texts

    +
    +
    Return type
    +

    dict

    +
    +
    +

    + +
    +
    +get_total_thread_pages(thread_id)
    +

    Returns total pages of a thread.

    +
    +
    Parameters
    +

    thread_id (str) – Unique thread id

    +
    +
    Return type
    +

    dict

    +
    +
    +
    +
    search(query)
    @@ -704,6 +732,34 @@

    Submodules +
    +get_total_category_pages(category)
    +

    Returns total pages of a forum category.

    +
    +
    Parameters
    +

    category (str) – Category name. Can be games, other, or texts

    +
    +
    Return type
    +

    dict

    +
    +
    +

    + +
    +
    +get_total_thread_pages(thread_id)
    +

    Returns total pages of a thread.

    +
    +
    Parameters
    +

    thread_id (str) – Unique thread id

    +
    +
    Return type
    +

    dict

    +
    +
    +
    +
    search(query)
    diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index aabd7380d9212ab2bfe983b4bd12be653441d1bf..b762ca5096fa4e4964c5386facc942488aa10291 100644 GIT binary patch delta 500 zcmVz5QcX@1y#E`YSwH~r%J69sY6GL0I^XqSO!b=*4OCk^+}42 z(>PA5z!^`84(|I8IR79Nrd;NkrXQ$kH>IMDVCWHvQ+!pJQrx?d^Z}*Gcxx~f#ovCt7Ar(mO;LjHG7Z|Czv!u>Fe4{0S& z1)z6^&=;&8=zp^Tbg26VNB}%JfDUl#0QzE`19tTQKFI3>_zO0E46hvm$0>FoBcL~C z3=f~yHp{(l!Qj5_ONJc%O*YW0{kV%%4D@F&F4UR5-~dnd;sV^*i@QKqfF0P24Dwzt z@?woV{~aD61Amv_6!E<~awfT?>=S82Hv;dOK^xXYTPSdC&-K5cscP5A` z88XT$S~-~xVyPAT`TEw#<}{@(40rd<-FPiy9jl)S)AC>tiVac-^m6?<`k zbuFHxfXZ~FU0X3DR7IBOtSRJDJ(E;xO!0y>Kn-NI(mkjIQ-3Ia3&|Arm*2<&E=-J> zdQOyyaxfX)s@6o{bW^EDP^lxpa#}(Rjxq%_5jYV}t;aNKC+y30J4q`R=}||yNE&Fv ziZBT6yphpbEZE;GA1t3K*5g(E?f^JQqMm z*e`%S+s#3nGJk-N@@D{l#)}`rwL{>r#3nL^`fiKi@ab$f+4~v{?`>Z)=IF1ok*@aR z&N4C5&t6=tnZ4i$Cwp-bHumDqa4XOT_9CO)>qVaBBK!I_he}i&K8ZGbCFvF Date: Tue, 6 Sep 2022 21:44:00 +0200 Subject: [PATCH 35/42] Make async version for get_total_category_pages --- loading_sdk/async_api/client.py | 69 +++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/loading_sdk/async_api/client.py b/loading_sdk/async_api/client.py index 26467f0..3f0ae98 100644 --- a/loading_sdk/async_api/client.py +++ b/loading_sdk/async_api/client.py @@ -6,6 +6,8 @@ API_VERSION, EDITORIAL_POST_TYPES, EDITORIAL_SORT, + FORUM_CATEGORIES, + POSTS_PER_PAGE, USER_AGENT, ) from loading_sdk.async_api.extractors import extract_data @@ -517,3 +519,70 @@ async def get_socials(self): return {"code": 404, "message": "No results found", "data": None} return {"code": 200, "message": "OK", "data": data} + + async def get_total_thread_pages(self, thread_id): + """Returns total pages of a thread. + + :param thread_id: Unique thread id + :type thread_id: str + :rtype: dict + """ + pass + + async def get_total_category_pages(self, category): + """Returns total pages of a forum category. + + :param category: Category name. Can be games, other, or texts + :type category: str + :rtype: dict + """ + + if category not in FORUM_CATEGORIES: + return {"code": 404, "message": "Invalid category", "data": None} + + working_page = None + current_page = 1 + url = f"{API_URL}/{API_VERSION}/posts/" + headers = { + "User-Agent": USER_AGENT, + "page": str(current_page), + category: category, + } + + if category == "texts": + headers["post-type"] = "neRegular" + + async with aiohttp.ClientSession() as session: + # Double current page until no results are returned + # then we know all pages after that won't work either. + while True: + headers["page"] = str(current_page) + async with session.get(url, headers=headers) as response: + data = await response.json() + + if not data["posts"]: + break + + working_page = current_page + current_page *= 2 + + # Check the page in the middle of highest known working page and + # current page until they have the same page number. + while True: + page = working_page + (current_page - working_page) / 2 + headers["page"] = str(page) + + async with session.get(url, headers=headers) as response: + data = await response.json() + + if data["posts"]: + working_page = page + else: + current_page = page + + if math.floor(current_page) == math.floor(working_page): + break + + total_pages = math.floor(working_page) + + return total_pages From efbbd5352fd4fed36f277646e375e20543a435f5 Mon Sep 17 00:00:00 2001 From: Henrik Petersson <44243358+hnrkcode@users.noreply.github.com> Date: Tue, 6 Sep 2022 21:45:33 +0200 Subject: [PATCH 36/42] Make async version for get_total_thread_pages --- loading_sdk/async_api/client.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/loading_sdk/async_api/client.py b/loading_sdk/async_api/client.py index 3f0ae98..e954727 100644 --- a/loading_sdk/async_api/client.py +++ b/loading_sdk/async_api/client.py @@ -527,7 +527,17 @@ async def get_total_thread_pages(self, thread_id): :type thread_id: str :rtype: dict """ - pass + + response = await self.get_thread(thread_id) + + if response["code"] != 200: + return response + + thread_start = response["data"]["posts"][-1] + replies = max(thread_start["replies"], 1) + pages = math.ceil(replies / POSTS_PER_PAGE) + + return pages async def get_total_category_pages(self, category): """Returns total pages of a forum category. From 68928d0047f44ef41c6fe6e831f4e89660906010 Mon Sep 17 00:00:00 2001 From: Henrik Petersson <44243358+hnrkcode@users.noreply.github.com> Date: Tue, 6 Sep 2022 21:46:29 +0200 Subject: [PATCH 37/42] Update docs --- docs/build/doctrees/environment.pickle | Bin 26960 -> 27526 bytes docs/build/doctrees/loading_sdk.doctree | Bin 185106 -> 192046 bytes docs/build/html/genindex.html | 8 +++++-- docs/build/html/loading_sdk.html | 28 ++++++++++++++++++++++++ docs/build/html/objects.inv | Bin 622 -> 632 bytes docs/build/html/searchindex.js | 2 +- 6 files changed, 35 insertions(+), 3 deletions(-) diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index cc1b73ad4c0e420221f761f30daa259f0a2c8fa0..575e4f8e5caabb0865c32df690d0d28ea3139208 100644 GIT binary patch delta 1296 zcmZuxYe-aS7@luz#!T173(;lWiE+>wO*7pxH(OU09Lh9F9i5vq=jI$g&7o9iH)QRP zt#lS`-Xk_?S1PSQi_?#Sq6qp^f24x$Kl&3z1^uuhh}ic#lpUcz56}BN@AqE5bD6zM z1|Ja1fMs-V=S2&#|6=Lr7NtF^lG+vH#E$N0xJT?%mE@fyD=otqDHjykyQC`cNi37Bvc8#O3*2FaMFI`0sY zfJokPG6p0+YZ)sad!e+~X}IbmeO1@O5uwH@V;$Wk_Xty!PB)`G+QR`F*#(?Ti@U@s1( z0~LjO+6Wz8WHJq7*MxSf;xoY^Z*E$dLA>z1(FFrFC8QRfhs(hpu)=l!Qt&sWktUdx zmO+1$P4~Ba^|Rnz2PpspRKEx0 zm8%Ta8qA_o2t&QjLa_Pz_j2truV~y@M}EG@}|+P6kW(ZBD*6xV8+KTqe@~?q4CrZ zn59azUZE9~HX2O_IP(BWG(#9gg)}y$!V%;hA$}v&ZpJN{#M~!_kr`V00 z24A~t?Q2H&TIb&i_UL7g?9orqQZ$S%4;R|QL;+j0i2Mh?N6TynS;lGhS;iRy*cZ+F zXIQVd&{ERs^xwtmE&9KNy;yW%1|7#^`_(~}->)jx9*Ns6$SOU7qU@nREScJ+-b~dQ&W#f^%{+xfJhc_#b2R Bt?>W= delta 1112 zcmZWoTSydP6y8yH(=2lp%*stz7hTuZM9WKVnM6unDhe;_uDa{Y?9Tj}maC9Ord$wk0 zFNM!!nDWPvqfIm{bVLI=q(TsNkxHOMhJxj>Mb7C3GgT*aV&^LhiWwK{;;+d-bXJ`GYJGODaSZy$~M6b^9&r!i3v8Qo(n-iAN-m&7NJw7 zlAtgv9wztBLWkJ|gV|GHPmKwl$a%wUVW*ddC^wgC@tA#ihoYEPONj$_xl!uROHOD8JJHnYh-C9Dqze^gFz<1kTGh4{Uy2GL$! zi8xhVjTm8P++}wl&L}*#hAE_`0`YMT>)GaD*y>;j^9~U)!^tC3=SjpBr)|f$R--X1 z8_6!D!?j572U{;FPn{o{2x$A;w=9J zP*p(W=?*LY`^s-l$tZM_-5H&13j?XRhmw9)`F~Yx&-ya-Mp-oq%cO#vfb7QOKLLOg Ba^(O3 diff --git a/docs/build/doctrees/loading_sdk.doctree b/docs/build/doctrees/loading_sdk.doctree index 0ad7cd6ea23d0ae29faeabeaef49b0806ff1b00e..a4bf1278ff817b7a69f02c88f023ee19e1c69738 100644 GIT binary patch delta 12104 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 C{*2fF delta 10633 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 G>i+=7ZmgF8 diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index f581b8c..f952ab5 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -207,15 +207,19 @@

    G

  • (loading_sdk.sync_api.client.LoadingApiClient method)
  • -
  • get_total_category_pages() (loading_sdk.LoadingApiClient method) +
  • get_total_category_pages() (loading_sdk.async_api.client.AsyncLoadingApiClient method)
  • -
  • get_total_thread_pages() (loading_sdk.LoadingApiClient method) +
  • get_total_thread_pages() (loading_sdk.async_api.client.AsyncLoadingApiClient method)
  • diff --git a/docs/build/html/loading_sdk.html b/docs/build/html/loading_sdk.html index 3b09429..2c7874d 100644 --- a/docs/build/html/loading_sdk.html +++ b/docs/build/html/loading_sdk.html @@ -512,6 +512,34 @@

    Submodules +
    +async get_total_category_pages(category)
    +

    Returns total pages of a forum category.

    +
    +
    Parameters
    +

    category (str) – Category name. Can be games, other, or texts

    +
    +
    Return type
    +

    dict

    +
    +
    +

    + +
    +
    +async get_total_thread_pages(thread_id)
    +

    Returns total pages of a thread.

    +
    +
    Parameters
    +

    thread_id (str) – Unique thread id

    +
    +
    Return type
    +

    dict

    +
    +
    +
    +
    async search(query)
    diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index b762ca5096fa4e4964c5386facc942488aa10291..3f0d26ddfc0e53cd584509c55996bfeb5b0ab241 100644 GIT binary patch delta 481 zcmV<70UrMD1o#AygnxrD6h(Kw!d1HxHEXu0Q>9jl)S)ACYzM3w8(|}rt-sOV>zCAE z(h!m=_QOnxp6zoV@VFPDFy%7OH2pwTyD1fI1VfKVoa(E>l;Ym4qz@=f#%o*MO7h|g z+loI4&ZOx`hei^^l|<`H))aE>JP}xH$l(>K88$4dlQ~pnorV-M7q_{2FWOc zMMmuFlB>GSDx61ogbwSvlT-mBe;FlD1)z6^&=>3;=(7QIsQU&;06aN>4shxK`eKs< zcJ%;0$m;|63lIMMTnH9}r-i3fj0_nH$1QdtBcN~R7}+%KZB{DXg2D61mkb%{n`~eP z`EeKN7??X=TxjBW!2wz0#Ra5{7k7cF04IwV8I&nrra;4>}O^*xi=&MU7*SrfPJ=PjZ7dpv^bVFj-U+cNj XaO2Mox|%!l=GJ%JmHYzw17Q1M{gCY+ delta 456 zcmV;(0XP2m1nvZognz>z5QcX@1y#E`YSwH~r%J69sY6GL0I^XqSO!b=*4OCk^+}42 z(>PA5z!^`84(|I8IR79Nrd;NkrXQ$kH>IMDVCWHvQ+!pJQrx?d^Z}*Gcxx~f#ovCt7_zO0E46hvm z$0>FoBcL~C3=f~yHp{(l!Qj5_ONJc%O*YW0{kV%%4D@F&F4UR5-~dnd;sV^*i@QKq zfF0P24Dwzt@?woV{~aD61Amv_6!E<~awfT?>=S82Hv;dOK diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 922d151..057ba27 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["index", "loading_sdk", "modules"], "filenames": ["index.rst", "loading_sdk.rst", "modules.rst"], "titles": ["Welcome to python-loading-sdk\u2019s documentation!", "loading_sdk package", "loading_sdk"], "terms": {"simpl": 0, "exampl": 0, "how": 0, "us": [0, 1], "from": [0, 1], "loading_sdk": 0, "import": 0, "loadingapicli": [0, 1], "creat": [0, 1], "client": [0, 1], "i": [0, 1], "authent": [0, 1], "user": [0, 1], "credenti": [0, 1], "email": [0, 1], "com": 0, "password": [0, 1], "example_password": 0, "requir": [0, 1], "auth": 0, "profile_data": 0, "get_profil": [0, 1], "print": 0, "can": [0, 1], "anonym": [0, 1], "post_data": 0, "get_post": [0, 1], "post_id": [0, 1], "5bb7aac18fef22001d90267b": 0, "messag": [0, 1], "ok": 0, "f": 0, "post": [0, 1], "data": [0, 1], "0": 0, "bodi": [0, 1], "packag": [0, 2], "index": 0, "modul": [0, 2], "search": [0, 1], "page": [0, 1], "class": 1, "sync_api": 1, "none": 1, "base": 1, "object": 1, "A": 1, "allow": 1, "python": 1, "app": 1, "easili": 1, "commun": 1, "load": 1, "forum": 1, "web": 1, "some": 1, "method": 1, "while": 1, "other": 1, "paramet": 1, "str": 1, "address": 1, "option": 1, "create_post": 1, "thread_id": 1, "new": 1, "thread": 1, "uniqu": 1, "id": 1, "text": 1, "format": 1, "markdown": 1, "return": 1, "type": 1, "dict": 1, "create_thread": 1, "titl": 1, "category_nam": 1, "post_typ": 1, "one": 1, "categori": 1, "either": 1, "game": 1, "regular": 1, "default": 1, "edit_post": 1, "edit": 1, "exist": 1, "replac": 1, "old": 1, "edit_thread": 1, "get_about": 1, "get": 1, "about": 1, "rtype": 1, "get_editori": 1, "sort": 1, "retrun": 1, "specif": 1, "int": 1, "articl": 1, "review": 1, "opinion": 1, "updat": 1, "podcast": 1, "convers": 1, "date": 1, "": 1, "instead": 1, "get_gam": 1, "get_oth": 1, "profil": 1, "get_soci": 1, "social": 1, "media": 1, "link": 1, "get_thread": 1, "all": 1, "get_total_category_pag": 1, "total": 1, "name": 1, "get_total_thread_pag": 1, "queri": 1, "match": 1, "asyncloadingapicli": 1, "an": 1, "async": 1, "async_loading_api_cli": 1, "submodul": 2, "api": 2, "async_api": 2, "content": 2}, "objects": {"": [[1, 0, 0, "-", "loading_sdk"]], "loading_sdk": [[1, 1, 1, "", "AsyncLoadingApiClient"], [1, 2, 1, "", "LoadingApiClient"]], "loading_sdk.LoadingApiClient": [[1, 3, 1, "", "create_post"], [1, 3, 1, "", "create_thread"], [1, 3, 1, "", "edit_post"], [1, 3, 1, "", "edit_thread"], [1, 3, 1, "", "get_about"], [1, 3, 1, "", "get_editorials"], [1, 3, 1, "", "get_games"], [1, 3, 1, "", "get_other"], [1, 3, 1, "", "get_post"], [1, 3, 1, "", "get_profile"], [1, 3, 1, "", "get_socials"], [1, 3, 1, "", "get_thread"], [1, 3, 1, "", "get_total_category_pages"], [1, 3, 1, "", "get_total_thread_pages"], [1, 3, 1, "", "search"]], "loading_sdk.async_api": [[1, 0, 0, "-", "client"]], "loading_sdk.async_api.client": [[1, 2, 1, "", "AsyncLoadingApiClient"], [1, 1, 1, "", "async_loading_api_client"]], "loading_sdk.async_api.client.AsyncLoadingApiClient": [[1, 3, 1, "", "create_post"], [1, 3, 1, "", "create_thread"], [1, 3, 1, "", "edit_post"], [1, 3, 1, "", "edit_thread"], [1, 3, 1, "", "get_about"], [1, 3, 1, "", "get_editorials"], [1, 3, 1, "", "get_games"], [1, 3, 1, "", "get_other"], [1, 3, 1, "", "get_post"], [1, 3, 1, "", "get_profile"], [1, 3, 1, "", "get_socials"], [1, 3, 1, "", "get_thread"], [1, 3, 1, "", "search"]], "loading_sdk.sync_api": [[1, 0, 0, "-", "client"]], "loading_sdk.sync_api.client": [[1, 2, 1, "", "LoadingApiClient"]], "loading_sdk.sync_api.client.LoadingApiClient": [[1, 3, 1, "", "create_post"], [1, 3, 1, "", "create_thread"], [1, 3, 1, "", "edit_post"], [1, 3, 1, "", "edit_thread"], [1, 3, 1, "", "get_about"], [1, 3, 1, "", "get_editorials"], [1, 3, 1, "", "get_games"], [1, 3, 1, "", "get_other"], [1, 3, 1, "", "get_post"], [1, 3, 1, "", "get_profile"], [1, 3, 1, "", "get_socials"], [1, 3, 1, "", "get_thread"], [1, 3, 1, "", "get_total_category_pages"], [1, 3, 1, "", "get_total_thread_pages"], [1, 3, 1, "", "search"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"]}, "titleterms": {"welcom": 0, "python": 0, "load": 0, "sdk": 0, "": 0, "document": 0, "content": [0, 1], "indic": 0, "tabl": 0, "loading_sdk": [1, 2], "packag": 1, "submodul": 1, "api": 1, "modul": 1, "async_api": 1}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["index", "loading_sdk", "modules"], "filenames": ["index.rst", "loading_sdk.rst", "modules.rst"], "titles": ["Welcome to python-loading-sdk\u2019s documentation!", "loading_sdk package", "loading_sdk"], "terms": {"simpl": 0, "exampl": 0, "how": 0, "us": [0, 1], "from": [0, 1], "loading_sdk": 0, "import": 0, "loadingapicli": [0, 1], "creat": [0, 1], "client": [0, 1], "i": [0, 1], "authent": [0, 1], "user": [0, 1], "credenti": [0, 1], "email": [0, 1], "com": 0, "password": [0, 1], "example_password": 0, "requir": [0, 1], "auth": 0, "profile_data": 0, "get_profil": [0, 1], "print": 0, "can": [0, 1], "anonym": [0, 1], "post_data": 0, "get_post": [0, 1], "post_id": [0, 1], "5bb7aac18fef22001d90267b": 0, "messag": [0, 1], "ok": 0, "f": 0, "post": [0, 1], "data": [0, 1], "0": 0, "bodi": [0, 1], "packag": [0, 2], "index": 0, "modul": [0, 2], "search": [0, 1], "page": [0, 1], "class": 1, "sync_api": 1, "none": 1, "base": 1, "object": 1, "A": 1, "allow": 1, "python": 1, "app": 1, "easili": 1, "commun": 1, "load": 1, "forum": 1, "web": 1, "some": 1, "method": 1, "while": 1, "other": 1, "paramet": 1, "str": 1, "address": 1, "option": 1, "create_post": 1, "thread_id": 1, "new": 1, "thread": 1, "uniqu": 1, "id": 1, "text": 1, "format": 1, "markdown": 1, "return": 1, "type": 1, "dict": 1, "create_thread": 1, "titl": 1, "category_nam": 1, "post_typ": 1, "one": 1, "categori": 1, "either": 1, "game": 1, "regular": 1, "default": 1, "edit_post": 1, "edit": 1, "exist": 1, "replac": 1, "old": 1, "edit_thread": 1, "get_about": 1, "get": 1, "about": 1, "rtype": 1, "get_editori": 1, "sort": 1, "retrun": 1, "specif": 1, "int": 1, "articl": 1, "review": 1, "opinion": 1, "updat": 1, "podcast": 1, "convers": 1, "date": 1, "": 1, "instead": 1, "get_gam": 1, "get_oth": 1, "profil": 1, "get_soci": 1, "social": 1, "media": 1, "link": 1, "get_thread": 1, "all": 1, "get_total_category_pag": 1, "total": 1, "name": 1, "get_total_thread_pag": 1, "queri": 1, "match": 1, "asyncloadingapicli": 1, "an": 1, "async": 1, "async_loading_api_cli": 1, "submodul": 2, "api": 2, "async_api": 2, "content": 2}, "objects": {"": [[1, 0, 0, "-", "loading_sdk"]], "loading_sdk": [[1, 1, 1, "", "AsyncLoadingApiClient"], [1, 2, 1, "", "LoadingApiClient"]], "loading_sdk.LoadingApiClient": [[1, 3, 1, "", "create_post"], [1, 3, 1, "", "create_thread"], [1, 3, 1, "", "edit_post"], [1, 3, 1, "", "edit_thread"], [1, 3, 1, "", "get_about"], [1, 3, 1, "", "get_editorials"], [1, 3, 1, "", "get_games"], [1, 3, 1, "", "get_other"], [1, 3, 1, "", "get_post"], [1, 3, 1, "", "get_profile"], [1, 3, 1, "", "get_socials"], [1, 3, 1, "", "get_thread"], [1, 3, 1, "", "get_total_category_pages"], [1, 3, 1, "", "get_total_thread_pages"], [1, 3, 1, "", "search"]], "loading_sdk.async_api": [[1, 0, 0, "-", "client"]], "loading_sdk.async_api.client": [[1, 2, 1, "", "AsyncLoadingApiClient"], [1, 1, 1, "", "async_loading_api_client"]], "loading_sdk.async_api.client.AsyncLoadingApiClient": [[1, 3, 1, "", "create_post"], [1, 3, 1, "", "create_thread"], [1, 3, 1, "", "edit_post"], [1, 3, 1, "", "edit_thread"], [1, 3, 1, "", "get_about"], [1, 3, 1, "", "get_editorials"], [1, 3, 1, "", "get_games"], [1, 3, 1, "", "get_other"], [1, 3, 1, "", "get_post"], [1, 3, 1, "", "get_profile"], [1, 3, 1, "", "get_socials"], [1, 3, 1, "", "get_thread"], [1, 3, 1, "", "get_total_category_pages"], [1, 3, 1, "", "get_total_thread_pages"], [1, 3, 1, "", "search"]], "loading_sdk.sync_api": [[1, 0, 0, "-", "client"]], "loading_sdk.sync_api.client": [[1, 2, 1, "", "LoadingApiClient"]], "loading_sdk.sync_api.client.LoadingApiClient": [[1, 3, 1, "", "create_post"], [1, 3, 1, "", "create_thread"], [1, 3, 1, "", "edit_post"], [1, 3, 1, "", "edit_thread"], [1, 3, 1, "", "get_about"], [1, 3, 1, "", "get_editorials"], [1, 3, 1, "", "get_games"], [1, 3, 1, "", "get_other"], [1, 3, 1, "", "get_post"], [1, 3, 1, "", "get_profile"], [1, 3, 1, "", "get_socials"], [1, 3, 1, "", "get_thread"], [1, 3, 1, "", "get_total_category_pages"], [1, 3, 1, "", "get_total_thread_pages"], [1, 3, 1, "", "search"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"]}, "titleterms": {"welcom": 0, "python": 0, "load": 0, "sdk": 0, "": 0, "document": 0, "content": [0, 1], "indic": 0, "tabl": 0, "loading_sdk": [1, 2], "packag": 1, "submodul": 1, "api": 1, "modul": 1, "async_api": 1}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file From 9c9c6ca19c33ae2ae1d2507b1c2a07f055499f8c Mon Sep 17 00:00:00 2001 From: Henrik Petersson <44243358+hnrkcode@users.noreply.github.com> Date: Tue, 6 Sep 2022 21:48:28 +0200 Subject: [PATCH 38/42] Update readme --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0cbc5a3..cd49caa 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ response = client.get_profile() ``` It can also be used asyncrounously: + ```python from loading_sdk import AsyncLoadingApiClient @@ -94,4 +95,12 @@ response = client.get_about() ```python response = client.get_socials() -``` \ No newline at end of file +``` + +```python +response = client.get_total_thread_pages(thread_id="5bbb986af1deda001d33bc4b") +``` + +```python +response = client.get_total_category_pages(category="games") +``` From 50378ea14cf8ddab7074e0ad59d2780109f2f72b Mon Sep 17 00:00:00 2001 From: Henrik Petersson <44243358+hnrkcode@users.noreply.github.com> Date: Tue, 6 Sep 2022 21:50:26 +0200 Subject: [PATCH 39/42] Bump to version 0.4.0 --- docs/build/doctrees/environment.pickle | Bin 27526 -> 27526 bytes docs/build/html/.buildinfo | 2 +- .../html/_static/documentation_options.js | 2 +- docs/build/html/genindex.html | 2 +- docs/build/html/index.html | 2 +- docs/build/html/loading_sdk.html | 2 +- docs/build/html/modules.html | 2 +- docs/build/html/py-modindex.html | 2 +- docs/build/html/search.html | 2 +- docs/source/conf.py | 2 +- pyproject.toml | 2 +- 11 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index 575e4f8e5caabb0865c32df690d0d28ea3139208..c1acbdb807154b67d3ce5f0e661eb278c1a91760 100644 GIT binary patch delta 812 zcmZXST}V@57{~X{Z5l&mkg0_(xA{?S6t4EB*4zwT zW@{-;{;#*n?Uu^~*d{Z4Y`jQvz%|Y4X$whRg2>5L&9Ag@V|NN|6O7yXA?dKltF~r> zg+Vs&NGnBQ=L4mfXv-)?y?uY0F#bqBqzJ~tdTO>zfUXWpu>3_kG$%1 zqBHL-QIovt`hKZSYr;-rhOnf7( z#T!wq=DkRk??uk?9^@L|gX|D!Jtg!ZUkV;&<0NzocHp>j6q%ue$lF6S{JqFs3EFBR zL1*|jL8sIx?ne%buFm4ze`-`J(JOk>vgvcjlZt^NxY-} E1E(b$uK)l5 delta 830 zcmaKqUr1AN6vy|Q+jI<-K_*Lb=BBfp6>7`5)TG)<`^O~r=WgD+?OwNCZ(F57BvL*k zNkZh=!{%EL6-YsFD|*NvLZP645GdIHAS59e6!cc-w@XPcy?lP>_dVZp&hH-X#3Gqk zB)9Jn(jwm_3wqK5bB0O)!)6rb3{e#1nu_9UUs?Ws-z4V#-hSA&0$1zO)BNR3!;}@eELFOgloV1U z@US)jrz|zlX|d~R$$t!ua+~!60k+-(AL`DL9B}os2HI3q7a?+Th3&Z(uIxx-x)w&7 z`ap76<<%w|!N4e6woNL*-1b{aFxot=1l6s>1U}o-(+&wrTa7U0cuaC~_s%>iq5XTc zVh-A!M{(pOrxP>t<C*%1>NxHlTLB-&;&=lj!=@&yp;#zJth{J|9x!4^qY7kG$vi zBg+Fc9t<$L!sE-JI=C0!9nh7CH?%5MgO~+VkUCBTk0BR=w8qR(o?&RmmyCdPgks2< zP#^MJXcw|Ed>DB)97ZmMIizzSq|9i87n~d3^V;b^nWDI$bHEL|StHuKY(x>e7168t z_c=x`gsv3FAfIvriuVw^WBP^{!VNS5zG&hl<#p5Kpb7ic^#^dg@LZl!Pxx`bBXxKb3E!F|Z9 zgVg-Bz?L{|H5#Wod=;l#s!QxaCKIlX!rp&sRH}q0;h7xCjAz7ET)jA|E9{^CQg*zr PWt%baCo6wUTvPuB)XpO| diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo index fa8dc66..c89c533 100644 --- a/docs/build/html/.buildinfo +++ b/docs/build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 7ab8668ea613b274fc02285e87c81f72 +config: 730689ce3338e0cc7457f096d6c27a8b tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/build/html/_static/documentation_options.js b/docs/build/html/_static/documentation_options.js index 44e1488..c00afe7 100644 --- a/docs/build/html/_static/documentation_options.js +++ b/docs/build/html/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '0.3.0', + VERSION: '0.4.0', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index f952ab5..ee6ba44 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -3,7 +3,7 @@ - Index — python-loading-sdk 0.3.0 documentation + Index — python-loading-sdk 0.4.0 documentation