def setUp(self):
        connection = self.engine.connect()
        connection.begin()

        session.configure(bind=connection)
        self.session = self.Session(bind=connection)

        Base.session = self.session
    def setUp(self):
        connection = self.engine.connect()
        connection.begin()

        session.configure(bind=connection)
        self.session = self.Session(bind=connection)

        Base.session = self.session
Example #3
0
def list_user_activities(gym=None, date=None):
    q = session.query(UserActivity)
    if gym:
        q = q.filter(UserActivity.gym_id == gym.id)
    if date:
        q = q.filter(cast(UserActivity.start_date, Date) == date)
    return q
Example #4
0
def list_user_activities_for_prediction(gym, date):
    return session.query(UserActivity).join(
        Weather, UserActivity.weather_id == Weather.id).filter(
        extract('dow',
                UserActivity.start_date) == date.isocalendar()[2]).filter(
        UserActivity.gym_id == gym.id).order_by(
            desc(UserActivity.start_date))
Example #5
0
def list_users(country=None, exclude=None, term='', offset=0, limit=10):
    q = session.query(User).filter(term in User.full_name)

    if country:
        q = q.filter(User.country == country)

    if exclude:
        q = q.filter(~User.id.in_(exclude))

    return q.offset(offset).limit(limit)
Example #6
0
def get_favorite_weekdays_for_user(user):
    """ Get the user's favorite weekdays to go to the gym.

    Ordered from most favorite to least favorite.
    """

    return session.query(UserActivity.weekday)\
        .filter(UserActivity.user == user)\
        .order_by(
            func.count(UserActivity.weekday).desc())\
        .group_by(UserActivity.weekday)
Example #7
0
def list_users(country=None, exclude=None, term='', offset=0, limit=10):
    q = session.query(User).filter(
        term in User.full_name)

    if country:
        q = q.filter(User.country == country)

    if exclude:
        q = q.filter(~User.id.in_(exclude))

    return q.offset(offset).limit(limit)
def main(global_config, **settings):
    """ This function returns a Pyramid WSGI application.
    """
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    Base.metadata.bind = engine

    RedisSession(settings['redis.host'], settings['redis.port'],
                 settings['redis.db'], settings.get('redis.password', None))

    authentication_policy = SmartGymAuthenticationPolicy(
        secret=decrypt_secret(settings['auth.secret'],
                              settings['aes.key'],
                              settings['aes.iv']),
        timeout=settings.get('auth.timeout', None),
        reissue_time=settings.get('auth.reissue_time', None),
        http_only=True,
        hashalg='sha512')
    config = Configurator(settings=settings,
                          authentication_policy=authentication_policy,
                          authorization_policy=ACLAuthorizationPolicy(),
                          root_factory=RootFactory)

    def get_user_(request):
        user_id = authenticated_userid(request)
        if user_id is not None:
            return get_user(user_id)
        return None

    config.set_request_property(get_user_, 'user', reify=True)
    config.set_default_permission('admin')
    config.scan('smartgymapi.handlers')

    renderers = {'json': JSON()}
    for name, renderer in renderers.items():
        renderer.add_adapter(UUID, uuid_adapter)
        config.add_renderer(name, renderer)
    return config.make_wsgi_app()
def main(global_config, **settings):
    """ This function returns a Pyramid WSGI application.
    """
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    Base.metadata.bind = engine

    RedisSession(settings['redis.host'], settings['redis.port'],
                 settings['redis.db'], settings.get('redis.password', None))

    authentication_policy = SmartGymAuthenticationPolicy(
        secret=decrypt_secret(settings['auth.secret'], settings['aes.key'],
                              settings['aes.iv']),
        timeout=settings.get('auth.timeout', None),
        reissue_time=settings.get('auth.reissue_time', None),
        http_only=True,
        hashalg='sha512')
    config = Configurator(settings=settings,
                          authentication_policy=authentication_policy,
                          authorization_policy=ACLAuthorizationPolicy(),
                          root_factory=RootFactory)

    def get_user_(request):
        user_id = authenticated_userid(request)
        if user_id is not None:
            return get_user(user_id)
        return None

    config.set_request_property(get_user_, 'user', reify=True)
    config.set_default_permission('admin')
    config.scan('smartgymapi.handlers')

    renderers = {'json': JSON()}
    for name, renderer in renderers.items():
        renderer.add_adapter(UUID, uuid_adapter)
        config.add_renderer(name, renderer)
    return config.make_wsgi_app()
Example #10
0
def get_device(user, id_):
    return session.query(Device).filter(Device.id == id_,
                                        Device.user == user).one()
def get_sport_schedule_by_name(sport_schedule_name):
    return DBSession.query(SportSchedule).filter(
        SportSchedule.name == sport_schedule_name).one_or_none()
def get_music_preference(id_):
    return session.query(MusicPreference).get(id_)
Example #13
0
def list_gyms():
    return session.query(Gym)
Example #14
0
def get_user_by_email(email):
    return session.query(User).filter(User.email == email).one()
Example #15
0
def get_devices(user):
    return session.query(Device).filter(Device.user == user)
Example #16
0
def list_users_in_gym(gym_id):
    return session.query(User).join(UserActivity,
                                    User.id == UserActivity.user_id).filter(
                                        UserActivity.end_date == None,
                                        UserActivity.gym_id == gym_id)
Example #17
0
def get_token_by_token(access_token):
    return session.query(OAuthAccessToken).filter(
        OAuthAccessToken.access_token == access_token).one()
def persist(obj):
    session.add(obj)
Example #19
0
def list_music_preferences_for_users_in_gym(user_ids=[]):
    return session.query(MusicPreference).filter(
        MusicPreference.user_id.in_(user_ids))
Example #20
0
def get_client(client_id, client_secret):
    return session.query(OAuthClient).filter(
        OAuthClient.client_id == client_id,
        OAuthClient.client_secret == client_secret).one()
Example #21
0
def list_music_preferences(user):
    return session.query(MusicPreference).filter(
        MusicPreference.user_id == user.id)
Example #22
0
def get_music_preference(id_):
    return session.query(MusicPreference).get(id_)
def list_sport_schedules(user):
    return DBSession.query(SportSchedule).filter(SportSchedule.user == user)
Example #24
0
def get_weather(id_):
    return session.query(Weather).get(id_)
def delete(obj):
    session.delete(obj)
Example #26
0
def get_user_by_email(email):
    return session.query(User).filter(User.email == email).one()
def rollback():
    return session.rollback()
Example #28
0
def get_user(id_):
    return session.query(User).get(id_)
Example #29
0
def get_user(id_):
    return session.query(User).get(id_)
Example #30
0
def get_gym(id_):
    return session.query(Gym).get(id_)
def list_music_preferences_for_users_in_gym(user_ids=[]):
    return session.query(MusicPreference).filter(
        MusicPreference.user_id.in_(user_ids))
Example #32
0
def get_gym_by_MAC_address(MAC_address):
    return session.query(Gym).filter(
        Gym.MAC_address == MAC_address).one_or_none()
Example #33
0
def get_user_activity(id_):
    return session.query(UserActivity).get(id_)
def flush():
    session.flush()
def get_sport_schedule(id_):
    return DBSession.query(SportSchedule).get(id_)
Example #36
0
def list_users_in_gym(gym_id):
    return session.query(User).join(
        UserActivity, User.id == UserActivity.user_id).filter(
        UserActivity.end_date == None,
        UserActivity.gym_id == gym_id)
 def tearDown(self):
     session.remove()
     testing.tearDown()
 def tearDown(self):
     session.remove()
     testing.tearDown()
Example #39
0
def get_client(client_id, client_secret):
    return session.query(OAuthClient).filter(
        OAuthClient.client_id == client_id,
        OAuthClient.client_secret == client_secret).one()
def list_music_preferences(user):
    return session.query(MusicPreference).filter(
        MusicPreference.user_id == user.id)
Example #41
0
def get_token_by_token(access_token):
    return session.query(OAuthAccessToken).filter(
        OAuthAccessToken.access_token == access_token).one()
def get_weather(id_):
    return session.query(Weather).get(id_)
Example #43
0
def get_device_by_device_address(device_address):
    return session.query(Device).filter(
        Device.device_address == device_address).one()