View Full Version : [Python]RssRead
The_ouroboros
15-03-2013, 19:23
Buona sera a tutti,
in questi ultimi giorni ho buttato giù una API di reading RSS dopo aver sentito della dipartita di Google Reader.
Volevo la vostra opinione sul programma e quindi vi lascio il link: http://rssread.ciscoland.eu/
Sono ben accetti suggerimenti o bugfix
The_ouroboros
16-03-2013, 10:54
reso un poco più pythonico e spostato la definizione della grammatica xml in dtd esterno.
La sintassi di aggiunta e rimozione siti è ora piu naturale con + e -
The_ouroboros
16-03-2013, 16:12
nessuno ha nulla di commentare o "rinfacciarmi"?? :stordita:
cdimauro
16-03-2013, 17:23
Anche se serve un carattere in più, trovo più indicato l'uso della "somma" e "sottrazione" inplace:
rss += ['sito', 'url']
rss -= 'sito'
Quindi usando __iadd__ e __isub__.
Il motivo è che l'operazione classica di somma e sottrazione è consigliabile quando si deve realizzare qualcosa su due oggetti, per poi restituirne uno che, in genere, è nuovo.
Con la versione "inplace", invece, è evidente che si sta agendo su quell'oggetto, e non ne verrà generato un altro (IN GENERE! Ma non è sempre così).
Convenzioni, dunque, e non strette regole.
Altra cosa, puoi passare anche delle tuple anziché liste:
rss += 'sito', 'url'
o, che esattamente la stessa cosa:
rss += ('sito', 'url')
The_ouroboros
16-03-2013, 17:35
molto meglio in effetti :D
The_ouroboros
17-03-2013, 20:15
Aggiunto un poco di unit testing
The_ouroboros
18-03-2013, 14:15
sistemate exceptions e reso più pythonico.
Ora che l'API è stabile usatelo e fatemi sapere.:D
The_ouroboros
21-03-2013, 10:40
ma proprio nisciuno commenta?:stordita:
cdimauro
21-03-2013, 12:12
Magari quando chiuderà Google Reader ci faranno un pensierino. :p
Ti segnalo un bug:
self._news = ('<a href="' + news.link.encode('utf-8') + '">' +
news.title.encode('utf-8') + '</a><br />'
for news in self.feed.entries)
Stai usando una generator expression, quindi un generatore (di valori). Questo significa che la prima volta che userai un for per scorrere le news usando la getNews, andrà tutto bene. La seconda volta, invece, non otterrai nulla, perché il primo for avrà "consumato" tutti i valori generati.
In questo caso basta semplicemente sostituire le () con [], in modo da ottenere una list comprehension, che genera una lista, appunto, che mantiene i suoi valori.
P.S. Se ti va, prova a smanettare con l'operatore di interpolazione delle stringhe (%), per migliorare quella lunga concatenazione di stringhe. ;)
The_ouroboros
21-03-2013, 12:39
Grazie! ^_^
Inviato dal mio Sony Xperia P
Non ho capito a cosa serve :mbe: .
Non mi sembra una libreria (anche se parli di "un' API per leggere i feed RSS e Atom" )... e' un tool per generare una pagina html con le informazioni contenute nei feed RSS ?
The_ouroboros
21-03-2013, 21:42
Non ho capito a cosa serve :mbe: .
Non mi sembra una libreria (anche se parli di "un' API per leggere i feed RSS e Atom" )... e' un tool per generare una pagina html con le informazioni contenute nei feed RSS ?
al momento genera codice html ma in futuro ci inserirò la personalizzazione dell'output.
E comeda da inserire in programmi GUI o da salvare come html e poi aprirla visualizzarla con un browser
P.S: ora puoi personalizzare l'output delle news :)
Capito. Dovresti allora dare una descrizione piu' chiara nel README ;).
Io ormai da qualche anno utilizzo un approccio un po' differente. Ho un programma python che mi salva le entry come messaggi sul mio account di posta. In questo modo posso "magicamente" vedere tutte le news con qualsiasi client di posta, dal pc come dal cellulare.
The_ouroboros
21-03-2013, 22:15
Capito. Dovresti allora dare una descrizione piu' chiara nel README ;).
Io ormai da qualche anno utilizzo un approccio un po' differente. Ho un programma python che mi salva le entry come messaggi sul mio account di posta. In questo modo posso "magicamente" vedere tutte le news con qualsiasi client di posta, dal pc come dal cellulare.
io volevo fornire l'engine.
Poi chi lo uso se lo personalizza con le fonti e il formato che vuole integrandolo dove più l'aggrada.
:D
cdimauro
22-03-2013, 07:18
Potresti anche espanderne le funzionalità. :fagiano:
The_ouroboros
22-03-2013, 07:52
Potresti anche espanderne le funzionalità. :fagiano:
infatti postavo qui per sapere quali l'utente volesse :cool:
The_ouroboros
05-04-2013, 10:16
la classe evolve..
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.