venerdì 29 aprile 2011

Script ListDocSaver.py (facciamo un pò di ordine ... o quasi)


Ciao a tutti, sì sono stato maleducato nel post precedente a
non scusarmi...
Quindi chiedo scusa a tutti i lettori, per l'assenza prolungata dei mesi scorsi,
chiaramente causata da un periodo lavorativo molto impegnativo che di fatto mi ha portato via tempo e forze
per tener aggiornato il blog... bla bla bla..

Vorrei per farmi perdonare, un piccolo script che ho fatto per far pratica con Python che potrebbe interessare a qualcuno :) ..

Piccola premessa .... occorre una versione precedente alla 3.0...
Negli ultimi anni io, ma come tanti altri ho caricato il pc (vecchio e nuovo),  hard disk, pennette... cd e dvd di software, musica, video, documenti ecc...

Il problema è che a distanza di tempo ci si ritrova a porsi una domanda tipo :
cavolo mo' su quale Dvd ho salvato la canzone "Whole Lotta Love" dei Led Zeppelin?

GRRRR !!! Eh... appunto :

Trovare una canzone che non si ascolta da tempo, un video, un programma ecc...
su dvd/cd/HD ecc .. può diventare stressante...
Un pò di meno, se si elenchi per esempio, il contenuto di un Dvd masterizzato in precedenza su un file di testo.

Un semplicissimo file di testo dove, il più semplice Ctrl+F può diventare prezioso.

Per permettere allo script di accettare argomenti, si utilizza il modulo sys, opportunamente passato al metodo main (alla fine dello script):



Per rendere possibile la lettura degli argomenti  si deve importare il modulo getopt, con cui è appunto possibile stabilire il comportamento dello script in base al/ai parametri passati.

In questo script mi limito a gestire un solo parametro (-p e la sua versione estesa --path) e in alternativa i parametri -h (help) e -d (debug).

Senza dilungarmi troppo, provo a prendere i parametri, se qualcosa va storto mostro __doc__ (l'help), altrimenti passo al metodo popolaFileLog il valore del di -p
il risultato è il seguente :


Vengo infine al metodo popolaFileLog a cui appunto viene passato il percorso della directory (o dell'unità).
Piccola premessuccia, all'inizio dello script imposto la directory dove voglio salvare i file di testo creati, qui chiaramente ognuno dovrà impostare la directory scelta. ad esempio :
defaultPath='/home/nomeutente/Documenti/DVD-CD/'

Come lavora il metodo popolaFileLog..
Crea innanzitutto una lista in base al percorso passato... splittando il percorso con il carattere '/'
chiaramente a me interessa solamente il nome della directory e/o il nome dell'unità che per chi non lo sapesse su ubuntu solitamente viene mappata sotto /media/nomeUnita.

Poniamo ad esempio che ho passato allo script il percorso /media/mp3110428001 (dove mp3110428001 è l'etichetta assegnata al dvd/cd in fase di masterizzazione),
la lista ottenuta con il il metodo split sarà in questo caso
 ['', 'media', 'mp3110428001']
come detto mi interessa in questo caso mp3110428001, ma non sapendo (almeno quando si tratta di path di subdirectory) quanti elementi possa avere la lista ...
la inverto con il metoro reverse() che mi permetterà di avere il valore che mi interessa con lista[0] :


quindi compongo il path completo del file che andrò a creare che sarà così composto :


io ho usato la dicitura 'Contenuto'... ma ci si può mettere ciò che si vuole nel nostro caso il valore di pathFile sarà :

/home/nomeutente/Documenti/DVD-CD/Contenutomp3110428001.txt

a questo punto bisogna innanzitutto aprire il file in scrittura con

'w' sta per scrittura appunto :P

non ci rimane altro che sfogliare tutti i files, directory e subdirectory e scriverli nel file di testo ...
per memorizzare path, directory e files si utilizza il metodo walk del modulo os
e scorrere il tutto :

(nel mio caso ho lasciato anche subdirs per un eventuale uso ) chiaramente andando a capo ad ogni occorrenza trovata (con \n) ... chiaramente per ora non l'abbiamo nemmeno "toccato" il file... :)
per farlo bisogna "chiuderlo" con :
il metodo al completo sarà Richiamando quindi da riga di comando così : mi ritroverò nel file
/home/nomeutente/Documenti/DVD-CD/Contenutomp3110428001.txt dati tipo :
...
...
/media/MP3110428001/Led Zeppelin II/01 Whole Lotta Love.mp3
/media/MP3110428001/Led Zeppelin II/02 What is and What Should Never Be.mp3
/media/MP3110428001/Led Zeppelin II/03 The Lemon Song.mp3
/media/MP3110428001/Led Zeppelin II/04 Thank You.mp3
/media/MP3110428001/Led Zeppelin II/05 Heartbreaker.mp3
/media/MP3110428001/Led Zeppelin II/06 Living Loving Mad.mp3
/media/MP3110428001/Led Zeppelin II/07 Ramble On.mp3
/media/MP3110428001/Led Zeppelin II/08 Moby Dick.mp3
/media/MP3110428001/Led Zeppelin II/09 Bring It On Home.mp3
...
...
Cosicché la prossima volta potrò trovare, ad esempio la canzone che mi interessa più rapidamente...:)
per finire riporto il sorgente completo dello script ListDocSaver.py
Chiaramente, non nascondo che vorrei utilizzare questo script come base di partenza, magari per una classe di un futuro applicativo... magari pure con un qualche sorta di GUI grafica.. chissà! :D :D chiaramente attendo consigli e curiosità... che ho tanto da imparare :P

giovedì 28 aprile 2011

Apt-Fast e apt-get vola!

Far volare il download dei pacchetti tramite apt è possibile,
tramite questo strumentino molto interessante saremo in gradi di effettuare il download addirittura 26 volte più velocemente (secondo le dichiarazioni dell'autore)... come facciamo ?
Detto fatto :
da terminale ...



Et voilà ! :))

lunedì 17 gennaio 2011

SwiftBoot un OS Embedded che parte in 1 secondo!!!

Mamma mia ragazzi !!
Sai che figura ce farebbero gli altri se tutti gli OS linux-like seguissero l'esempio di questo :




Questo grazie ad un team di ingenieri di MPC Data...
Giudicate voi!!

venerdì 7 gennaio 2011

Scimmie Impazzite su Youtube!?!


Non è che sia un vero e proprio post, ma sto ridendo tuttora, e non potevo non rigirare sta curiosità..

Andate su Youtube, cliccate su un video qualsiasi e cambiate nell'URL il parametro list magari togliete o aggiungete caratteri  ed il messaggio di errore sarà ( :D :D :D) : 

500 Internal Server Error

Spiacenti, si è verificato un errore.

Abbiamo già provveduto a inviare in ricognizione una squadra di scimmie altamente addestrate per risolvere il problema
.

martedì 4 gennaio 2011

Tema per Chromium : Cloud on Colosseum




Ehilà!!!!
Lo so, lo ammetto, sono stato poco presente ultimamente, ma in parte per il carico di lavoro, e un pò, perché vi confido che sto preparando un tutori... no ! non ve lo dico :P ;) .

Vabbè prima di tutto Buon Anno a tutti !

Dopo aver verificato questi giorni, il successo dello sfondo che pubblicai qualche mese fa http://gli-artigli-della-lince.blogspot.com/2010/10/gimp-gmic-un-quadro-del-colosseo.html, su Wallpaperswide.com,
mi è venuto in mente ... perché non fare un tema per Chromium ad hoc?..
Ed eccolo quà! Tuuuttooo grigio (proprio come la giornata odierna.... dai n'artri 5-6 mesi ed è estate :OOO 'mazza quanti :(  :D ), chiaramente, con toolbar, icone ecc.. a tema.

Questa è la prima versione, ma conto, di farne una successiva, magari sfumando il background iniziale su un nero, per rendere più visibili le scritte, cmq per ora posto questo, chiaramente essendo un google developer ... e aggiungo avendo sborsato 5 euri ( :D) qualche mese fa ... senza uplodarlo a destra e manca... l'ho pubblicato direttamente nell'Extensions gallery di Chromium.
Ecco il link : Cloud on Colosseum

ciao belli

lunedì 20 dicembre 2010

Federica - Alla faccia dell'open source

Leggere queste cose, soprattutto di lunedì mattina
è veramente una mazzata ....

Non è possibile che da istituzioni, come quella che può essere un'università, si limiti  l'informazione, ma ancora di più in questo caso, la possibilità di imparare, agli studenti perché si realizzano sistemi non compatibili con Linux.

L'artefice di questa genialata è l'Università di Napoli Federico II, che ha avuto la splendida idea di realizzare una piattaforma (appunto chiamata Federica) di e-learning dove poter rivedere i video dei corsi e testi informativi vari, con un solo "piccolo dettaglio",
la piattaforma è solo per Windows e Mac OS X, alla faccia del diritto allo studio....!

Fonte : Opensource.it

venerdì 3 dicembre 2010

Wikileaks oscurato



Alla fine in un modo o nell'altro, qualcuno doveva muoversi, a farlo è stato proprio EveryDNS.net noto provider di domini gratuiti, che ha oscurato il dominio di Wikileaks,  colpevolizzando i continui attacchi DDOS sotto cui il domino era soggetto.
Che secondo il provider mettevano a rischio la sicurezza degli altri domini, una delle clausole di contratto dei clienti del provider obbliga proprio a non interferire con gli altri domini (in termini di ostacolo del servizio).

Ma in realtà l'oscuramento è teorico, visto che puntando all'indirizzo IP è possibile vedere il sito ... i
Mah!