Devo rivedere un sacco di cose su olifant, ci sono tante cose in arretrato. A breve mi rifaccio vivo su questi schermikokito » [url=http://forum.ubuntu-it.org/viewtopic.php?p=4164342#p4164342]40 minuti fa[/url] ha scritto:beh questo ci semplificherebbe le cose! sentiamo se i programmatori cosa ne pensano
[Progetto] [Olifant] programma antifurto pc!
Regole della sezione
Questa sezione ha lo scopo di raccogliere le iniziative/progetti della nostra Comunità legati ad Ubuntu. I progetti ospitati nascono da iniziative degli utenti o gruppi di utenti. In futuro i progetti potrebbero rimanere iniziative "personali" o essere integrate nella distribuzione, sponsorizzate da Ubuntu o da Canonical a discrezione dei responsabili. All'interno di essa sarà possibile inserire delle discussioni che hanno la funzione di pubblicizzare avvenimenti, iniziative e progetti software su Ubuntu e GNU/Linux in generale. Sarà inoltre possibile per gli utenti proporre lo sviluppo di nuovi software e in questo caso la discussione di richiesta avrà la funzione di generare un requisito funzionale del prodotto da sviluppare.
Sezione I - Iniziative
Questa sezione ha lo scopo di raccogliere le iniziative/progetti della nostra Comunità legati ad Ubuntu. I progetti ospitati nascono da iniziative degli utenti o gruppi di utenti. In futuro i progetti potrebbero rimanere iniziative "personali" o essere integrate nella distribuzione, sponsorizzate da Ubuntu o da Canonical a discrezione dei responsabili. All'interno di essa sarà possibile inserire delle discussioni che hanno la funzione di pubblicizzare avvenimenti, iniziative e progetti software su Ubuntu e GNU/Linux in generale. Sarà inoltre possibile per gli utenti proporre lo sviluppo di nuovi software e in questo caso la discussione di richiesta avrà la funzione di generare un requisito funzionale del prodotto da sviluppare.
Sezione I - Iniziative
- Fanno parte di iniziative, ad esempio, le seguenti categorie: corsi, progetti editoriali, libri.
- La segnalazione di un'iniziativa avviene creando una discussione con l'annuncio.
- Una volta effettuata la segnalazione, la discussione viene chiusa dal Gruppo Forum.
- Se l'iniziativa esposta comporta un costo di adesione o fruizione, questo deve essere esplicitamente riportato all'interno della discussione.
- È obbligatorio segnalare all'interno della discussione i riferimenti per poter contattare/partecipare all'iniziativa.
- La segnalazione di un progetto software, come per le iniziative, avviene e si sviluppa all'interno di una singola discussione.
- Sarà consentito l'inserimento di software solo se rilasciati sotto licenza GPL (in tutte le sue versioni) o equivalente FOSS, tale da garantire agli utenti l'utilizzo del prodotto senza restrizioni e agli sviluppatori la proprietà intellettuale del codice prodotto.
- Nell'oggetto della discussione dovrà essere riportata la categoria (es. [Iniziativa], [Progetto] o [Proposta]) e una semplice descrizione del progetto.
- Se il progetto ha già un sito che lo ospita sarà a discrezione del Gruppo Forum chiuderla come segnalazione o lasciarla aperta.
- Se il progetto non ha un sito che lo ospita si potranno aprire due discussioni, una per proporre modifiche/implementazioni (dove nel titolo occorre specificare [sviluppo]) ed una per segnalare problemi (e nel titolo dovrà comparire [supporto]).
- Non è consentita l'apertura di nuove discussioni in riferimento a versioni superiori o modificate di un prodotto già riportato in precedenza.
- Se il software oggetto del progetto ha una dimensione non superiore ai 128 kB, per prodotti che non hanno un sito che li ospita, sarà possibile allegarlo alla discussione.
- Una proposta deve essere eseguita e si svilupperà all'interno di una singola discussione.
- Le proposte dovranno essere inserite direttamente nella sezione "Progetti della Comunità".
- Dovranno essere specificate le funzionalità che devono essere sviluppate.
- Non dovranno essere riportate diciture tipo "...deve fare come questo software...", ma indicare nel miglior modo possibile i requisiti.
- Una volta segnalata la discussione resterà aperta per consentire uno scambio di idee su come sviluppare il codice o finché gli sviluppatori non forniranno una soluzione (da pubblicizzare poi, come visto prima, nella sezione Progetti) che ne soddisfi il requisito.
- cristian_c
- Accecante Asceta
- Messaggi: 23422
- Iscrizione: lunedì 29 ottobre 2007, 11:31
Re: [Progetto] [Olifant] programma antifurto pc!
- davideddu
- Entusiasta Emergente
- Messaggi: 1546
- Iscrizione: martedì 2 novembre 2010, 20:35
- Desktop: Unity
- Distribuzione: Ubuntu 14.04 AMD64
- Località: Pennsylvania, Stati Uniti
- Contatti:
Re: [Progetto] [Olifant] programma antifurto pc!
Mi intronmetto...
Penso che onboard sia molto meno sicura di una tastiera integrata nel programma, dato che i tasti premuti possono essere interpretati da un keylogger...
Penso che onboard sia molto meno sicura di una tastiera integrata nel programma, dato che i tasti premuti possono essere interpretati da un keylogger...
Computer HP Probook 4510s CPU Intel Pentium Dual-Core T4400 Video Intel GMA 4500 Tablet ASUS Nexus 7 2013 (Wi-Fi)
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
- kokito
- Scoppiettante Seguace
- Messaggi: 994
- Iscrizione: sabato 16 dicembre 2006, 18:25
- Località: si
- Contatti:
Re: [Progetto] [Olifant] programma antifurto pc!
Davideddu » [url=http://forum.ubuntu-it.org/viewtopic.php?p=4164930#p4164930]23/08/2012, 15:45[/url] ha scritto:Mi intronmetto...
Penso che onboard sia molto meno sicura di una tastiera integrata nel programma, dato che i tasti premuti possono essere interpretati da un keylogger...
ok ma per visionare il log il ladro dovrebbe aver accesso al pc, giusto?
- davideddu
- Entusiasta Emergente
- Messaggi: 1546
- Iscrizione: martedì 2 novembre 2010, 20:35
- Desktop: Unity
- Distribuzione: Ubuntu 14.04 AMD64
- Località: Pennsylvania, Stati Uniti
- Contatti:
Re: [Progetto] [Olifant] programma antifurto pc!
E probabilmente anche di root: di default linux keylogger mi pare che salvi l'output o su /var/log o su /etc...kokito » [url=http://forum.ubuntu-it.org/viewtopic.php?p=4166751#p4166751]sabato 25 agosto 2012, 15:15:56[/url] ha scritto:Davideddu » [url=http://forum.ubuntu-it.org/viewtopic.php?p=4164930#p4164930]23/08/2012, 15:45[/url] ha scritto:Mi intronmetto...
Penso che onboard sia molto meno sicura di una tastiera integrata nel programma, dato che i tasti premuti possono essere interpretati da un keylogger...
ok ma per visionare il log il ladro dovrebbe aver accesso al pc, giusto?
In ogni caso dovrebbe aver usato chroot da una live per installare lkl e creare il servizio all'avvio... Un ladro non penso che riporti il pc dal padrone dopo aver messo un keylogger...
Computer HP Probook 4510s CPU Intel Pentium Dual-Core T4400 Video Intel GMA 4500 Tablet ASUS Nexus 7 2013 (Wi-Fi)
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
- kokito
- Scoppiettante Seguace
- Messaggi: 994
- Iscrizione: sabato 16 dicembre 2006, 18:25
- Località: si
- Contatti:
Re: [Progetto] [Olifant] programma antifurto pc!
appunto, per questo non capisco la tua osservazione! in che senso sarebbe meno sicura? (ammesso che al ladro interessi rubare il pc e non dati etc etc)
- davideddu
- Entusiasta Emergente
- Messaggi: 1546
- Iscrizione: martedì 2 novembre 2010, 20:35
- Desktop: Unity
- Distribuzione: Ubuntu 14.04 AMD64
- Località: Pennsylvania, Stati Uniti
- Contatti:
Re: [Progetto] [Olifant] programma antifurto pc!
Potrebbe in qualche modo accedere alla password digitata. è molto semplice con grub accedere a una shell root con privilegi completi: basta accedere all'elenco degli OS, premere "e", andare nella linea del kernel (che comincia con linux) e sostituire alla fine "ro quiet splash" con "rw init=/bin/bash", che invece di avviare normalmente il sistema avvia solo bash (senza rete). Con un semplice "cat /var/log/keys.log | tail" si ottiene la password. Per questo vi dicevo che è importante impostare la password al GRUB/BURG al blocco del PC...kokito » [url=http://forum.ubuntu-it.org/viewtopic.php?p=4169606#p4169606]martedì 28 agosto 2012, 17:22:42[/url] ha scritto:appunto, per questo non capisco la tua osservazione! in che senso sarebbe meno sicura? (ammesso che al ladro interessi rubare il pc e non dati etc etc)
Computer HP Probook 4510s CPU Intel Pentium Dual-Core T4400 Video Intel GMA 4500 Tablet ASUS Nexus 7 2013 (Wi-Fi)
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
- cristian_c
- Accecante Asceta
- Messaggi: 23422
- Iscrizione: lunedì 29 ottobre 2007, 11:31
Re: [Progetto] [Olifant] programma antifurto pc!
@Davideddu,
sono riuscito a implementare la soluzione che avevi escogitato qui: http://forum.ubuntu-it.org/viewtopic.ph ... 0#p4112127
In pratica, ora riesco a mantenere il focus sulla textbox anche quando premo i bottoni. In questo modo, il numero relativo al bottone premuto va a finire tra i caratteri della password digitato, come ci si dovrebbe aspettare
L'unico dubbio è se inserire il focus nel metodo init della finestra di dialogo, o nel set_properties. Oppure ancora fuori dai metodi in cima alla classe
sono riuscito a implementare la soluzione che avevi escogitato qui: http://forum.ubuntu-it.org/viewtopic.ph ... 0#p4112127
In pratica, ora riesco a mantenere il focus sulla textbox anche quando premo i bottoni. In questo modo, il numero relativo al bottone premuto va a finire tra i caratteri della password digitato, come ci si dovrebbe aspettare
L'unico dubbio è se inserire il focus nel metodo init della finestra di dialogo, o nel set_properties. Oppure ancora fuori dai metodi in cima alla classe
- davideddu
- Entusiasta Emergente
- Messaggi: 1546
- Iscrizione: martedì 2 novembre 2010, 20:35
- Desktop: Unity
- Distribuzione: Ubuntu 14.04 AMD64
- Località: Pennsylvania, Stati Uniti
- Contatti:
Re: [Progetto] [Olifant] programma antifurto pc!
Non pensavo che questo progetto fosse ancora attivo... Sono contento che tu ci sia riuscitocristian_c [url=http://forum.ubuntu-it.org/viewtopic.php?p=4421115#p4421115][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:@Davideddu,
sono riuscito a implementare la soluzione che avevi escogitato qui: http://forum.ubuntu-it.org/viewtopic.ph ... 0#p4112127
In pratica, ora riesco a mantenere il focus sulla textbox anche quando premo i bottoni. In questo modo, il numero relativo al bottone premuto va a finire tra i caratteri della password digitato, come ci si dovrebbe aspettare
L'unico dubbio è se inserire il focus nel metodo init della finestra di dialogo, o nel set_properties. Oppure ancora fuori dai metodi in cima alla classe
Io comunque GTK l'ho mollato, mi ha rotto veramente le scatole! Sono passato a Kivy, dovreste provarlo
Comunque ricordo che avevate dei problemi con la sirena... adesso che ci penso ho provato un programma di antifurto, Prey, che non è nient'altro che uno script bash eseguito all'avvio che controlla periodicamente il server per vedere cosa deve fare. Tra le azioni possibili ci sono un blocco dello schermo (penso usi la schermata di blocco standard), una sirena a tutto volume che non si riesce proprio a spegnere (il bello è che non parte subito, quindi tu dici "non funziona" e ti metti a fare altro, e quando meno te lo aspetti ti fa saltare dalla sedia come se uscisse la bambina di "the ring" dallo schermo ), e operazioni più elementari come il blocco dello schermo. Se voi riusciste a implementare anche il blocco completo del bootloader sarebbe perfetto
Computer HP Probook 4510s CPU Intel Pentium Dual-Core T4400 Video Intel GMA 4500 Tablet ASUS Nexus 7 2013 (Wi-Fi)
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
- cristian_c
- Accecante Asceta
- Messaggi: 23422
- Iscrizione: lunedì 29 ottobre 2007, 11:31
Re: [Progetto] [Olifant] programma antifurto pc!
Beh, non è proprio corretto parlare di gtk: http://en.wikipedia.org/wiki/WxWidgetsIo comunque GTK l'ho mollato, mi ha rotto veramente le scatole! Sono passato a Kivy, dovreste provarlo ; - )
Tutto molto interessanteComunque ricordo che avevate dei problemi con la sirena... adesso che ci penso ho provato un programma di antifurto, Prey, che non è nient'altro che uno script bash eseguito all'avvio che controlla periodicamente il server per vedere cosa deve fare. Tra le azioni possibili ci sono un blocco dello schermo (penso usi la schermata di blocco standard), una sirena a tutto volume che non si riesce proprio a spegnere (il bello è che non parte subito, quindi tu dici "non funziona" e ti metti a fare altro, e quando meno te lo aspetti ti fa saltare dalla sedia come se uscisse la bambina di "the ring" dallo schermo : - D), e operazioni più elementari come il blocco dello schermo. Se voi riusciste a implementare anche il blocco completo del bootloader sarebbe perfetto : - D
Comunque, ho già riscontrato un problema: se avvio il programma e poi chiudo la finestra del tastierino numerico, ottengo nel terminale l'errore:
Codice: Seleziona tutto
Traceback (most recent call last):
File "gui.py", line 142, in OnLockClick
pwd = passdlg.getPasswd()
File "gui.py", line 293, in getPasswd
if passwd != conf_passwd:
NameError: global name 'passwd' is not defined
Qualche idea?
- davideddu
- Entusiasta Emergente
- Messaggi: 1546
- Iscrizione: martedì 2 novembre 2010, 20:35
- Desktop: Unity
- Distribuzione: Ubuntu 14.04 AMD64
- Località: Pennsylvania, Stati Uniti
- Contatti:
Re: [Progetto] [Olifant] programma antifurto pc!
Ah ok giusto, bastacristian_c [url=http://forum.ubuntu-it.org/viewtopic.php?p=4421515#p4421515][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Beh, non è proprio corretto parlare di gtk: http://en.wikipedia.org/wiki/WxWidgetsIo comunque GTK l'ho mollato, mi ha rotto veramente le scatole! Sono passato a Kivy, dovreste provarlo ; - )
Tutto molto interessanteComunque ricordo che avevate dei problemi con la sirena... adesso che ci penso ho provato un programma di antifurto, Prey, che non è nient'altro che uno script bash eseguito all'avvio che controlla periodicamente il server per vedere cosa deve fare. Tra le azioni possibili ci sono un blocco dello schermo (penso usi la schermata di blocco standard), una sirena a tutto volume che non si riesce proprio a spegnere (il bello è che non parte subito, quindi tu dici "non funziona" e ti metti a fare altro, e quando meno te lo aspetti ti fa saltare dalla sedia come se uscisse la bambina di "the ring" dallo schermo : - D), e operazioni più elementari come il blocco dello schermo. Se voi riusciste a implementare anche il blocco completo del bootloader sarebbe perfetto : - D
Comunque, ho già riscontrato un problema: se avvio il programma e poi chiudo la finestra del tastierino numerico, ottengo nel terminale l'errore:Eppure, la variabile è definita all'inizio della classeCodice: Seleziona tutto
Traceback (most recent call last): File "gui.py", line 142, in OnLockClick pwd = passdlg.getPasswd() File "gui.py", line 293, in getPasswd if passwd != conf_passwd: NameError: global name 'passwd' is not defined
Qualche idea?
Dove posso scaricare i sorgenti per darvi un'occhiata? Comunque se il resto funziona puoi mettere un try che cattura le eccezioni di tipo NameError e tagli la testa al toro...
EDIT: ehm aspetta, hai detto "all'inizio della classe"...? Che ne diresti di richiamarla con self.passwd e non con passwd, che non esiste?
Computer HP Probook 4510s CPU Intel Pentium Dual-Core T4400 Video Intel GMA 4500 Tablet ASUS Nexus 7 2013 (Wi-Fi)
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
- cristian_c
- Accecante Asceta
- Messaggi: 23422
- Iscrizione: lunedì 29 ottobre 2007, 11:31
Re: [Progetto] [Olifant] programma antifurto pc!
Io avevo già il codice nella mia home Comunque, ho controllato sia launchpad che questo topic e mi sono accorto che l'ultimo upload è stato fatto il 13 maggio del 2012. Credo che il pacchetto beta caricato sia lo stesso di quello linkato qui: http://forum.ubuntu-it.org/viewtopic.ph ... 0#p4078626Ah ok giusto, basta
Dove posso scaricare i sorgenti per darvi un'occhiata? Comunque se il resto funziona puoi mettere un try che cattura le eccezioni di tipo NameError e tagli la testa al toro...
Il fatto è che all'inizio della classe non viene utilizzato il self per quella variabileEDIT: ehm aspetta, hai detto "all'inizio della classe"...? Che ne diresti di richiamarla con self.passwd e non con passwd, che non esiste?
- davideddu
- Entusiasta Emergente
- Messaggi: 1546
- Iscrizione: martedì 2 novembre 2010, 20:35
- Desktop: Unity
- Distribuzione: Ubuntu 14.04 AMD64
- Località: Pennsylvania, Stati Uniti
- Contatti:
Re: [Progetto] [Olifant] programma antifurto pc!
[code2=python]class SettingColor(SettingItem):cristian_c [url=http://forum.ubuntu-it.org/viewtopic.php?p=4421684#p4421684][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Io avevo già il codice nella mia home Comunque, ho controllato sia launchpad che questo topic e mi sono accorto che l'ultimo upload è stato fatto il 13 maggio del 2012. Credo che il pacchetto beta caricato sia lo stesso di quello linkato qui: http://forum.ubuntu-it.org/viewtopic.ph ... 0#p4078626Ah ok giusto, basta!
Dove posso scaricare i sorgenti per darvi un'occhiata? Comunque se il resto funziona puoi mettere un try che cattura le eccezioni di tipo NameError e tagli la testa al toro...
Il fatto è che all'inizio della classe non viene utilizzato il self per quella variabileEDIT: ehm aspetta, hai detto "all'inizio della classe"...? Che ne diresti di richiamarla con self.passwd e non con passwd, che non esiste?
popup = ObjectProperty(None, allownone=True) # <----
textinput = ObjectProperty(None)
# [...]
def _dismiss(self, *largs):
if self.popup: # <----
self.popup.dismiss()
self.popup = None[/code2]
Funziona benissimo
Se definisci una variabile subito dopo il tag "class", questo diventa un attributo di quell'oggetto, ergo dentro le funzioni lo devi richiamare con self.attributo.
Ricordati che "self" non è altro che l'istanza attuale dell'oggetto in questione, e che è solo una convenzione Puoi dargli un nome qualsiasi!
[code2=python]class MyObject(object):
variabile = "ciao"
def __init__(gatto):
gatto.funzione()
def funzione(cane):
print cane.variabile[/code2]
Istanziando l'oggetto MyObject verrà stampato "ciao", anche se al posto di self ho usato due cose diverse in ogni funzione
[code2=python]class MyObject(object):
variabile = "ciao"
def __init__(self):
self.funzione()
def funzione(self):
print self.variabile[/code2]
Questo codice funziona allo stesso modo del precedente!
Computer HP Probook 4510s CPU Intel Pentium Dual-Core T4400 Video Intel GMA 4500 Tablet ASUS Nexus 7 2013 (Wi-Fi)
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
- cristian_c
- Accecante Asceta
- Messaggi: 23422
- Iscrizione: lunedì 29 ottobre 2007, 11:31
Re: [Progetto] [Olifant] programma antifurto pc!
Bravo Davideddu, non ci avevo pensato
Alcune cose, adesso:
- dopo aver digitato la password nel campo 'Choose password', devo attivare il campo 'Confirm password' per poter digitare la conferma. È la soluzione più corretta in termini di usabilità, secondo voi?
- dopo aver digitato la password nel campo 'Choose password', attivo il campo 'Confirm password'. Ma quando premo un qualsiasi bottone del tastierino numerico, viene stampato direttamente tutto insieme un numero di caratteri maggiore di un'unità rispetto a quello digitato in 'Choose password' e non uno soltanto, dato che ho premuto un solo bottone (esempio: se digito la password '1234' nel primo campo e poi, dopo aver attivato il secondo campo, premo il bottone '1', nel secondo campo appare '*****'). Sul terminale, non esce alcun messaggio in proposito
Alcune cose, adesso:
- dopo aver digitato la password nel campo 'Choose password', devo attivare il campo 'Confirm password' per poter digitare la conferma. È la soluzione più corretta in termini di usabilità, secondo voi?
- dopo aver digitato la password nel campo 'Choose password', attivo il campo 'Confirm password'. Ma quando premo un qualsiasi bottone del tastierino numerico, viene stampato direttamente tutto insieme un numero di caratteri maggiore di un'unità rispetto a quello digitato in 'Choose password' e non uno soltanto, dato che ho premuto un solo bottone (esempio: se digito la password '1234' nel primo campo e poi, dopo aver attivato il secondo campo, premo il bottone '1', nel secondo campo appare '*****'). Sul terminale, non esce alcun messaggio in proposito
- davideddu
- Entusiasta Emergente
- Messaggi: 1546
- Iscrizione: martedì 2 novembre 2010, 20:35
- Desktop: Unity
- Distribuzione: Ubuntu 14.04 AMD64
- Località: Pennsylvania, Stati Uniti
- Contatti:
Re: [Progetto] [Olifant] programma antifurto pc!
Certo! Come può un programma indovinare se l'utente ha già finito di scrivere la password oppure no?cristian_c [url=http://forum.ubuntu-it.org/viewtopic.php?p=4422185#p4422185][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Bravo Davideddu, non ci avevo pensato
Alcune cose, adesso:
- dopo aver digitato la password nel campo 'Choose password', devo attivare il campo 'Confirm password' per poter digitare la conferma. È la soluzione più corretta in termini di usabilità, secondo voi?
Aggiungi un tasto in più e collegalo a una funzione che quando premuto stampa il contenuto di confirm password, così puoi vedere se puoi fare aggiustamenti del tipocristian_c [url=http://forum.ubuntu-it.org/viewtopic.php?p=4422185#p4422185][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto: - dopo aver digitato la password nel campo 'Choose password', attivo il campo 'Confirm password'. Ma quando premo un qualsiasi bottone del tastierino numerico, viene stampato direttamente tutto insieme un numero di caratteri maggiore di un'unità rispetto a quello digitato in 'Choose password' e non uno soltanto, dato che ho premuto un solo bottone (esempio: se digito la password '1234' nel primo campo e poi, dopo aver attivato il secondo campo, premo il bottone '1', nel secondo campo appare '*****'). Sul terminale, non esce alcun messaggio in proposito
confirm_passwd.set_text(confirm_passwd.get_text[:-1])
Computer HP Probook 4510s CPU Intel Pentium Dual-Core T4400 Video Intel GMA 4500 Tablet ASUS Nexus 7 2013 (Wi-Fi)
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
- cristian_c
- Accecante Asceta
- Messaggi: 23422
- Iscrizione: lunedì 29 ottobre 2007, 11:31
Re: [Progetto] [Olifant] programma antifurto pc!
Ho aggiunto un bottone Print all'interfaccia. Ma se ripeto il test e poi premo il bottone, sul terminale viene stampato soltanto []Aggiungi un tasto in più e collegalo a una funzione che quando premuto stampa il contenuto di confirm password, così puoi vedere se puoi fare aggiustamenti del tipo
- davideddu
- Entusiasta Emergente
- Messaggi: 1546
- Iscrizione: martedì 2 novembre 2010, 20:35
- Desktop: Unity
- Distribuzione: Ubuntu 14.04 AMD64
- Località: Pennsylvania, Stati Uniti
- Contatti:
Re: [Progetto] [Olifant] programma antifurto pc!
Hai scritto qualcosa nel box di conferma?cristian_c [url=http://forum.ubuntu-it.org/viewtopic.php?p=4422465#p4422465][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Ho aggiunto un bottone Print all'interfaccia. Ma se ripeto il test e poi premo il bottone, sul terminale viene stampato soltanto []Aggiungi un tasto in più e collegalo a una funzione che quando premuto stampa il contenuto di confirm password, così puoi vedere se puoi fare aggiustamenti del tipo
E poi perché ti da una lista?
Mandami il pezzo di codice a cui stai lavorando...
Computer HP Probook 4510s CPU Intel Pentium Dual-Core T4400 Video Intel GMA 4500 Tablet ASUS Nexus 7 2013 (Wi-Fi)
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
- cristian_c
- Accecante Asceta
- Messaggi: 23422
- Iscrizione: lunedì 29 ottobre 2007, 11:31
Re: [Progetto] [Olifant] programma antifurto pc!
Sì, come da test. All'inizio della classe c'è:Hai scritto qualcosa nel box di conferma?
E poi perché ti da una lista?
Mandami il pezzo di codice a cui stai lavorando...
Codice: Seleziona tutto
passwd = []
conf_passwd = []
Codice: Seleziona tutto
def getPasswd(self):
if self.passwd != self.conf_passwd:
showError('Error!','Password and confirmation do not match.')
else:
return ''.join(self.passwd)
Codice: Seleziona tutto
if choice == 0:
passdlg = MyDialog2(self,-1)
passdlg.clearAll() #TODO we need this because of a bug
passdlg.ShowModal()
pwd = passdlg.getPasswd()
- davideddu
- Entusiasta Emergente
- Messaggi: 1546
- Iscrizione: martedì 2 novembre 2010, 20:35
- Desktop: Unity
- Distribuzione: Ubuntu 14.04 AMD64
- Località: Pennsylvania, Stati Uniti
- Contatti:
Re: [Progetto] [Olifant] programma antifurto pc!
cristian_c [url=http://forum.ubuntu-it.org/viewtopic.php?p=4422483#p4422483][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Sì, come da test. All'inizio della classe c'è:Hai scritto qualcosa nel box di conferma?
E poi perché ti da una lista?
Mandami il pezzo di codice a cui stai lavorando...Comunque, penso di aver trovato l'inghippo. La funzione è:Codice: Seleziona tutto
passwd = [] conf_passwd = []
ma nel codice c'è:Codice: Seleziona tutto
def getPasswd(self): if self.passwd != self.conf_passwd: showError('Error!','Password and confirmation do not match.') else: return ''.join(self.passwd)
Il punto è che non so come risolvereCodice: Seleziona tutto
if choice == 0: passdlg = MyDialog2(self,-1) passdlg.clearAll() #TODO we need this because of a bug passdlg.ShowModal() pwd = passdlg.getPasswd()
- Perché "passwd" e "conf_passwd" sono liste e non stringhe?
- Dal codice che hai postato (a meno che tu non ne abbia tolto qualche pezzo) non mi pare che tu stia aggiornando self.passwd con il valore dell'interfaccia, e dal momento che tu non stai usando Kivy devi farlo a mano
- Mi mandi la classe per intero?
Computer HP Probook 4510s CPU Intel Pentium Dual-Core T4400 Video Intel GMA 4500 Tablet ASUS Nexus 7 2013 (Wi-Fi)
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
- cristian_c
- Accecante Asceta
- Messaggi: 23422
- Iscrizione: lunedì 29 ottobre 2007, 11:31
Re: [Progetto] [Olifant] programma antifurto pc!
Sono liste di caratteriPerché "passwd" e "conf_passwd" sono liste e non stringhe?
Questo lavoro lo fa __onKeyClickDal codice che hai postato (a meno che tu non ne abbia tolto qualche pezzo) non mi pare che tu stia aggiornando self.passwd con il valore dell'interfaccia, e dal momento che tu non stai usando Kivy devi farlo a mano
Mi mandi la classe per intero?
Codice: Seleziona tutto
class MyDialog2(wx.Dialog):
passwd = []
conf_passwd = []
def __init__(self, *args, **kwds):
# begin wxGlade: MyDialog2.__init__
kwds["style"] = wx.DEFAULT_DIALOG_STYLE
wx.Dialog.__init__(self, *args, **kwds)
self.choosePswdLabel = wx.StaticText(self, -1, "Choose password", style=wx.ALIGN_CENTRE)
self.choosePswdBox = wx.TextCtrl(self, -1, "", style=wx.TE_PASSWORD)
self.ConfirmPswdLabel = wx.StaticText(self, -1, "Confirm password", style=wx.ALIGN_CENTRE)
self.ConfirmPswdBox = wx.TextCtrl(self, -1, "", style=wx.TE_PASSWORD)
self.KeypadButton_1 = wx.Button(self, -1, "1")
self.KeypadButton_2 = wx.Button(self, -1, "2")
self.KeypadButton_3 = wx.Button(self, -1, "3")
self.KeypadButton_4 = wx.Button(self, -1, "4")
self.KeypadButton_5 = wx.Button(self, -1, "5")
self.KeypadButton_6 = wx.Button(self, -1, "6")
self.KeypadButton_7 = wx.Button(self, -1, "7")
self.KeypadButton_8 = wx.Button(self, -1, "8")
self.KeypadButton_9 = wx.Button(self, -1, "9")
self.KeypadButton_DEL = wx.Button(self, -1, "DEL")
self.KeypadButton_0 = wx.Button(self, -1, "0")
self.KeypadButtonButton_Enable = wx.Button(self, -1, "ENABLE")
self.KeypadButton_Print = wx.Button(self, -1, "PRINT")
self.__set_properties()
self.__do_layout()
# end wxGlade
self.focus = self.choosePswdBox
def __set_properties(self):
# begin wxGlade: MyDialog2.__set_properties
self.SetTitle("dialog_3")
self.SetSize((300, 370))
self.choosePswdLabel.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "Ubuntu"))
self.choosePswdBox.SetMinSize((150, 30))
self.ConfirmPswdLabel.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "Ubuntu"))
self.ConfirmPswdBox.SetMinSize((150, 30))
self.KeypadButton_1.SetMinSize((50, 50))
self.KeypadButton_2.SetMinSize((50, 50))
self.KeypadButton_3.SetMinSize((50, 50))
self.KeypadButton_4.SetMinSize((50, 50))
self.KeypadButton_5.SetMinSize((50, 50))
self.KeypadButton_6.SetMinSize((50, 50))
self.KeypadButton_7.SetMinSize((50, 50))
self.KeypadButton_8.SetMinSize((50, 50))
self.KeypadButton_9.SetMinSize((50, 50))
self.KeypadButton_DEL.SetMinSize((50, 50))
self.KeypadButton_0.SetMinSize((50, 50))
self.KeypadButtonButton_Enable.SetMinSize((50, 50))
self.KeypadButtonButton_Enable.SetFont(wx.Font(7, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
self.KeypadButton_Print.SetMinSize((50, 50))
# end wxGlade
self.choosePswdBox.SetEditable(False)
self.KeypadButton_1.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_2.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_3.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_4.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_5.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_6.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_7.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_8.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_9.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_DEL.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_0.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButtonButton_Enable.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_Print.Bind(wx.EVT_BUTTON,self.__onPrintClick)#,self.button_1_u)
self.choosePswdBox.Bind(wx.EVT_SET_FOCUS, self.__onPswdBoxFocused)
self.ConfirmPswdBox.Bind(wx.EVT_SET_FOCUS, self.__onPswdBoxFocused)
#self.choose_pswd.SetEditable(False)
def __do_layout(self):
# begin wxGlade: MyDialog2.__do_layout
sizerPswdDialog = wx.BoxSizer(wx.VERTICAL)
GridPswdDialog_5 = wx.GridSizer(2, 3, 0, 0)
GridPswdDialog_4 = wx.GridSizer(2, 3, 0, 0)
GridPswdDialog_3 = wx.GridSizer(2, 3, 0, 0)
GridPswdDialog_2 = wx.GridSizer(1, 3, 0, 0)
GridPswdDialog_1 = wx.GridSizer(1, 3, 0, 0)
sizerPswdDialog.Add(self.choosePswdLabel, 0, wx.TOP | wx.ALIGN_CENTER_HORIZONTAL, 10)
sizerPswdDialog.Add(self.choosePswdBox, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 6)
sizerPswdDialog.Add(self.ConfirmPswdLabel, 0, wx.ALIGN_CENTER_HORIZONTAL, 0)
sizerPswdDialog.Add(self.ConfirmPswdBox, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 6)
GridPswdDialog_1.Add(self.KeypadButton_1, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0)
GridPswdDialog_1.Add(self.KeypadButton_2, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0)
GridPswdDialog_1.Add(self.KeypadButton_3, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0)
sizerPswdDialog.Add(GridPswdDialog_1, 1, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 10)
GridPswdDialog_2.Add(self.KeypadButton_4, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0)
GridPswdDialog_2.Add(self.KeypadButton_5, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0)
GridPswdDialog_2.Add(self.KeypadButton_6, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0)
sizerPswdDialog.Add(GridPswdDialog_2, 1, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 10)
GridPswdDialog_3.Add(self.KeypadButton_7, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0)
GridPswdDialog_3.Add(self.KeypadButton_8, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0)
GridPswdDialog_3.Add(self.KeypadButton_9, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0)
sizerPswdDialog.Add(GridPswdDialog_3, 1, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 10)
GridPswdDialog_4.Add(self.KeypadButton_DEL, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0)
GridPswdDialog_4.Add(self.KeypadButton_0, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0)
GridPswdDialog_4.Add(self.KeypadButtonButton_Enable, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0)
sizerPswdDialog.Add(GridPswdDialog_4, 1, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 10)
GridPswdDialog_5.Add(self.KeypadButton_Print, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0)
sizerPswdDialog.Add(GridPswdDialog_5, 1, wx.BOTTOM | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 10)
self.SetSizer(sizerPswdDialog)
self.Layout()
# end wxGlade
def __onKeyClick(self,evt):
button = (evt.GetEventObject()).Label
if not ( (button == 'DEL') or (button == 'ENABLE') ):
self.passwd.append(button)
self.focus.SetValue(''.join(self.passwd))
elif button == 'DEL' and (len(self.passwd)>0):
self.passwd.pop()
self.focus.SetValue(''.join(self.passwd))
else:
self.Close()
def __onPrintClick(self,evt):
print self.conf_passwd
def __onPswdBoxFocused(self, evt):
self.focus = evt.GetEventObject()
def getPasswd(self):
if self.passwd != self.conf_passwd:
showError('Error!','Password and confirmation do not match.')
else:
return ''.join(self.passwd)
def clearAll(self):
self.passwd = []
self.conf_passwd = []
- davideddu
- Entusiasta Emergente
- Messaggi: 1546
- Iscrizione: martedì 2 novembre 2010, 20:35
- Desktop: Unity
- Distribuzione: Ubuntu 14.04 AMD64
- Località: Pennsylvania, Stati Uniti
- Contatti:
Re: [Progetto] [Olifant] programma antifurto pc!
E certo che non funziona! conf_passwd non lo aggiorni da nessuna parte! Dovresti controllare quale casella è in focus, e impostare la variabile corrispondente. Comunque secondo me è meglio una stringa: per aggiungere una lettera anziché "append" usi variabile += lettera, per toglierla usi variabile = variabile[:-1].cristian_c [url=http://forum.ubuntu-it.org/viewtopic.php?p=4422496#p4422496][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Sono liste di caratteriPerché "passwd" e "conf_passwd" sono liste e non stringhe?
Questo lavoro lo fa __onKeyClickDal codice che hai postato (a meno che tu non ne abbia tolto qualche pezzo) non mi pare che tu stia aggiornando self.passwd con il valore dell'interfaccia, e dal momento che tu non stai usando Kivy devi farlo a mano
Mi mandi la classe per intero?Codice: Seleziona tutto
[..]
Alcuni consigli per accorciare il tutto:
[code] self.KeypadButton_1.SetMinSize((50, 50))
self.KeypadButton_2.SetMinSize((50, 50))
self.KeypadButton_3.SetMinSize((50, 50))
self.KeypadButton_4.SetMinSize((50, 50))
self.KeypadButton_5.SetMinSize((50, 50))
self.KeypadButton_6.SetMinSize((50, 50))
self.KeypadButton_7.SetMinSize((50, 50))
self.KeypadButton_8.SetMinSize((50, 50))
self.KeypadButton_9.SetMinSize((50, 50))
# [...]
self.KeypadButton_1.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_2.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_3.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_4.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_5.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_6.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_7.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_8.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)
self.KeypadButton_9.Bind(wx.EVT_BUTTON,self.__onKeyClick)#,self.button_1_u)[/code]
Questo codice è parecchio ridondante: crei una lista e poi imposti tutti i callback e gli attributi con un ciclo for.
[code] if not ( (button == 'DEL') or (button == 'ENABLE') ):[/code]
Pura pignoleria
Le keywords "elif" escludono le precedenti: se consideri prima il caso DEL, poi ENTER, puoi usare else per considerare tutti gli altri casi e cioè i numeri
Computer HP Probook 4510s CPU Intel Pentium Dual-Core T4400 Video Intel GMA 4500 Tablet ASUS Nexus 7 2013 (Wi-Fi)
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
Homepage - GitHub - Dropbox Referral - Copy Referral
Capisci di usare troppi editor di testo quando, cadendoti mezzo chilo di zucchero nel caffè, cerchi disperatamente di premere Ctrl+Z per rimediare...
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 27 ospiti