~ubuntu-branches/ubuntu/karmic/pypy/karmic

« back to all changes in this revision

Viewing changes to pypy/tool/statistic_irc_log.py

  • Committer: Bazaar Package Importer
  • Author(s): Alexandre Fayolle
  • Date: 2007-04-13 09:33:09 UTC
  • Revision ID: james.westby@ubuntu.com-20070413093309-yoojh4jcoocu2krz
Tags: upstream-1.0.0
ImportĀ upstreamĀ versionĀ 1.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import py
 
2
from os import system, chdir
 
3
from urllib import urlopen
 
4
 
 
5
log_URL = 'http://tismerysoft.de/pypy/irc-logs/'
 
6
archive_FILENAME = 'pypy.tar.gz'
 
7
 
 
8
tempdir = py.test.ensuretemp("irc-log")
 
9
 
 
10
# get compressed archive
 
11
chdir( str(tempdir))
 
12
system('wget -q %s%s' % (log_URL, archive_FILENAME))
 
13
system('tar xzf %s'   % archive_FILENAME)
 
14
chdir('pypy')
 
15
 
 
16
# get more recent daily logs
 
17
pypydir = tempdir.join('pypy')
 
18
for line in urlopen(log_URL + 'pypy/').readlines():
 
19
    i = line.find('%23pypy.log.')
 
20
    if i == -1:
 
21
        continue
 
22
    filename = line[i:].split('"')[0]
 
23
    system('wget -q %spypy/%s' % (log_URL, filename))
 
24
 
 
25
# rename to YYYYMMDD
 
26
for log_filename in pypydir.listdir('#pypy.log.*'):
 
27
    rename_to = None
 
28
    b = log_filename.basename
 
29
    if '-' in b:
 
30
        rename_to = log_filename.basename.replace('-', '')
 
31
    elif len(b) == 19:
 
32
        months= 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split()
 
33
        day   = b[10:12]
 
34
        month = months.index(b[12:15]) + 1
 
35
        year  = b[15:20]
 
36
        rename_to = '#pypy.log.%04s%02d%02s' % (year, month, day)
 
37
 
 
38
    if rename_to:
 
39
        log_filename.rename(rename_to)
 
40
        #print 'RENAMED', log_filename, 'TO', rename_to
 
41
 
 
42
# print sorted list of filenames of daily logs
 
43
print 'irc://irc.freenode.org/pypy'
 
44
print 'date, messages, visitors'
 
45
for log_filename in pypydir.listdir('#pypy.log.*'):
 
46
    n_messages, visitors = 0, {}
 
47
    f = str(log_filename)
 
48
    for s in file(f):
 
49
        if '<' in s and '>' in s:
 
50
            n_messages += 1
 
51
        elif ' joined #pypy' in s:
 
52
            v = s.split()[1]
 
53
            visitors[v] = True
 
54
    print '%04s-%02s-%02s, %d, %d' % (f[-8:-4], f[-4:-2], f[-2:], n_messages, len(visitors.keys()))