def get(self):
		hospital_query = HospitalizedReport.all()
		total_hospital = hospital_query.count()
		hospital_query = HospitalizedReport.all()
		hospital_query.filter('processed =', False)
		sick_hospital = hospital_query.count()

		crashes_query = CrashReport.all()
		bugId = self.request.get('bug_id')
		page = int(self.request.get('page', 0))

		crashes = []
		if bugId:
			bug = Bug.get_by_id(long(bugId))
			crashes_query.filter("bugKey =", bug)
		crashes_query.order("-crashTime")
		total_results = crashes_query.count(1000000)
		last_page = max((total_results - 1) // 20, 0)

		if page > last_page:
			page = last_page
		crashes = crashes_query.fetch(20, int(page)*20)
		template_values = {'crashes_list': crashes,
				'total_results': total_results,
				'page_size': 20,
				'page': page,
				'last_page': last_page,
				'bug_id': bugId,
				'total_hospital': total_hospital,
				'sick_hospital': sick_hospital}
		path = os.path.join(os.path.dirname(__file__), 'templates/crash_list.html')
		self.response.out.write(template.render(path, template_values))
	def get(self):
		versions_query = AppVersion.all()
		versions_query.order("-activeFrom")
		versions_objs = versions_query.fetch(2000)
		versions = [v.name for v in versions_objs]
		versions.insert(0, "all")

		hospital_query = HospitalizedReport.all()
		total_hospital = hospital_query.count()
		hospital_query = HospitalizedReport.all()
		hospital_query.filter('processed =', False)
		sick_hospital = hospital_query.count()

		crashes_query = CrashReport.all()
		bugId = self.request.get('bug_id')
		page = int(self.request.get('page', 0))
		selectedVersion = self.request.get('filter_version', "all")
		logging.info("version: " + selectedVersion)

		crashes = []
		if bugId:
			bug = Bug.get_by_id(long(bugId))
			crashes_query.filter("bugKey =", bug)
		if selectedVersion != "all":
			crashes_query.filter("versionName =", selectedVersion)
		crashes_query.order("-crashTime")
		total_results = crashes_query.count(1000000)
		last_page = max((total_results - 1) // 20, 0)

		if page > last_page:
			page = last_page
		crashes = crashes_query.fetch(20, int(page)*20)
		template_values = {'crashes_list': crashes,
				'versions_list': versions,
				'filter_version': selectedVersion,
				'total_results': total_results,
				'page_size': 20,
				'page': page,
				'last_page': last_page,
				'bug_id': bugId,
				'total_hospital': total_hospital,
				'sick_hospital': sick_hospital}
		path = os.path.join(os.path.dirname(__file__), 'templates/crash_list.html')
		self.response.out.write(template.render(path, template_values))
	def post(self):
		post_args = self.request.arguments()
		page = self.request.get('page', 0)
		if "remove_processed" in post_args:
			# Remove successfully processed hospitalized reports
			hospital_query = HospitalizedReport.all()
			hospital_query.filter('processed =', True)
			hr_list = hospital_query.fetch(1000000)
			for hr in hr_list:
				if not hr.diagnosis:
					logging.info("Deleting hospitalized report: " + str(hr.key().id()))
					hr.delete()
		elif "fix_report" in post_args:
			attemped_fix_id = self.request.get('crash_id', 0)
			hr = HospitalizedReport.get_by_id(long(attemped_fix_id))
			if hr and not hr.processed:
				cr = CrashReport(email = hr.email, crashId = hr.crashId, report = hr.crashBody)
				hr.diagnosis = cr.parseReport()
				if not hr.diagnosis:
					hr.processed = True
					cr.put()
					cr.linkToBug()
				hr.put()
		self.redirect(r'hospital?page=' + page)
	def get(self):
		hospital_query = HospitalizedReport.all()
		hospitalized = hospital_query.count()
		page = int(self.request.get('page', 0))
		attemped_fix_id = int(self.request.get('attemped_fix_id', 0))
		fix_result = self.request.get('fix_result', 0)

		hospitalized = []
		total_results = hospital_query.count(1000000)
		last_page = max((total_results - 1) // 20, 0)
		if page > last_page:
			page = last_page
		hospitalized = hospital_query.fetch(20, int(page)*20)
		template_values = {'hospitalized_list': hospitalized,
				'total_results': total_results,
				'page_size': 20,
				'page': page,
				'attemped_fix_id': attemped_fix_id,
				'fix_result': fix_result}
		path = os.path.join(os.path.dirname(__file__), 'templates/hospital.html')
		self.response.out.write(template.render(path, template_values))