From da12bc208651e27fc5bfe87502591e0438744c29 Mon Sep 17 00:00:00 2001 From: Vinicius Moreira Date: Fri, 11 Oct 2019 13:35:04 -0300 Subject: [PATCH] [appimage] downloading database files from the cloud --- bauh/api/http.py | 11 +++++++---- bauh/gems/appimage/worker.py | 11 ++++++----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/bauh/api/http.py b/bauh/api/http.py index f67fe866..4e685f6f 100644 --- a/bauh/api/http.py +++ b/bauh/api/http.py @@ -16,14 +16,17 @@ class HttpClient: self.sleep = sleep self.logger = logger - def get(self, url: str, headers: dict = None): + def get(self, url: str, params: dict = None, headers: dict = None, allow_redirects: bool = True): cur_attempts = 1 while cur_attempts <= self.max_attempts: cur_attempts += 1 try: - args = {'timeout': self.timeout} + args = {'timeout': self.timeout, 'allow_redirects': allow_redirects} + + if params: + args['params'] = params if headers: args['headers'] = headers @@ -46,8 +49,8 @@ class HttpClient: self.logger.warning("Could not retrieve data from '{}'".format(url)) - def get_json(self, url: str, headers: dict = None): - res = self.get(url, headers=headers) + def get_json(self, url: str, params: dict = None, headers: dict = None, allow_redirects: bool = True): + res = self.get(url, params=params, headers=headers, allow_redirects=allow_redirects) return res.json() if res else None def get_content_length(self, url: str) -> str: diff --git a/bauh/gems/appimage/worker.py b/bauh/gems/appimage/worker.py index 55c5d9e4..3526671b 100644 --- a/bauh/gems/appimage/worker.py +++ b/bauh/gems/appimage/worker.py @@ -4,15 +4,16 @@ import time from multiprocessing import Process from threading import Thread +from bauh.api.constants import HOME_PATH from bauh.api.http import HttpClient class DatabaseUpdater(Thread if bool(int(os.getenv('BAUH_DEBUG', 0))) else Process): - URL_APPS = 'https://github.com/vinifmor/bauh-files/blob/master/appimage/apps.db?raw=true' - URL_RELEASES = 'https://github.com/vinifmor/bauh-files/blob/master/appimage/releases.db?raw=true' - APPS_PATH = '{}/.local/share/bauh/appimage/apps.db' - RELEASES_PATH = '{}/.local/share/bauh/appimage/releases.db' + URL_APPS = 'https://raw.githubusercontent.com/vinifmor/bauh-files/master/appimage/apps.db' + URL_RELEASES = 'https://raw.githubusercontent.com/vinifmor/bauh-files/master/appimage/releases.db' + APPS_PATH = '{}/.local/share/bauh/appimage/apps.db'.format(HOME_PATH) + RELEASES_PATH = '{}/.local/share/bauh/appimage/releases.db'.format(HOME_PATH) def __init__(self, http_client: HttpClient, logger: logging.Logger): super(DatabaseUpdater, self).__init__(daemon=True) @@ -30,7 +31,7 @@ class DatabaseUpdater(Thread if bool(int(os.getenv('BAUH_DEBUG', 0))) else Proce self.logger.info("Database file saved at {}".format(output)) else: - self.logger.warning('Could not download a database file from {}'.format(url)) + self.logger.warning('Could not download the database file {}'.format(url)) def run(self): if self.enabled: