diff --git a/Doc/#A69WD.org# b/Doc/#A69WD.org# new file mode 100644 index 0000000..70bdf86 --- /dev/null +++ b/Doc/#A69WD.org# @@ -0,0 +1,197 @@ +#+SETUPFILE: ~/.MyCfg/emacs/templates/org-html-themes/theme-readtheorg-local.setup +#+TITLE: Web Scraper per A69 +#+DESCRIPTION: Diario di bordo dell'applicazione per ricavare i racconti dal sito A69 +#+KEYWORDS: ATDB, ATWD + + +* DONE Inserire nello stato i conteggio dei link +* TODO Inserire il conto dei link anche sul nome del file o fare report +Inserire sul nome dei file, oltre alla data anche il numero di link che contengono, oppure fare un report che riassuma quanto fatto e che torna utile per confrontare due download diversi ecc... + +* DONE Verificare il formato di salvataggio, perchè le accentuate e alcuni segni vengono male. +* DONE Fare parser di un file di link che inserisce quelli nuovi sul toDownload o li inserisce sul DB con lo stato ToDownload. + + + +* BUG: +** ISSUE 01: [2021-11-03 mer] +Quando riprendo uno scarico, riscarico anche quelli già scaricati. +Tutte le volte che riprendo un download, riscarico anche quelli già downloadati, e quindi +devo verificare che salvo tutti quelli già downloadati (lista all da verificare sia +all'inizio che alla fine). + + +* TODO Vrs 0.2.0.0 :WORKING: +Applicazione che salva tutto su SQLite, inoltre è del tutto automatizzata e quindi basta +avviarla e quando ha finito si spegne, altrimenti è sempre possibile fermarla a comando, +senza perdere traccia di quanto fatto. + +Per serializzare i dati utilizzo SQLlite con la tabella che mi permetta di risalire +velocemente ai link fatti, e a quelli da fare + +| URL | Tipo | Stato | Update | +|-----+------+-------+--------| + +- URL :: indica l'url a cui vi è la pagina da downloadare (sia indice che racconto) +- Tipo :: indica la tipologia della pagina, cioè Idx per le pagine che sono indici/elenchi + di racconti +- Stato :: Indica lo stato associato al link che sarà definito in basee alla seguente + enumerazione *LinkStatusEnum*: + - ToDownload + - Downloading + - Downloaded + e quindi all'avvio, mi basta caricare l'elenco dei link che hanno stato diverso da + Downloaded e riprendere il download +- Update :: indica la data in cui eseguo l'ultimo update al record + + +* TODO Vrs 0.1.7.0 :WORKING: +- Definire un'icona in modo da migliorare estetica +- Gestire il ridursi ad icona sulla tray in modo da poterlo nascondere +- Inserire l'estrazione dei racconti + +** Estrazione dei racconti +I file di racconto hanno una struttura del tipo: +#+begin_src html + ... +
Lui & Lei
+ ... +

01 - Marco e Daniela - Voglia di nuove esperienze estreme

+ ... + di ombraerotica + ... + 07.04.2020    |    8.850    |    6 9.2 + ... +
+
{Citazione}
+ {Trama} +
Disclaimer! Tutti i diritti riservati all'autore del racconto - Fatti e persone sono puramente frutto della fantasia dell'autore. Annunci69.it non è responsabile dei contenuti in esso scritti ed è contro ogni tipo di violenza!
Vi invitiamo comunque a segnalarci i racconti che pensate non debbano essere pubblicati, sarà nostra premura riesaminare questo racconto.
+
+ ... +
Votazione dei Lettori: 9.2
+ ... +#+end_src +che mi permette di ricavare tutte le informazioi utili. + +Come note, oltre alla classica SrcFile, voglio inserire anche la SrcVot (votazione sul +sito) per poter fare un filtro o un ordinamento in base alla votazione del sito anche per +i racconti che non ho ancora letto. + +Ogni racconto avrà quindi la struttura: +#+begin_example + - ID Rac: ... + - Title: ... + - SubTit: ... + - Autors: ... -|- ... + - Voto: Non Letto + - Tags: ... -|- ... + - Notes: SrcFile -|- ... + - Notes: SrcVot -|- ... + - Creato: YYYY/MM/DD + - Update: YYY/MM/DD + - Origin: ... -|- ... + - Trama: ... +#+end_example +In cui vi sono le relazioni: +- 1-->Molti Racconto-->Autori +- 1-->Molti Racconto-->Tags +- 1-->Molti Racconto-->Origine +- 1-->Molti Racconto-->Note +- 1-->1 Racconto-->Trama +- 1-->1 Racconto-->Voto + + +La nota SrcVoto mi permette di navigare evidenziando i racconti per votazione: +#+begin_src sql + -- + -- Vista dei racconti con la relativa votazione: + -- + SELECT * FROM Notes,Racconti,Links_Rac_Not + WHERE NKey='SrcVoto' AND Notes.IDnot=Links_Rac_Not.IDnot AND Links_Rac_Not.IDrac=Racconti.IDrac + ORDER BY NVal; + -- + -- Conteggio dei racconti in base alla votazione: + -- + SELECT Notes.NKey, Notes.NVal, Count(NVal) as Num + FROM Notes, Racconti, Links_Rac_Not + WHERE NKey='SrcVoto' AND Notes.IDnot=Links_Rac_Not.IDnot AND Links_Rac_Not.IDrac=Racconti.IDrac + GROUP BY Notes.NVal + ORDER BY Num ; +#+end_src + + +* DONE Vrs 0.1.6.0 :DONE: +Compilata da CSiCoAlm il 2021/11/07 +- Corretto bug rilevato (ISSUE 01) +- Inserita solita icona per i tools. +- Sistemato la classe cTools inserendo tutti i tools trovati finora + +* DONE Vrs 0.1.5.4 :DONE: +Compilata da CSiCoAlm il 2021/10/29 +- Modificato path di salvataggio dei file per farlo analogo a ATWD. + +* DONE Vrs 0.1.5.3 :DONE: +Compilata da CSiCoAlm il 2021/10/29 +- Corretto salvataggio dei file di racconti, per evitare l'errore del formato (lettere accentate e caratteri particolari). +- Fatto anche dei test di salvataggio dei testi per trovare il corretto formato dell'encode. + + +* DONE Vrs 0.1.5.2 :DONE: +Modifica per: +- Inserire l'importazione di link (solo Idx o Rac di A69) da file di testo +- Correggere l'importazione ed esportazione degli elenchi dal DB + + +* Vrs 0.1.5.1 :DONE: +Breve modifica per: +- Corretto formato del numero di versione +- Razionalizzato il messaggio di update dell'engine. +- Inserito gli aggiornamenti dell'engine sul log degli eventi + +* Vrs 0.1.5.0 :DONE: +Applicazione che serializza i dati su SQLite, ma continua ad usare liste internamente per +recuperare il codice già fatto. + +Per serializzare i dati utilizzo SQLlite con la tabella che mi permetta di risalire +velocemente ai link fatti, e a quelli da fare + +| URL | Tipo | Stato | Update | +|-----+------+-------+--------| + +- URL :: indica l'url a cui vi è la pagina da downloadare (sia indice che racconto) +- Tipo :: indica la tipologia della pagina, cioè Idx per le pagine che sono indici/elenchi + di racconti +- Stato :: Indica lo stato associato al link che sarà definito in basee alla seguente + enumerazione *LinkStatusEnum*: + - ToDownload + - Downloading + - Downloaded + e quindi all'avvio, mi basta caricare l'elenco dei link che hanno stato diverso da + Downloaded e riprendere il download +- Update :: indica la data in cui eseguo l'ultimo update al record + +All'avvio carico sulle liste interne i vari link con il metodo DBTools.LoadData e al +termine salvo lo stato delle liste aggiornando i record sul DB tramite il metodo +DBTools.SaveData. In questo modo posso iniziare un download e interrompere la procedura +per poi riprenderla in un secondo momento senza problemi. + + +* Test funzionamento in consol: :ABORT: +verifichiamo se è possibile operare come consol: + +PURTROPPO NON FUNZIONA SE MESSO COME CONSOLE APPLICATION + + + +* Vrs 0.1.0.0 :DONE: +- Compilata da CSiCoAlm il 2021/10/26 +- Prima versione che permette di scaricare i file da A69 bypassando il controllo del browser. +- Manca: + - Serializzazione degli archivi per poter riprendere il download parziale dei racconti o + la scansione parziale dei link + - Gestione in thread paralleli dei download + - Riduzione ad icona per non visualizzare il tutto (privacy) + - Parametrizzazione del lavoro + - Loggin degli eventi + - Rendere l'applicativo consol, in modo che non vi sia interfaccia utente. + diff --git a/Doc/A69WD.org b/Doc/A69WD.org index fe1dc5a..3e5ae33 100644 --- a/Doc/A69WD.org +++ b/Doc/A69WD.org @@ -14,7 +14,8 @@ Inserire sul nome dei file, oltre alla data anche il numero di link che contengo * BUG: -** [2021-11-03 mer] quando riprendo uno scarico, riscarico anche quelli già scaricati. +** ISSUE 01: [2021-11-03 mer] +Quando riprendo uno scarico, riscarico anche quelli già scaricati. Tutte le volte che riprendo un download, riscarico anche quelli già downloadati, e quindi devo verificare che salvo tutti quelli già downloadati (lista all da verificare sia all'inizio che alla fine). @@ -119,6 +120,12 @@ La nota SrcVoto mi permette di navigare evidenziando i racconti per votazione: #+end_src +* DONE Vrs 0.1.6.0 :DONE: +Compilata da CSiCoAlm il 2021/11/07 +- Corretto bug rilevato (ISSUE 01) +- Inserita solita icona per i tools. +- Sistemato la classe cTools inserendo tutti i tools trovati finora + * DONE Vrs 0.1.5.4 :DONE: Compilata da CSiCoAlm il 2021/10/29 - Modificato path di salvataggio dei file per farlo analogo a ATWD. diff --git a/Src/A69WD/A69WD.csproj b/Src/A69WD/A69WD.csproj index daac807..2f3d3e8 100644 --- a/Src/A69WD/A69WD.csproj +++ b/Src/A69WD/A69WD.csproj @@ -31,6 +31,9 @@ prompt 4 + + Tools.ico + @@ -106,7 +109,9 @@ PreserveNewest - + + +