def search_graph_data(request): username = request.GET.get('username', None) query = request.GET.get("query", None) if query == "null": query = None date = request.GET.get("date", None) if date == "null": date = None filter = request.GET.get("filter", None) if filter == "null": filter = None start_time = None end_time = None if date: start_time, end_time = DateRangeParser().parse(date) hist_type, hist = history_search(request.user, sort="time", query=query, filter=filter, username=username, start_time=start_time, end_time=end_time) if start_time is None: start_time = datetime.datetime.now() if end_time is None: end_time = datetime.datetime.now() return hist, start_time, end_time
def _fav_site_calc(self, user): """ Helper to compute what the most commonly used site is for a given set of history items. Returns a url (domain) that is computed to be the favorite and the associated favicon """ item_meta = {} hist_type, history_items = history_search(user, sort="time", filter="", username=user.username) if not history_items: fav_data, created = FavData.objects.get_or_create(user=user) self.stdout.write('Updated user %s, no history.\n' % user.username) return for item in history_items: domain = item.domain if domain in item_meta: data = item_meta[domain] data["count"] += 1 data["total_time"] += item.total_time item_meta[domain] = data else: item_meta[domain] = { "favicon": item.favicon_url, "count": 1, "total_time": item.total_time, "domain": domain } max_count = 0 max_dict = {} for k, v in item_meta.items(): if v["count"] > max_count: max_count = v["count"] max_dict = v self.stdout.write('Updated user %s, favorite: %s\n' % (user.username, max_dict["domain"])) fav_data, created = FavData.objects.get_or_create(user=user) fav_data.domain = max_dict["domain"] fav_data.favicon_url = max_dict["favicon"] fav_data.total_time = max_dict["total_time"] fav_data.visit_count = max_dict["count"] fav_data.save()
def _fav_site_calc(self, user): """ Helper to compute what the most commonly used site is for a given set of history items. Returns a url (domain) that is computed to be the favorite and the associated favicon """ item_meta = {} hist_type, history_items = history_search( user, sort="time", filter="", username=user.username) if not history_items: fav_data, created = FavData.objects.get_or_create(user=user) self.stdout.write('Updated user %s, no history.\n' % user.username) return for item in history_items: domain = item.domain if domain in item_meta: data = item_meta[domain] data["count"] += 1 data["total_time"] += item.total_time item_meta[domain] = data else: item_meta[domain] = { "favicon": item.favicon_url, "count": 1, "total_time": item.total_time, "domain": domain } max_count = 0 max_dict = {} for k, v in item_meta.items(): if v["count"] > max_count: max_count = v["count"] max_dict = v self.stdout.write('Updated user %s, favorite: %s\n' % (user.username, max_dict["domain"])) fav_data, created = FavData.objects.get_or_create(user=user) fav_data.domain = max_dict["domain"] fav_data.favicon_url = max_dict["favicon"] fav_data.total_time = max_dict["total_time"] fav_data.visit_count = max_dict["count"] fav_data.save()