mirror of
https://github.com/PiBrewing/craftbeerpi4.git
synced 2024-11-23 07:28:13 +01:00
brewfatherapiv2test
This commit is contained in:
parent
eb1365d329
commit
97845bc2dc
2 changed files with 38 additions and 21 deletions
|
@ -1,3 +1,3 @@
|
|||
__version__ = "4.4.1"
|
||||
__version__ = "4.4.2.a1"
|
||||
__codename__ = "Yeast Starter"
|
||||
|
||||
|
|
|
@ -23,7 +23,6 @@ from ..api.step import StepMove, StepResult, StepState
|
|||
import re
|
||||
import base64
|
||||
|
||||
|
||||
class UploadController:
|
||||
|
||||
def __init__(self, cbpi):
|
||||
|
@ -70,9 +69,12 @@ class UploadController:
|
|||
return []
|
||||
|
||||
async def get_brewfather_recipes(self,offset=0):
|
||||
limit = 50
|
||||
loop=0
|
||||
repeat = True
|
||||
brewfather = True
|
||||
result=[]
|
||||
self.url="https://api.brewfather.app/v1/recipes"
|
||||
self.url="https://api.brewfather.app/v2/recipes"
|
||||
brewfather_user_id = self.cbpi.config.get("brewfather_user_id", None)
|
||||
if brewfather_user_id == "" or brewfather_user_id is None:
|
||||
brewfather = False
|
||||
|
@ -84,25 +86,40 @@ class UploadController:
|
|||
if brewfather == True:
|
||||
encodedData = base64.b64encode(bytes(f"{brewfather_user_id}:{brewfather_api_key}", "ISO-8859-1")).decode("ascii")
|
||||
headers={"Authorization": "Basic %s" % encodedData}
|
||||
parameters={"limit": 50, 'offset': offset}
|
||||
async with aiohttp.ClientSession(headers=headers) as bf_session:
|
||||
async with bf_session.get(self.url, params=parameters) as r:
|
||||
bf_recipe_list = await r.json()
|
||||
await bf_session.close()
|
||||
parameters={"limit": limit}
|
||||
while repeat == True:
|
||||
try:
|
||||
async with aiohttp.ClientSession(headers=headers) as bf_session:
|
||||
async with bf_session.get(self.url, params=parameters) as r:
|
||||
bf_recipe_list = await r.json()
|
||||
await bf_session.close()
|
||||
except Exception as e:
|
||||
logging.error(e)
|
||||
|
||||
if bf_recipe_list:
|
||||
for row in bf_recipe_list:
|
||||
recipe_id = row['_id']
|
||||
name = row['name']
|
||||
element = {'value': recipe_id, 'label': name}
|
||||
result.append(element)
|
||||
return result
|
||||
else:
|
||||
return []
|
||||
|
||||
else:
|
||||
return []
|
||||
if bf_recipe_list:
|
||||
loop +=1
|
||||
for row in bf_recipe_list:
|
||||
recipe_id = row['_id']
|
||||
name = row['name']
|
||||
element = {'value': recipe_id, 'label': name}
|
||||
result.append(element)
|
||||
else:
|
||||
repeat = False
|
||||
|
||||
if len(bf_recipe_list) != limit:
|
||||
logging.info(loop)
|
||||
repeat = False
|
||||
else:
|
||||
parameters={"limit": limit, 'start_after': recipe_id}
|
||||
|
||||
logging.info(len(result))
|
||||
try:
|
||||
newlist = sorted(result, key=lambda d: d['label'])
|
||||
logging.error(newlist)
|
||||
return newlist
|
||||
except:
|
||||
return result
|
||||
|
||||
|
||||
def get_creation_path(self):
|
||||
creation_path = self.cbpi.config.get("RECIPE_CREATION_PATH", "upload")
|
||||
|
@ -738,7 +755,7 @@ class UploadController:
|
|||
|
||||
brewfather = True
|
||||
result=[]
|
||||
self.bf_url="https://api.brewfather.app/v1/recipes/" + Recipe_ID
|
||||
self.bf_url="https://api.brewfather.app/v2/recipes/" + Recipe_ID
|
||||
brewfather_user_id = self.cbpi.config.get("brewfather_user_id", None)
|
||||
if brewfather_user_id == "" or brewfather_user_id is None:
|
||||
brewfather = False
|
||||
|
|
Loading…
Reference in a new issue