#!/usr/bin/env python
import urllib
import string
import smtplib
import rxb
import re
import time
from htmllib import *
from cStringIO import StringIO
G_DEBUG = 1
G_FROM = '"The gnut killer" <honey@7thguard.net>'
G_TO = '"A humble 7g reader" <kowalski@kowalski.com>'
G_LASTONE = 0
G_MINUTE = 60
G_TAIMAUT = G_MINUTE * 20
from html2text import HTML2Text
def html2text(s):
parser = HTML2Text()
parser.feed(s)
parser.close()
return parser.result
def sendmesycz(mesycz):
server = smtplib.SMTP('localhost')
server.sendmail(G_FROM,G_TO,html2text(mesycz))
server.quit()
if G_DEBUG == 1: print "mail sent"
def getpejcz(urlik):
a=urllib.urlopen("http://7thguard.net/news.php?id=" + urlik)
if G_DEBUG == 1: print "getting news no ", urlik
b=a.read()
for i in range (len(b)):
pat = rxb.label.spam(rxb.exactly("<!-- tabelka z treścią -->"))
pat.search(b)
d = pat.after
return d
def get7list():
a=urllib.urlopen("http://7thguard.net")
if G_DEBUG == 1: print "index opened"
b=a.read()
c=string.split(b,'<div class="head"')
numberlist = []
for i in range (len(c)):
pat = rxb.label.spam(rxb.exactly("id="))
pat.search(c[i])
d = pat.after
pat2 = rxb.label.spam(rxb.some(rxb.digit))
pat2.search(pat.after)
numberlist.append(pat2.found)
return numberlist
def poczontek():
d = get7list()
d.reverse()
for i in d[0:(len(d)-1)]:
l = getpejcz(i)
sendmesycz(l)
G_LASTONE = eval(i)
poczontek()
x = 0
while x == 0:
time.sleep(G_TAIMAUT)
d = get7list()
d.reverse()
print d
for i in d[0:(len(d)-1)]:
if eval(i) > G_LASTONE:
print "found a new news:", i
l = getpejcz(str(i))
sendmesycz(l)
G_LASTONE = eval(i)