Ejemplo n.º 1
0
 def fix_missing_base_version(self):
     """If there is no base version then set the oldest one as the base version."""
     ABUNDANT_LOGGER.info('Fixing base version...')
     if self.versions and self.base_version is None:
         self.versions[0].is_base_version = True
     self.versions = get_versions(self)
     self.versions.sort(key=lambda x: x.time_of_creation)
Ejemplo n.º 2
0
def make_session():
    s = requests.Session()
    s.headers.update({
        "user-agent":
        "Forget/{version} +https://forget.codl.fr".format(
            version=version.get_versions()["version"])
    })
    return s
Ejemplo n.º 3
0
 def load_versions(self):
     """Load all versions in this archive."""
     self.versions = get_versions(self)
     self.versions.sort(key=lambda x: x.time_of_creation)
     if self.on_creation_pardon:
         self.on_creation_pardon = False
     elif not self.validate_versions():
         self.fix_missing_base_version()
         assert self.validate_versions(), 'Fatal internal error: either more than one base version' \
                                          'is found or sorting function is not working'
     number_of_versions = len(self.versions)
     ABUNDANT_LOGGER.debug('Found %s version%s' % (number_of_versions, 's' if number_of_versions > 1 else ''))
Ejemplo n.º 4
0
 def __init__(self, parent=None):
     super(MainWindow, self).__init__(parent)
     self.ui = uic.loadUi(ui_full_path('main_window.ui'), self)
     self.ui.label_version.setText("Demerio version %s" % (get_versions()['version'],))
     self.ui.progress_bar.setVisible(False)
     self.ui.tabWidget.setCurrentIndex(0)
     self.ui.launch_btn.clicked.connect(self.launch_daemon)
     self.ui.output_btn.clicked.connect(self.validate)
     self.tray = SystemTray(self)
     self.tray.show()
     self.create_tray_actions()
     self.init_storage_manager()
     self.add_clouds_to_view()
     self.daemon = None
     self.check_if_already_connected()
Ejemplo n.º 5
0
app.conf.task_queues = (
    Queue('default', routing_key='celery'),
    Queue('high_prio', routing_key='high'),
    Queue('higher_prio', routing_key='higher'),
)
app.conf.task_default_queue = 'default'
app.conf.task_default_exchange = 'celery'
app.conf.task_default_exchange_type = 'direct'

sentry = None

if 'SENTRY_DSN' in flaskapp.config:
    from raven import Client
    from raven.contrib.celery import register_signal, register_logger_signal
    sentry = Client(flaskapp.config['SENTRY_DSN'],
                    release=version.get_versions()['version'])
    register_logger_signal(sentry)
    register_signal(sentry)


class DBTask(Task):
    def __call__(self, *args, **kwargs):
        try:
            super().__call__(*args, **kwargs)
        finally:
            db.session.close()


app.Task = DBTask

r = None
Ejemplo n.º 6
0
        "pk": "pk_%(table_name)s"
    })

db = SQLAlchemy(app, metadata=metadata)
migrate = Migrate(app, db)

if 'CELERY_BROKER' not in app.config:
    uri = app.config['REDIS_URI']
    if uri.startswith('unix://'):
        uri = uri.replace('unix', 'redis+socket', 1)
    app.config['CELERY_BROKER'] = uri

sentry = None
if 'SENTRY_DSN' in app.config:
    from raven.contrib.flask import Sentry
    app.config['SENTRY_CONFIG']['release'] = version.get_versions()['version']
    sentry = Sentry(app, dsn=app.config['SENTRY_DSN'])

url_for = cachebust(app)


@app.context_processor
def inject_static():
    def static(filename, **kwargs):
        return url_for('static', filename=filename, **kwargs)

    return {'st': static}


@app.after_request
def install_security_headers(resp):
Ejemplo n.º 7
0
def test_libversion_url():
    import libforget.version
    assert libforget.version.url_for_version(version.get_versions())
Ejemplo n.º 8
0
def inject_version():
    v = version.get_versions()
    return dict(
        version=v['version'],
        repo_url=libforget.version.url_for_version(v),
    )