gist: https://gist.github.com/genesislive/5098123
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# http://www.pythonchallenge.com/pc/def/channel.html
# <!-- <-- zip -->
# see readme in http://www.pythonchallenge.com/pc/def/channel.zip
import os
import re
import urllib
import zipfile
nothing = '90052'
pattern = 'Next nothing is (\d+)'
file_pattern = '%s.txt'
channel_file = 'channel.zip'
uri = 'http://www.pythonchallenge.com/pc/def/channel.zip'
comments = []
if not os.path.exists(channel_file):
urllib.urlretrieve(uri, channel_file)
file = zipfile.ZipFile('channel.zip')
while True:
try:
nothing = re.search(pattern, file.read(file_pattern % nothing)).group(1)
except:
# Collect the comments.
print file.read(file_pattern % nothing)
break
# print file.getinfo(file_pattern % nothing).comment)
comments.append(file.getinfo(file_pattern % nothing).comment)
print ''.join(comments)
'''
***************************************************************
****************************************************************
** **
** OO OO XX YYYY GG GG EEEEEE NN NN **
** OO OO XXXXXX YYYYYY GG GG EEEEEE NN NN **
** OO OO XXX XXX YYY YY GG GG EE NN NN **
** OOOOOOOO XX XX YY GGG EEEEE NNNN **
** OOOOOOOO XX XX YY GGG EEEEE NN **
** OO OO XXX XXX YYY YY GG GG EE NN **
** OO OO XXXXXX YYYYYY GG GG EEEEEE NN **
** OO OO XX YYYY GG GG EEEEEE NN **
** **
****************************************************************
**************************************************************
'''