ANTONIO CAPUTO
.: Introduzione :.

NOTA: XPN ora ha una sua pagina.

XPN sta per X Python Newsreader. Quindi come dice il nome, è un newsreader scritto in Python e che gira sotto X, per la precisione usa le librerie GTK+ 1.2.
XPN è un on-line newsreader, cioè necessità di una connessione sempre attiva col server news, per questo motivo potrete utilizzarlo con un server remoto solo se siete connessi ad internet, oppure potete utilizzarlo con il vostro server locale (se ne avete uno, e cmq è sempre consigliabile averne uno).
Questo programma è una evoluzione del vecchio NewsX che avevo reso disponibile su questo sito tempo fa. Rispetto a quest'ultimo si differenzia per il nome (cambiato perchè esiste gia un altro progetto che utilizza il nome newsx) e per la possibilità di postare articoli (newsx permetteva solo di leggere). Più una serie di piccoli bugfix e modifiche, nonchè un (molto) parziale supporto per le specifiche MIME.
.: Funzionalità :.

Attualmente XPN permette di compiere in pratica tutte le funzioni necessarie alla lettura di un newsgroup.

Sostanzialmente quindi si ha la possibilità di compiere operazioni come: scaricare la lista dei gruppi, "sottoscrivere" i gruppi che ci interessano, leggere gli articoli presenti nei gruppi sottoscritti.

Al momento della sottoscrizione di un newsgroup viene anche memorizzata una lista di msg-id, che poi rappresenta la lista degli articoli non ancora letti. I messaggi non vengono memorizzati, semplicemente ogni qualvolta leggiamo un articolo il suo msg-id viene eliminato dalla lista di quelli ancora da leggere. E possibile definire la grandezza massima di questa lista proprio in fase di sottoscrizione, se si sceglie quindi come valore ad esempio 500, solo i msg-id dei 500 articoli più recenti verranno memorizzati.

Successivamente è possibile aggiornare i gruppi andando ad aggiungere i nuovi articoli che si sono resi disponibili sul server.

Ci tengo a precisare che l'algoritmo che mi permette di riorganizzare gli articoli in thread è abbastanza lento (sul mio P233/64M impiega circa 1min a ricreare i thread per un ng con circa 4000 articoli) quindi vi sconsiglio di usare XPN con server remoti (a meno che non abbiate una connessione flat), molto meglio il vostro bel server locale (io faccio tutte le mie prove con leafnode, tuttavia ho utilizzato XPN anche direttamente con powernews.libero.it).

.: ScreenShot :.
Riporto una paio di screenshot ripresi dalla versione corrente per mostrare alcune caratteristiche di XPN.
Questa immagine mostra il primo tab della finestra di configurazione. Qui è possibile impostare l'indirizzo del server nntp e i parametri dell' utente, che sono il Nickname, l'Email e la locazione della signature.
In questo secondo tab invece è possibile modificare il font utilizzato nella visualizzazione degli articoli, ed i colori utilizzati per il testo la firma ed il quote.
In questo ultimo tab invece è possibile impostare il charset utilizzato nell'invio degli articoli. La scelta è ristretta ad ISO-8859-1/15.
Questa è la finestra di gestione della lista dei gruppi e delle sottoscrizioni. Da qui è possibile scaricare la lista dei gruppi, ricercare un gruppo nella lista ed eventualmente sottoscriverlo. All'atto della sottoscrizione verranno un certo numero di msg-id, questo numero è impostabile nello spin-button presente nella finestra (nella figura è 500).
Questa è la finestra che si apre quando si risponde ad un articolo (o se ne compone un nuovo). Il testo dell'articolo originale viene automaticamente quotato e colorato secondo il colore impostato, viene anche aggiunta automaticamente la firma.
Questa è la finestra principale. E' possibile osservare la lista dei gruppi sottoscritti, gli articoli riordinati in thread ed il pane di visualizzazione dell'articolo.
.: Informazioni tecniche :.
Come dicevo il programma è scritto in Python, per l'interfaccia grafica mi sono affidato alla Gtk+, quindi è necessario disporre del modulo Pygtk. L'interfaccia l'ho disegnata tramite il tool visuale Glade, questo produce come uscita una descrizione in XML dell'interfaccia, per poter utilizzare questo file è necessario utilizzare un altro modulo chiamato libglade. In definitiva per far funzionare XPN (ammesso che lo vogliate ^__-) dovrete avere a installati i seguenti componenti:
  1. Python2.2.2
  2. modulo pygtk0.6.9
  3. modulo libglade
.: Scarica XPN :.
Ultima versione:
tgz file XPN 0.0.6 [tgz - 70kb]

Versioni precedenti:
tgz file XPN 0.0.5 [tgz - 70kb]
tgz file NewsX 0.0.2 [tgz - 95kb]
.: Lista aggiornamenti :.

Questo sito web è stato realizzato da Antonio Caputo. Sentitevi liberi di prelevare o riutilizzare qualsiasi cosa. L'unica cosa che vi chiedo è di mandarmi una e-mail se ritenete che questo sito vi sia stato utile in qualche modo.
Copyright © Antonio Caputo, 2003. Valid XHTML1.0, Valid CSS.