def post(self): _msg = self.request.get('message', '0') if _msg is not None: sentOn = None _type = self.request.get('type', '') post_args = self.request.arguments() if _type in ['feedback', 'error-feedback']: if 'reportsentutc' in post_args: sentOn = self.parseDateTime( self.request.get('reportsentutc', '')) _groupId = long(self.request.get('groupid', '')) if _groupId and sentOn: if _msg != 'Automatically sent': fb = Feedback(groupId=_groupId, sendTime=sentOn, timezone=self.request.get( 'reportsenttz', ''), type=_type, message=_msg) fb.put() q = taskqueue.Queue('feedback-export-queue') q.add((taskqueue.Task(payload=fb.getExportLine(), method='PULL'))) Cnt.incr("Feedback_counter") else: logging.warning( 'Automatically sent feedback message, discarding.') self.response.out.write("OK") else: self.error(400) else: self.error(400) else: self.error(400)
def insert(cls, _name, _ts): version_query = AppVersion.all() version_query.filter('name =', _name.strip()) versions = [] versions = version_query.fetch(1) if versions: version = versions[0] if _ts and _ts.tzinfo == None: _ts = pytz.utc.localize(_ts) if pytz.utc.localize(version.lastIncident) < _ts: version.lastIncident = _ts logging.info("version " + version.name + " last incident: " + version.lastIncident.strftime(r"%d/%m/%Y %H:%M:%S %Z")) version.crashCount = version.crashCount + 1 version.put() cacheId = "CrashReport%s_counter" % version.name memcache.set(cacheId, version.crashCount, 432000) else: def vcmp(x, y): gx = re.match(r'^([0-9.]+)((?:alpha|beta)?)((?:\d+)?)((?:\D.*)?)$', x).groups() gy = re.match(r'^([0-9.]+)((?:alpha|beta)?)((?:\d+)?)((?:\D.*)?)$', y).groups() revx = 0 if len(gx[2]) == 0 else int(gx[2]) revy = 0 if len(gy[2]) == 0 else int(gy[2]) return -cmp("%s%sz%04d%s" % (gx[0], gx[1], revx, gx[3]), "%s%sz%04d%s" % (gy[0], gy[1], revy, gy[3])) nv = AppVersion(name = _name.strip(), lastIncident = _ts, crashCount = 1) nv.put() cacheId = "CrashReport%s_counter" % nv.name memcache.set(cacheId, 1, 432000) Cnt.incr("AppVersion_counter") Lst.append('all_version_names_list', nv.name, vcmp)
def post(self): _msg = self.request.get('message', '0') if _msg is not None: sentOn = None _type = self.request.get('type', '') post_args = self.request.arguments() if _type in ['feedback', 'error-feedback']: if 'reportsentutc' in post_args: sentOn = self.parseDateTime(self.request.get('reportsentutc', '')) _groupId = long(self.request.get('groupid', '')) if _groupId and sentOn: if _msg != 'Automatically sent': fb = Feedback(groupId = _groupId, sendTime = sentOn, timezone = self.request.get('reportsenttz', ''), type = _type, message = _msg) fb.put() q = taskqueue.Queue('feedback-export-queue') q.add((taskqueue.Task(payload=fb.getExportLine(), method='PULL'))) Cnt.incr("Feedback_counter") else: logging.warning('Automatically sent feedback message, discarding.') self.response.out.write("OK") else: self.error(400) else: self.error(400) else: self.error(400)
def linkToBug(self, save=True): #bug = memcache.get(key=self.signHash) #if bug == None: results = Bug.all() results.filter('signHash = ', self.signHash) bug = results.get() #if bug: #logging.debug("Found existing bug") #memcache.set(key=self.signHash, value=bug, time=7200) if bug: bugkey = bug.key() logging.debug("Assigning to bug: %s" % bugkey) self.bugKey = bugkey if save: self.put() Cnt.incr("CrashReport_counter") bug.count += 1 bug.lastIncident = self.crashTime bug.put() cacheId = "CrashReport%d_counter" % bug.key().id() memcache.set(cacheId, bug.count, 432000) return bug else: nb = Bug(signature = self.crashSignature, signHash = self.signHash, count = 1, lastIncident = self.crashTime, linked = False, fixed = False, status = '', priority = '') self.bugKey = nb.put() q = taskqueue.Queue('bug-export-queue') q.add((taskqueue.Task(payload=nb.getExportLine(), method='PULL'))) cacheId = "CrashReport%d_counter" % nb.key().id() memcache.set(cacheId, 1, 432000) Cnt.incr("Bug_counter") logging.debug("Created new bug: %s" % nb.key()) if save: self.put() Cnt.incr("CrashReport_counter") return nb
def insert(cls, _name, _ts): version_query = AppVersion.all() version_query.filter('name =', _name.strip()) versions = [] versions = version_query.fetch(1) if versions: version = versions[0] if _ts and _ts.tzinfo == None: _ts = pytz.utc.localize(_ts) if pytz.utc.localize(version.lastIncident) < _ts: version.lastIncident = _ts logging.info( "version " + version.name + " last incident: " + version.lastIncident.strftime(r"%d/%m/%Y %H:%M:%S %Z")) version.crashCount = version.crashCount + 1 version.put() cacheId = "CrashReport%s_counter" % version.name memcache.set(cacheId, version.crashCount, 432000) else: def vcmp(x, y): gx = re.match( r'^([0-9.]+)((?:alpha|beta)?)((?:\d+)?)((?:\D.*)?)$', x).groups() gy = re.match( r'^([0-9.]+)((?:alpha|beta)?)((?:\d+)?)((?:\D.*)?)$', y).groups() revx = 0 if len(gx[2]) == 0 else int(gx[2]) revy = 0 if len(gy[2]) == 0 else int(gy[2]) return -cmp("%s%sz%04d%s" % (gx[0], gx[1], revx, gx[3]), "%s%sz%04d%s" % (gy[0], gy[1], revy, gy[3])) nv = AppVersion(name=_name.strip(), lastIncident=_ts, crashCount=1) nv.put() cacheId = "CrashReport%s_counter" % nv.name memcache.set(cacheId, 1, 432000) Cnt.incr("AppVersion_counter") Lst.append('all_version_names_list', nv.name, vcmp)
def linkToBug(self, save=True): #bug = memcache.get(key=self.signHash) #if bug == None: results = Bug.all() results.filter('signHash = ', self.signHash) bug = results.get() #if bug: #logging.debug("Found existing bug") #memcache.set(key=self.signHash, value=bug, time=7200) if bug: bugkey = bug.key() logging.debug("Assigning to bug: %s" % bugkey) self.bugKey = bugkey if save: self.put() Cnt.incr("CrashReport_counter") bug.count += 1 bug.lastIncident = self.crashTime bug.put() cacheId = "CrashReport%d_counter" % bug.key().id() memcache.set(cacheId, bug.count, 432000) return bug else: nb = Bug(signature=self.crashSignature, signHash=self.signHash, count=1, lastIncident=self.crashTime, linked=False, fixed=False, status='', priority='') self.bugKey = nb.put() q = taskqueue.Queue('bug-export-queue') q.add((taskqueue.Task(payload=nb.getExportLine(), method='PULL'))) cacheId = "CrashReport%d_counter" % nb.key().id() memcache.set(cacheId, 1, 432000) Cnt.incr("Bug_counter") logging.debug("Created new bug: %s" % nb.key()) if save: self.put() Cnt.incr("CrashReport_counter") return nb