Domanda

Ho scritto un programma che prende in un feed rss parziale ed emette una piena, ma è un caso per caso. La ricetta per un sito non è lo stesso che la ricetta per l'altro. Quindi quello che faccio è guardare il nome base del dominio (per esempio NYT o WSJ) e scegliere un modulo basato su quello. Anche se ho bisogno di caricare ogni modulo prima mano e hanno una condizione logica per ogni ricetta.

Che cosa ho bisogno è un modo per avere solo i singoli moduli nella propria rispettiva cartella e quando ho analizzare fuori il nome base url voglio farlo sembrare per il modulo, caricarlo e prendere qualche azione. Quindi voglio la base di codice principale di essere indipendente dai moduli. Voglio essere in grado di aggiungere i moduli in futuro e non toccare mai la parte di codice che interagisce con loro.

Ecco un esempio di codice

if "nyt" == feed:
        nyt.parser(posixpath.basename(url), urldir, rss_file_path, url, feed)

Come si può vedere che io chiamo il parser del singolo modulo. Ho molti di questi in base a ogni sito web. Voglio mangime canna e quindi in grado di cercare per il modulo, caricarlo e lo chiamano, e poi se non esiste riporto e provare il metodo di default.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top