Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - bambam

Pagine: [1] 2 3
1
Base / Avvio script crontab
« il: Febbraio 25, 2020, 08:53 »
Buon giorno , sto cercando si eseguire un file.py in automatico con crontab senza successo :
 file.py prima line:
#!/usr/bin/env python3
Permessi del file aperti tramite comando terminale: chmod 777 /path/file.py
Sempre terminale: crontab -e
Ho provato le seguenti formule :

20 8 * * * /usr/bin/python3/path/file.py
20 8 * * * python3/path/file.py
20 8 * * * /path/file.py
20 8 * * * python/ path /file.py
20 8 * * * usr/bin/python/path/file.py

Le.sto provando tutte ma sembra non eseguire ... Dico cosi perche all interno del file.py ho attivato una funzione di inoltro e mail e non arrivano mentre inizializzando normalmente funiina tutto a dovere...



2
Base / Re:Consigli su pianificatori/email
« il: Febbraio 22, 2020, 11:24 »
Allora questa mattina ho scooerto che while e tkinter non vanno troppo d accordo , la funzione era impostata correttamente , ho tolto il ciclo
 while true :
E ho inserito alla fine della.funzione il metodo after richiamando la funzione , se checkbotton attivo eseguenla funzione ogni secondo se inattivo non esegue nulla, ora dovrei trovare il modo di gestire l opzione SELECT deselect della.check box sulla base della variabile data.get() ...
E passarla. Tramite funzione all' inizializzazione :
Def init iniziale

Def check control():
If data.get()==0:
    Check.deselect()
    Return
If data.get()!=0:
   Check.select()
   Return
....................................
Nel pomeriggio creeró un database in cui inserire il valore da dedicare alla.variabile data, inserendo nella init la funzione
Def
For row in (def database di lettura)
     If row !=0:
         Entry .insert(0, end)
      Else :
          return
.................
Per.gestire la variabile data utilizzerei un sistema forse poco ortodosso :
If row!=0 :
    Bottoneaggiungi.disabipied()
Cosi facendo nel database in cui andare a leggere il dato sara possibile aggiungere un solo dato ...

   



3
Base / Re:Consigli su pianificatori/email
« il: Febbraio 21, 2020, 19:48 »
La funzione l avrei impostata cosi :

Import time
Import datetime
FROM time import strftime,gmtime
Import tkinter ecc ecc


Def notificazione():
    While True:
         Notifica= data.get() 
         time= strftime("%Y-%m-%d-
                                    %H:%M:%S" ,gmtime())
          If time==Notifica :
               #invia email
               Break
Data=StringVar
Cvar= IntVar()
Chek=Checkbutton(root, variabile=Cvar, command =notificazione)
Check.pack()
EntryData= entry ( root, textvariable= data).pack()

Il codice che stavo provando é questo ...
Ovviamente sto provando in un file a parte per poi integrarlo una volta funzionante al sorgente completo...
Ad ogni modo inserendolo nell app cambierebbero solo i posizionamento degli oggetti ...
Con questo codice ho comunque dei problemi come.gia detto ... Inoltre credo che data.get debba essere fissato nella emtry tramite l ausilio di un database e l opzione insert... Altrimenti ad ogni riavvio la variabile é da reimpostare

4
Base / Re:Consigli su pianificatori/email
« il: Febbraio 21, 2020, 15:01 »

Import time
Import datetime
FROM time import strftime,ultime

While True:
      Notifica= "2020-02-21-15:15:46"
      time= strftime("%Y-%m-%d-
                                    %H:%M:%S" ,gmtime())
       If time==Notifica :
              #invia email
               Break

Cosi ottengo il confronto corretto dei dati. Ma non invia solo 1 email bensi piu di una e non capisco il perché ....
Inoltre vorrei poter gestire questo ciclo tramite un oggetto della gui tkinter
Ovvero attivare e disattivare la funzione che cicla e  per ultima cosa sostituire
Notifica = data/ora con:
Notifica= str(entry.get())
Entry in cui inserire di volta in volta la data in cui inviare l email ..
É piuttosto complesso mettere insieme il tutto , ho creato un checkbutton per attivare e disattivare la funzione ma non funziona correttamente , sembra che finché la funzione é in esecuzione si blocchi tutto ... Ricapitolando mi servirebbe davvero un input per usufruire di questa funzione in modo corretto tramite l uso dell interfaccia (senza interfaccia  alla fine fa il suo dovere) se potreste aiutarmi nel concepire i giusti oggetti e metodi per interfacciare la funione sarei davvero molto grato

5
Base / Re:Consigli su pianificatori/email
« il: Febbraio 21, 2020, 09:44 »
Perfetto , per quanto roguarda invece lo step 1(temporizzatore una funzione con datetime)?

Import time
Import datetime
While true :
      Data_notifica= str(entry.get)
      Data_data= Data_notifica.strptime( formato data)
      Data_oggi=datetime.today()
      If Data_data==0:
          Return
      If Data_data == Data_oggi :
     # invia email
     # entry.delete ()
        Return

 


Immagino ci siano diversi errori ma é giusto per capire se la logica della struttura é su per giu cosi...

6
Base / Re:Consigli su pianificatori/email
« il: Febbraio 21, 2020, 07:23 »
Probabilmente sto capendo male io ma cron serve per lo step 2 ? Avviare l applicazione in un determinato orario e in un determinato giorno in automatico ?
In questo caso lo script cron.py. in cui settiamo l orario e il programma da eseguire deve essere comunque sempre attivo in background?
Inoltre vorrei che cron utilizzasse data e ora inserite im diverse entry. Per poter modificare tramite interfaccia l inizializzazione

7
Base / Re:Consigli su pianificatori/email
« il: Febbraio 20, 2020, 19:59 »
Per l applicaiome in questione uso raspberry con raspbian ... Non so se questo sistema operativo Supporta questo genere di operazioni ... Ad ogni modo fatico a capire la logica con cui dovrei effettuare le operazioni per raggiungere l obbiettivo ...
Da quel che sto capendo devo dividere il tutto in almeno 2 step distinti :
1) temporizzare le funzioni
2) temporizzatore l inizzializzazione dell applicazione tramite sistema operativo sulla base oraria in cui vorrei eseguire le funzioni ...
Per il primo step avete consigli o link a guide ? Perche non trovo proprio nulla in rete

8
Base / Consigli su pianificatori/email
« il: Febbraio 20, 2020, 09:12 »
Buon giorno , utilozzando il modulo smtp ho creato una funzione per inoltrare emIl di notifica , ora vorrei che questa funzione si inizializzasse in una determinata data e ora , vorrei dunque tramite un interfaccia inserire una casella compilabile in cui inserire il valore "data/ora" leggerlo e quando valore data/ora=a data/ora attuale eseguire la funzione e inoltrare l email ... Per fare cio dovrei pianificare anche l inizializzazione dell applicazione oppure fare in modo che se l app al momento dell invio risulta essere  spenta esegua la funzione al primo avvio utile ... Considerando che la temporizzazione deve supportare la pianificazione di piu settaggi contemporaneamente... Mi scuso se non mi sono spiegato in termini comprensibili o adatti

9
Multimedia / Problema ip cam / opencv
« il: Febbraio 18, 2020, 15:22 »
Ho acquistato da poco una ip webcam
Modello della tesecu miniwebcam wireless 1080p.
Questa io cam ha una app dedicata che é hidvcam ... Una volta collegata la cam tramite la mia rete locale entrando nelle impostaziome dell app per cercare i dati necessari da inserire nella variabile "capture" del modulo opencv mi trovo spiazzato :
Ip
Gaetway
Dns
Subrete
Sono le uniche voci presenti nelle impostazioni , non parla ne di porte ne di protocolli stream ... Se digito l ip tramite un dispositivo collegato alla stessa rete in cui é presente la ip cam non mi fa raggiungere la pagina ... La.domanda ovvia é come fare a capire cosa inserire come valori nella variabile capture?
Altre webcam le ho collegate semolicemente cosi :
Capture= (http://utente:password@ip:porta/video)
Con questo formato riuscivo a collegarmi al video sia in locale che da altre reti ... Qualcuno é cosi gentile da aiutarmi ?

10
Tkinter / Re:problema interazione funzione / widget in toplevel
« il: Febbraio 18, 2020, 15:15 »
Perfetto , ora finalmente ho capito !! Ho dato un occhiata e mi é tutto piu chiaro , la differenza tra globali e locali é fondamentale per gestire questi casi ...

11
Tkinter / problema interazione funzione / widget in toplevel
« il: Febbraio 15, 2020, 19:13 »
buona sera , nel tentativo di sistemare l interfaccia grafica della mia applicazione ho spostato tutti i widget di una finestra nella mainframe tkinter in una finestra toplevel generata tramite funzione .


def new_w():
new=toplevel(root)

e di seguito ho  inserito gli altri widget tra cui una listbox e relative scrollbar .
da quando i widget sono all interno di questa toplevel generata da funzione non vengono piu riconosciuti come definiti da altre funzioni che dovrebbero interagire con essa.

es :
def somma():
   listbox.delete(0,end)
   listbox.insert (somma)
e a differenza di prima ,ora che listbox è all interno della toplevel non viene riconosciuta ..
qualcuno può spiegarmi perchè e magari illuminarmi su come risolvere il problema ?

12
Base / limiti delle istruzioni condizionali
« il: Gennaio 13, 2020, 12:36 »
buongiorno sto provando ad eseguire una funzione in cui devo inserire 3 condizioni if prima di eseguire un comando :
leggendo ho visto che è possibile inserire più condizioni all interno della stessa istruzione condizionale "if" aggiungendo "and" tra una condizione e l altra ma così facendo non ho alcun risultato .
se eseguo le  le condizione dell if una alla volta il programma esegue correttamente , insieme non da errori ma non esegue quello che dovrebbe.


if  consoledb_backend.spiderctrlconsole(str(ID.get()))    and    consoledb_backend.snakectrlconsole(str(ID.get()))   and     (len(DATE.get()) ==8):
     consoledb_backend.addconsolepastirec(ID.get() ,DATE.get())
     DataConsoleList.delete(0,END)
     DataConsoleList.insert(END,ID.get() , DATE.get())

 

se elimino le condizioni aggiunte dopo l istruzione  and  esegue , tutte e 3 le istruzioni sinolarmente funzionano .
ci sono dei limiti di richiamo di altre funzioni ?
perchè non esegue?

13
risolto, ho creato il lanciatore sul desktop , era tutto corretto ma non avevo indicato nelle proprietà del file lanciatore il percorso del file da eseguire ...
ora esegue alla perfezione

14
Database / database sqlite aggiornare valori
« il: Gennaio 13, 2020, 10:51 »
Rieccoci qui ,come da titolo sto cercando di implementare una funzione che permetta di aggiornare un valori
ho un db sqlite3 strutturato cosi:
id   farmID     pasti        mute      accoppiamenti

1      12         (data)         none             none
2      12          none         data               none
3      15          data          none              none
4      15          none         none              data

ci sono nell interfaccia 3 diversi bottoni "pasti"    "mute"   "accoppiamenti"
2 entry: farmid,   data
i pulsanti prendono i 2 dati e li inseriscono rispettivamente in farmID e il valore data enlla colonna di pertinenza.
qui inizia il  io problema logico... come posso creare una funzione che mi permetta di aggiornare solo il dato !=0 con l ausilio di un solo pulsante ? è possibile?
o devo creare 3 pulsanti? 1 per ogni colonna da aggiornare ?
premetto che con 3 pulsanti sarebbe abbastanza semplice creare le funzioni ma risulterebbe molto pesante alla vista e all utilizzo

15
Ho fatto un tentativo. Modificando i permessi del file.py
chmod u+x python3 nome_file
Dopo di che ho inserito :
#!/usr/bin/env python3
Come prima riga dello script
Ma a doppio click non esegue come vorrei aprendo una finestra shell che chiede se eseguire o aprire ...
Per l icona invece non ho fatto alcun tentativo. Perché non ho trovato nulla di specifico per l ambiente grafico che utilizzo ... Per creare il lanciatore utilizzando il comando "lxshortcut"
Il terminale restituisce comando non trovato... Ho provato cosi in un altro modo:
Creato file vuoto, configurato.desktop
E inserito all interno del file.txt :
[Desktop Entry]
Version=1.0
Type= Application
Nome=nome app
Comment=commento
Exec=percorso file.py
Icon=percorso immagine

Salvato ed effettivamente mi crea l icona ma al doppio click non esegue nulla...

Pagine: [1] 2 3