Example #1
0
def mobile_devices(request):

    mobile_data = None
    if is_file_old_enough("device_stats.json", 43200):
        mobile_data = devices_analysis()

    if mobile_data is None:
        try:
            f_handle = open(settings.MEDIA_ROOT + "device_stats.json")
            mobile_data = convert(json.load(f_handle))
            f_handle.close()
        except IOError as ferror:
            print "error ({0}) reading file : {1}".format(ferror.errno, ferror.strerror)

    context = RequestContext(
        request,
        {
            "categories": mobile_data["days"],
            "pc_users": mobile_data["pc_only_users"],
            "pc_mob_users": mobile_data["pc_mob_users"],
            "pc_actions": mobile_data["pc_actions"],
            "mobile_actions": mobile_data["mobile_actions"],
            "users": mobile_data["users"],
            "mobile_users": mobile_data["mobile_users"],
            "interactions": mobile_data["interactions"],
            "mobile_interactions": mobile_data["mobile_interactions"],
            "mobile_jsav": mobile_data["mobile_jsav"],
            "mobile_jsav_distinct_users": mobile_data["mobile_jsav_distinct_users"],
        },
    )

    return render_to_response("opendsa/mobilesdata.html", context)
Example #2
0
def all_statistics(request):
    """
    we only run the whole stats computaion if the statistic 
    file is older than an hour
    """
    stat_file = str(settings.MEDIA_ROOT + "daily_stats.json")
    statbuf = os.stat(stat_file)
    last_modif = datetime.datetime.fromtimestamp(statbuf.st_mtime)
    diff = datetime.datetime.now() - last_modif
    data = []
    if diff > datetime.timedelta(0, 86400, 0):
        context = RequestContext(request, {"daily_stats": exercises_logs()})
    else:
        try:
            f_handle = open(stat_file)
            logs = convert(json.load(f_handle))
            for t_log in logs:
                data_0 = []
                for key, value in t_log.iteritems():
                    data_0.append(value)
                data.append(data_0)
            f_handle.close()
        except IOError as f_error:
            print "error ({0}) reading file : {1}".format(f_error.errno, f_error.strerror)

        context = RequestContext(request, {"daily_stats": data})
    return render_to_response("opendsa/all-stats.html", context)
Example #3
0
def mobile_devices(request):

    mobile_data = None
    if is_file_old_enough('device_stats.json', 43200):
        mobile_data = devices_analysis()

    if mobile_data is None:
        try:
            f_handle = open(settings.MEDIA_ROOT + 'device_stats.json')
            mobile_data = convert(json.load(f_handle))
            f_handle.close()
        except IOError as ferror:
            print "error ({0}) reading file : {1}".format(ferror.errno, \
                                                     ferror.strerror)

    context = RequestContext(request, \
              {'categories':mobile_data['days'], \
               'pc_users':mobile_data['pc_only_users'], \
               'pc_mob_users':mobile_data['pc_mob_users'], \
               'pc_actions':mobile_data['pc_actions'], \
               'mobile_actions':mobile_data['mobile_actions'], \
               'users':mobile_data['users'], \
               'mobile_users':mobile_data['mobile_users'], \
               'interactions':mobile_data['interactions'], \
               'mobile_interactions':mobile_data['mobile_interactions'], \
               'mobile_jsav':mobile_data['mobile_jsav'], \
               'mobile_jsav_distinct_users':mobile_data['mobile_jsav_distinct_users']})

    return render_to_response("opendsa/mobilesdata.html", context)
Example #4
0
def all_statistics(request):
    """
    we only run the whole stats computaion if the statistic 
    file is older than an hour
    """
    stat_file = str(settings.MEDIA_ROOT + 'daily_stats.json')
    statbuf = os.stat(stat_file)
    last_modif = datetime.datetime.fromtimestamp(statbuf.st_mtime)
    diff = datetime.datetime.now() - last_modif
    data = [] 
    if diff > datetime.timedelta(0, 86400, 0): 
        context = RequestContext(request, {'daily_stats': exercises_logs() })
    else:
        try:
            f_handle = open(stat_file)
            logs = convert(json.load(f_handle))
            for t_log in logs:
                data_0 = []
                for key, value in t_log.iteritems():
                    data_0.append(value)
                data.append(data_0)
            f_handle.close()
        except IOError as f_error:
            print "error ({0}) reading file : {1}".format(f_error.errno, \
                                                          f_error.strerror)

        context = RequestContext(request, {'daily_stats': data})
    return render_to_response("opendsa/all-stats.html", context) 
Example #5
0
def widget_data(request):
    """
    View to display widget containing OpenDSA statistics
    """
    if is_file_old_enough("widget_stats.json", 3600):
        get_widget_data()

    try:
        f_handle = open(settings.MEDIA_ROOT + "widget_stats.json")
        logs = convert(json.load(f_handle))
        f_handle.close()
    except IOError as ferror:
        print "error ({0}) reading file : {1}".format(ferror.errno, ferror.strerror)

    context = RequestContext(request, {"exercises": logs["exercises"], "users": logs["users"]})
    return render_to_response("opendsa/widget.html", context)
Example #6
0
def widget_data(request):
    """
    View to display widget containing OpenDSA statistics
    """
    if is_file_old_enough('widget_stats.json', 3600):
        get_widget_data()

    try:
        f_handle = open(settings.MEDIA_ROOT + 'widget_stats.json')
        logs = convert(json.load(f_handle))
        f_handle.close()
    except IOError as ferror:
        print "error ({0}) reading file : {1}".format(ferror.errno, \
                                                     ferror.strerror)

    context = RequestContext(request, {'exercises':logs['exercises'], \
                                       'users':logs['users']})
    return render_to_response("opendsa/widget.html", context)