[LAW-3158] domen defining via api

- automatically define domen for uploaded books from queue's message
This commit is contained in:
shirshasa
2020-05-20 14:43:52 +03:00
parent 98dad51a2f
commit a9e8023804
2 changed files with 13 additions and 8 deletions

View File

@@ -23,19 +23,24 @@ class Access:
refreshing = Event()
def __init__(self):
self.read_credentials()
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 read_credentials(self):
def set_credentials(self, url):
folder_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
config_path = os.path.join(folder_path, "config/api_config.json")
with open(config_path, "r") as f:
params = json.load(f)
self.refreshing.clear()
self.url = params['url']
self.url = url or params['url']
self.username = params['username']
self.password = params['password']
self.refreshing.set()

View File

@@ -42,14 +42,15 @@ def convert_book(book_id, access, logger):
# print('Book has been proceeded.')
def callback(ch, method, properties, body, access, logger):
def callback(ch, method, properties, body, logger):
print(f'Message: {body}.')
logger.info(f'Message: {body}.')
try:
data = json.loads(body)
api_url = data['apiURL'] if 'apiURL' in data else None
params = {
'book_id': data['id'],
'access': access,
'access': Access(url=api_url),
'logger': logger
}
@@ -114,10 +115,9 @@ if __name__ == '__main__':
logger.log(logging.ERROR, f'Queue {conf_param["queue"]} is not declared.')
raise exc
acs = Access()
channel.basic_consume(queue=conf_param['queue'],
auto_ack=True,
on_message_callback=partial(callback, access=acs, logger=logger))
on_message_callback=partial(callback, logger=logger))
logger.info('Connection has been established.')
print('Waiting for messages...')
logger.info('Waiting for messages...')