def sync_translations(): since_id = request.args.get('since') if since_id: try: since_id = int(since_id) except ValueError: since_id = None latest_synchronizations = get_latest_synchronizations() finished = False for latest_synchronization in latest_synchronizations: if latest_synchronization['id'] > since_id and latest_synchronization['end'] is not None: finished = True break if latest_synchronizations: latest_id = latest_synchronizations[-1]['id'] else: latest_id = 0 if request.method == 'POST': from appcomposer.translator.tasks import synchronize_apps_no_cache_wrapper synchronize_apps_no_cache_wrapper.delay() submitted = True return redirect(url_for('.sync_translations', since = latest_id)) else: submitted = False return render_template("translator/sync.html", latest_synchronizations = latest_synchronizations, since_id = since_id, submitted = submitted, current_datetime = datetime.datetime.utcnow(), finished = finished)
def sync_translations(): since_id = request.args.get('since') if since_id: try: since_id = int(since_id) except ValueError: since_id = None latest_synchronizations = get_latest_synchronizations() finished = False for latest_synchronization in latest_synchronizations: if latest_synchronization['id'] > since_id and latest_synchronization['end'] is not None: finished = True break if latest_synchronizations: latest_id = latest_synchronizations[0]['id'] else: latest_id = 0 if request.method == 'POST': from appcomposer.translator.tasks import synchronize_apps_no_cache_wrapper synchronize_apps_no_cache_wrapper.delay("manual sync request") submitted = True return redirect(url_for('.sync_translations', since = latest_id)) else: submitted = False return render_template("translator/sync.html", latest_synchronizations = latest_synchronizations, since_id = since_id, submitted = submitted, current_datetime = datetime.datetime.utcnow(), finished = finished)
def register_app_url(app_url, translation_url, metadata): _get_or_create_app(app_url, translation_url, metadata) try: db.session.commit() except IntegrityError: # Somebody else did this process db.session.rollback() except: db.session.rollback() raise else: # Delay the synchronization process from appcomposer.translator.tasks import synchronize_apps_no_cache_wrapper synchronize_apps_no_cache_wrapper.delay()