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)
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)
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)
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)
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)
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)