Eden (prima noto come MangaEden.com) Batch Downloader è un semplice programma multipiattaforma per scaricare in gruppo i capitoli dei manga di MangaEden.com.
A partire dalla versione 5.0 è stata inserita la modalità a riga di comando!
Per lanciare il programma in modalità riga di comando dovrete avviarlo dal terminale utilizzando la seguente semplice sintassi:
java -jar EdenBatchDownloader.jar -c EBD.xml
L'opzione -c fa sì che il programma capisca di avviarsi in modalità riga di comando e non grafica. EBD.xml è il file di configurazione con al suo interno tutti i parametri necessari al download.
Ma come si crea un file EBD.xml valido? Ebbene avete 2 possibili vie a disposizione:
Utilizzando il programma in modalità grafica normale: è il modo più facile e adatto anche ai principianti, semplicemente settate tutto nel programma come desiderate che sia (da Modifica → Impostazioni), aprite con esso un qualsiasi manga come fate normalmente e selezionate dalla lista i capitoli che volete scaricare. Alla fine però invece di cliccare sul pulsante per far partire il download, andate nel menù File e al suo interno troverete la voce Esporta in XML.
Scegliendola vi salverà appunto un file EBD.xml pronto da essere importato ed usato nella modalità a riga di comando!
Utilizzando il seguente template modificandolo secondo i vostri gusti:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd">
<preferences EXTERNAL_XML_VERSION="1.0">
<root type="user">
<map/>
<node name="EdenBatchDownloader">
<map>
<entry key="CHAPTERS" value="12,13,15,22,53,54,55,60"/>
<entry key="MODE" value="PDF"/>
<entry key="OUTPUT" value="/home/redsquirrel"/>
<entry key="PDFQ" value="9"/>
<entry key="SINGLE" value="0"/>
<entry key="URL" value="http://www.mangaeden.com/it-manga/one-piece"/>
</map>
</node>
</root>
</preferences>
I parametri da modificare sono quelli indicati key di cui dovrete sostituire il valore alla corrispondente voce value. Attenzione a non modificare altro nel file altrimenti otterrete un XML corrotto e non importabile dal programma.
Gli utilizzi delle varie key si intuiscono già da soli, ma eccovi comunque di seguito una spiegazione dettagliata per ciascuno di essi:
Importante: NON dovete inserire il numero del capitolo, ma l'indice che occupa all'interno della lista sul sito internet!
Per capirci meglio eccovi un'immagine che vi spiega cosa sono gli indici (cliccate sull'immagine per vederla a dimensioni reali):

Come potete vedere i numeri in rosso a sinistra indicano gli indici che dovrete inserire per scaricare il rispettivo capitolo a destra.
Nota: non ho inserito il supporto al numero del capitolo semplicemente perché questi non rispecchiano realmente la posizione del capitolo! Facciamo un semplice esempio: in un manga potrebbe esserci un capitolo 0 (zero) oppure un capitolo 1.5 o ancora un doppio capitolo 2… in tutti questi casi capirete che il capitolo 3 in realtà non sarà realmente in posizione 3, perché prima di esso avrà ben più di due capitoli!
Nota: in caso questo parametro non sia presente o abbia un valore non accettato il programma allora utilizzerà di default il valore CBZ.
Nota: in caso questo parametro non sia presente il programma allora utilizzerà di default la stessa cartella da cui viene avviato.
Nota: in caso questo parametro non sia presente o abbia un valore non accettato il programma allora utilizzerà di default il valore 9.
Nota: in caso questo parametro non sia presente o abbia un valore non accettato il programma allora utilizzerà di default il valore 0.
URL:
In questo campo va inserito l'indirizzo
URL principale del manga che vorrete scaricate da MangaEden.com
Completamente riscritto da zero il codice sorgente del programma: tutte le funzioni del programma sono state completamente riscritte da zero in maniera più efficiente e interconnessa tra loro, in modo da garantire un più corretto e pulito funzionamento del programma.
Aggiornata l'interfaccia del programma: oltre al codice sorgente anche la
GUI del programma è stata aggiornata e migliorata, spesso ripartendo da zero anche qui.
Utilizzo più ampio dei thread in modo da evitare blocchi e freeze alla finestra del programma sin dall'acquisizione dell'ID del manga
Fixato un bug nella finestra di caricamento manga che nel caso di link troppo lunghi nei recenti portava tutta la finestra a ridimensionarsi orizzontalmente, a volte perfino oltre i limiti dello schermo.
Titolo del programma non più variabile: è stata infatti inserita nella finestra principale del programma una stringa di testo che avrà appunto il compito di notificare del progresso delle operazioni in corso.
Fixato il bug della versione precedente che portava il programma a crashare se si selezionavano per il download tutti i capitoli disponibili di un manga.
Aggiunto un sistema avanzato di gestione errori: adesso, a meno che non si presenti un errore grave che non permette fisicamente di proseguire col processo di download, tutte le pagine e/o i capitoli in cui si incappa in qualche errore di download verranno automaticamente skippati dal programma che dunque continuerà il processo di download comunque fino alla fine. La lista completa e dettagliata delle pagine/capitoli che han dato un errore verrà poi notificata all'utente dopo il completamento del processo di download.
Aggiunte, nella finestra principale, anche informazioni dettagliate sul manga che si è caricato: in aggiunta alla sola cover delle passate versioni verranno ora visualizzate anche la descrizione, la data dell'ultimo aggiornamento al manga e lo stato attuale del manga esattamente come riportato dal sito stesso.
Aggiunta nelle Impostazioni la possibilità di cambiare il tema in uso dal programma scegliendo tra uno di quelli installati nella vostra JVM.
Resa ridimensionabile la finestra principale del programma: in questo modo è possibile ora impostarla a tutto schermo per adattarsi a qualunque schermo/risoluzione.
Aggiunta una finestra di conferma e modifica avanzata per le opzioni dell'esportazione in XML.
Riscritta completamente la funzione di esecuzione a riga di comando. Per maggiori informazioni su questa funzione fate riferimento alla guida dettagliata che vi ricordo potete trovare QUI
Totalmente riscritta la funzione di compressione in CBZ e PDF: in passato il programma scaricava le immagini, le scriveva su disco e solo dopo le comprimeva (in CBZ o PDF) andando infine a cancellare le immagini scaricate. Adesso invece il tutto è gestito direttamente in memoria volatile, il che significa che ora il programma scarica l'immagine e la scrive su disco direttamente già compressa, saltando dunque diversi passi rispetto al precedente procedimento e portando dunque un sostanziale guadagno di efficienza a tutto il processo.
Eliminata l'opzione per la cancellazione delle immagini scaricato dopo la compressione: per il motivo detto sopra le immagini vengono ora scritte su disco già compresse, quindi non ci sono più file temporanei da dover cancellare successivamente, rendendo questa opzione totalmente inutile adesso.
Modificata la finestra delle Impostazioni eliminando le opzioni non più necessarie e aggiungendo quelle nuove.
Ricompilato il programma usando JAVA 6: visto che ho riscritto da zero tutte le funzioni del programma ho deciso di farle stavolta usando il vecchio JAVA 6 in modo da esaudire il desiderio di chi voleva utilizzare il programma sui PC più datati su cui è ancora installata la vecchia e più diffusa versione di JVM.
Eliminato l'utilizzo di una libreria esterna per la compressione in CBZ: adesso il programma utilizza le funzioni ufficiali di JAVA per la compressione ZIP delle immagini.
Ricerca automatica di eventuali aggiornamenti disponibili per il programma all'avvio
Vari miglioramenti e qualche cambiamento che sicuramente al momento della stesura di questo changelog mi sfugge.
Nota importante: essendo questa v6.0 una totale riscrittura di gran parte del programma, sicuramente potrebbero esserci bug del tutto nuovi che si son inavvertitamente creati. Vi chiedo dunque di avere pazienza se mai doveste incappare in qualcuno di essi e vi prego, qualora li trovaste, di segnalarli immediatamente attraverso la pagina ufficiale del progetto su BitBucket, grazie.
Programma riscritto completamente da zero.
Cambiato il linguaggio di programmazione da Gambas a JAVA: in questo modo adesso il programma risulta avviabile e compatibile con tutti i Sistemi Operativi su cui esiste la JVM, siano essi Windows, Linux o Mac.
Il programma utilizza ora le apposite
API messe a disposizione da MangaEden.com: questo permetterà di aver più possibilità in futuro che il programma resti compatibile col sito anche dopo aggiornamenti al codice
HTML dello stesso.
Il programma andrà ora a scaricare le pagine dei manga una per una: infatti Mangaeden.com, dopo il cambio di server, ha disattivato la funzione per scaricare i propri manga direttamente in CBZ. A causa di questo cambio di politica NON è più possibile utilizzare le vecchie versioni di questo programma.
Eliminato il bisogno del login: grazie alle
API e al nuovo metodo di scaricamento pagina per pagina non è più necessario loggarsi per scaricare i manga dal sito.
Aggiunta una funzione interna per comprimere i capitoli scaricati in CBZ.
Aggiunta una funzione interna per eliminare le pagine singole dei capitoli scaricati dopo averli compressi in CBZ (ma a causa di un bug di JAVA questa funzione NON è disponibile sotto Windows!)
Aggiunta una pagina di impostazioni in cui l'utente può scegliere la cartella di output, se comprimere i capitoli scaricati in CBZ e se eliminare le pagine dei capitoli scaricati dopo la compressione.
Esattamente come le vecchie versioni tutte le impostazioni del programma verranno salvate e automaticamente ricaricate al successivo riavvio.
Aggiunta la possibilità di interrompere in qualsiasi momento il processo di download.
Aggiunta una seconda barra di progresso per avvertire l'utente dello stato totale del processo di download.
Ridotte al minimo le dipendenze: adesso infatti il programma richiede solo la JRE, nessun altro tool o dipendenza esterna.
Aggiunto un controllo all'avvio sulla presenza delle librerie JAVA richieste.
Per gli utenti Windows: convertito il JAR in un più semplice e comodo EXE pronto da essere lanciato.
Eliminata la traduzione Italiana dal programma: avendo riscritto da zero il programma serviva molto tempo per ritradurre tutte le stringhe e siccome questo avrebbe ritardato non di poco la release ho proferito rilasciarlo subito in questa nuova versione del tutto in Inglese. Magari in futuro con più calma troverò il tempo di ritradurlo da capo anche in Italiano.
Nota finale sulla v3.0:
Come su detto, a causa della nuova politica adottata da Mangaeden.com, non è più possibile scaricare i manga direttamente in CBZ dal sito. Per questo motivo ho dovuto optare forzatamente per il download manuale pagina per pagina. Purtroppo, come facilmente potete immaginare, questo significa che mentre prima c'era una sola operazione da fare (download del file CBZ) adesso invece il procedimento diventa più lungo e complesso (richiesta via API delle pagine presenti nel capitolo → download di ogni singola pagina → eventuale compressione in CBZ → eventuale eliminazione delle pagine scaricate) il che significa tempi nettamente più lunghi. Quindi abbiate pazienza e mettete in preventivo di attendere più a lungo.