def get(self, app_name): global ITEMS_PER_PAGE app, app_name = self._global(app_name) # Check if the Archive All flag was passed archive_all = self.get_argument("archive_all", None) if archive_all == "True": LoggingService.archive_all_exception_group(app["_id"]) self.redirect("/dashboard/%s" % app_name) # Check if there are any exceptions to archive, if so exception = self.get_arguments("exception", None) if exception: for ex in exception: LoggingService.archive_exception_group(ex) # Get Severity severity = None log_choice = self.get_argument("log_choice", None) if log_choice is None or log_choice == "specific": severity = int(self.get_argument("severity_level", 1)) # Get Page and Offset page = int(self.get_argument("page", 1)) start = (page * ITEMS_PER_PAGE) - ITEMS_PER_PAGE # Get Exceptions keyword = self.get_argument("keyword", "") # Sorting Variables sort = self.get_argument("sort", "last_seen_on") sort_direction = int(self.get_argument("sort_direction", -1)) lso_new_sort = -1 cnt_new_sort = -1 if sort == "last_seen_on": if sort_direction == -1: lso_new_sort = 1 else: if sort_direction == -1: cnt_new_sort = 1 if not keyword and app: self._data["exceptions"] = LoggingService.get_exceptions_groups( self._data["user"]["_id"], app["_id"], severity=severity, start=start, sort=sort, sort_direction=sort_direction, ) total_count = self._data["exceptions"].count() elif keyword: from Packages.mongodbsearch import mongodbsearch from pymongo import Connection self._data["exceptions"] = [] mongo_search = mongodbsearch.mongodb_search(Connection()["onerrorlog"]) conditions = {"key": str(self._data["user"]["_id"]), "application": str(app["_id"])} if severity is not None: conditions["severity"] = severity documents, _, total_count = mongo_search.search( keyword, conditions=conditions, fields=["unique_hash, _id"], start=start, scoring=("last_save_date", -1) ) for doc in documents: self._data["exceptions"].append(LoggingService.get_exception_group(doc["_id"])) else: self._data["exceptions"] = [] total_count = 0 if app: stats_data = {"today": [], "previous": []} stats = LoggingService.get_statistics_for_application(app["_id"], severity=severity) for i, s in enumerate(stats): stats_data["today"].append([i, s["count"]]) stats = LoggingService.get_statistics_for_application(app["_id"], days_back=1, severity=severity) for i, s in enumerate(stats): stats_data["previous"].append([i, s["count"]]) self._data["stats_data"] = stats_data self._data["log_choice"] = log_choice self._data["severity"] = severity self._data["get_severity_string"] = LoggingService.get_severity_string self._data["keyword"] = keyword self._data["total_count"] = total_count self._data["lso_new_sort"] = lso_new_sort self._data["cnt_new_sort"] = cnt_new_sort self._data["cgi"] = cgi self._compute_paging(page, total_count, app_name) self._data["section_title"] = "Dashboard : %s : %s" % ( self._data["user"]["company_name"], app["application"], ) self._data["application_name"] = app["application"] self._data["htmlTitle"] = "OnErrorLog - Dashboard" self.write(self.render_view("../Views/dashboard.html", self._data)) else: self._data["section_title"] = "Getting Started" self._data["htmlTitle"] = "OnErrorLog - Getting Started" self.write(self.render_view("../Views/gettingstarted.html", self._data))
def get(self, app_name): global ITEMS_PER_PAGE app, app_name = self._global(app_name) #Check if the Archive All flag was passed archive_all = self.get_argument('archive_all', None) if archive_all == 'True': LoggingService.archive_all_exception_group(app['_id']) self.redirect('/dashboard/%s' % app_name) #Check if there are any exceptions to archive, if so exception = self.get_arguments('exception', None) if exception: for ex in exception: LoggingService.archive_exception_group(ex) #Get Severity severity = None log_choice = self.get_argument('log_choice', "all") if log_choice is None or log_choice == 'specific': severity = int(self.get_argument('severity_level', 1)) #Get Page and Offset page = int(self.get_argument('page', 1)) start = (page * ITEMS_PER_PAGE) - ITEMS_PER_PAGE #Get Exceptions keyword = self.get_argument('keyword', '') #Sorting Variables sort = self.get_argument('sort', 'last_seen_on') sort_direction = int(self.get_argument('sort_direction', -1)) lso_new_sort = -1 cnt_new_sort = -1 if sort == 'last_seen_on': if sort_direction == -1: lso_new_sort = 1 else: if sort_direction == -1: cnt_new_sort = 1 if not keyword and app: self._data['exceptions'] = LoggingService.get_exceptions_groups( self._data['user']['_id'], app['_id'], severity=severity, start=start, sort=sort, sort_direction=sort_direction) total_count = self._data['exceptions'].count() elif keyword: from Packages.mongodbsearch import mongodbsearch from pymongo import Connection self._data['exceptions'] = [] mongo_search = mongodbsearch.mongodb_search(Connection()['onerrorlog']) conditions = {'key': str(self._data['user']['_id']), 'application': str(app['_id']), } if severity is not None: conditions['severity'] = severity documents, _, total_count = mongo_search.search(keyword, conditions=conditions, fields=['unique_hash, _id'], start=start, scoring=('last_save_date', -1)) for doc in documents: self._data['exceptions'].append(LoggingService.get_exception_group(doc['_id'])) else: self._data['exceptions'] = [] total_count = 0 if app: stats_data = {'today': [], 'previous': []} stats = LoggingService.get_statistics_for_application(app['_id'], severity=severity) for i, s in enumerate(stats): stats_data['today'].append([i, s['count']]) stats = LoggingService.get_statistics_for_application(app['_id'], days_back=1, severity=severity) for i, s in enumerate(stats): stats_data['previous'].append([i, s['count']]) self._data['stats_data'] = stats_data self._data['log_choice'] = log_choice self._data['severity'] = severity self._data['get_severity_string'] = LoggingService.get_severity_string self._data['keyword'] = keyword self._data['total_count'] = total_count self._data['lso_new_sort'] = lso_new_sort self._data['cnt_new_sort'] = cnt_new_sort self._data['cgi'] = cgi self._compute_paging(page, total_count, app_name) self._data['section_title'] = 'Dashboard : %s : %s' % (self._data['user']['company_name'], app['application']) self._data['application_name'] = app['application'] self._data['htmlTitle'] = 'OnErrorLog - Dashboard' self.write(self.render_view('../Views/dashboard.html', self._data)) else: self._data['section_title'] = 'Getting Started' self._data['htmlTitle'] = 'OnErrorLog - Getting Started' self.write(self.render_view('../Views/gettingstarted.html', self._data))