Integrato menu contestuale per comandare il thread secondario di import
Aggiornata UI per visualizzare eventi del thread separato
Testato import
ToDo:
- [X] Inserire un lettore per visualizzare i racconti nel DB
- [0/3] Inserire funzionalità avanzate di lettura:
- [ ] navigazione avanzata fra i racconti (per id, per autore, per titolo, per tag ecc...
- [ ] possibilità di filtrare i racconti
- [ ] Notificon per poter nascondere il reader e centralizzare i comandi
- [2/3] Integrare lo scraping dei racconti dal web e l'import da file
- [X] Integrare lo scraping dei racconti da web, visualizzandolo sulla progress bar e label nella status bar.
- [X] Integrare l'import dei racconti da file, visualizzandolo sulla progress bar e label nella status bar.
- [ ] Upgradare lo skraping, importando i racconti via via che sono downloadati
Integrato menu contestuale per comandare il thread secondario di skraping
Aggiornata UI per visualizzare eventi del thread separato
Testato scraping
ToDo:
- [X] Inserire un lettore per visualizzare i racconti nel DB
- [0/3] Inserire funzionalità avanzate di lettura:
- [ ] navigazione avanzata fra i racconti (per id, per autore, per titolo, per tag ecc...
- [ ] possibilità di filtrare i racconti
- [ ] Notificon per poter nascondere il reader e centralizzare i comandi
- [0/3] Integrare lo scraping dei racconti dal web e l'import da file
- [X] Integrare lo scraping dei racconti da web, visualizzandolo sulla progress bar e label nella status bar.
- [ ] Integrare l'import dei racconti da file, visualizzandolo sulla progress bar e label nella status bar.
- [ ] Upgradare lo skraping, importando i racconti via via che sono downloadati
Esempio base di lettore, con solo funzionalità di lettura random o sequenziale (frecce su/giu).
Testato e la lettura è corretta.
ToDo:
- [X] Inserire un lettore per visualizzare i racconti nel DB
- [ ] Inserire funzionalità avanzate di lettura (navigazione, filtri, ecc...)
- [0/2] Integrare lo scraping dei racconti dal web
- [ ] Integrare lo scraping visualizzandolo sulla progress bar e label nella status bar.
- [ ] Importare i racconti via via che sono downloadati
Test degli spunti ottenuti da una chat con Gemini.
- [X] Test della classe cRac.cs
- [X] Test della funzione di salvataggio sul DB
- [X] Test della funzione di lettura dal DB
- [ ] Test della funzione di ricerca nel DB
- [ ] Test funzione di cancellazione nel DB
- [ ] Test nella ricerca di duplicati
- [X] Test della funzione di esportazione in html con stile
- [ ] Inserire verifica su racconto duplicato, prima di salvare un nuovo racconto.
Riepilogo della chat:
- connesso a gemini con chrome e utente mirko
- dato in pasto il file *ATDB Database Schema.sql* con la struttura del DB
- richiesto la classe cRac per rappresentare un racconto.
- ottenuto *cRac.cs*
- richiesto come salvare un cRac sul DB con diagnostica errori ed evitando spurie sul DB
- ottenuto *Salvataggio cRac su DB.cs*
- richiesto come leggere un racconto
- ottenuto *GetRaccontoById.cs*
- richiesto: ragruppiamo le funzioni di helper su un file Helper.cs e quelle di lettura/scrittura sul DB sul file DB.cs
- ottenuto *Helper.cs* e *DB.cs*
- richiesto: facciamo le ricerche avanzate per titolo, tag, autore, data di creazione, sorgente
- ottenuta la nuova versione di *Aggiornamento 1 di DB.cs*
- richiesto come eliminare un racconto dal DB
- ottenuta la nuova versione di *Aggiornamento 2 di DB.cs*
- richiesto: come ricercare racconti duplicati
- ottenuto spunti di ricerca salvati in *Ricerca duplicati.cs*
- richiesto come fare il merge di racconti duplicati
- ottenuto *merge.cs*
- richiesto delle idee per la UI
- ottenuto il file *UI_idee.md*
- richiesto un esempio di esportazione di un racconto in html con stile
- ottenuto: *export.cs*
Test degli spunti ottenuti da una chat con Gemini.
- [X] Test della classe cRac.cs
- [ ] Test della funzione di salvataggio sul DB
- [X] Test della funzione di lettura dal DB
- [ ] Test della funzione di ricerca nel DB
- [ ] Test funzione di cancellazione nel DB
- [ ] Test nella ricerca di duplicati
- [X] Test della funzione di esportazione in html con stile
Riepilogo della chat:
- connesso a gemini con chrome e utente mirko
- dato in pasto il file *ATDB Database Schema.sql* con la struttura del DB
- richiesto la classe cRac per rappresentare un racconto.
- ottenuto *cRac.cs*
- richiesto come salvare un cRac sul DB con diagnostica errori ed evitando spurie sul DB
- ottenuto *Salvataggio cRac su DB.cs*
- richiesto come leggere un racconto
- ottenuto *GetRaccontoById.cs*
- richiesto: ragruppiamo le funzioni di helper su un file Helper.cs e quelle di lettura/scrittura sul DB sul file DB.cs
- ottenuto *Helper.cs* e *DB.cs*
- richiesto: facciamo le ricerche avanzate per titolo, tag, autore, data di creazione, sorgente
- ottenuta la nuova versione di *Aggiornamento 1 di DB.cs*
- richiesto come eliminare un racconto dal DB
- ottenuta la nuova versione di *Aggiornamento 2 di DB.cs*
- richiesto: come ricercare racconti duplicati
- ottenuto spunti di ricerca salvati in *Ricerca duplicati.cs*
- richiesto come fare il merge di racconti duplicati
- ottenuto *merge.cs*
- richiesto delle idee per la UI
- ottenuto il file *UI_idee.md*
- richiesto un esempio di esportazione di un racconto in html con stile
- ottenuto: *export.cs*
Test degli spunti ottenuti da una chat con Gemini.
- [X] Test della classe cRac.cs
- [ ] Test della funzione di salvataggio sul DB
- [ ] Test della funzione di lettura dal DB
- [ ] Test della funzione di ricerca nel DB
- [ ] Test funzione di cancellazione nel DB
- [ ] Test nella ricerca di duplicati
- [X] Test della funzione di esportazione in html con stile
Riepilogo della chat:
- connesso a gemini con chrome e utente mirko
- dato in pasto il file *ATDB Database Schema.sql* con la struttura del DB
- richiesto la classe cRac per rappresentare un racconto.
- ottenuto *cRac.cs*
- richiesto come salvare un cRac sul DB con diagnostica errori ed evitando spurie sul DB
- ottenuto *Salvataggio cRac su DB.cs*
- richiesto come leggere un racconto
- ottenuto *GetRaccontoById.cs*
- richiesto: ragruppiamo le funzioni di helper su un file Helper.cs e quelle di lettura/scrittura sul DB sul file DB.cs
- ottenuto *Helper.cs* e *DB.cs*
- richiesto: facciamo le ricerche avanzate per titolo, tag, autore, data di creazione, sorgente
- ottenuta la nuova versione di *Aggiornamento 1 di DB.cs*
- richiesto come eliminare un racconto dal DB
- ottenuta la nuova versione di *Aggiornamento 2 di DB.cs*
- richiesto: come ricercare racconti duplicati
- ottenuto spunti di ricerca salvati in *Ricerca duplicati.cs*
- richiesto come fare il merge di racconti duplicati
- ottenuto *merge.cs*
- richiesto delle idee per la UI
- ottenuto il file *UI_idee.md*
- richiesto un esempio di esportazione di un racconto in html con stile
- ottenuto: *export.cs*
Test degli spunti ottenuti da una chat con Gemini.
- [ ] Test della classe cRac.cs
- [ ] Test della funzione di salvataggio sul DB
- [ ] Test della funzione di lettura dal DB
- [ ] Test della funzione di ricerca nel DB
- [ ] Test funzione di cancellazione nel DB
- [ ] Test nella ricerca di duplicati
- [X] Test della funzione di esportazione in html con stile
Riepilogo della chat:
- connesso a gemini con chrome e utente mirko
- dato in pasto il file *ATDB Database Schema.sql* con la struttura del DB
- richiesto la classe cRac per rappresentare un racconto.
- ottenuto *cRac.cs*
- richiesto come salvare un cRac sul DB con diagnostica errori ed evitando spurie sul DB
- ottenuto *Salvataggio cRac su DB.cs*
- richiesto come leggere un racconto
- ottenuto *GetRaccontoById.cs*
- richiesto: ragruppiamo le funzioni di helper su un file Helper.cs e quelle di lettura/scrittura sul DB sul file DB.cs
- ottenuto *Helper.cs* e *DB.cs*
- richiesto: facciamo le ricerche avanzate per titolo, tag, autore, data di creazione, sorgente
- ottenuta la nuova versione di *Aggiornamento 1 di DB.cs*
- richiesto come eliminare un racconto dal DB
- ottenuta la nuova versione di *Aggiornamento 2 di DB.cs*
- richiesto: come ricercare racconti duplicati
- ottenuto spunti di ricerca salvati in *Ricerca duplicati.cs*
- richiesto come fare il merge di racconti duplicati
- ottenuto *merge.cs*
- richiesto delle idee per la UI
- ottenuto il file *UI_idee.md*
- richiesto un esempio di esportazione di un racconto in html con stile
- ottenuto: *export.cs*
- Testata procedura e sembra corretta, ma diagnostica non corretta
- Manca navigazione per selezione della cartella.
ToDo:
- Aggiungere gestione parallela della FIFO secondo vecchi modello per aumentare il feedback alla UI
- Inserire anche l'estrazione dei racconti
- Per ora metto tutto il DB in memoria, poi dovrò ottimizzare come su ATDB
- Testata procedura per estrarre un racconto da un file.
- Testata procedura per salvare un racconto sul DB
- Inserito pulsante per far partire l'importazione su un singolo thread secondario
ToDo:
- Aggiungere gestione parallela della FIFO secondo vecchi modello per aumentare il feedback alla UI
- Inserire anche l'estrazione dei racconti
- Per ora metto tutto il DB in memoria, poi dovrò ottimizzare come su ATDB
- Inserito nel DB le tabelle per l'archivio dei racconti
- Inserito gestione in memoria del DB (manca ottimizzazione lasciando l'archivio su file come fatto per ATDB)
- Inserito classe cRac per rappresentare un racconto
ToDo:
- Aggiungere gestione parallela della FIFO secondo vecchi modello per aumentare il feedback alla UI
- Inserire anche l'estrazione dei racconti
- Per ora metto tutto il DB in memoria, poi dovrò ottimizzare come su ATDB
Compilata da CSiCoAlm il 2025/12/27
Gestione dell'autenticazione sul sito A69
Impostato lavoro in parallelo
ToDo:
- Aggiungere gestione parallela della FIFO secondo vecchi modello per aumentare il feedback alla UI
- Inserire anche l'estrazione dei racconti
i link vengono analizzati più volte, per evitarlo devo anticipare il check sul link prima di inserirlo sulla fifo farlo così:
- Se url non nel DB, lo inserisco in FIFO con ToDownload
- Se url nel DB:
- se è un Idx, con data di update precedente di un giorno, lo inserisco in FIFO con ToDownload per qualsiasi status
- se è un Rac, con data di update precedente di un giorno, lo inserisco in FIFO con ToDownload solo se ha status non Done
ToDo:
- Aggiungere gestione parallela
- Aggiungere analisi di quanto downloadato per estrarre altri link e proseguire con lo skraping
- Aumentare i log in modo da tenere traccia di quanto succede
- Animare la UI in modo da far capire cosa succede
- Inserito il servizio di Crawler che gestisce la coda dei link
- Test inserendo un unico link di partenza e 9 thread paralleli
- Problema che scarica più colte alcuni file.
- DA RIVEDERE ABILITAZIONE DEL LINK per evitare doppioni
ToDo:
- Aggiungere gestione parallela
- Aggiungere analisi di quanto downloadato per estrarre altri link e proseguire con lo skraping
- Aumentare i log in modo da tenere traccia di quanto succede
- Animare la UI in modo da far capire cosa succede
- Testata estrazione die link alle pagine di indice
- Testata estrazione dei link ai racconti
- iniziato ad inserire un service per la gestione parallela.
ToDo:
- Aggiungere gestione parallela
- Aggiungere analisi di quanto downloadato per estrarre altri link e proseguire con lo skraping
- Aumentare i log in modo da tenere traccia di quanto succede
- Animare la UI in modo da far capire cosa succede
- creato client che gestisce l'autenticazione asincrona al sito.
- Test di download delle pagine libere
- Test di download delle pagine protette
ToDo:
- Aggiungere gestione parallela
- Aggiungere analisi di quanto downloadato per estrarre altri link e proseguire con lo skraping
- Aumentare i log in modo da tenere traccia di quanto succede
- Animare la UI in modo da far capire cosa succede
Compilata da CSiCoAlm il 2025/12/24 per rivedere il progetto, perchè ora
il sito richiede autenticazione. Senza autenticarsi, si vedono solo le pagine
iniziali degli indici e quindi si riescono a raggiungere solo i racconti di cui
si conosce il link.
- Corretto il path di test dell'applicazione
- Rivisto il codice per fare punto di partenza sul nuovo sviluppo
- Corretto creazione nuovo DB quando manca (creata cartella se non esiste)
- Aggiunto salvataggio degli indici per facilitare analisi e nuovo sviluppo
Compilata da CSiCoAlm il 2022/09/22
- Versione in cui ho sostituito l'oggetto WebBrowser con
la classe WebClient per poter gestire in parallelo i download.
Compilata da CSiCoAlm il 2022/09/21
- Tornato alla versione precedente (0.2.0.1) perchè in parallelo, si raggiunge il limite di download del sito che chiede il login per continuare.
- la richiesta di login tramite il sito "https://www.annunci69.it/accedi.php?nop" porta i seguenti problemi:
- il link non è riconosciuto e non lo utilizzo
- i download si bloccano e quindi anche se dò il comando di stop, non riesco a chiudere perchè non vi è più l'evento Wb_DocumentCompleted.
- Per risolvere i problemi, come primo tentativo elimino il link di log dal download
Compilata da CSiCoAlm il 2022/09/21
- Compilato sul nuovo PC
- Corretto anomalia del doppio evento Wb_DocumentCompleted,
che mi portava a perdere il download dei link pari.
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
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.
Compilata da CSiCoAlm il 2021/10/27
- Inserito l'importazione di link (solo Idx o Rac di A69) da file di testo.
- Corretto Load/Save degli elenchi sul DB