From 029da317b859cb45a8c76038f4fc87ce0394f6a7 Mon Sep 17 00:00:00 2001 From: batou9150 Date: Wed, 16 Jun 2021 17:50:46 +0200 Subject: [PATCH] v1.0.6 - add delta parameter to GitlabApi.refresh_tags --- gitlabui/gitlab.py | 13 ++++++++++++- gitlabui/views.py | 2 +- setup.py | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gitlabui/gitlab.py b/gitlabui/gitlab.py index 638c453..a8bdf91 100644 --- a/gitlabui/gitlab.py +++ b/gitlabui/gitlab.py @@ -77,7 +77,18 @@ def get_projects(self, search=None, opts=None): return projects - def refresh_tags(self): + def refresh_tags(self, delta=None): + previous = self.get_refresh_tags_time() + if previous is not None and delta is not None: + from datetime import datetime, timedelta + if type(delta) == str: + delta = int(delta) + if type(delta) == int: + delta = timedelta(seconds=delta) + current_delta = datetime.now() - datetime.fromisoformat(previous) + if current_delta < delta: + self.logger.info('skip refresh tags, current_delta = ' + str(current_delta)) + return None projects = [self.get_latest_tag(p) for p in self.get_projects()] from datetime import datetime self.save(projects, datetime.now().isoformat(timespec='seconds')) diff --git a/gitlabui/views.py b/gitlabui/views.py index 6cca7b0..b67d10f 100644 --- a/gitlabui/views.py +++ b/gitlabui/views.py @@ -26,7 +26,7 @@ def reset(): @app.route('/refresh_tags') def refresh_tags(): - api.refresh_tags() + api.refresh_tags(request.args.get('delta')) return redirect(url_for('tags')) diff --git a/setup.py b/setup.py index 165c743..9e12fa1 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setup( name='gitlabui', - version='1.0.5', + version='1.0.6', author='batou9150', packages=find_packages(), include_package_data=True,