示例#1
0
 def get(self, branch, type, force=False):
     p_list = self._get_mem(branch, type)
     if not force and p_list is not None:
         logging.debug("---> DS: Projects cache hit")
         return p_list
     
     logging.debug("###> DS: Read project: branch '%s', type '%s'" % (branch, type))
     if type == '--all--':
         p_list = Project.gql("WHERE branch = :1 ORDER BY type, project", branch)
     else:
         p_list = Project.gql("WHERE branch = :1 AND type = :2 ORDER BY project", branch, type)
     
     return self._set_mem(p_list, branch, type)
示例#2
0
def device_projects():
    projects = memcache.get('device-projects')

    if projects is not None:
        logging.debug("---> DS: Device project cache hit")
        return projects
    
    logging.debug("###> DS: read device projects")
    all_projects = Project.gql("WHERE type = 'device'")
    
    projects = []
    for p in all_projects:
        if not re.search(r'^(android_)?device_', p.project): continue
        projects.append(p.project)
    
    memcache.set('device-projects', projects)
    return projects