mirror of
				https://github.com/karl0ss/MiGenieHASS.git
				synced 2025-11-04 08:31:00 +00:00 
			
		
		
		
	implement 30 second cache object from migenie
This commit is contained in:
		
							parent
							
								
									87e9143a5e
								
							
						
					
					
						commit
						d73c5fb973
					
				
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -1,2 +1,5 @@
 | 
				
			|||||||
.env
 | 
					.env
 | 
				
			||||||
*.pyc
 | 
					*.pyc
 | 
				
			||||||
 | 
					poll_cache.sqlite
 | 
				
			||||||
 | 
					test.py
 | 
				
			||||||
 | 
					.vscode/launch.json
 | 
				
			||||||
							
								
								
									
										8
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
								
							@ -4,6 +4,14 @@
 | 
				
			|||||||
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
 | 
					    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
 | 
				
			||||||
    "version": "0.2.0",
 | 
					    "version": "0.2.0",
 | 
				
			||||||
    "configurations": [
 | 
					    "configurations": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "name": "Python: Current File",
 | 
				
			||||||
 | 
					            "type": "python",
 | 
				
			||||||
 | 
					            "request": "launch",
 | 
				
			||||||
 | 
					            "program": "${file}",
 | 
				
			||||||
 | 
					            "console": "integratedTerminal",
 | 
				
			||||||
 | 
					            "justMyCode": true
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "Python: Flask",
 | 
					            "name": "Python: Flask",
 | 
				
			||||||
            "type": "python",
 | 
					            "type": "python",
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										10
									
								
								app/Routes/poll.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								app/Routes/poll.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					from lib import migenie
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def poll_genie()->dict:
 | 
				
			||||||
 | 
					    """_summary_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Returns:
 | 
				
			||||||
 | 
					        dict: _description_
 | 
				
			||||||
 | 
					    """    
 | 
				
			||||||
 | 
					    data = migenie.poll_genie()
 | 
				
			||||||
 | 
					    return data, 200
 | 
				
			||||||
@ -1,9 +1,10 @@
 | 
				
			|||||||
import requests
 | 
					import requests
 | 
				
			||||||
 | 
					from requests_cache import CachedSession
 | 
				
			||||||
from dotenv import load_dotenv
 | 
					from dotenv import load_dotenv
 | 
				
			||||||
import os
 | 
					import os
 | 
				
			||||||
load_dotenv()
 | 
					 | 
				
			||||||
from lib.utils import convert_to_real_temp, is_valid_time
 | 
					from lib.utils import convert_to_real_temp, is_valid_time
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					load_dotenv()
 | 
				
			||||||
username = os.getenv("username")
 | 
					username = os.getenv("username")
 | 
				
			||||||
password = os.getenv("password")
 | 
					password = os.getenv("password")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -19,12 +20,19 @@ def poll_genie():
 | 
				
			|||||||
    response = requests.request("POST", url, headers=headers, data=payload, auth=(username, password))
 | 
					    response = requests.request("POST", url, headers=headers, data=payload, auth=(username, password))
 | 
				
			||||||
    return response.json()
 | 
					    return response.json()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def poll_genie_proxy():  
 | 
				
			||||||
 | 
					    session = CachedSession('poll_cache', backend='sqlite',expire_after=30)
 | 
				
			||||||
 | 
					    url = 'http://127.0.0.1:5000/poll_genie'
 | 
				
			||||||
 | 
					    response = session.get(url)
 | 
				
			||||||
 | 
					    print("MiGenie Session Token = " + str(response.json()['sessionToken']))
 | 
				
			||||||
 | 
					    return response.json()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def get_heating_data():
 | 
					def get_heating_data():
 | 
				
			||||||
    data = poll_genie()
 | 
					    data = poll_genie_proxy()
 | 
				
			||||||
    return data['updateData']['zones'][0]
 | 
					    return data['updateData']['zones'][0]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def get_water_data():
 | 
					def get_water_data():
 | 
				
			||||||
    data = poll_genie()
 | 
					    data = poll_genie_proxy()
 | 
				
			||||||
    return data['updateData']['zones'][1]
 | 
					    return data['updateData']['zones'][1]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def boost_water(time:int):
 | 
					def boost_water(time:int):
 | 
				
			||||||
 | 
				
			|||||||
@ -1,9 +1,12 @@
 | 
				
			|||||||
from flask import Flask
 | 
					from flask import Flask
 | 
				
			||||||
from flask_restful import Api
 | 
					from flask_restful import Api
 | 
				
			||||||
from Routes import water, heating
 | 
					from Routes import water, heating, poll
 | 
				
			||||||
app = Flask(__name__)
 | 
					app = Flask(__name__)
 | 
				
			||||||
api = Api(app)
 | 
					api = Api(app)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@app.route('/poll_genie')
 | 
				
			||||||
 | 
					def poll_genie():
 | 
				
			||||||
 | 
					    return poll.poll_genie()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@app.route('/water')
 | 
					@app.route('/water')
 | 
				
			||||||
def water_root():
 | 
					def water_root():
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										109
									
								
								poetry.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										109
									
								
								poetry.lock
									
									
									
										generated
									
									
									
								
							@ -9,6 +9,40 @@ python-versions = "*"
 | 
				
			|||||||
[package.extras]
 | 
					[package.extras]
 | 
				
			||||||
dev = ["black", "coverage", "isort", "pre-commit", "pyenchant", "pylint"]
 | 
					dev = ["black", "coverage", "isort", "pre-commit", "pyenchant", "pylint"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "appdirs"
 | 
				
			||||||
 | 
					version = "1.4.4"
 | 
				
			||||||
 | 
					description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
 | 
				
			||||||
 | 
					category = "main"
 | 
				
			||||||
 | 
					optional = false
 | 
				
			||||||
 | 
					python-versions = "*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "attrs"
 | 
				
			||||||
 | 
					version = "22.1.0"
 | 
				
			||||||
 | 
					description = "Classes Without Boilerplate"
 | 
				
			||||||
 | 
					category = "main"
 | 
				
			||||||
 | 
					optional = false
 | 
				
			||||||
 | 
					python-versions = ">=3.5"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[package.extras]
 | 
				
			||||||
 | 
					dev = ["cloudpickle", "coverage[toml] (>=5.0.2)", "furo", "hypothesis", "mypy (>=0.900,!=0.940)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "sphinx", "sphinx-notfound-page", "zope.interface"]
 | 
				
			||||||
 | 
					docs = ["furo", "sphinx", "sphinx-notfound-page", "zope.interface"]
 | 
				
			||||||
 | 
					tests = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "zope.interface"]
 | 
				
			||||||
 | 
					tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "cattrs"
 | 
				
			||||||
 | 
					version = "22.2.0"
 | 
				
			||||||
 | 
					description = "Composable complex class support for attrs and dataclasses."
 | 
				
			||||||
 | 
					category = "main"
 | 
				
			||||||
 | 
					optional = false
 | 
				
			||||||
 | 
					python-versions = ">=3.7"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[package.dependencies]
 | 
				
			||||||
 | 
					attrs = ">=20"
 | 
				
			||||||
 | 
					exceptiongroup = {version = "*", markers = "python_version < \"3.11\""}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "certifi"
 | 
					name = "certifi"
 | 
				
			||||||
version = "2022.12.7"
 | 
					version = "2022.12.7"
 | 
				
			||||||
@ -47,6 +81,17 @@ category = "main"
 | 
				
			|||||||
optional = false
 | 
					optional = false
 | 
				
			||||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
 | 
					python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "exceptiongroup"
 | 
				
			||||||
 | 
					version = "1.0.4"
 | 
				
			||||||
 | 
					description = "Backport of PEP 654 (exception groups)"
 | 
				
			||||||
 | 
					category = "main"
 | 
				
			||||||
 | 
					optional = false
 | 
				
			||||||
 | 
					python-versions = ">=3.7"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[package.extras]
 | 
				
			||||||
 | 
					test = ["pytest (>=6)"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "Flask"
 | 
					name = "Flask"
 | 
				
			||||||
version = "2.2.2"
 | 
					version = "2.2.2"
 | 
				
			||||||
@ -174,6 +219,33 @@ urllib3 = ">=1.21.1,<1.27"
 | 
				
			|||||||
socks = ["PySocks (>=1.5.6,!=1.5.7)"]
 | 
					socks = ["PySocks (>=1.5.6,!=1.5.7)"]
 | 
				
			||||||
use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"]
 | 
					use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "requests-cache"
 | 
				
			||||||
 | 
					version = "0.9.7"
 | 
				
			||||||
 | 
					description = "A transparent persistent cache for the requests library"
 | 
				
			||||||
 | 
					category = "main"
 | 
				
			||||||
 | 
					optional = false
 | 
				
			||||||
 | 
					python-versions = ">=3.7,<4.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[package.dependencies]
 | 
				
			||||||
 | 
					appdirs = ">=1.4.4"
 | 
				
			||||||
 | 
					attrs = ">=21.2"
 | 
				
			||||||
 | 
					cattrs = ">=22.2"
 | 
				
			||||||
 | 
					requests = ">=2.22"
 | 
				
			||||||
 | 
					url-normalize = ">=1.4"
 | 
				
			||||||
 | 
					urllib3 = ">=1.25.5"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[package.extras]
 | 
				
			||||||
 | 
					all = ["boto3 (>=1.15)", "botocore (>=1.18)", "itsdangerous (>=2.0)", "pymongo (>=3)", "pyyaml (>=5.4)", "redis (>=3)", "ujson (>=4.0)"]
 | 
				
			||||||
 | 
					bson = ["bson (>=0.5)"]
 | 
				
			||||||
 | 
					docs = ["furo (>=2021.9.8)", "linkify-it-py (>=1.0.1,<2.0.0)", "myst-parser (>=0.15.1,<0.16.0)", "sphinx (==4.3.0)", "sphinx-autodoc-typehints (>=1.11,<2.0)", "sphinx-automodapi (>=0.13,<0.15)", "sphinx-copybutton (>=0.3,<0.5)", "sphinx-inline-tabs (>=2022.1.2b11)", "sphinx-notfound-page (>=0.8)", "sphinx-panels (>=0.6,<0.7)", "sphinxcontrib-apidoc (>=0.3,<0.4)"]
 | 
				
			||||||
 | 
					dynamodb = ["boto3 (>=1.15)", "botocore (>=1.18)"]
 | 
				
			||||||
 | 
					json = ["ujson (>=4.0)"]
 | 
				
			||||||
 | 
					mongodb = ["pymongo (>=3)"]
 | 
				
			||||||
 | 
					redis = ["redis (>=3)"]
 | 
				
			||||||
 | 
					security = ["itsdangerous (>=2.0)"]
 | 
				
			||||||
 | 
					yaml = ["pyyaml (>=5.4)"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "six"
 | 
					name = "six"
 | 
				
			||||||
version = "1.16.0"
 | 
					version = "1.16.0"
 | 
				
			||||||
@ -182,6 +254,17 @@ category = "main"
 | 
				
			|||||||
optional = false
 | 
					optional = false
 | 
				
			||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
 | 
					python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "url-normalize"
 | 
				
			||||||
 | 
					version = "1.4.3"
 | 
				
			||||||
 | 
					description = "URL normalization for Python"
 | 
				
			||||||
 | 
					category = "main"
 | 
				
			||||||
 | 
					optional = false
 | 
				
			||||||
 | 
					python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[package.dependencies]
 | 
				
			||||||
 | 
					six = "*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "urllib3"
 | 
					name = "urllib3"
 | 
				
			||||||
version = "1.26.13"
 | 
					version = "1.26.13"
 | 
				
			||||||
@ -224,13 +307,25 @@ testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools"
 | 
				
			|||||||
[metadata]
 | 
					[metadata]
 | 
				
			||||||
lock-version = "1.1"
 | 
					lock-version = "1.1"
 | 
				
			||||||
python-versions = "^3.8"
 | 
					python-versions = "^3.8"
 | 
				
			||||||
content-hash = "810250c963183539f8d27111b29094cb16e4d84692a4162296507e76c9bea432"
 | 
					content-hash = "27b1981f7ae3c5ae2fa8ae1642b6eaa4f78ef1147ff04e21ec374a865a8fea0e"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[metadata.files]
 | 
					[metadata.files]
 | 
				
			||||||
aniso8601 = [
 | 
					aniso8601 = [
 | 
				
			||||||
    {file = "aniso8601-9.0.1-py2.py3-none-any.whl", hash = "sha256:1d2b7ef82963909e93c4f24ce48d4de9e66009a21bf1c1e1c85bdd0812fe412f"},
 | 
					    {file = "aniso8601-9.0.1-py2.py3-none-any.whl", hash = "sha256:1d2b7ef82963909e93c4f24ce48d4de9e66009a21bf1c1e1c85bdd0812fe412f"},
 | 
				
			||||||
    {file = "aniso8601-9.0.1.tar.gz", hash = "sha256:72e3117667eedf66951bb2d93f4296a56b94b078a8a95905a052611fb3f1b973"},
 | 
					    {file = "aniso8601-9.0.1.tar.gz", hash = "sha256:72e3117667eedf66951bb2d93f4296a56b94b078a8a95905a052611fb3f1b973"},
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					appdirs = [
 | 
				
			||||||
 | 
					    {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"},
 | 
				
			||||||
 | 
					    {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"},
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					attrs = [
 | 
				
			||||||
 | 
					    {file = "attrs-22.1.0-py2.py3-none-any.whl", hash = "sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c"},
 | 
				
			||||||
 | 
					    {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"},
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					cattrs = [
 | 
				
			||||||
 | 
					    {file = "cattrs-22.2.0-py3-none-any.whl", hash = "sha256:bc12b1f0d000b9f9bee83335887d532a1d3e99a833d1bf0882151c97d3e68c21"},
 | 
				
			||||||
 | 
					    {file = "cattrs-22.2.0.tar.gz", hash = "sha256:f0eed5642399423cf656e7b66ce92cdc5b963ecafd041d1b24d136fdde7acf6d"},
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
certifi = [
 | 
					certifi = [
 | 
				
			||||||
    {file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"},
 | 
					    {file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"},
 | 
				
			||||||
    {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"},
 | 
					    {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"},
 | 
				
			||||||
@ -247,6 +342,10 @@ colorama = [
 | 
				
			|||||||
    {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
 | 
					    {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
 | 
				
			||||||
    {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
 | 
					    {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					exceptiongroup = [
 | 
				
			||||||
 | 
					    {file = "exceptiongroup-1.0.4-py3-none-any.whl", hash = "sha256:542adf9dea4055530d6e1279602fa5cb11dab2395fa650b8674eaec35fc4a828"},
 | 
				
			||||||
 | 
					    {file = "exceptiongroup-1.0.4.tar.gz", hash = "sha256:bd14967b79cd9bdb54d97323216f8fdf533e278df937aa2a90089e7d6e06e5ec"},
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
Flask = [
 | 
					Flask = [
 | 
				
			||||||
    {file = "Flask-2.2.2-py3-none-any.whl", hash = "sha256:b9c46cc36662a7949f34b52d8ec7bb59c0d74ba08ba6cb9ce9adc1d8676d9526"},
 | 
					    {file = "Flask-2.2.2-py3-none-any.whl", hash = "sha256:b9c46cc36662a7949f34b52d8ec7bb59c0d74ba08ba6cb9ce9adc1d8676d9526"},
 | 
				
			||||||
    {file = "Flask-2.2.2.tar.gz", hash = "sha256:642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b"},
 | 
					    {file = "Flask-2.2.2.tar.gz", hash = "sha256:642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b"},
 | 
				
			||||||
@ -325,10 +424,18 @@ requests = [
 | 
				
			|||||||
    {file = "requests-2.28.1-py3-none-any.whl", hash = "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"},
 | 
					    {file = "requests-2.28.1-py3-none-any.whl", hash = "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"},
 | 
				
			||||||
    {file = "requests-2.28.1.tar.gz", hash = "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983"},
 | 
					    {file = "requests-2.28.1.tar.gz", hash = "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983"},
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					requests-cache = [
 | 
				
			||||||
 | 
					    {file = "requests_cache-0.9.7-py3-none-any.whl", hash = "sha256:3f57badcd8406ecda7f8eaa8145afd0b180c5ae4ff05165a2c4d40f3dc88a6e5"},
 | 
				
			||||||
 | 
					    {file = "requests_cache-0.9.7.tar.gz", hash = "sha256:b7c26ea98143bac7058fad6e773d56c3442eabc0da9ea7480af5edfc134ff515"},
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
six = [
 | 
					six = [
 | 
				
			||||||
    {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
 | 
					    {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
 | 
				
			||||||
    {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
 | 
					    {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					url-normalize = [
 | 
				
			||||||
 | 
					    {file = "url-normalize-1.4.3.tar.gz", hash = "sha256:d23d3a070ac52a67b83a1c59a0e68f8608d1cd538783b401bc9de2c0fac999b2"},
 | 
				
			||||||
 | 
					    {file = "url_normalize-1.4.3-py2.py3-none-any.whl", hash = "sha256:ec3c301f04e5bb676d333a7fa162fa977ad2ca04b7e652bfc9fac4e405728eed"},
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
urllib3 = [
 | 
					urllib3 = [
 | 
				
			||||||
    {file = "urllib3-1.26.13-py2.py3-none-any.whl", hash = "sha256:47cc05d99aaa09c9e72ed5809b60e7ba354e64b59c9c173ac3018642d8bb41fc"},
 | 
					    {file = "urllib3-1.26.13-py2.py3-none-any.whl", hash = "sha256:47cc05d99aaa09c9e72ed5809b60e7ba354e64b59c9c173ac3018642d8bb41fc"},
 | 
				
			||||||
    {file = "urllib3-1.26.13.tar.gz", hash = "sha256:c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8"},
 | 
					    {file = "urllib3-1.26.13.tar.gz", hash = "sha256:c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8"},
 | 
				
			||||||
 | 
				
			|||||||
@ -12,6 +12,7 @@ Flask = "^2.2.2"
 | 
				
			|||||||
Flask-RESTful = "^0.3.9"
 | 
					Flask-RESTful = "^0.3.9"
 | 
				
			||||||
requests = "^2.28.1"
 | 
					requests = "^2.28.1"
 | 
				
			||||||
python-dotenv = "^0.21.0"
 | 
					python-dotenv = "^0.21.0"
 | 
				
			||||||
 | 
					requests-cache = "^0.9.7"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[build-system]
 | 
					[build-system]
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user