コード例 #1
0
ファイル: init.py プロジェクト: odorie/api-gestion-poc
def init(clientname, contributor_type, *paths, limit=0, **kwargs):
    """Initial import for real™.
    clientname Name of the client
    contributor_type Contributor type of the session
    paths   Paths to json files."""
    context.set('clientname', clientname)
    context.set('contributor_type', contributor_type)
    for path in paths:
        print('Processing', path)
        rows = helpers.iter_file(path, formatter=json.loads)
        if limit:
            print('Running with limit', limit)
            extract = []
            for i, row in enumerate(rows):
                if i >= limit:
                    break
                extract.append(row)
            rows = extract
            total = limit
        else:
            print('Computing file size')
            total = sum(1 for line in helpers.iter_file(path))
            print('Done computing file size')
        # Use `all` to force generator evaluation.
        all(helpers.batch(process_rows, rows, chunksize=100, total=total))
コード例 #2
0
ファイル: auth.py プロジェクト: BaseAdresseNationale/ban
def tokengetter(access_token=None, refresh_token=None):
    if access_token:
        token = models.Token.first(models.Token.access_token == access_token)
        if token:
            context.set('session', token.session)
            # We use TZ aware datetime while Flask Oauthlib wants naive ones.
            token.expires = token.expires.replace(tzinfo=None)
            return token
コード例 #3
0
ファイル: auth.py プロジェクト: pjegouic/ban
def tokengetter(access_token=None, refresh_token=None):
    if access_token:
        token = models.Token.first(models.Token.access_token == access_token)
        if token:
            context.set('session', token.session)
            # We use TZ aware datetime while Flask Oauthlib wants naive ones.
            token.expires = token.expires.replace(tzinfo=None)
            return token
コード例 #4
0
ファイル: test_flags.py プロジェクト: odorie/api-gestion-poc
def test_cannot_unflag_other_client_flag(session):
    group = GroupFactory()
    version = group.load_version()
    version.flag()
    # Change current session
    session = SessionFactory()
    context.set('session', session)
    assert version.flags.select().count() == 1
    version.unflag()
    assert version.flags.select().count() == 1
コード例 #5
0
def test_cannot_unflag_other_client_flag(session):
    group = GroupFactory()
    version = group.load_version()
    version.flag()
    # Change current session
    session = SessionFactory()
    context.set('session', session)
    assert version.flags.select().count() == 1
    version.unflag()
    assert version.flags.select().count() == 1
コード例 #6
0
def session_client(func, *args, **kwargs):
    clientname = context.get('clientname')
    contributor_type = context.get('contributor_type')
    try:
        client = Client.select().where(Client.name == clientname).get()
    except Client.DoesNotExist:
        raise Exception('Client not found {}'.format(clientname or ''))
    session = Session.create(client=client, contributor_type=contributor_type)
    context.set('session', session)
    return func(*args, **kwargs)
コード例 #7
0
ファイル: helpers.py プロジェクト: christopheprudent/ban
def collect_report(func, *args, **kwargs):
    # This is a process reporter instance.
    reporter = context.get('reporter')
    if not reporter:
        # In thread mode, reporter is not shared with subthreads.
        reporter = Reporter(config.get('VERBOSE'))
        context.set('reporter', reporter)
    func(*args, **kwargs)
    reports = reporter._reports.copy()
    reporter.clear()
    return reports
コード例 #8
0
ファイル: helpers.py プロジェクト: pjegouic/ban
def collect_report(func, *args, **kwargs):
    # This is a process reporter instance.
    reporter = context.get('reporter')
    if not reporter:
        # In thread mode, reporter is not shared with subthreads.
        reporter = Reporter(config.get('VERBOSE'))
        context.set('reporter', reporter)
    func(*args, **kwargs)
    reports = reporter._reports.copy()
    reporter.clear()
    return reports
コード例 #9
0
def tokengetter(access_token=None):
    if access_token:
        token = models.Token.first(models.Token.access_token == access_token)
        if token:
            if token.expires > utcnow(
            ) and token.expires < utcnow() + timedelta(minutes=30):
                token.expires = token.expires + timedelta(hours=1)
                token.save()
            context.set('session', token.session)
            # We use TZ aware datetime while Flask Oauthlib wants naive ones.
            token.expires = token.expires.replace(tzinfo=None)
            return token
コード例 #10
0
def session(func, *args, **kwargs):
    # TODO make configurable from command line
    qs = User.select().select(User.is_staff == True)
    username = config.get('SESSION_USER')
    if username:
        qs = qs.where(User.username == username)
    try:
        user = qs.get()
    except User.DoesNotExist:
        abort('Admin user not found {}'.format(username or ''))
    session = Session.create(user=user)
    context.set('session', session)
    return func(*args, **kwargs)
コード例 #11
0
def session(func, *args, **kwargs):
    session = context.get('session')
    if not session:
        qs = User.select().where(User.is_staff == True)
        username = config.get('SESSION_USER')
        if username:
            qs = qs.where(User.username == username)
        try:
            user = qs.get()
        except User.DoesNotExist:
            abort('Admin user not found {}'.format(username or ''))
        session = Session.create(user=user, contributor_type='admin')
        context.set('session', session)
    return func(*args, **kwargs)
コード例 #12
0
ファイル: __init__.py プロジェクト: odorie/ban
 def __call__(self, *args, **kwargs):
     """Run command."""
     reporter = Reporter(config.get('VERBOSE'))
     context.set('reporter', reporter)
     for func in self._on_before_call:
         func(self, args, kwargs)
     try:
         self.command(*args, **kwargs)
     except KeyboardInterrupt:
         pass
     else:
         for func in self._on_after_call:
             func(self, args, kwargs)
     finally:
         # Display reports, if any.
         print(reporter)
コード例 #13
0
 def __call__(self, *args, **kwargs):
     """Run command."""
     reporter = Reporter(config.get('VERBOSE'))
     context.set('reporter', reporter)
     try:
         self.command(*args, **kwargs)
     except KeyboardInterrupt:
         pass
     finally:
         # Display reports, if any.
         print(reporter)
         filepath = config.get('REPORT_TO')
         if filepath:
             try:
                 with Path(filepath).open('w') as f:
                     f.write(str(reporter))
             except (OSError, IOError) as e:
                 print('Unable to write report to', filepath)
                 print(e)
コード例 #14
0
ファイル: __init__.py プロジェクト: BaseAdresseNationale/ban
 def __call__(self, *args, **kwargs):
     """Run command."""
     reporter = Reporter(config.get('VERBOSE'))
     context.set('reporter', reporter)
     try:
         self.command(*args, **kwargs)
     except KeyboardInterrupt:
         pass
     finally:
         # Display reports, if any.
         print(reporter)
         filepath = config.get('REPORT_TO')
         if filepath:
             try:
                 with Path(filepath).open('w') as f:
                     f.write(str(reporter))
             except (OSError, IOError) as e:
                 print('Unable to write report to', filepath)
                 print(e)
コード例 #15
0
def pytest_runtest_setup(item):
    assert db.database.database.startswith('test_')
    truncatedb(force=True)
    context.set('session', None)
コード例 #16
0
ファイル: conftest.py プロジェクト: gschittek/ban
def pytest_runtest_setup(item):
    truncatedb(force=True)
    context.set('session', None)
コード例 #17
0
ファイル: middlewares.py プロジェクト: LaPosteSNA/ban
 def process_response(self, req, resp, resource):
     context.set('session', None)
コード例 #18
0
ファイル: conftest.py プロジェクト: laurentlabrunie/ban
def session():
    session = SessionFactory(user__is_staff=True)
    context.set('session', session)
    return session
コード例 #19
0
ファイル: conftest.py プロジェクト: laurentlabrunie/ban
def pytest_runtest_setup(item):
    truncatedb(force=True)
    context.set('session', None)
コード例 #20
0
ファイル: conftest.py プロジェクト: laurentlabrunie/ban
def reporter():
    reporter_ = Reporter(2)
    context.set('reporter', reporter_)
    return reporter_
コード例 #21
0
ファイル: conftest.py プロジェクト: noirbizarre/ban
def session():
    session = SessionFactory()
    context.set('session', session)
    return session
コード例 #22
0
ファイル: auth.py プロジェクト: LaPosteSNA/ban
def tokengetter(access_token=None, refresh_token=None):
    if access_token:
        token = models.Token.first(models.Token.access_token == access_token)
        if token:
            context.set("session", token.session)
            return token
コード例 #23
0
ファイル: middlewares.py プロジェクト: ludovicf01/ban
 def process_response(self, req, resp, resource):
     context.set('session', None)
コード例 #24
0
def session():
    session = SessionFactory(user__is_staff=True)
    context.set('session', session)
    return session
コード例 #25
0
def session():
    session = SessionFactory()
    context.set('session', session)
    return session
コード例 #26
0
def reporter():
    reporter_ = Reporter(2)
    context.set('reporter', reporter_)
    return reporter_