No, non è un progetto artistico, è l’ennesima iterazione del software di Lombardia Incoeu, di cui ho già parlato qui. In sostanza, il vecchio software del Mini-TG, evoluto dal Sunto (che, al momento della scrittura dell’articolo, luglio, non si usa più, magari a ottobre sarà tornato) faceva una cosa banale: eliminava l’intestazione e il tag, toglieva l’ultima riga alla fine e saltava una riga, quella di spazio tra l’intestazione e il contenuto.
Non chiedetemi perché, è decisamente meno sensato di “se la linea è vuota, non mandarla su Twitter”, ma all’epoca avevo fatto così. Comunque, modificarlo è semplice e non richiede grandi casini.
Ora si passa alla parte interessante, rivedere la logica operativa. Il vecchio MINI-TG, per chi non lo sapesse, era una roba così:
MINI-TG DEL MATIN 10/6/2022
Franza, disaster ai urne per el Macron: foeura del Parlament el president de l’Assemblea e i minister de salut e transizzion ecologega. E i Republegan restarann a l’oposizzion
Gh’è rivad el Telegram Premium! Per 6 franch se podarann caregà file pussee gross, se descaregarà pussee a la svelta e se podarann havégh pussee de canai e de reazzion e trascrizzion di messagg vocai
La Moldavia la proibiss i film de guerra, show politegh e de informazzion de la Russia per sbassà la propaganda
I monopatin de Roma finissen in su la CNN: “gh’haveven de sistemà el trafegh, ma inn deventade di trapole de mort”
Andalusia, el Partid Popolar l’ha vensgiud i elezzion regionai
Formula 1, in Canada el vinc el Verstappen, segond el Sainz
Colombia, elesgiud president el Petro, l’è el prim president de sinistra del Paes
@lombardiaincoeu
In sostanza, un’intestazione, una nuova linea, una lunga serie di notizie che iniziano con un’emoji, un’altra linea nuova e la firma.
Il nuovo formato, invece, avrà sempre l’intestazione, una nuova linea, ma poi sarà diviso in vari blocchetti, una roba del tipo:
MINI-TG 4/7/2022
Atualità
Tisin, el nass un fiolin a la galera de la Farera, l’è la prima voeulta in la storia del Canton
La frena bruscament la M1, feride do done in sui 70 agn
Marmolada, 7 mort, 8 ferid e 14 desperdud. I socorritor: “ne despias, ma podom no recuverai. Improbabel che sibien viv”
Milan, trii omen violenten una tosa in piazza Napoli, du fermad, el terz in fuga
Covid in Italia, el cress el tass de positività: l’è al 27,9%
Puja, el regista Oscar Paul Haggis el torna in libertà dopo di acuse de violenza sessual
Politega
Tassì, el Fontana el dà solidarietà a quei che protesten contra el DDL concorrenza
Politega, el Draghi e ‘l Conte se incontratann mercoldì, mitingh spostad per la tragedia de la Marmolada
El saria dree per rivà el noeuv partid de Adinolfi e Di Stefano, el se ciamarà Alternativa X L’Italia – No Draghi 2028
Rebellot in del Partid Comunista, el profil central: “Rizzo l’è secretari, profil de Milan hackerad”. Ma se parla de varie scission
Guerra in Ucraina
El president de la Rada a Lugan: “Mosca la pagarà la fatura”
Ucraina, el Zelensky in direta a Lugan: “fà su ancamò l’Ucraina un esercizzi de pas”
La stima: per fà su ancamò l’Ucraina ghe volarann 750 miliard
Spazzi, i cosmonauta russ in su la ISS se fann fotografà cont i bandere di republeghe de Doneck e Lugansk
El Servizzi de Frontera de l’Ucraina l’ha publegad la foto de la bandera sgialda-bloeu issada in su l’Isola di Biss
Esteri
Stat Unid, relassad el video del negher mazzad de la polizzia in Ohio, colpid de 60 balle
Atach de Copenaghen, quell che l’ha fad el resta in detenzion psichiatrega
Franza, la procura general la dà su recors in Cassazzion per l’estradizzion di brigatista italian
Stat Unid, varie s’ciopetade a Chicago, pussee de 60 ferid in tuta la cità, pussee de 10 i mort,
Mazzament de la Shireen Abu Akleh, i Stat Unid: “probabel che sibien stad i israelian, ma nissuna certezza”
El t’è piasud el noeuv format del MINI-TG? Trop curt? Trop longh? Trop despess? Lassa ‘n coment chi de sota
@lombardiaincoeu
In sostanza, le nuove linee sono molto più usate e non implicano più la fine del messaggio, ma possono indicare anche solo il cambio d’argomento. Al contempo, il format Twitter non cambia, è sempre “#MiniTG: ” più la notizia con l’emoji. Bisogna dunque eliminare le intestazioni, ho deciso di farlo identificando l’emoji all’inizio: se c’è è una notizia da pubblicare, sennò non si pubblica. In questo caso c’è anche un messaggio che chiede informazioni all’utenza sul gradimento del nuovo TG.
All’inizio provo con una tecnica che trovo in una guida che sfrutta Unicode, ma non funziona. Mi rivolgo quindi alla libreria emoji, che con la semplice funzione “emoji.is_emoji()” permette di dire se un carattere è un’emoji o meno. Perfetto per il mio scopo, quindi tiro fuori una logica applicativa del genere:
if "MINI-TG" not in news and news != "" and emoji.is_emoji(str(news[0])) == True:
E funziona! Ma c’è un ma: non funziona con le bandiere. Quindi “ Scoeula, de doman proibid el latin in tucc i istitut” verrebbe pubblicato, mentre “
Germania, smorzada la darrera central nuclear, de incoeu se brusarann i alber per la corrent” no.
Come mai? Molti linguaggi, in effetti, son nati nell’era in cui si scriveva ancora come dei veri e propri esseri umani, quindi se gli dici “dammi il primo carattere” di “ciao” ti danno “c”, ossia il primo carattere.
Ma le emoji spesso son composite, un po’ come degli ideogrammi, ad esempio la bandiera LGBT è composta dall’emoji bandiera e dall’emoji arcobaleno, l’emoji della giudice bianca è composta invece da donna, colore chiaro della pelle, carattere di unificazione e bilancia. In sostanza, è una lingua propria, donna bianca bilancia, che in emojese indica una giudice come Sandra Day O’Connor, il calcolatore poi lo traduce in un semplice carattere visivo comprensibile per noi.
Anche le bandiere sono composte, ma a modo loro: vi sono una serie di “pseudolettere” che, combinate, danno origine ad un’emoji: ad esempio CH per la Svizzera, US per gli Stati Uniti, alcune entità non sovrane hanno la propria emoji (le Canarie o Martinica, ad esempio), mentre alcuni hanno doppioni per ragioni geografiche (la Spagna e gli Stati Uniti, per le isole esterne o per le zone di sovranità). Ad oggi quasi tutte le emoji, anche quelle non sovrane, utilizzano due caratteri, fanno eccezione Scozia, Galles e Inghilterra, che usano invece bandiera nera, gb e una sigla a tre caratteri. Alcuni usano effettivamente la codifica sigla statale+sigla locale con un “cancel tag”, ad esempio “IT25” dovrebbe dare la bandiera della Lombardia, ma dubito che qualcuno lo supporti effettivamente. Non è standard.
In ogni caso, se io chiedo il primo carattere di “ Germania” non avrò la bandiera tedesca, ma lo pseudocarattere “D”, carattere che per la libreria non è un’emoji. Hanno un po’ ragione e un po’ torto.
La soluzione? Un codice del genere:
if "MINI-TG" not in news and news != "" and (emoji.is_emoji(str(news[0])) == True or emoji.is_emoji(str(news[0])+str(news[1])) == True):
Che verifica anche due caratteri, così che possa leggere “DE” e non “D”, “DE” che correttamente viene interpretato come emoji. Poi, dato che uso “or”, non impedisce che le emoji singole vengano interpretate come tali, idem per quelle multicomposite, dove la base è comunque un’emoji, quindi non creerebbero problemi.
Che dire, codice interessante (che verrà sicuramente migliorato) e che mi ha insegnato varie cose utili… Soprattutto nell’era delle emoji ovunque