def get(self): try: # Get the db.User that represents the user on whose behalf the # consumer is making this request. user = users.get_current_user() except e: # The request was not a valid OAuth request. # ... #self.response.headers['Content-Type'] = 'text/plain; charset=UTF-8' #self.response.out.write('Auth error: The request was not a valid OAuth request.') user = None is_admin = False if user: greeting = ("Welcome, %s! (<a href=\"%s\">sign out</a>)" % (user.nickname(), users.create_logout_url("/"))) is_admin = users.is_current_user_admin() else: greeting = ("<a href=\"%s\">Sign in or register</a>" % users.create_login_url("/admin")) branch = qs_branch(self) device = qs_device(self) path = os.path.join(os.path.dirname(__file__), 'admin.html') self.response.out.write(template.render(path, {"device": device, "branch": branch, "greeting": greeting, "user": user, "is_admin": is_admin, "custom_rom": custom_rom, "gerrit_url": gerrit_url}))
def get(self): if KangExtension().check(self) == False: return branch = qs_branch(self) device = qs_device(self) kang = qs_kang_name(self) kangId = qs_kang_id(self) kangs = Change.gql("WHERE branch = :branch AND project = 'KANG'", branch=branch) cmd_done = 0 self.response.headers['Content-Type'] = 'text/html; charset=UTF-8' self.response.out.write("<h2>New KANG name '"+kang+"'</h2>\n") self.response.out.write("<table>") self.response.out.write("<thead><tr><td>id (click to rename)</td><td>info</td><td>branch</td><td>subject</td><td>project</td><td>last_updated</td></tr></thead><tbody>") for k in kangs: self.response.out.write('<tr><td><a href="/rename_kang-off/?branch='+k.branch+'&kang='+kang+'--NewName&kangId='+str(k.id)+'">'+str(k.id)+'</a></td><td>Checking KANG</td><td>'+k.branch+'</td><td>'+k.subject+'</td><td>'+k.project+'</td><td>'+str(k.last_updated)+'</td></tr>\n') if (str(k.id) == kangId): old_name = k.subject k.subject = kang+"#dev:"+device k.put() memcache_delete_multi(['last_changes', 'filtered']) self.response.out.write('<tr><td><a href="">'+str(k.id)+'</a></td><td>Renamed KANG (old: '+old_name+'; new: '+kang+')</td><td>'+k.branch+'</td><td>'+k.subject+'</td><td>'+k.project+'</td><td>'+str(k.last_updated)+'</td></tr>\n') cmd_done = 1 break self.response.out.write("</tbody></table>") if cmd_done == 0: self.response.out.write("<h2>KANG not found: "+kangId+"</h2>\n")
def get(self, device=None, branch=None): if device is None: device = qs_device(self) if branch is None: branch = qs_branch(self) path = os.path.join(os.path.dirname(__file__), 'rss.xml') self.response.headers['Content-Type'] = 'application/rss+xml' self.response.out.write(template.render(path, {"url": self.request.host, "custom_rom": custom_rom, "now": datetime.now(), "device": device, "branch": branch, "builds": self.merge_build(device, branch)}))
def get(self): branch = qs_branch(self) p_list = Projects().get(branch, 'common', True) self.response.headers['Content-Type'] = 'text/plain; charset=UTF-8' for p in p_list: self.response.out.write("%s; %s; %s\n" %(p.branch, p.type, p.project)) return
def get(self, device=None, branch=None): if device is None: device = qs_device(self) if branch is None: branch = qs_branch(self) device_config = CustomRomDevices().getDevices() manufacturer = '' dev_title = '' if device in device_config['dev']: manufacturer = device_config['dev'][device]['manufacturer'] dev_title = device_config['dev'][device]['title'] path = os.path.join(os.path.dirname(__file__), 'index.html') self.response.out.write(template.render(path, {"ga_tracking_id": ga_tracking_id, "custom_rom": custom_rom, "build_url": build_url, "gerrit_url": gerrit_url, "types": types, "url": self.request.host, "branch": branch, "device": device, "dev_title": dev_title, "manufacturer": manufacturer, "keywords": keywords, 'devices': device_config, 'branches': branches, "changelog_server": changelog_server}))
def get(self): if KangExtension().check(self) == False: return kang = qs_kang_name(self) branch = qs_branch(self) device = qs_device(self) change = Change(id=int(time.time() * -1), branch = branch, project = 'KANG', subject = kang+'#dev:'+device, last_updated = time.strftime('%Y-%m-%d %H:%M:%S.000000000', time.gmtime(time.time())) ) change.put() memcache_delete_multi(['last_changes', 'filtered']) self.response.headers['Content-Type'] = 'text/plain; charset=UTF-8' self.response.out.write("KEY: '"+str(change.key().id())+"'\n") self.response.out.write("Added KANG: '"+kang+"'\n")
def get(self): branch = qs_branch(self) type = '--all--' qs_type = self.request.get('type') if qs_type: type = qs_type if self.request.get('flush'): memcache_delete_multi(['project']); p_list = Projects().get(branch, type) self.response.headers['Content-Type'] = 'text/plain; charset=UTF-8' for p in p_list: self.response.out.write("%s; %s; %s\n" %(p.branch, p.type, p.project)) return
def get(self): branch = qs_branch(self) delete = qa = self.request.get('delete') cache_ns = "flush-test-"+branch self.response.headers['Content-Type'] = 'text/plain; charset=UTF-8' if delete: self.response.out.write("Flush cached values (start: '%s')\n" % cache_ns) memcache_delete_multi(['flush-test-ics', 'flush-test-gingerbread', cache_ns]) f_test = memcache.get(cache_ns, branch) if f_test is not None: self.response.out.write("Using cached list '%s'...\n" % cache_ns) for t in f_test: self.response.out.write("Cached: %s\n" % t) else: self.response.out.write("Cache '%s' is empty...\n" % cache_ns) f_test = ['one', 'two'] memcache_set(cache_ns, f_test, namespace=branch)
def get(self): branch = qs_branch(self) if self.request.get('update_memcache'): return self._update_changes() amount = 60 qa = self.request.get('amount') if qa: amount = int(qa) if amount > query_max: amount = query_max change_proxy = proxy.ServerProxy(gerrit_url+'gerrit/rpc/ChangeListService') retry_fetch = 10 while retry_fetch > 0: try: changes = change_proxy.allQueryNext("status:merged","z",amount)['changes'] #changes = change_proxy.allQueryNext("status:merged branch:ics","z",amount)['changes'] #self.response.out.write(json.dumps(changes)) retry_fetch = 0 except DownloadError: retry_fetch -= 1 except: self.response.headers['Content-Type'] = 'text/plain; charset=UTF-8' self.response.out.write("ERROR: cannot fetch changes, error occurred\n") self.response.out.write(sys.exc_info()) return known_ids = self._known_ids() received_ids = [c['id']['id'] for c in changes] if is_subset(received_ids, known_ids): self.response.headers['Content-Type'] = 'text/plain; charset=UTF-8' self.response.out.write("Skipped all %d changes" % len(changes) + "\n") return return self._update_changes(changes, known_ids)
def get(self): kang = qs_kang_name(self) branch = qs_branch(self) device = qs_device(self) lc = LastChanges().get(branch) self.response.headers['Content-Type'] = 'text/plain; charset=UTF-8' status = 200 for c in lc: if c.project == 'KANG' and re.search("^"+kang+"(#dev:"+device+")?$", c.subject): status = 201 break elif c.project != 'KANG': break self.response.out.write("Changes available ("+str(status)+"): ") if status == 200: self.response.out.write("yes") else: self.response.out.write("no") self.response.out.write("\n") self.response.set_status(status) return status
def get(self): if KangExtension().check(self) == False: return kang = qs_kang_name(self) kangId = qs_kang_id(self) branch = qs_branch(self) kangs = Change.gql("WHERE project = 'KANG' AND branch=:branch", branch=branch) cmd_done = 0; self.response.headers['Content-Type'] = 'text/html; charset=UTF-8' self.response.out.write("<table>") self.response.out.write("<thead><tr><td>id (click to rename)</td><td>info</td><td>branch</td><td>subject</td><td>project</td><td>last_updated</td></tr></thead><tbody>") for k in kangs: self.response.out.write('<tr><td><a href="/remove_kang-off/?branch='+k.branch+'&kang='+kang+'&kangId='+str(k.id)+'">'+str(k.id)+'</a></td><td>Checking KANG</td><td>'+k.branch+'</td><td>'+k.subject+'</td><td>'+k.project+'</td><td>'+str(k.last_updated)+'</td></tr>\n') if (k.subject == kang) or (str(k.id) == kangId): db.delete(k) memcache_delete_multi(['last_changes', 'filtered']) self.response.out.write('<tr><td>'+str(k.id)+'</td><td>Removed KANG</td><td>'+k.branch+'</td><td>'+k.subject+'</td><td>'+k.project+'</td><td>'+str(k.last_updated)+'</td></tr>\n') cmd_done = 1; break self.response.out.write("</tbody></table>") if cmd_done == 0: self.response.out.write("<h2>KANG not found: "+kangId+" - '"+kang+"'</h2>\n")
def get(self): branch = qs_branch(self) device = qs_device(self) self.response.headers['Content-Type'] = 'text/html; charset=UTF-8' logging.debug("######> DS: read for DB dump") if self.request.get('filter') and self.request.get('filter') == "1": q = Change.gql("WHERE branch = :branch ORDER BY last_updated DESC", branch=branch) else: q = db.GqlQuery("SELECT * FROM Change ORDER BY last_updated DESC, id") ch = q.fetch(2000) self.response.out.write("<table>") self.response.out.write("<thead><tr><td>branch</td><td>id</td><td>subject</td><td>project</td><td>last_updated</td></tr></thead><tbody>") for r in ch: #r.subject = time.strftime('%Y-%m-%d %H:%M')+' - ' self.response.out.write("<tr><td>"+r.branch+"</td>\n") self.response.out.write("<td>"+str(r.id)+"</td>\n") self.response.out.write("<td>"+r.subject+"</td>\n") self.response.out.write("<td>"+r.project+"</td>\n") self.response.out.write("<td>"+str(r.last_updated)+"</td></tr>\n") self.response.out.write("</tbody></table>") return
def get(self): branch = qs_branch(self) device = qs_device(self) self.response.headers['Content-Type'] = 'application/json' self.response.out.write(json.dumps(self.filter(device, branch), default=json_datetime_handler))