File:  [LON-CAPA] / loncom / debugging_tools / activity_log_counting.pl
Revision 1.1: download - view: text, annotated - select for diffs
Tue Feb 27 06:29:38 2007 UTC (17 years, 2 months ago) by albertel
Branches: MAIN
CVS tags: version_2_9_X, version_2_9_99_0, version_2_9_1, version_2_9_0, version_2_8_X, version_2_8_99_1, version_2_8_99_0, version_2_8_2, version_2_8_1, version_2_8_0, version_2_7_X, version_2_7_99_1, version_2_7_99_0, version_2_7_1, version_2_7_0, version_2_6_X, version_2_6_99_1, version_2_6_99_0, version_2_6_3, version_2_6_2, version_2_6_1, version_2_6_0, version_2_5_X, version_2_5_99_1, version_2_5_99_0, version_2_5_2, version_2_5_1, version_2_5_0, version_2_4_X, version_2_4_99_0, version_2_4_2, version_2_4_1, version_2_4_0, version_2_3_99_0, version_2_12_X, version_2_11_X, version_2_11_4_uiuc, version_2_11_4_msu, version_2_11_4, version_2_11_3_uiuc, version_2_11_3_msu, version_2_11_3, version_2_11_2_uiuc, version_2_11_2_msu, version_2_11_2_educog, version_2_11_2, version_2_11_1, version_2_11_0_RC3, version_2_11_0_RC2, version_2_11_0_RC1, version_2_11_0, version_2_10_X, version_2_10_1, version_2_10_0_RC2, version_2_10_0_RC1, version_2_10_0, loncapaMITrelate_1, language_hyphenation_merge, language_hyphenation, bz6209-base, bz6209, bz5969, bz2851, PRINT_INCOMPLETE_base, PRINT_INCOMPLETE, HEAD, GCI_3, GCI_2, GCI_1, BZ5971-printing-apage, BZ5434-fox, BZ4492-merge, BZ4492-feature_horizontal_radioresponse, BZ4492-feature_Support_horizontal_radioresponse, BZ4492-Support_horizontal_radioresponse
- helper script to count who accessed what how often

    1: use strict;
    2: use XML::Simple;
    3: my $ref = XMLin('activity.log.xml');
    4: my %what;
    5: my %who;
    6: print("Parsed\n");
    7: foreach my $key1 (keys(%$ref)) {
    8:     foreach my $element (@{$ref->{$key1}}) {
    9: 	if (ref($element) eq 'HASH') {
   10: 	    my $res = (split(m{(?:/|%2f)},$element->{'resource'}))[-1];
   11: 	    $res = &unescape($res);
   12: 	    $what{$element->{'student'}}{$res}++;
   13: 	    $who{$res}{$element->{'student'}}++;
   14: 	}
   15:     }
   16: }
   17: 
   18: use Data::Dumper;
   19: $Data::Dumper::Sortkeys=1;
   20: print(&Dumper(\%who));
   21: 
   22: sub unescape {
   23:     my $str=shift;
   24:     $str =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
   25:     return $str;
   26: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>