Exemple #1
0
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
Exemple #2
0
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()