Пример #1
0
 def __init__(self, repo):
     self.repo = repo
     # We fetch all the config entries at once here, so that we don't have to
     # make many Datastore queries for each individual entry later.
     db_entries = model.filter_by_prefix(ConfigEntry.all(), self.repo + ':')
     self.entries = {
         entry.key().name().split(':', 1)[1]: simplejson.loads(entry.value)
         for entry in db_entries
     }
     self.global_config = None if repo == '*' else Configuration('*')
Пример #2
0
 def __init__(self, repo):
     self.repo = repo
     # We fetch all the config entries at once here, so that we don't have to
     # make many Datastore queries for each individual entry later.
     db_entries = model.filter_by_prefix(
         ConfigEntry.all(), self.repo + ':')
     self.entries = {
         entry.key().name().split(':', 1)[1]: simplejson.loads(entry.value)
         for entry in db_entries
     }
     self.global_config = None if repo == '*' else Configuration('*')
Пример #3
0
    def get_config(self, repo, name, default=None):
        """Looks for data in cache. If not present, retrieves from
           database, stores it in cache and returns the required value."""
        config_dict = self.read(repo, None)
        if config_dict is None:
            # Cache miss
            entries = model.filter_by_prefix(ConfigEntry.all(), repo + ':')
            if entries is None:
                return default
            logging.debug("Adding repository %r to config_cache" % repo)
            config_dict = dict([(e.key().name().split(':', 1)[1],
                                 simplejson.loads(e.value)) for e in entries])
            self.add(repo, config_dict, self.expiry_time)

        if name in config_dict:
            return config_dict[name]
        return default
Пример #4
0
    def get_config(self, repo, name, default=None):
        """Looks for data in cache. If not present, retrieves from
           database, stores it in cache and returns the required value."""
        config_dict = self.read(repo, None)
        if config_dict is None:
            # Cache miss
            entries = model.filter_by_prefix(ConfigEntry.all(), repo + ':')
            if entries is None:
                return default
            logging.debug("Adding repository %r to config_cache" % repo)
            config_dict = dict([(e.key().name().split(':', 1)[1],
                         simplejson.loads(e.value)) for e in entries])
            self.add(repo, config_dict, self.expiry_time)

        if name in config_dict:
            return config_dict[name]
        return default
Пример #5
0
 def keys(self):
     entries = model.filter_by_prefix(ConfigEntry.all(), self.repo + ':')
     return [entry.key().name().split(':', 1)[1] for entry in entries]
Пример #6
0
 def keys(self):
     entries = model.filter_by_prefix(
         ConfigEntry.all(), self.subdomain + ':')
     return [entry.key().name().split(':', 1)[1] for entry in entries]