forked from LiveCarta/BookConverter
Make task to add numbering in titles (I, (ABC))
This commit is contained in:
@@ -7,6 +7,8 @@ from io import BytesIO
|
||||
|
||||
|
||||
class Access:
|
||||
"""Class accessing our platform"""
|
||||
|
||||
PENDING = 1
|
||||
PROCESS = 2
|
||||
GENERATE = 3
|
||||
@@ -21,21 +23,21 @@ class Access:
|
||||
refresh = None
|
||||
refresh_time = None
|
||||
headers = None
|
||||
|
||||
refreshing = Event()
|
||||
|
||||
def __init__(self, url):
|
||||
"""
|
||||
|
||||
:param url: str, url received from queue message, if field apiURL exists
|
||||
else None
|
||||
"""
|
||||
|
||||
self.set_credentials(url)
|
||||
self.get_token()
|
||||
self.refreshing.set()
|
||||
|
||||
def sleep(timeout: float, retry=3):
|
||||
def decorator(function):
|
||||
"""Decorator sleeping timeout sec and makes 3 retries"""
|
||||
def wrapper(*args, **kwargs):
|
||||
retries = 0
|
||||
while retries < retry:
|
||||
@@ -66,6 +68,9 @@ class Access:
|
||||
self.headers = {
|
||||
'Authorization': f'Bearer {self.token}'
|
||||
}
|
||||
# self.session = requests.Session()
|
||||
# self.session.auth=
|
||||
# self.session.headers.update({'Authorization': f'Bearer {self.token}'})
|
||||
|
||||
def is_time_for_refreshing(self):
|
||||
return self.refresh_time < time.time()
|
||||
@@ -76,7 +81,10 @@ class Access:
|
||||
'username': self.username,
|
||||
'password': self.password
|
||||
}
|
||||
response = requests.post(f'{self.url}/token', json=json_form)
|
||||
response = requests.post(
|
||||
f'{self.url}/token', json=json_form,
|
||||
# auth=('kiryl.miatselitsa', 'iK4yXCvdyHFEEOvG2v3F')
|
||||
)
|
||||
|
||||
if response.status_code == 400:
|
||||
raise Exception('400 Bad request: invalid login and/or password.')
|
||||
@@ -95,7 +103,10 @@ class Access:
|
||||
'grantType': 'refresh_token',
|
||||
'refreshToken': self.refresh
|
||||
}
|
||||
response = requests.post(f'{self.url}/token', json=json_form)
|
||||
response = requests.post(
|
||||
f'{self.url}/token', json=json_form,
|
||||
# auth=('kiryl.miatselitsa', 'iK4yXCvdyHFEEOvG2v3F')
|
||||
)
|
||||
|
||||
if response.status_code == 400:
|
||||
raise Exception(
|
||||
@@ -113,12 +124,15 @@ class Access:
|
||||
raise Exception(f'{response.status_code}')
|
||||
|
||||
def get_book(self, book_id):
|
||||
"""Function downloads the book from site"""
|
||||
if self.is_time_for_refreshing():
|
||||
self.refresh_token()
|
||||
|
||||
self.refreshing.wait()
|
||||
response = requests.get(
|
||||
f'{self.url}/doc-convert/{book_id}/file', headers=self.headers)
|
||||
f'{self.url}/doc-convert/{book_id}/file', headers=self.headers,
|
||||
# auth=('kiryl.miatselitsa', 'iK4yXCvdyHFEEOvG2v3F')
|
||||
)
|
||||
|
||||
if response.status_code == 404:
|
||||
raise FileNotFoundError('404 Not Found: file have not found.')
|
||||
@@ -132,6 +146,7 @@ class Access:
|
||||
|
||||
@sleep(3)
|
||||
def send_image(self, img_path, doc_id, img_content: bytes = None):
|
||||
"""Function sends images to site"""
|
||||
if self.is_time_for_refreshing():
|
||||
self.refresh_token()
|
||||
self.refreshing.wait()
|
||||
@@ -141,7 +156,9 @@ class Access:
|
||||
'image': (os.path.basename(img_path), img_obj)
|
||||
}
|
||||
response = requests.post(
|
||||
f'{self.url}/doc-convert/image', files=files, headers=self.headers)
|
||||
f'{self.url}/doc-convert/image', files=files, headers=self.headers
|
||||
# auth=('kiryl.miatselitsa', 'iK4yXCvdyHFEEOvG2v3F')
|
||||
)
|
||||
img_obj.close()
|
||||
|
||||
if response.status_code == 200:
|
||||
@@ -153,6 +170,7 @@ class Access:
|
||||
return img_url
|
||||
|
||||
def send_book(self, doc_id, content):
|
||||
"""Function sends the book to site"""
|
||||
if self.is_time_for_refreshing():
|
||||
self.refresh_token()
|
||||
|
||||
@@ -171,6 +189,7 @@ class Access:
|
||||
f'{response.status_code} Bad request: {response.json()["message"]}.')
|
||||
|
||||
def update_status(self, doc_id, status):
|
||||
"""Function updates status of the book on site"""
|
||||
if self.is_time_for_refreshing():
|
||||
self.refresh_token()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user