def logs_to_json(file_list, src_file, annote_file): """ Args: Returns: Raises: """ meta_data = create_metadata(src_file, annote_file) counts = defaultdict(Counter) for filename in file_list: sys.stderr.write('Reading: %s%s' % (filename, os.linesep)) event_list = ptm_file_io.load_actionlog_events(filename) for event in event_list: if event.event_name == 'mouseover' and event.target == 'token': src_id = int(event.sourceid) tok_id = int(event.src_tok_id) counts[src_id][tok_id] += 1 # Add in the counts to make the final data structure for src_id in sorted(meta_data.keys()): for tok_id in sorted(meta_data[src_id].keys()): count = counts[src_id][tok_id] meta_data[src_id][tok_id] += (count, ) print json.dumps(meta_data, sort_keys=True, indent=4)
def logs_to_json(file_list, src_file, annote_file): """ Args: Returns: Raises: """ meta_data = create_metadata(src_file, annote_file) counts = defaultdict(Counter) for filename in file_list: sys.stderr.write('Reading: %s%s' % (filename,os.linesep)) event_list = ptm_file_io.load_actionlog_events(filename) for event in event_list: if event.event_name == 'mouseover' and event.target == 'token': src_id = int(event.sourceid) tok_id = int(event.src_tok_id) counts[src_id][tok_id] += 1 # Add in the counts to make the final data structure for src_id in sorted(meta_data.keys()): for tok_id in sorted(meta_data[src_id].keys()): count = counts[src_id][tok_id] meta_data[src_id][tok_id] += (count,) print json.dumps(meta_data,sort_keys=True,indent=4)
def get_times_ordered_by_srcid(filename): """ Args: Returns: Raises: """ end_events = ptm_file_io.load_actionlog_events(filename) end_events = [(int(x.sourceid),int(x.ui_id),int(x.time)) for x in end_events if x.event_name == 'end'] return sorted(end_events, key=lambda x:x[0])
def get_times_ordered_by_srcid(filename): """ Args: Returns: Raises: """ end_events = ptm_file_io.load_actionlog_events(filename) end_events = [(int(x.sourceid), int(x.ui_id), int(x.time)) for x in end_events if x.event_name == 'end'] return sorted(end_events, key=lambda x: x[0])
def process_action_file(action_file): """ Args: Returns: Raises: """ global MIN_PAUSE_DURATION, MIN_PAUSE_DURATION2 time_list = [] pause_counts = Counter() pause_counts2 = Counter() pause_means = [] pause_ratio = [] pause_ratio2 = [] event_counters = defaultdict(Counter) last_src_id = 0 last_event_time = 0 durations = 0 durations2 = 0 action_rows = ptm_file_io.load_actionlog_events(action_file) for row in action_rows: src_id = int(row.sourceid) event_time = int(row.time) event_class = row.event_class if row.event_name == 'start': last_src_id = src_id last_event_time = 0 durations = 0 durations2 = 0 elif row.event_name == 'end': assert pause_counts[src_id] > 0 mean = float(durations) / float(pause_counts[src_id]) pause_means.append(mean) ratio = float(durations) / float(event_time) pause_ratio.append(ratio) ratio1s = float(durations2) / float(event_time) pause_ratio2.append(ratio1s) time_list.append(event_time) else: event_counters[src_id][event_class] += 1 pause_duration = event_time - last_event_time if pause_duration > MIN_PAUSE_DURATION: pause_counts[src_id] += 1 durations += pause_duration if pause_duration > MIN_PAUSE_DURATION2: pause_counts2[src_id] += 1 durations2 += pause_duration last_event_time = event_time return time_list, pause_counts, pause_counts2, pause_means, event_counters, pause_ratio, pause_ratio2
def process_action_file(action_file): """ Args: Returns: Raises: """ global MIN_PAUSE_DURATION,MIN_PAUSE_DURATION2 time_list = [] pause_counts = Counter() pause_counts2 = Counter() pause_means = [] pause_ratio = [] pause_ratio2 = [] event_counters = defaultdict(Counter) last_src_id = 0 last_event_time = 0 durations = 0 durations2 = 0 action_rows = ptm_file_io.load_actionlog_events(action_file) for row in action_rows: src_id = int(row.sourceid) event_time = int(row.time) event_class = row.event_class if row.event_name == 'start': last_src_id = src_id last_event_time = 0 durations = 0 durations2 = 0 elif row.event_name == 'end': assert pause_counts[src_id] > 0 mean = float(durations) / float(pause_counts[src_id]) pause_means.append(mean) ratio = float(durations) / float(event_time) pause_ratio.append(ratio) ratio1s = float(durations2) / float(event_time) pause_ratio2.append(ratio1s) time_list.append(event_time) else: event_counters[src_id][event_class] += 1 pause_duration = event_time - last_event_time if pause_duration > MIN_PAUSE_DURATION: pause_counts[src_id] += 1 durations += pause_duration if pause_duration > MIN_PAUSE_DURATION2: pause_counts2[src_id] += 1 durations2 += pause_duration last_event_time = event_time return time_list,pause_counts,pause_counts2,pause_means,event_counters,pause_ratio,pause_ratio2