Exemplo n.º 1
0
 def set_locale(locale):
     user = gae_users.get_current_user()
     if not user or not user.user_id():
         return
     settings = UserSettings.get_or_insert(user.user_id(), user=user)
     settings.locale = locale
     settings.put()
Exemplo n.º 2
0
 def mark_example_as_seen():
     user = gae_users.get_current_user()
     if not user or not user.user_id():
         raise Exception("Logged in user expected")
     settings = UserSettings.get_or_insert(user.user_id(), user=user)
     settings.seen_example = True
     settings.put()
Exemplo n.º 3
0
 def mark_version_as_seen(version):
     user = gae_users.get_current_user()
     if not user or not user.user_id():
         return
     settings = UserSettings.get_or_insert(user.user_id(), user=user)
     settings.seen_version = version
     settings.put()
Exemplo n.º 4
0
    def update_glass_battery_status(self, battery_status):
        # first see if the user has a glass and if not make one.
        # TODO(elsigh): figure out getting uuid for a glass.
        glass_uuid = 'glass'
        glass_device = models.Device.query(
            ancestor=self._current_user.key).filter(
                models.Device.uuid == glass_uuid).get()

        if glass_device is None:
            glass_device = models.Device(
                uuid=glass_uuid,
                parent=self._current_user.key,
                platform='Google',
                name='Glass')
            glass_device.put()

        settings = models.Settings(
            parent=glass_device.key
        )

        created_datetime = models.FMBModel.iso_str_to_datetime(
            battery_status['created'])
        settings_data = {
            'created': created_datetime,
            'battery_level': int(battery_status['capacity']),
            'is_charging': battery_status['is_charging']
        }
        settings.populate(**settings_data)
        settings.put()
        logging.info('Settings %s saved for device %s' %
                     (settings, glass_device))
Exemplo n.º 5
0
 def mark_version_as_seen(version):
     user = gae_users.get_current_user()
     if not user or not user.user_id():
         return
     settings = UserSettings.get_or_insert(user.user_id(), user=user)
     settings.seen_version = version
     settings.put()
Exemplo n.º 6
0
 def mark_example_as_seen():
     user = gae_users.get_current_user()
     if not user or not user.user_id():
         raise Exception("Logged in user expected")
     settings = UserSettings.get_or_insert(user.user_id(), user=user)
     settings.seen_example = True
     settings.put()
Exemplo n.º 7
0
 def mark_guider_as_seen(guider_name):
     user = gae_users.get_current_user()
     if not user or not user.user_id():
         return
     settings = UserSettings.get_or_insert(user.user_id(), user=user)
     if not guider_name in settings.seen_guiders:
         settings.seen_guiders.append(guider_name)
         settings.put()
Exemplo n.º 8
0
 def mark_guider_as_seen(guider_name):
     user = gae_users.get_current_user()
     if not user or not user.user_id():
         return
     settings = UserSettings.get_or_insert(user.user_id(), user=user)
     if not guider_name in settings.seen_guiders:
         settings.seen_guiders.append(guider_name)
         settings.put()
Exemplo n.º 9
0
 def has_seen_version(version):
     user = gae_users.get_current_user()
     if not user or not user.user_id():
         return True # don't bother displaying "new version available" to non-authenticated users
     settings = UserSettings.get_or_insert(user.user_id(), user=user)
     if not settings.seen_version:
         settings.seen_version = [0, 0, 0]
         settings.put()
     return settings.seen_version >= version
Exemplo n.º 10
0
 def has_seen_version(version):
     user = gae_users.get_current_user()
     if not user or not user.user_id():
         return True  # don't bother displaying "new version available" to non-authenticated users
     settings = UserSettings.get_or_insert(user.user_id(), user=user)
     if not settings.seen_version:
         settings.seen_version = [0, 0, 0]
         settings.put()
     return settings.seen_version >= version
Exemplo n.º 11
0
 def get_site_settings(cls):
     settings = cls.query().get()
     if not settings:
         settings = SiteSettings(site_title="GAE Keijiban", description="A lightweight Keijiban running on GAE",
                                 front_page="", footer_info="Copyright 2014 CNA_Bld & AngelaTang @ SSHZ.ORG",
                                 cookie_expiry_days=30,
                                 default_page_size=10, default_language="en")
         settings.put()
     return settings
Exemplo n.º 12
0
Arquivo: api.py Projeto: elsigh/levels
    def post(self):
        device = self._get_device_by_device_key()
        battery_level = self._json_request_data['battery_level']
        is_this_update_over_notify_level = \
            int(battery_level) > int(device.notify_level)

        settings = models.Settings(
            parent=device.key
        )
        settings_data = self.pruned_json_request_data
        settings.populate(**settings_data)

        logging.info('device.is_last_update_over_notify_level %s, '
                     'is_this_update_over_notify_level %s' %
                     (device.is_last_update_over_notify_level,
                      is_this_update_over_notify_level))
        if ((device.is_last_update_over_notify_level and
             not is_this_update_over_notify_level)):
            logging.info('^^^^ DO NOTIFICATIONS! ^^^^')
            deferred.defer(send_battery_notifications,
                           self.current_user.key.id(),
                           device.key.id())
            # Sets a bit on this settings record because it broke the
            # threshold.
            settings.caused_battery_notifications = True

        settings.put()

        if ((is_this_update_over_notify_level !=
             device.is_last_update_over_notify_level)):
            device.is_last_update_over_notify_level = \
                is_this_update_over_notify_level
            device.put()

        device.increment_count('settings_received_count')

        # Hack in is_last_update_over_notify_level
        json_output = settings.to_dict()
        json_output.update({
            'is_last_update_over_notify_level':
            is_this_update_over_notify_level
        })

        return self.output_json_success(json_output)