Tagsistant - Organizzare i propri files in tag

Segnalazioni di pacchetti utili, richieste di creazione pacchetti e supporto tecnico
Rispondi
Avatar utente
Ninquitassar
Little John
Messaggi: 1085
Iscritto il: 16 settembre 2011, 21:07
Architettura: x86_64 (64bit)
Località: 127.0.0.1

Tagsistant - Organizzare i propri files in tag

Messaggio da Ninquitassar » 23 ottobre 2013, 13:30

Molti di voi, come me, si sono scontrati (o si scontreranno prima o poi) con il problema "sovraffollamento" da files. I nostri documenti crescono in continuazione, tra scuola, lavoro, interessi personali e prima o poi si corre il rischio di smarrirsi.

A questo punto cosa fare? Certo, mettere in ordine le directory può essere una via (mettendo in conto comunque che prima o poi il problema si ripresenterà). Chi però come me si trova ad avere a che fare con centinaia di pdf, relazioni di conferenze e quant'altro, sa che questo può non essere sufficiente a garantirci di reperire con velocità proprio quel file che mi serve. Ok, posso fare una directory "Articoli": ma come trovare quell'articolo tra centinaia di altri? Forse la via più comoda è quella del tag.

Per settimane ho cercato qualcosa che mi aiutasse e alla fine ho trovato questo progetto: Tagsistant.

L'idea è, a mio avviso, semplice quanto geniale: non usare altro che i comandi mkdir (per creare i tag), cp (per taggare) ed ls (per cercare). Se leggete l'HowTo vi illustrerà le grandi potenzialità di questo strumento. Vista l'estrema chiarezza e l'esaustività del sito del progetto, mi prendo la licenza di non approfondire oltre e di rimandarvi ad essa.

:?: Che ne pensate? Vi pare una soluzione utile? In cosa potrebbe migliorare?

:!: Una domanda a cui non riesco a rispondere
Il tool supporta l'autotagging, come illustrato qui. Non riesco a capire però come creare e dove piazzare i plugin che si basano su libextractor. Poter usufruire di questa funzionalità sarebbe utilissimo per esempio riguardo alle date. Capite che creare un tag per ogni anno diventa macchinoso e non molto funzionale. Qualcuno è in grado di aiutarmi?
CPU: Intel Core i5-4460 (3.20GHz) Video: NVIDIA GeForce GT610 RAM: 8Gb Kingston DDR3
OS: Arch x86_64 + i3 + GTK+
My DeviantART

Tx0
Newbie
Messaggi: 1
Iscritto il: 25 ottobre 2013, 14:37

Re: Tagsistant - Organizzare i propri files in tag

Messaggio da Tx0 » 25 ottobre 2013, 15:01

Il supporto per libextractor è già presente in Tagsistant dalla versione 0.7 e i metadati vengono estratti automaticamente dai file ogni volta che questi vengono copiati dentro Tagsistant. Ciascuna coppia chiave=valore viene trasformata in una tag chiave:valore che viene quindi attribuita al file in oggetto.

L'architettura attuale prevede che per ogni mime/type venga dichiarato uno o più plugin. Al momento esistono plugin per:
  • image/gif
    image/jpeg
    text/html
    audio/mpeg
    application/ogg
    image/png
    application/xml
Non è necessario scrivere un plugin se ne esiste già uno per il tipo MIME relativo. Lo scopo dei plugin è quello di scremare l'output di libextractor (che può essere davvero massiccio) eventualmente integrandolo con altre fonti di dati. La scrematura dei metadati viene eseguita applicando una regular expression a ciascuna chiave estratta da libextractor. La regular expression può essere personalizzata dall'utente nel file repository.ini presente dentro il repository in uso. Per esempio il plugin per image/jpeg usa di default:

Codice: Seleziona tutto

[mime:image/jpeg]
filter=^(size|orientation)$
In pratica solo la dimensione e l'orientamento sono tag valide, a meno che l'utente non personalizzi questa regular expression. Il plugin è definito nel file src/plugins/tp_jpeg.c. Come tutti i plugin implementa un'interfaccia molto semplice: tagsistant_plugin_init(), tagsistant_processor(qtree, keywords) e tagsistant_plugin_free(). Nella init la regular expression diventa un oggetto GRegex. Il tagging vero e proprio avviene in tagsistant_processor() dove le info provenienti da libextractor vengono vagliate ed eventualmente applicate con la chiamata:

Codice: Seleziona tutto

tagsistant_plugin_iterator(qtree, keywords, rx);
qtree descrive il percorso del file che viene taggato mentre keywords è un array di coppie (chiave, valore). rx infine è l'oggetto GRegex per filtrare le chiavi. Il plugin però non si limita a questa chiamata e applica una ulteriore tag "image" con l'istruzione:

Codice: Seleziona tutto

tagsistant_sql_tag_object(qtree->dbi, "image", qtree->inode);
Questo è un esempio di tagging eseguito automaticamente ma non necessariamente su input di libextractor. La tag "image" avrebbe potuto provenire da una qualsiasi fonte arbitraria (web service, file CSV, ...)

Se pensi che manchino informazioni sul sito, fammelo sapere così provvedo a integrarle. In effetti l'howto sulla scrittura di plugin deve essere aggiornato per la versione 0.7.
grazie.

Rispondi