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.


Topics - tascio

Pagine: [1] 2 3 4
1
Base / ordinare stringhe di date
« il: Dicembre 11, 2019, 11:36 »
Supponiamo di avere una lista con
['06-11-2019', '08-06-2018', '22-03-2019']

e cioè delle date ma in formato stringa, come sarebbe possibile ordinarle mantenendole stringhe?

2
Base / Stampare su meteor 2,5 x 0,9
« il: Ottobre 24, 2019, 09:19 »
Salve raga, ho già realizzato uno script per stampare, con stampantina termica, in formato 8x5, ma molto "a caso", realizzo dei jpg e poi non so in che modo di preciso, adattato le dimensioni. Non so di preciso perchè sono andato con valori a caso in quanto mettendo quelli reali, relative alle dimensioni delle etichette, non ottenevo i risultati sperati.

Dovrei fare lo stesso lavoro, ma con etichette da 2,5 x 0,9 cm. Sono su windows 7 64bit, ho provato diversi sistemi, non esiste un easy framework per fare queste cose???

Nel precedente progetto prima "disegnavo" un etichetta in formato jpg, e poi la stampavo

img = Image.new('RGB', (639, 400), color = 'white')


A seguire scrivevo su st'immagine ciò che mi serviva stampare


        hDC = win32ui.CreateDC ()
        hDC.CreatePrinterDC ('miro')

        bmp = Image.open (file_name)

        hDC.StartDoc (file_name)
        hDC.StartPage ()

        dib = ImageWin.Dib (bmp)
        dib.draw (hDC.GetHandleOutput (),(0,0,639,400))

        hDC.EndPage ()
        hDC.EndDoc ()
        hDC.DeleteDC ()


Imitando questa logica non riesco a beccare il formato cm 2,5 x 0,9 e comunque vorrei sapere se esiste un qualche framework più easy

3
Base / Multiprocessing ricerca stringa su files
« il: Maggio 22, 2019, 14:59 »
Il mio obiettivo è iniziare una ricerca di una parola su più file contenuti in una dir contemporaneamente
from grepfunc import grep
import os
from multiprocessing import Pool
import multiprocessing

def func(file):
    print(file, int(((os.stat(file).st_size)/1024)/1024), 'MB')
    print(grep(open(file,mode='r',encoding='utf-8',errors='ignore'), "parola test", i=True))
def cerca(cartella):
    for file in cartella:
        return file

cartella = os.listdir('.')

pool = Pool(5)
pool.map(func,cerca(cartella))


viene eseguito, impegna la cpu, ma non succede niente

4
Base / Rfid usb lettura antenna 135khz
« il: Maggio 02, 2019, 17:35 »
Allora raga, ho questo prodotto: TS-W38ac che è un USB/HID con antennino che legge e scrive RFID.
Sto provando sia su windows 10 64bit che su linux debian tutte le librerie possibili python, ma non riesco a leggere dalla periferica...

solo questo script mi ha dato qualche risultato

import pywinusb.hid as hid

vendor_id = 0x1c40
product_id = 0x05ab

filter = hid.HidDeviceFilter(vendor_id=vendor_id, product_id=product_id)
devices = filter.get_devices()

def handler(data):
    print(data)

if devices:
    device = devices[0]
    device.open()
    device.set_raw_data_handler(handler)

Praticamente se lo eseguo su windows non succede niente, ma una volta in esecuzione se faccio partire il programma di lettura fornito dall'azienda gis-net, ogni volta che clicco sul bottone di Read, il programma mi legge dalla periferica e anche sull'IDE python mi viene mostrata la lettura...

Avete qualche indicazione da darmi? Sto provando di tutto e di più

5
Base / Inviare file a stampante
« il: Marzo 01, 2019, 12:29 »
Sapete dirmi qual'è il modo più semplice per mandare in stampa un file, in questo caso jpg?

6
Base / [RISOLTO]Compilare campi cedola da stampare
« il: Marzo 01, 2019, 08:51 »
Salve ragazzi, ho la necessità di compilare degli spazi bianchi di una cedola, tipo nome e cognome. Il metodo che applicherei io sarebbe quello di tentare coordinate a caso finchè non becco quelle giuste per far rientrare il testo negli spazi adatti. Esiste un software con il quale posso misurare esattamente le coordinate di un file immagine su cui poi scrivo?

7
Database / Somma di alcune colonne
« il: Gennaio 24, 2019, 11:52 »
Avendo un db d'esempio tipo questo:
ID   NOME   TIZIO   CAIO   SEMPRONE
1     pippo      5          9               2
2     ciccio       2          1              10
3     nino         4           2             1
4     pippo       2          1              10
5     pippo       6          2               1

Come si fa a fare una sorta di self join che mi ritorni un GROUP BY 'nome' con le somme delle colonne.
Cioè vorrei che al classico
for row in cursor.fetchall():
    print(row)

io abbia come risultati
(pippo,13,12,13)
(ciccio,2,1,10)
(nino,4,2,1)

8
Programmazione in rete - web / Autenticazione CNS on smart card!
« il: Novembre 23, 2018, 14:46 »
Salve raga, volevo automatizzare l'accesso ad un sito, questo in questione vetinfo.it, dopo il click su "accedi con cns" che automatizzo tramite SELENIUM, il portale verifica i dati della smartcard, mi riconosce ed in seguito mi chiede di selezionare il certificato ssl e poi di inserire il PIN. Come potrei automatizzare la selezione del certificato e l'inserimento del PIN?


9
Base / Sottrazioni datetime
« il: Giugno 29, 2018, 19:17 »
Raga ho trovato diverse soluzioni ma tutte fatte di conversioni intrecci ecc. che secondo me sono superflue, non riesco a trovare un modo semplice per fare la sottrazione tra due datetime.datetime

Scenario:
Da un database estraggo una data che mi viene restituita già in datetime.datetime es. 2018-06-29 00:00:00 (l'orario sarà sempre 0)
Prendo la data di oggi con datetime.datetime.now() ed ottengo una data simile ma con l'orario attuale ovviamente

Obiettivo:
Vorrei confrontare le due date in modo tale da verificare se la data presa dal database corrisponde al giorno dopo rispetto a quella odierna, qual'è la soluzione più rapida e semplice?

10
Base / Eseguire uno script ad una certa ora
« il: Maggio 02, 2018, 20:05 »
Alur, ho la necessità di inviare un'email ad una certa ora tutti i giorni, sono su windows.
C'è un modo per fare una cosa del genere senza usare servizi esterni, tipo crontab su Linux?
Pensavo a qualcosa tipo un
while 1:
    while orario == ora:

dove "ora" lo recupero tramite il modulo datetime per esempio, ma cosi' facendo impegno in modo inutilmente eccessivo la cpu? O tanto che lo faccia io dal mio script un controllo continuo del genere o lo faccia un servizio esterno sarebbe comunque la stessa cosa? Nel caso, se inserissi uno sleep di 23 ore nel secondo while cosi' da riattivarlo giusto poco prima dell'ora fatidica, ed un'altro di 25 minuti nel primo while cosi' da non generare un continuo loop di verifiche di condizione?

Pensate sia stupida come idea relativamente parlando all'uso che si fa poi delle risorse di sistema? O sarebbe irrilevante e nel caso anche la soluzione migliore per tagliare fuori le utility di pianificazione integrate in windows?

11
Base / cx_Freeze diritti amministratore
« il: Dicembre 04, 2017, 17:08 »
Ho uno script in cui all'interno del codice in un passaggio creo una cartella col classico
os.makedirs()

quando compilo il programma in .exe con cx_Freeze e lo eseguo, non parte e mi da errore di accesso negato err5 perchè non ho i diritti per creare la cartella in questione, funziona solo se lo eseguo come amministratore.

C'è un sistema per dagli i diritti di creare cartelle senza doverlo eseguire come amministratore?

12
alur, ho già postato pure su starckoverflow quindi copio incollo per non riscrivere tutto

this is the code

from tkinter import *
from tkinter import ttk
from tkinter import messagebox
from tkinter import filedialog
import youtube_dl
import os



class f(object):
    def __init__(self, finestra):
        self.finestra = finestra
        self.top = ttk.Frame(self.finestra, padding="10 10 10 10")
        self.top.grid(column=5, row=5)
        self.top.columnconfigure(1, weight=1)
        self.top.rowconfigure(1, weight=1)

        self.finestra.bind("<Return>",self.esegui_query)

        self.link = StringVar()
        self.esito = StringVar()
        self.bitrate = StringVar()
        self.esito.set("In Attesa")

        ttk.Label(self.top, text="Link:").grid(column=0,row=0)
        ttk.Entry(self.top, textvariable=self.link).grid(column=1,row=0)
        ttk.Button(self.top, text="Scarica", command=self.esegui_query).grid(column=2,row=0)

        ttk.Label(self.top, text="Bitrate:").grid(column=0,row=1)
        r1 = Radiobutton(self.top, text="192", variable=self.bitrate, value="192", cursor="dot")
        r1.grid(column=1,row=1)
        r2 = Radiobutton(self.top, text="320", variable=self.bitrate, value="320", cursor="dot")
        r2.grid(column=2,row=1)
        r1.select()
        ttk.Label(self.top, textvariable=self.esito).grid(column=3,row=1)

    def esegui_query(self,*argv):
        link = self.link.get()
        bitrate=self.bitrate.get()
        ydl_opts = {
        #'format': 'bestaudio/best',
        'postprocessors': [{
            'key': 'FFmpegExtractAudio',
            'preferredcodec': 'mp3',
            'preferredquality': bitrate,
                        }],
                    }
        self.esito.set("Downloading...")
        try:
            with youtube_dl.YoutubeDL(ydl_opts) as ydl:
                ydl.download([link])
            self.esito.set("Encoding...")
            for file in (os.listdir('.')):
                if file.endswith('.mp3') or file.endswith('.m4a') or file.endswith('.mp4'):
                    file2 = file[::-1][16:][::-1]
                    break
            self.esito.set("Download Completato")
        except Exception as e:
            self.esito.set("ERRORE")
            messagebox.showwarning("ERRORE",e)



finestra = Tk()
finestra.title("Download Youtube")
f = f(finestra)
finestra.mainloop()

This code works in my IDLE python 3.6 x86, windows 10 x64, but not if i convert it in .exe with cx_Freeze

this is the code of setup.py to convert

from cx_Freeze import setup, Executable
import os,sys
os.environ['TCL_LIBRARY'] = r'C:Program Files (x86)Python36-32tcltcl8.6'
os.environ['TK_LIBRARY'] = r'C:Program Files (x86)Python36-32tcltk8.6'

#includes = ["youtube_dl","tkinter","os"]
include_files = [r'C:Program Files (x86)Python36-32DLLstcl86t.dll',
             r'C:Program Files (x86)Python36-32DLLstk86t.dll']

base = 'Win32GUI' if sys.platform == 'win32' else None


executables = [Executable("youtube.py", base=base)]

packages = ["youtube_dl","tkinter","os"]
options = {
    'build_exe': {

        #'packages':packages,
        #'includes':includes,
        'include_files':include_files,
    },

}

setup(
    name = "youtube",
    options = options,
    version = "1.0",
    description = 'download from youtube',
    executables = executables
)

The executable return to me this error: " 'NoneType' object has no attribute 'write' " and this happens when the code execute this line:

with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    ydl.download([link])  <-----

I think is because youtube_dl first download a mp4 version of song and after doing the conversion. It first download and write in to the folder the song in mp4 version and i think there's the problem, convert it in mp3 and remove the mp4 version.

I think the error is in that line because have inserts some messagebox like this:

try:
    with youtube_dl.YoutubeDL(ydl_opts) as ydl:
        messagebox.showwarning("ERRORE",'1') <--- this is showed
        ydl.download([link])
        messagebox.showwarning("ERRORE",'2') <--- this is not showed
    self.esito.set("Encoding...")
    for file in (os.listdir('.')):
        if file.endswith('.mp3') or file.endswith('.m4a') or file.endswith('.mp4'):
            file2 = file[::-1][16:][::-1]
            break
    self.esito.set("Download Completato")
except Exception as e:
    self.esito.set("ERRORE")
    messagebox.showwarning("ERRORE",e)

and when i execute the .exe, the script starts but after i click to download a song the script show me just

messagebox.showwarning("ERRORE",'1')

and the error

'NoneType' object has no attribute 'write'

so it seems stop itself in that line

ydl.download([link])


io credo sia relativo al fatto che deve scrivere il file mp4 su pc prima di convertirlo e a quanto pare non ha i diritti o qualcosa del genere

13
Altre tematiche / Questione legale
« il: Settembre 11, 2017, 16:38 »
Salve raga, ho un dilemma...
Fino a fine luglio ho lavorato per un'azienda che tra le altre cose gestiva un paio di call center. Un giorno sentendo che pagavano liste di numeri aziendali migliaia di euro mi venne l'idea di sviluppare qualcosa per recuperare delle liste "aggratis".
Sviluppai uno script in python 3 che tramite le api di google e con l'autorizzazione di un account google business scaricava liste di numeri aziendali, gratis, da google maps.
In questo modo ero in grado di recuperare anche 50.000 numeri aziendali al giorno e ripeto il tutto di mia spontanea volontà.
Lo montai su un pc li in azienda che potevo lasciare sempre acceso e iniziammo ad utilizzarlo.
Ad agosto non ho lavorato e a settembre mi chiamano per dirmi che non potevano rinnovarmi il contratto ecc.
Io so per certo che gli script li stanno utilizzando (li nessuno programma in python tra l'altro, al massimo in php ma sono molto scarsi per fare la stessa cosa in php), e li stanno utilizzando senza avermi detto niente ne avermi chiesto se potevano farlo. C'è la possibilità di reclamare una sorta di diritto d'autore? copyright? qualcosa del genere? che cosi' almeno me lo faccio pagare... perchè è proprio una bastardata, senza di me avrebbero continuato a pagare 5000€ al mese per dei numeri aziendali ed a me non mi rinnovano il contratto perchè dicono che non hanno i soldi? insomma mi hanno inc****to

14
Base / Stampa di etichette
« il: Luglio 18, 2017, 18:41 »
Salve raga, ho delle domande.
Dovrei realizzare un programmino che crei un etichetta da attaccare a degli abiti. Questa piccola etichetta dev'essere formattata per contenere un codice a barre e vari dati come la taglia, il prezzo ecc.
Il programmino una volta generate le etichette le deve mandare in stampa ad una stampante per etichette (che ha anche la connessione wireless).

Penso di poter risolvere facilmente gli ostacoli (perchè mai affrontati) del generare il codice a barre e di mandare in stampa. Il mio dilemma è, come creo tutta l'etichetta? come fosse un immagine? Qual'è il metodo più semplice per creare un etichetta a cui devo poi impostare delle posizioni fisse per i vari oggetti (barcode, taglia, prezzo, ecc.)

Mi date qualche dritta? Anche suggerimenti sul come interfacciarmi alla stampante e creare il barcode sono ben accetti

O.S. Windows

15
Base / Scrittura in utf-8 di più variabili
« il: Maggio 11, 2017, 18:24 »
g.write('%s %s' %(a,b).encode('UTF-8'))

AttributeError: 'tuple' object has no attribute 'encode'


con una variabile sola funge, con più no, come si fa?

Pagine: [1] 2 3 4