historichunt / HiSTORICCacciaAlTesoro

Caccia al tesoro di HiSTORIC
GNU General Public License v3.0
1 stars 0 forks source link

Fare uno script che manda warning quando una tabella si avvicina ai 2 giga di attachment #27

Open phauly opened 3 years ago

phauly commented 3 years ago

Se aggiungiamo i video come input possibile #26 , c'e' il rischio maggiore che una tabella superi il limite dei 2gb di attachments.

Quindi dobbiamo fare uno script prenda tutte le tabelle e che controlli quanto sono occupate. Quando sono a >= 1gb (ad esempio) manda un messaggio agli admin in bot "notifiche" per segnalare di darci un occhio (a quel punto potrebbe rimandarlo ad ogni nuovo inserimento di qualcosa in quella tabella, ovvero la verifica e invio messaggio potrebbe essere lanciata dal codice ad ogni inserimento in tabella)

Airtable is free as long as none of your bases contain more than 1,200 records and 2GB of attachments. If one of your bases does exceed these limits, you will be asked to upgrade the workspace to which it belongs to one of our paid plans, which provide more space and many additional features. https://support.airtable.com/hc/en-us/articles/115010928147-Airtable-plans#:~:text=Airtable%20is%20free%20as%20long,space%20and%20many%20additional%20features

phauly commented 3 years ago

@kercos "The usage section of the workspace settings page tells you how many records and how much attachment space each of the bases in your workspace is using. You can also see how long ago each base had any activity." https://support.airtable.com/hc/en-us/articles/221402327-Team-account-page-overview#usage

ma io non vedo, forse sei tu l'owner del workspace?

phauly commented 3 years ago

Sarebbe anche da mettere un controllo sulla dimensione del file caricato.

Qui https://github.com/kercos/HiSTORICCacciaAlTesoro/blob/56518c2568d373180ac81adb24d6a650e59f67e6/bot_telegram_dialogue.py#L421

Tipo

if input_type == 'PHOTO' and (len(photo)>MAX_SIZE_FOR_PHOTO):            
            send_message(p, p.ux().MSG_TOO_LARGE_INPUT_SEND_PHOTO)

E andrebbero fatti 3 if diversi per i 3 tipi di input con un messaggio specifico, cosi' si puo' mettere messaggio specifico (su foto, video o audio) e anche le dimensioni max potrebbero essere diverse (se necessario).

Non so se in python len(file) e' il metodo corretto per avere la dimensione in bytes. Immagino di no ma non ho guardato.

phauly commented 3 years ago

Ho guardato nelle API e forse la possibilita' di sapere la size di una tabella non c'e' da API.

La API standard serve solo per lavorare sui records, si potrebbe ottenere tutti i record e scorrere gli attachments e tenersi il conto di quanto occupano ma mi sembra una strada NON sensata.

Invece le API meta https://airtable.com/api/meta non hanno queste info.

Forse e' sufficiente limitare la dimensione dei file che si fanno caricare. Se limiti i video a 10 mega e hai poche tappe che chiedono video (ad esempio max 2), al massimo ogni partecipante (riga) aggiunge 20 mega, significa che finche' non hai 100 partecipanti (righe) sei a posto poiche' 100 * 20 mega = 2 giga (e questi sono i valori massimi ovviamente)

kercos commented 3 years ago

@phauly Sembra che il modo più semplice sia monitorare lo spazio disponibile nel workspace historic. https://airtable.com/wspbQR7g8sRzdMn9A/workspace/billing Qua viene indicato per ogni base quanto spazio occupa.

phauly commented 3 years ago

We’re sorry, but you don’t have permissions to access this page.

Mi sa che solo tu che sei owner puoi vederlo. Ti va di farmi owner?