TGI station



Назад

pipe.2032 :: улучшеный rss gate
===============================

subject: улучшеный rss gate
07.08.2014 07:30
51t (lenina,1) => lLxtijQHXRmKFuPortff  
 
====
# -*- coding: utf-8 -*-

import base64, hashlib, time, html2text, feedparser

RSSURL='http://51t.ru/rss/pipe.2032'
ECHO='pipe.2032'
ADDR='rssarea,2032'

def hsh(s):
return base64.urlsafe_b64encode( hashlib.sha256(s).digest() ).replace('-','A').replace('_','z')[:20]

def ru(fn):
try: return open(fn).read().decode('utf-8')
except: return ''

def gts():
return int(time.time())

def newmsg(ea,msgfrom,addr,msgto,subj,txt):
s = 'ii/ok\n%s\n%s\n%s\n%s\n%s\n%s\n\n%s' % (ea,gts(),msgfrom,addr,msgto,subj,txt)
h = hsh(s)
if len(s) < 65536:
open('msg/%s' % h,'wb').write(s)
open('echo/%s' % ea,'ab').write(h + '\n')

def parse_news_msgs(rurl,ea):
o = feedparser.parse(rurl)
prev = ru('rssdb/%s' % ea).splitlines()
for q in reversed(o.entries):
if not q.guid in prev:
h = html2text.HTML2Text()
h.body_width=0; h.ignore_links = False; h.ignore_images = True
txt = h.handle(q.description).encode('utf-8')
newmsg(ea,q.author.encode('utf-8') or 'rss',ADDR,'All',q.title.encode('utf-8'),txt)
open('rssdb/%s' % ea,'a').write('%s\n' % q.guid)

parse_news_msgs(RSSURL,ECHO)
====
--------------------------------------------------------------------------------

subject: Re: улучшеный rss gate
07.08.2014 08:49
spline (station13, 1) => 4EIDsxvxPqiuhdK3mgQA  
 
Блин. Красотень то какая. Надо этот html2txt в свой впендюрить. Но я как всегда своей путёй иду и заточку под свой автотоссер оставить хочу.
--------------------------------------------------------------------------------

subject: Re: улучшеный rss gate
07.08.2014 14:14
spline (station13, 1) => 4EIDsxvxPqiuhdK3mgQA  
 
Хы. Твоё сообщение роняет мой клиент. Интересно почему это. Роняет со строки

def newmsg(ea,msgfrom,addr,msgto,subj,txt):

но что с этим делать пока не знаю. Не могу вычислить что не так происходит.
--------------------------------------------------------------------------------

subject: Re: улучшеный rss gate
07.08.2014 14:41
spline (station13, 1) => t7jBaxIhtvjvz1Cob1oI  
 
>Не могу вычислить что не так происходит

А происходит вот что. Если printw из ncurses скормить %s, то оно падает.
--------------------------------------------------------------------------------