Wikisource:Domande tecniche/Archivio/2020
Difficoltà a far correre pywikibot con python 3.7 sotto linux
modifica@Candalua, Ruthven Ho difficoltà a usare pywikibot come sopra. Chi può aiutarmi? I dettagli li darò dopo conferma che uno dei pingati (o chiunque altro) possa aiutarmi. Non si tratta della conversione degli script python; per quello mi arrangerò; il problema è che il tentativo di importare pywikibot mi dà immediatamente un errore bloccante python. --Alex brollo (disc.) 14:27, 31 gen 2020 (CET)
- @Alex brolloProprio l'altro giorno ho dovuto reinstallare tutto perché non mi funzionava più nulla. Ho duvuto: cancellare Python 2.7 e mettere Python3, poi fare git pull di tutto pywikibot. Hai fatto questi passi? --Ruthven (msg) 21:20, 31 gen 2020 (CET)
- @Ruthven Grazie! No, ho tentato di lanciare pywikibot sotto Python 3.6 coesistente con Python 2.7. Sotto windows la cosa funziona sia da riga di comando, sia utilizzando l'appropriato ambiente Idle (che preferisco di gran lunga); sotto linux no. Fra l'altro, non uso git, aimè non l'ho mai capito; mi sono sempre trovato bene scaricando ed "esplodendo" lo zip. Lanciando il comando "import pywikibot" python mi risponde così:
Traceback (most recent call last): File "/home/utente/bot/core_stable/BrolloBot3.py", line 3, in <module> import pywikibot File "/home/utente/bot/core_stable/pywikibot/__init__.py", line 24, in <module> from pywikibot.bot import ( File "/home/utente/bot/core_stable/pywikibot/bot.py", line 101, in <module> from pywikibot import version File "/home/utente/bot/core_stable/pywikibot/version.py", line 23, in <module> from distutils import log ImportError: cannot import name 'log'
- E non ne esco. --Alex brollo (disc.) 00:21, 1 feb 2020 (CET)
- @Alex brollo Ciao, scusate l'intromissione... Lavoro su Linux (Debian) e quando ho convertito le mie routine da Python 2.7 a Python 3, ho dovuto installare le librerie che usavo in versione Python 3 perché non installate di default. Hai provato a vedere se le librerie mancanti sono installate in versione 3? --Paperoastro (disc.) 16:14, 1 feb 2020 (CET)
- @Paperoastro Nessuna intromissione, naturalmente, grazie! Ma.... quali librerie? Forse distutils? E come faccio a installarle precisamente in python3? Sono alquanto bucherellato nella mia competenza informatica.... :-( --Alex brollo (disc.) 16:57, 1 feb 2020 (CET)
- @Paperoastro pywikibot partito! distutils era pressochè vuoto, l'ho riempito con
sudo apt-get install python3-distutils
. Comincia l'avventura....Alex brollo (disc.) 19:11, 1 feb 2020 (CET)- @Alex brollo Bene! Il comando era proprio quello. Se mancano altre librerie, il modo per installarle è lo stesso, ricordandosi che il nome è python3-<nome libreria>. --Paperoastro (disc.) 01:45, 2 feb 2020 (CET)
- @Paperoastro pywikibot partito! distutils era pressochè vuoto, l'ho riempito con
- @Paperoastro Nessuna intromissione, naturalmente, grazie! Ma.... quali librerie? Forse distutils? E come faccio a installarle precisamente in python3? Sono alquanto bucherellato nella mia competenza informatica.... :-( --Alex brollo (disc.) 16:57, 1 feb 2020 (CET)
- @Alex brollo Ciao, scusate l'intromissione... Lavoro su Linux (Debian) e quando ho convertito le mie routine da Python 2.7 a Python 3, ho dovuto installare le librerie che usavo in versione Python 3 perché non installate di default. Hai provato a vedere se le librerie mancanti sono installate in versione 3? --Paperoastro (disc.) 16:14, 1 feb 2020 (CET)
- E non ne esco. --Alex brollo (disc.) 00:21, 1 feb 2020 (CET)
Strategia di conversione python2->python3
modificaRisolto il problema dell'avvio di pywikibot sotto python3 in ambiente linux, adesso posso cominciare il controllo e conversione degli script, a partire da quelli che ho infilato in Progetto:Bot/Programmi in Python per i bot. Una domanda a @Paperoastro, Ruthven, Candalua e a chiunque altro abbia risposte. E' più opportuno correggerli direttamente perchè corrano solo sotto python3 o è meglio cercare di mantenere una compatibilità all'indietro con python2, cosa che mi pare possibile ma complica le cose? E dove mettere un avviso che gli script sono in via di revisione e che per farli correre bisogna passare a python3? Alex brollo (disc.) 10:07, 2 feb 2020 (CET)
- @Alex brollo Se non ho capito male nel Tech News: 2020-04, di default la chiamata a Python andrà su Python 3, quindi fossi in te non mi preoccuperei della retrocompatibilità. Per esperienza diretta (fuori da wiki), la maggior parte delle modifiche sarà aggiungere parentesi al comando
print
ed esplicitare in alcuni casi la trasformazione di una variabile da un tipo ad un altro. --Paperoastro (disc.) 13:34, 2 feb 2020 (CET)- @Paperoastro Una differenza più sottile è la gestione delle codifiche unicode, ma mi pare di aver capito che non serve più codificare-decodificare, es. nel salvataggio su file - lettura da file. Non sono sicuro di aver capito a fondo, ma.... il debugging di eventuali errori chiarirà le cose dal punto di vista pratico (ho ricordi dolorosi su alcuni debugging tragici nel primo periodo di uso di pywikibot! Ore ore e ore per capire.... ). --Alex brollo (disc.) 17:22, 2 feb 2020 (CET)
- @Alex brollo Dimentica Python2. È già deprecato. Rimuovilo dal tuo computer, dimenticalo e fa' girare tutto sotto Python3. --Ruthven (msg) 19:51, 2 feb 2020 (CET)
- @Ruthven Sì, disinstallare python2.7 non mi pare una cattiva idea. Poi... di necessità virtù :-) --Alex brollo (disc.) 20:25, 2 feb 2020 (CET)
- @Ruthven Disastro! :-(
- Ho disinstallato con successo python 2.7 da linux mint, ma è sorto un problemino: insieme sono stati cancellati files essenziali (mea culpa, ovvio) e linux è praticamente defunto. Mi resta un accesso root con cui linux però non sembra in grado (salvo magie al di sopra delle mie possibilità) di collegarsi al web e quindi di reinstallare ciò che serve per camminare di nuovo. Vede però la partizione windows, e ci ho potuto salvare qualche cartella di foto e scripts. Oggi vado da "uno bravo" e vediamo se risolve.... altrimenti, male che vada, rifarò tutto. Non è la prima estinzione di massa da cui emergo un po' ammaccato. Lo so, ci sono le buone pratiche di backup. il lavoro in cloud, github e compagnia.... ma la vita reale di noi poveri programmatori arruffoni è differente. Alex brollo (disc.) 08:57, 3 feb 2020 (CET)
- @Alex brollo Ma... ma... come hai fatto? In questi casi, prendi una guida sul web su come disinstallare Python2.7, ce ne sono tante. Oppure installa prima Python3, rendilo il python predefinito e poi elimina python2. Se vede la partizione windows, puoi installare librerie mancanti scaricandoti da Windows i file d'installazione (un kernel nuovo ad esempio) e poi, da linux, copiare i file nella partizione giusta ed eseguirli da lì (oppure eseguirli direttamente da Linux). Se hai solamente cancellato Python e qualche file di sistema o libreria chiave, non c'è motivo per il quale i tuoi dati siano stati cancellati assieme ad essi. Puoi copiare sulla partizione windows o su una chiavetta usb (che mondi da root col comando mount) tutto il contenuto della directory
~/
e così metti in salvo l'essenziale. In bocca al lupo! Ruthven (msg) 10:44, 3 feb 2020 (CET)- Ehm.... Meglio non disinstallare Python 2.7! Viene usato ancora dalle distribuzioni linux! Bisogna aspettare le nuove versioni delle distribuzioni... Per quanto riguarda il tuo sistema, @Alex brollo, nulla è compromesso, i tuoi dati sono ancora lì! Per recuperarli, puoi usare una chiavetta usb live con la tua distribuzione (mint, mi pare di capire). Se al momento dell'istallazione hai fatto una partizione per il sistema operativo (
/
) e una per i dati (/home
), potresti reinstallare il tuo linux senza perdere nulla! Verifica inoltre se tramite chiavetta live sia possibile ripristinare un sistema compromesso, a volte è possibile. --Paperoastro (disc.) 16:12, 3 feb 2020 (CET)- @Paperoastro, Ruthven Rimedio, rimedio... I dati sono salvi. Il pc è "dal meccanico", adesso scrivo con un muletto. In futuro starò molto più attento ai messaggi di sistema. E NON disintallerò python 2.7. Vado a vedere come siamo con python sul muletto.... Alex brollo (disc.) 17:31, 4 feb 2020 (CET)
- Ehm.... Meglio non disinstallare Python 2.7! Viene usato ancora dalle distribuzioni linux! Bisogna aspettare le nuove versioni delle distribuzioni... Per quanto riguarda il tuo sistema, @Alex brollo, nulla è compromesso, i tuoi dati sono ancora lì! Per recuperarli, puoi usare una chiavetta usb live con la tua distribuzione (mint, mi pare di capire). Se al momento dell'istallazione hai fatto una partizione per il sistema operativo (
- @Alex brollo Ma... ma... come hai fatto? In questi casi, prendi una guida sul web su come disinstallare Python2.7, ce ne sono tante. Oppure installa prima Python3, rendilo il python predefinito e poi elimina python2. Se vede la partizione windows, puoi installare librerie mancanti scaricandoti da Windows i file d'installazione (un kernel nuovo ad esempio) e poi, da linux, copiare i file nella partizione giusta ed eseguirli da lì (oppure eseguirli direttamente da Linux). Se hai solamente cancellato Python e qualche file di sistema o libreria chiave, non c'è motivo per il quale i tuoi dati siano stati cancellati assieme ad essi. Puoi copiare sulla partizione windows o su una chiavetta usb (che mondi da root col comando mount) tutto il contenuto della directory
- @Ruthven Sì, disinstallare python2.7 non mi pare una cattiva idea. Poi... di necessità virtù :-) --Alex brollo (disc.) 20:25, 2 feb 2020 (CET)
- @Alex brollo Dimentica Python2. È già deprecato. Rimuovilo dal tuo computer, dimenticalo e fa' girare tutto sotto Python3. --Ruthven (msg) 19:51, 2 feb 2020 (CET)
- @Paperoastro Una differenza più sottile è la gestione delle codifiche unicode, ma mi pare di aver capito che non serve più codificare-decodificare, es. nel salvataggio su file - lettura da file. Non sono sicuro di aver capito a fondo, ma.... il debugging di eventuali errori chiarirà le cose dal punto di vista pratico (ho ricordi dolorosi su alcuni debugging tragici nel primo periodo di uso di pywikibot! Ore ore e ore per capire.... ). --Alex brollo (disc.) 17:22, 2 feb 2020 (CET)
@Paperoastro, Ruthven In breve: sul muletto corre pywikibot sotto python 3.8. Conversione iniziata, meno dolorosa del previsto. :-) --Alex brollo (disc.) 09:58, 6 feb 2020 (CET)
Python3: problemi unicode-utf8
modifica@Ruthven, Paperoastro Tutto è andato bene con python3.8 finchè non ho tentato di decodificare con gzip un file IA _abbyy.gz.
Fallito gzip, ho estratto con 7-zip e il risultante xml sembrava ok ma... "Caffè" viene letto da python come "Caffè" e non ne vengo fuori. Sembra che si tratti di una stringa utf8, interpretata però come unicode; ma come forzo python3 a convertire questa stringa in unicode? In python2.7 non avevo il minimo problema nè con gzip, nè con questo strano problema di conversione utf8->unicode. --Alex brollo (disc.) 10:36, 11 feb 2020 (CET)
- Boh... adesso il file xml unzippato con 7-zip sembra a posto, letto con encoding="utf-8". Resta il problema di far fare a gzip quello che fa 7-zip. --Alex brollo (disc.) 11:19, 11 feb 2020 (CET)
- Ciao, ho avuto lo stesso problema con dei file html da cui dovevo tirar fuori dei dati... avevo risolto usando l'opzione
encoding="iso-8859-15"
del comandoopen
. Lo standard 8859-15 è quello delle lingue neolatine e comprende gli accenti... Ho visto qui che anche il comandoopen
di gzip ha la stessa opzione. Prova sia con il valore"iso-8859-15"
che con"utf-8"
e vedi quale va bene. --Paperoastro (disc.) 12:30, 11 feb 2020 (CET)- @Paperoastro Grazie, risolto con fatica. gzip restituisce un oggetto tipo bytes, quindi bisogna leggerlo e poi codificarlo in utf-8:
- Ciao, ho avuto lo stesso problema con dei file html da cui dovevo tirar fuori dei dati... avevo risolto usando l'opzione
xml=gzip.open(gz).read().decode("utf-8") # gz è il nome file completo di path open(gz.replace(".gz",".xml"),"w",encoding="utf-8").write(xml)
- Questo funziona, mentre encoding="utf-8" dentro gzip.open a me non funziona.
- Prossimo problema: leggere il file xml grosso senza ottenere un MemoryError, ma questo è più facile (basta leggerlo riga per riga). --Alex brollo (disc.) 15:52, 11 feb 2020 (CET)
Dentro i file IA
modificaPer esercitarmi con python3 e riprendere vecchie idee sto lavorando sui file IA. L'obiettivo è di collegare i dati di _abbyy.gz (output completo paranoide di FineReader11), _djvu.xml (rappresentazione xml dello strato testo mappato) e _jp2.zip (collezione delle immagini "ripulite" ad alta definizione delle scansioni) con le rispettive pagine djvu/pdf in nsPagina. Mi segue (poverolui) @Paperoastro. Pagina di annotazioni: Utente:Alex brollo/IA. --Alex brollo (disc.) 14:06, 13 feb 2020 (CET)
Ipotesi Intestazione
modifica@Candalua, Ruthven, OrbiliusMagister Proporrei a Candalua di fare un passo in avanti con Intestazione, unificandola definitivamente e profondamente, mantenendo solo i campi comuni a tutti i Progetti e spostando tutte le particolarità di stile in templatestyles. I progetti più fastidiosi sono Bibbia e Diritto, mentre Teatro richiede solo pochi interventi. --Alex brollo (disc.) 12:13, 3 mar 2020 (CET)
- Sono completamente d'accordo. - εΔω 19:01, 3 mar 2020 (CET)
- @Candalua, Alex brollo, OrbiliusMagister Spostiamoci a Discussioni template:Intestazione: sarà più facile seguire i motivi dei cambiamenti al template per i futuri admin. --Ruthven (msg) 09:53, 4 mar 2020 (CET)
Modulo:Dati
modificaCiao a tutti, sto cercando di sistemare questo testo, mi sono imbattuto in Aiuto:Guida alla pubblicazione di un testo/Creare la versione testuale e sto provando a sistemare Modulo:Dati/Vittorio Adami, Varenna e Monte di Varenna (1927).djvu visto che ho fatto qualche ritocchino al pagelist. Il problema è che non so come farmi apparire "importa dati" nella sidebar, in "Strumenti per la rilettura" non lo vedo e nelle preferenze non so dove abilitare quel pulsante. Qualche anima pia mi spiega come farlo? Grazie!!Cruccone (disc.) 16:55, 5 mar 2020 (CET)
De Maistre Viaggio attorno alla mia camera
modificaHo ottenuto un testo elettronico di Viaggio attorno alla mia camera (titolo originale: Voyage autour de ma chambre) di Xavier De Maistre, l'ho corretto e volentieri sono disposto a inserirlo in Wikisource. Il testo è molto noto ed è fuori diritti: infatti l'autore (Xavier De Maistre) è morto a San Pietroburgo nel 1852 e il traduttore Giuseppe Montani è morto a Firenze il 19 febbraio 1833. Il file del testo l'ho scaricato da Google libri da Google libri; ho poi costruito il file djvu attraverso il server di any2djvu secondo le indicazioni della pagina Aiuto:Guida alla pubblicazione di un testo/Costruire il file djvu. Per caricare il file djvu "De_Maistre_Viaggio_intorno_alla_mia_camera.djvu" su Commons devo riempire il template Book, e qui nascono i primi due problemi:
- 1. le prime edizioni del testo di De Maistre, compresa l'edizione italiana stampato nel 1824, erano anonime. La scheda OPAC SBN (qui) riconosce ovviamente come autore De Maistre, ma formalmente il testo di partenza è di autore anonimo.
- 2. sul testo di partenza manca anche il nome del traduttore, il quale era anche autore della prefazione. Il nome e il ruolo di Giuseppe Montani, cioè il traduttore/curatore, è riportato in decine di testi ottocenteschi rintracciabili anche attraverso Google libri; cito qui solo la biografia di Montani sul Dizionario biografico degli italiani (vedi).
Come procedere? Scrivo "Xavier De Maistre" nel campo |Author e "Giuseppe Montani" nel campo |Translator e carico il file djvu senza ulteriori elucubrazioni? oppure devo aggiungere qualcosa come "attribuito a"?
- 3. Windows 10 ha associato i file djvu al programma calibre, presente nel mio PC. Senonché con Calibre non vedo un accidente e non sono riuscito a far cambiare tale associazione al sistema operativo. Ho copiato allora il file djvu sul computer di mia moglie, il cui sistema operativo è Ubuntu, e il file djvu si vede alla perfezione. Probabilmente lo vedrò anche sul mio PC dopo averlo caricato su Wikisource (se potrà essere caricato). Altrimenti non potrò correggere il file: a mia moglie il computer serve, e anche se non le servisse so che non avrebbe piacere a farmelo adoperare.
- 4. Con l'OCR Abbyy Finereader io ho ottenuto un file di testo in formato Word. Ho corretto questo file e posso convertirlo in un qualsiasi altro formato, per esempio in un txt Unicode UTF-8. Il problema è che nel testo che ho ottenuto ciascun paragrafo è continuo, non va a capo cioè secondo la riga dell'immagine djvu (che io, come ho detto, non riesco a vedere).
Mi fermo qui per non farla troppo lunga. Che faccio? Procedo o è meglio lasciar perdere? Se mi suggerite di andare avanti, c'è qualcuno disposto a consigliarmi sui dubbi che certamente nasceranno in seguito? Grazie,
TableDark (disc.) 12:10, 10 apr 2020 (CEST)
- Ciao TableDark, quel qualcuno è senz'altro @Alex brollo che è il mago dei djvu e saprà senz'altro aiutarti. Can da Lua (disc.) 15:18, 10 apr 2020 (CEST)
- Ciao @TableDark; ci sentiamo sulla tua pagina di discussione. Hai fatto moltissimo, dovresti essere pienamente a posto .... ne parliamodi là per non intasare la pagina di Candalua. Alex brollo (disc.) 17:34, 10 apr 2020 (CEST)
Definire una scheda "pagina"
modificaNel mio common.js ho aggiunto da tempo questa roba, che adesso estendo comprendendo anche ns0 oltre a nsIndice:
$(document).ready(function() { if (mw.config.get("wgCanonicalNamespace")==="Index"||mw.config.get("wgCanonicalNamespace")==="") { $("a[title^='Pagina:']").each(function(){$(this).attr("target","pagina"); }); } });
che aggiunge un target pagina a ogni link che punta a nsPagina. Facendo così, un click su un link a Pagina da nsIndice non si apre nella scheda di Indice ma su un'altra; e tornando a Indice, un click su un'altra pagina la apre sempre nella stessa scheda "dedicata". Per me è utile; da valutare se generalizzare il trucco per tutti. --Alex brollo (disc.) 13:29, 20 apr 2020 (CEST)
- @Candalua, Ruthven, OrbiliusMagister Ping ripetuto, il primo certamente non è arrivato. --Alex brollo (disc.) 16:36, 20 apr 2020 (CEST)
- Ehm... scusa, ma non ottieni la stesso effetto con una scorciatoia da tastiera presente in ogni browser e valida per qualunque link? Quando mi serve aprire un link in un'altra tab mi basta un "⌘+click" e il gioco è fatto. Non c'è un Ctrl+click valido anche su Windows? A mia memoria dovrebbe essere proprio ctrl+click (e in ogni caso anche senza abbreviazione da tastiera un click col pulsante destro del mouse ottiene la tessa scelta. - εΔω 23:13, 20 apr 2020 (CEST)
- Si, faccio la stessa cosa di OrbiliusMagister, ctrl + click (da OS X, Linux e Win64). Se si ritiene che sia un'opzione utile, possiamo aggiungerla come gadget opzionale (normalmente disattivato, ma che si può attivare nelle preferenze). --Ruthven (msg) 10:11, 23 apr 2020 (CEST)
- Ammwetto, non conoscevo il Ctrt+click (uffa), ma l'effetto è diverso: corrisponde a "Apri il link in un'altra scheda", col risultato (che non gradisco) che si apre una nuova scheda _blank; e detesto che mi si aprano miriadi di schede. Preferisco che il semplice click mi apra la nuova pagina sempre nella stessa scheda dedicata a nsPagina, ossia che il link punti a un target chiamato "pagina". Ma forse è una preferenza personale, lassin piardi. Alex brollo (disc.) 00:01, 3 mag 2020 (CEST)
- Si, faccio la stessa cosa di OrbiliusMagister, ctrl + click (da OS X, Linux e Win64). Se si ritiene che sia un'opzione utile, possiamo aggiungerla come gadget opzionale (normalmente disattivato, ma che si può attivare nelle preferenze). --Ruthven (msg) 10:11, 23 apr 2020 (CEST)
- Ehm... scusa, ma non ottieni la stesso effetto con una scorciatoia da tastiera presente in ogni browser e valida per qualunque link? Quando mi serve aprire un link in un'altra tab mi basta un "⌘+click" e il gioco è fatto. Non c'è un Ctrl+click valido anche su Windows? A mia memoria dovrebbe essere proprio ctrl+click (e in ogni caso anche senza abbreviazione da tastiera un click col pulsante destro del mouse ottiene la tessa scelta. - εΔω 23:13, 20 apr 2020 (CEST)
@Alex brollo, Ruthven, OrbiliusMagister Arrivo un po' tardi, ma penso che riusare una scheda già aperta possa essere fastidioso per l'utente; magari voleva tenere aperta una pagina per consultarla e tu gli carichi un'altra pagina in quella stessa scheda. Comunque vi segnalo un sistema ancora più rapido del Ctrl+Click: il bottone centrale del mouse, ovvero schiacciare in giù la rotellina. Can da Lua (disc.) 10:25, 8 giu 2020 (CEST)
Il problema: note ordinate, in linea, con contatore
modificaDa bravo dilettante allo sbaraglio, studio solo i trucchi che mi servono e non la teoria in modo sistematico. Non capivo perchè le annotazioni perdono i loro numeri progressivi se vengono messe in linea. Scopro che la cosa è nota, ma che è superabile: basta esplorare i "counter" del css, e settarli in modo esplicito. Con templatestyles si può; e se si può dobbiamo riuscirci :-).
Se non ci riesco da solo, chiedo fin d'ora una mano. --Alex brollo (disc.) 23:54, 2 mag 2020 (CEST)
- Qui la teoria: https://www.w3schools.com/css/css_counters.asp; proverò ad applicarla in Template:TemplateStyle/lower-alpha.css --Alex brollo (disc.) 10:03, 3 mag 2020 (CEST)
Idea (strampalata?)
modifica@Candalua, Ruthven Immaginate di attivare l'anteprima di eis e immaginate che le parole diverse da quelle di un testo di riferimento corrispondente, ma diverso (es. di una diversa edizione) vengano immediatamente evidenziate in qualche modo, in modo da facilitare un controllo specifico rispetto al testo a fronte, ferma restando la possibilità di editing che anteprima consente. Lo trovereste utile? Si può fare e forse non sarebbe nemmeno tanto difficile. Ci provo? --Alex brollo (disc.) 07:28, 30 mag 2020 (CEST)
- Ciao Alex brollo, l'idea è buona, ma il mio dubbio è su quanto spesso avremo un testo di riferimento per usare questa funzionalità. Già fatichiamo ad avere testi de un'edizione, figuriamoci da più d'una. Ma siccome stai lavorando sulle sostituzioni basate su regex, non sarebbe più utile evidenziare le parole suscettibili di essere corrette, basate su questa lista di correzioni più frequenti? --Ruthven (msg) 09:26, 30 mag 2020 (CEST)
- @Ruthven La tua idea è interessante, ma penso che avrà un altro sviluppo, visto che ogni opera ha un "vocabolario" specifico, mi ispiri un embrione di idea (grazie!). Quanto alla frequenza dei "testi di riferimento", sono più frequenti di quanto dici: ad esempio, esiste un testo di riferimento ogni volta che serve un Match & split (e magari abbiamo a disposizione un'edizione diversa, e chi ha provato ad adattare un testo matchsplittato da un'edizione diversa sa che è più faticoso che lavorare sull'OCR purchè l'OCR sia buono). --Alex brollo (disc.) 09:49, 30 mag 2020 (CEST)
Doppia transclusione di brevi opere poetiche
modifica@OrbiliusMagister, Candalua, Ruthven, Omino di carta Problema: come transcludere in ns0 le singole poesie delle raccolte. Soluzioni (già adottate in modo abbastanza random):
- transclusione come sottopagine del testo principale;
- transclusione come opere indipendenti autonome (pagine principali in ns0);
- transclusione come al punto 2, ma creando anche la sottopagina come al punto 1, come redirect alla transclusione del punto 2;
- doppia transclusione (come al punto 1 + come al punto 2).
La quarta soluzione mi affascina. Non solo: ottenuta la transclusione "automatica" con autoNs0 (che produce la sottopagina come al punto 1), è ipotizzabile un gadget che produca automaticamente la transclusione come al punto 2: si tratta solo di leggere il tl|Intestazione della pagina principale e adattarla con i dati di IncludiIntestazione, creando la nuova pagina via Javascript. Questo è il tema da analizzare qui in Bar tecnico; sull'opportunità di adottare la "doppia transclusione" penso sia meglio discutere nel "Bar normale". --Alex brollo (disc.) 16:42, 7 giu 2020 (CEST)
- Domanda accessoria: ma il namespace "Opera", a che serve? non potremmo tirarlo fuori in casi come questo? --Ruthven (msg) 17:39, 7 giu 2020 (CEST)
- @Ruthven; il nsOpera entra in azione quando abbiamo esemplari multipli della medesima opera (quindi qualcosa di diverso da una disambiguazione);
- La disambiguazione entra in campo quando ad un medesimo titolo fanno riferimento diverse opere (es. Elettra);
- Il nostro caso è quello di poesie/favole/racconti raccolti in antologie o anche raccolti dall'autore ma dotate di vita autonoma o perché l'aggregazione è avvenuta per opera arbitraria di un compilatore (es. le rime di Cino da Pistoia raccolte da Carducci, le rime degli Arcadi o appunto le antologie di lirici duecenteschi o barocchi riunite per autore) o perché una o più singole parti di opera hanno acquisito una vita autonoma rispetto alla raccolta di cui fanno parte (ad esempio A Zacinto di Foscolo)
- Inizialmente la soluzione è stata quella di potenziare l'uso dei redirect categorizzandoli, (vedi l'antico Progetto Raccolte di poesie), ma l'idea di categorizzare i redirect non è andata avanti; poi con l'arrivo della transclusione selettiva e la procedura proofread è arrivata al contempo una possibile soluzione e una marea di lavoro più importante da svolgere... ora rieccoci a fare il punto. - εΔω 11:20, 8 giu 2020 (CEST)
- Pensandoci c'è un altro problema: c'è il rischio di avere informazioni ridondanti e non automaticamente allineate. Se scrivo un tl Intestazione "fisico" per la versione autonoma di un sonetto, leggendo i dati di Intestazione e di IncludiIntestazione, una successiva modifica di Intestazione originale non sarà riprodotta facilmente sulla sua copia fisica e rischiamo l'incoerenza fra i dati. Non va... bisogna pensarci meglio. Ci vuole qualcosa tipo IncludiIntestazione. Ci provo in tl|IncludiIntestazione/Sandbox. --Alex brollo (disc.) 22:23, 7 giu 2020 (CEST)
- Una bozza è stata più facile da costruire di quello che immaginavo. Si tratta di una modifica di IncludiIntestazione che con un codice estremamente semplice produce un risultato sorprendente: template test: Template:IncludiIntestazione/Sandbox. Opere di prova: All'armonia e La grotta platonica. Aspetto feedback. :-) --Alex brollo (disc.) 23:16, 7 giu 2020 (CEST)
- Come in altri casi, quando effettuiamo questo tipo di modifiche originali e potenzialmente radicali, facciamo un giretto in altri progetti per vedere se ci hanno già pensato e quali soluzioni hanno escogitato. - εΔω 13:22, 8 giu 2020 (CEST)
- Una bozza è stata più facile da costruire di quello che immaginavo. Si tratta di una modifica di IncludiIntestazione che con un codice estremamente semplice produce un risultato sorprendente: template test: Template:IncludiIntestazione/Sandbox. Opere di prova: All'armonia e La grotta platonica. Aspetto feedback. :-) --Alex brollo (disc.) 23:16, 7 giu 2020 (CEST)
- Non mi convince del tutto la duplicazione dei testi, anche se ne posso capire le motivazioni (da un lato mantenere l'integrità della raccolta, utile ad esempio per l'export, dall'altro dare il giusto risalto alla singola poesia). Ad esempio nelle categorie lo stesso testo, identico, sarebbe presente due volte; e si rischia che anche sulla pagina autore venga aggiunto due volte, se uno non si avvede che l'indice è il medesimo. La soluzione tecnica è elegante, ma mi chiedo se valga davvero la pena. Ho visto che hai previsto ad esempio di poter cambiare l'argomento, ma potrebbero servire anche altri dati (es. il traduttore). Se facessimo invece un gadget che popoli un template Intestazione "classico", avremmo una totale libertà di adattare il template alla singola poesia, e non introdurremmo un nuovo template. Ci devo pensare su. Can da Lua (disc.) 17:20, 9 giu 2020 (CEST)
@Candalua Eh, il problema della duplicazione dei dati.... Avviene ogni volta che si "popola", es: da nsIndice Intestazione in ns0. Se si cambiano i metadati di Indice, mica si aggiornano quelli di Intestazione! Almeno con il nuovo template i dati mostrati da IncludiIntestazioneDerivata si aggiornano con le modifiche di Intestazione presi come default. Come vedi, in L'eccidio di Como compare il nome del curatore, di cui non c'è traccia nel codice. --Alex brollo (disc.) 01:22, 10 giu 2020 (CEST)
- @Candalua Credo che una delle ragioni della strategia con redirect fosse proprio evitare la duplicazione; e credo che i redirect possano essere fatti in modo automatizzato. Una alternativa è fare i testi singoli per le singole poesie, e lasciare nella raccolta dei capitoli, ma in questo modo si perde l'automatizzazione proposta da Alex.--Omino di carta (disc.) 13:31, 11 giu 2020 (CEST)
- Microupdate: su Telegram il gruppo internazionale mi ha rimandato come esempio da studiare The Bengali Book of English Verse
- Premesso che il problema non è stato pienamente capito, si tratta di un'antologia per autori in cui le singole poesie sono sottopagine tutte di primo livello con titolo e autore tra parentesi, per esempio en:The Bengali Book of English Verse/The Captive Ladie (Michael Madhusudan Dutt).
- In pratica su en.source stanno confidando nella sottopaginazione e da lì non si muovono. Gli autori hanno le loro poesie che puntano alle sottopagine e le disambiguazioni si basano su questo principio.
- Un paio di esempi: R.W. Gilder Scrisse vari poemi e poesie nel corso della sua vita. Una sua raccolta di essi datata 1908 contiene raccolte edite in vari anni precedenti (un po' come le nostre poesie di Carducci). Una sua poesia dal titolo poco originale di The River è disambiguata in en:The River come en:The River (Gilder) ma questo a sua volta è un rinvio a en:The poems of Richard Watson Gilder/The New Day#22 cioè alla sottopagina della raccolta con un'ancora alla pagina transclusa. Wow, questo implica che se, di regola, i redirect devono rimanere orfani, il bersaglio dei link è quest'ultia sottopagina; questo implica anche che l'autonomia della singola poesia all'interno di una antologia è sentita molto poco. Ora i casi sono due: o mi sto creando problemi inutili e facciamo anche noi come oltreoceano o sviluppiamo una soluzione pratica per valorizzare sia le disambiguazioni che le singole poesie. - εΔω 18:15, 11 giu 2020 (CEST)
- Interessante! L'ancora sulla pagina permette un reperimento rapido, senza aggiunta di codice, della singola poesia. Naturalmente, è impossibile estrapolarne il testo (es. per stamparla individualmente). --Alex brollo (disc.) 08:20, 20 giu 2020 (CEST)
- Controllato: in nsPagina non c'è alcuna traccia di section o qualcosa che indichi l'inizio e fine della poesia. Curioso anche il fatto che il codice non usa poem, ma semplicemente un <br /> a fine versi. Vedo anche il tl|Gap per l'indentatura dei versi e il tl|block center per la centratura. My two cents: la semplificazione non deve arrivare al punto di perdere dati essenziali (la possibilità di ottenere la singola "opera", in questo caso la singola poesia). Meglio avere un dato in più, magari temporaneamente inutilizzato, che un dato in meno. Alex brollo (disc.) 08:27, 20 giu 2020 (CEST)
- Interessante! L'ancora sulla pagina permette un reperimento rapido, senza aggiunta di codice, della singola poesia. Naturalmente, è impossibile estrapolarne il testo (es. per stamparla individualmente). --Alex brollo (disc.) 08:20, 20 giu 2020 (CEST)
Cari @Alex brollo, Candalua, Ruthven, terminata la trascrizione di Traduzioni e riduzioni per me è giunto un momento importante: anni fa avevo caricato come testi singoli le sole traduzioni pascoliane da Orazio, immaginando che un giorno avrei trovato la raccolta completa, perciò avevo già pensato alla struttura in ns0 del testo, ma nel frattempo ci siamo evoluti, i limiti di dimensione delle pagine sono divenuti un ricordo grazie alla transclusione e ora diventa interessante attribuire il testo sia ai singoli autori tradotti sia al traduttore. Provvisoriamente ho creato delle sottopagine-raccolta, ma in realtà l'indice del libro tiene presenti i singoli componimenti e abbiamo anche chi a suo tempo aveva inserito direttamente in ns0 un Breus che è una delle molte traduzioni pascoliane.
In sintesi: creare pagine per le singole poesie come redirect alle ancore nelle pagine-raccolta (la soluzione di en.source), è economica ma limita la categorizzazione e l'individualità della singola poesia; la doppia transclusione (la nostra) è interessante e può risolvere il problema, ma va evitata la ridondanza dei dati: se non esistono soluzioni "terze" ottimali dobbiamo scegliere il male minore. Qualunque aggiustatura elaborerò nelle pagine del libro comporterà un discreto lavoro manuale in nsAutore, ns0 e nsPagina: prima di lanciarmi in operazioni potenzialmente inutili o commettere errori che poi richiederebbero ulteriori sforzi di correzione chiedo una risoluzione su come configurare il testo in ns0 per poi collegarlo agli autori antichi e alle pagine autore e indice. - εΔω 13:49, 24 giu 2020 (CEST)
- @OrbiliusMagister Come sai, le commedie di Goldoni sono una raccolta di raccolte; ogni volume è una raccolta di commedie indipendenti. Bene: l'esportazione in pdf funziona, da Opere complete di Carlo Goldoni - Volume IV ho ricavato un grosso pdf con una buona esportazione di ciascuna delle commedie del volume.
- Quindi: al momento, la soluzione migliore, per la piena valorizzazione delle singole opere e senza cercare guai, mi pare che anche Traduzioni e riduzioni dovrebbe essere organizzata come raccolta di raccolte, esattamente come fatto in Goldoni; sia le raccolte, sia la "raccolta di raccolte", sia le singole poesie, ciascuna indipendente in ns0. Questo dovrebbe permettere di esportare in pdf sia l'intero volume, sia una specifica raccolta, sia una singola poesia. Non servono nemmeno redirect. Alex brollo (disc.) 16:23, 24 giu 2020 (CEST)
- @OrbiliusMagister Ripingo, il primo è andato male... Alex brollo (disc.) 16:24, 24 giu 2020 (CEST)
- @Alex brollo, chiedo conferma di aver capito giusto: la pagina delle traduzioni pascoliane da Orazio come sottoraccolta con link a tutte le singole poesie transcluse mediante section va bene, mentre Traduzioni_e_riduzioni/Favole e le altre raccolte di tal genere vanno sezionate e assimilate a quella di poesie oraziane, vale a dire che i singoli componimenti saranno sottopagine e mi baserò su questa suddivisione per poi attribuire ogni componimento al suo autore in lingua originale. Giusto? vado di section a manetta? Per la categorizzazione delle singole poesie... un'altra volta. - εΔω 20:02, 24 giu 2020 (CEST)
- @OrbiliusMagister Orpo, qualcosa mi sfugge. Sections sì senz'altro in modo che ogni singolo brano sia individuabile. Una volta che il dato esiste si può fare quello che si vuole. Si ristruttura il Sommario e autoNs0 agirà di conseguenza. Per @Candalua una verifica: mi pare che autoNs0 non crei buone pagine quando crea un'opera principale che è una piccola parte dell'Indice, vanno ritoccati titolo e tag pages. Tende a ritenere che la pagina con Intestazione sia la "pagina radice". Penso che ristrutturato l'Indice di cui parliamo, vadano fatti test per migliorare lo script. Per come stanno le cose adesso, vanno ritoccati sia il campo Titolo che il tag pages.
- Seconda cosa, avete mai sperimentato a fondo le possibilità del parametro onlysection in sostituzione di fromsection e tosection? Se ciascuna poesia viene marcata con una section univoca in tutte le pagine (comprese quelle in cui il testo occupa l'intera pagina), allora si verificano due cose simpatiche:
- la trasclusione ricostruisce perfettamente l'intera poesia comunque sia suddivisa in varie pagine con un solo parametro, il "suo" nome section;
- diventa irrilevante la precisione nella definizione del numero pagina iniziale e finale (basta dare un grossolano intervallo di pagine in cui certamente la poesia è contenuta).
- Per farvi un esempio pratico, ho marcato con una section="ariadna" i due frammenti di Ariadna, pagine 138 e 139 (naturalmente ho anche dovuto "chiudere" i poem). Tutti questi tag pages danno un identico risultato (l'ultimo esempio è "provocatorio" ma suggestivo):
- @Alex brollo, chiedo conferma di aver capito giusto: la pagina delle traduzioni pascoliane da Orazio come sottoraccolta con link a tutte le singole poesie transcluse mediante section va bene, mentre Traduzioni_e_riduzioni/Favole e le altre raccolte di tal genere vanno sezionate e assimilate a quella di poesie oraziane, vale a dire che i singoli componimenti saranno sottopagine e mi baserò su questa suddivisione per poi attribuire ogni componimento al suo autore in lingua originale. Giusto? vado di section a manetta? Per la categorizzazione delle singole poesie... un'altra volta. - εΔω 20:02, 24 giu 2020 (CEST)
- @OrbiliusMagister Ripingo, il primo è andato male... Alex brollo (disc.) 16:24, 24 giu 2020 (CEST)
<pages index="Pascoli - Traduzioni e riduzioni, 1923.djvu" from=138 to=139 onlysection="ariadna" />
ariadna
Lui non appena fissò curiosa con li occhi la pura
figlia del re, cui vedeva sbocciare la sua cameretta
piena di soavità, tra le blande carezze materne:
come un arbusto di mirto cui nutre con l’onde l’Eurota,
come i colori che suscita e sparge la brezza d’aprile:
ecco non prima di lui declinava l’ardore degli occhi,
che la trascorse una fiamma per tutta la bella persona
dentro, e sentì che pungea le midolle dell’essere il fuoco.
Oh! Tu dell’anime immote, che dèsti la smania e il dolore,
inviolato fanciullo, che mescoli al dolce l’amaro,
oh! tu regina di Golgo, regina d’Idalio frondoso,
in che procella di flutti gettaste la vergine ardente
che sospirava al pensiero, sovente, del biondo straniero!
e che spaventi e che strette e che gridi nel languido cuore!
e che pallori nel viso, più giallo ed opaco dell’oro!
quando nel fiero desìo di combattere l’orrido mostro,
Teseo voleva la morte od un premio di gloria voleva.
E promettendo agli dei non invano e non piccoli doni
essa col tacito labbro accendeva un incenso di voti.
<pages index="Pascoli - Traduzioni e riduzioni, 1923.djvu" from=130 to=140 onlysection="ariadna" />
ariadna
Lui non appena fissò curiosa con li occhi la pura
figlia del re, cui vedeva sbocciare la sua cameretta
piena di soavità, tra le blande carezze materne:
come un arbusto di mirto cui nutre con l’onde l’Eurota,
come i colori che suscita e sparge la brezza d’aprile:
ecco non prima di lui declinava l’ardore degli occhi,
che la trascorse una fiamma per tutta la bella persona
dentro, e sentì che pungea le midolle dell’essere il fuoco.
Oh! Tu dell’anime immote, che dèsti la smania e il dolore,
inviolato fanciullo, che mescoli al dolce l’amaro,
oh! tu regina di Golgo, regina d’Idalio frondoso,
in che procella di flutti gettaste la vergine ardente
che sospirava al pensiero, sovente, del biondo straniero!
e che spaventi e che strette e che gridi nel languido cuore!
e che pallori nel viso, più giallo ed opaco dell’oro!
quando nel fiero desìo di combattere l’orrido mostro,
Teseo voleva la morte od un premio di gloria voleva.
E promettendo agli dei non invano e non piccoli doni
essa col tacito labbro accendeva un incenso di voti.
<pages index="Pascoli - Traduzioni e riduzioni, 1923.djvu" from=1 to=235 onlysection="ariadna" />
ariadna
Lui non appena fissò curiosa con li occhi la pura
figlia del re, cui vedeva sbocciare la sua cameretta
piena di soavità, tra le blande carezze materne:
come un arbusto di mirto cui nutre con l’onde l’Eurota,
come i colori che suscita e sparge la brezza d’aprile:
ecco non prima di lui declinava l’ardore degli occhi,
che la trascorse una fiamma per tutta la bella persona
dentro, e sentì che pungea le midolle dell’essere il fuoco.
Oh! Tu dell’anime immote, che dèsti la smania e il dolore,
inviolato fanciullo, che mescoli al dolce l’amaro,
oh! tu regina di Golgo, regina d’Idalio frondoso,
in che procella di flutti gettaste la vergine ardente
che sospirava al pensiero, sovente, del biondo straniero!
e che spaventi e che strette e che gridi nel languido cuore!
e che pallori nel viso, più giallo ed opaco dell’oro!
quando nel fiero desìo di combattere l’orrido mostro,
Teseo voleva la morte od un premio di gloria voleva.
E promettendo agli dei non invano e non piccoli doni
essa col tacito labbro accendeva un incenso di voti.
Esperienza molto interessante e che ritengo utilissima per quei libri che hanno il "testo a fronte" o un testo con traduzione di seguito... per il mio caso di traduzioni e riduzioni nella necessità di inserire centinaia di tag section in poco tempo ho adottato il pulsante che automanticamente dà nome "s1, s2, s3" alle section stesse.
ora pingo anche @Candalua per i seguenti scenari in ns0:
- Traduzioni e riduzioni sto creando tante sottopagine quanti sono i componimenti. Il caso standard; ma trattandosi di traduzioni questa sottopaginazione dà credito non tanto all'autore quanto al traduttore.
- Versi di Giacomo Zanella in cui invece tutte le poesie, tra cui molte traduzioni, sono poste non in sottopagine, ma come componimenti sparsi (es. la celeberrima Sopra una conchiglia fossile nel mio studio) e tenuti insieme dal template:raccolta.
- Rime dell'avvocato Gio. Batt. Felice Zappi e di Faustina Maratti sua consorte in cui per gestire la raccolta di raccolte e le decine e decine di autori rappresentati in essa è presente la doppia transclusione in ns0: ogni poesia appare sia in una sottopagina che raccoglie molte poesia sia ogni poesia ha una pagina propria, una combinazione del caso 1 e 2. Che ti pare del lavoro su Traduzioni e riduzioni? Quando mi volgerò a sminuzzare i paginoni di Lirici marinisti come mi proponi di muovermi?
i fattori in gioco sono
- la stampabilità delle raccolte da nsIndice o da ns0;
- la gestione dei signoli componimenti come opere a sé (come traduzioni o testi nati "prima della loro raccolta"), la diambiguabilità ecc. - εΔω 22:33, 28 giu 2020 (CEST)
Vi tedio con un'ulteriore avventura....
modificaImmaginiamo di ottenere qualche elemento di formattazione dal _djvu.xml; è possibile. Ma il djvu è un formato moribondo; ci restarà il pdf. Purtroppo nel pdf (con strato testo nascosto sotto l'immagine) non c'è affatto (mi pare) una "struttura" nello strato testo analoga a quella del djvu (colonne, paragrafi, linee...); ci sono solo le parole, con le loro coordinate.
Ma... rinunciando completamente alla struttura del djvu, e ricavando solo le parole e le loro coordinate sulla pagina, e scervellandosi per ricavare il resto solo da questi dati, allora l'elaborazione dei djvu e dei pdf diventa identica. Non solo: si possono gestire quei fastidiosi errori dell'OCR che accadono quando la struttura è errata (es. erronea interpretazione del testo come tabella o mancato riconoscimento di un testo in due colonne con "fusione delle linee contigue".
In Indice:Aretino, Pietro – Il primo libro delle lettere, 1913 – BEIC 1733141.djvu, i primi esperimenti pratici, di cui sono molto soddisfatto. --Alex brollo (disc.) 16:47, 24 giu 2020 (CEST)
Esportazione pdf: sottopagine, raccolte, redirect
modificaProbabilmente è banale e lo sapete già, ma lo racconto per fissarlo.
- l'esportazione pdf funziona bene ma solo quella chiamata dall'icona sopra l'intestazione delle pagine principali, url https://tools.wmflabs.org/wsexport/tool/book.php?lang=it&format=pdf-a4&page=[nome della pagina], mentre non funziona bene il link presente in sidebar, https://it.wikisource.org/w/index.php?title=Speciale:ElectronPdf&page=[nome della pagina]&action=show-download-screen. Io cancellerei il secondo, o, meglio, lo sostituirei con il primo.
- l'esportazione funziona bene per i libri "standard" in cui c'è una pagina principale e un "albero" di sottopagine.
- l'esportazione funziona bene anche nelle raccolte, ossia quando la pagina principale contiene link a altre pagine principali.
- l'esportazione invece non funziona quando i link secondari puntano a reditect.
Il punto 4 suggerisce di evitare di inserire link a redirect, nelle "raccolte" è bene che ogni link punti direttamente su una pagina reale (sia una sottopagina, sia una pagina principale.
Nel caso si voglia convertire un libro "standard" organizzato in sottopagine in una raccolta, in cui l'indice punta a pagine principali indipendenti, è quindi importante spostare le sottopagine in pagine principali da linkare direttamente, il che significa costruire, per ciascuna pagina, un tl|Intestazione sostituendo il tl|IncludiIntestazione. Un gadget potrebbe fare il lavoro.... --Alex brollo (disc.) 08:09, 28 giu 2020 (CEST)
- La conversione del link e l'eliminazione delle "monnezze" che non uso nel sottomenu Stampa/esporta della sidebar che ho montato nel mio common.js tanto per provare che "se pol far" (funzionano):
$(document).ready(function() {$("#coll-download-as-rl a").attr("href","https://tools.wmflabs.org/wsexport/tool/book.php?lang=it&format=pdf-a4&page="+mw.config.get("wgPageName")); $("#coll-create_a_book").remove(); $("#t-print").remove(); }
- Alex brollo (disc.) 09:31, 28 giu 2020 (CEST)
- @OrbiliusMagister Ti pingo perchè la cosa mi pare complementare alle tue riflessioni sulla struttura di Traduzioni e riduzioni di cui parlavamo in un messaggio precedente. Alex brollo (disc.) 09:34, 28 giu 2020 (CEST)
Mancata indentatura in transclusione
modificaIn questa pagina: Pagina:Rimatori siculo-toscani del Dugento.djvu/240 l'ulti mo paragrafo in prosa è indentato come si deve. Perchè in transclusione non riesco a ottenere l'indentatura? Perchè? Perchè? Queste sono cose che mi fanno uscire di senno.... maledetta sia la creazione automatica degli elementi <p>. --Alex brollo (disc.) 10:54, 18 lug 2020 (CEST)
- @Utoutouto Ecco un caso che mi ha fatto innervosire.... --Alex brollo (disc.) 22:46, 18 lug 2020 (CEST)
- Se guardate pagina e sua transclusione adesso, l'indentatura compare, ma solo perchè ho "scardinato l'automatismo" aggiungendo esplicitamente i tag
p
in nsPagina. Non lo suggerisco come rimedio (è una "cura sintomatica")--Alex brollo (disc.) 15:39, 22 lug 2020 (CEST)- Ma {{Ms}} non andrebbe chiuso con un </div>? Comunque {{nop}} e una riga vuota sulla pagina dopo mettono a posto, credo. --Cruccone (disc.) 12:31, 24 lug 2020 (CEST)
- @Cruccone Non nella "variante con solo numero": in questo caso {{Ms}} non apre una div, ma importa un css. Per quel paragrafo, mi pare di averle provate tutte senza successo.... verifico, grazie del suggerimento. Alex brollo (disc.) 19:44, 27 lug 2020 (CEST)
- Se guardate pagina e sua transclusione adesso, l'indentatura compare, ma solo perchè ho "scardinato l'automatismo" aggiungendo esplicitamente i tag
Problema Bot in ns0
modificaPer il bot le modifiche in ns0 su itwikisource sono delicate: occorre tenere allineati i parametri dei template con i dati dell'Area Dati, normalmente popolati da javascript al momento del salvataggio pagina. Sto immaginando una soluzione per facilitare la vita al bot e farlo sbagliare di meno, ma se qualcuno di voi ha già affrontato e risolto il problema.... potrei magari evitare di riscoprire l'acqua calda :-) --Alex brollo (disc.) 10:57, 4 ago 2020 (CEST)
- Test in corso su Poesie varie (Prati): le date di prima pubblicazione saranno desunte da w:Giovanni Prati. --Alex brollo (disc.) 16:05, 4 ago 2020 (CEST)
- Test fatto, mi sembra OK. --Alex brollo (disc.) 08:06, 6 ago 2020 (CEST)
Modifica e proposta di modifica della funzione ns0Auto
modifica@Candalua, Ruthven, OrbiliusMagister Ho riletto la funzione ns0Auto in MediaWiki:Gadget-Tools.js rendendo più leggibili due lunghe righe di codice ed eliminando un .replace("#anno", data["Anno"])
triplice o_O; se non ho pasticciato la funzione dovrebbe avere un comportamento identico (cosa da controllare!).
A questo punto due piccole modifiche puntiformi in riga 1153 e in riga 1165 dovrebbero impedire che il campo Anno di Indice venga copiato tale e quale nel campo Anno di pubblicazione di Intestazione, cosa quasi sempre controversa (anzi, abbiamo deciso: sbagliata). Ho preferito comunque non effettuare la modifica prima di un vostro parere. --Alex brollo (disc.) 08:05, 6 ago 2020 (CEST)
- Can da Lua (disc.) 09:14, 6 ago 2020 (CEST)
- mi fido di Candalua. - εΔω 11:13, 6 ago 2020 (CEST)
- @Candalua, Ruthven, OrbiliusMagister Fatto --Alex brollo (disc.) 10:23, 8 ago 2020 (CEST)
Inserire nelle Categorie la "triplet" (o la query SPARQL)
modificaApprendo che l'elemento fondamentale della struttura degli Open Linked Data (applicato in wikidata) è la tripletta soggetto-predicato-oggetto (perdonatemi la nomenclatura), es. Pinco - padre di - Pallino, Pinco - data di nascita - 1897. Questa relazione è anche la base delle query SPARQL, in cui ironicamente la prima S sta per "Simple" :-(
Ora. le categorie sono query SPARQL e sono traducibili in una, o più, triplette; che ne direste di aggiungere, giusto per incuriosire gli utenti, alle pagine categoria la loro "rappresentazione formale" in termini di triplette wikidata Q - P- Q/literal o addirittura di query SPARQL che possono dare risultati equivalenti, sempre che i dati ci siano su wikidata? Sarebbe un simpatico esercizio, per chi mastica SPARQL, e un forte stimolo ad approfondire, per chi non lo conosce (per ora mi piazzo in questa seconda categoria). --Alex brollo (disc.) 10:37, 8 ago 2020 (CEST)
- Interessante. Ci fai vedere un esempio? --Accurimbono (disc) 15:00, 8 ago 2020 (CEST)
- Ci provo. Appena sono in grado di formulare da solo la più banale delle query SPARQL. Soggetto - predicato - oggetto per Categoria:Testi di Ugo Foscolo: edizione (d:Q3331189 - autore d:P50 - Ugo Foscolo d:Q16623. Motivo di confusio maxima: la proprietà autore, giustamente, NON è compresa fra le "proprietà per questo tipo" di edizione d:Q3331189, ma se la si assegna il sistema la accetta senza alcuna reazione apparente. --Alex brollo (disc.) 11:36, 16 ago 2020 (CEST)
Domanda inevasa nel bar di wikidata
modificaRiporto anche qui, dopo alcuni giorni di attesa di una risposta, un estratto di una domanda che ho posto nel bar di wikidata. "Con fatica, molti anni fa, ho appreso per tentativi ed errori un minimo di teoria dei database relazionali classici, ed in particolare l'esigenza di sforzi per "normalizzare" le tabelle, sopprimendo attentamente ogni ridondanza (madre dell'incoerenza). ..... mi domando: la lotta alla ridondanza è un problema anche per questo modello di dati? Perchè, scorrendo le proprietà di alcuni dati ("opere" e "edizioni"), qualche ridondanza la trovo. .... Cosa/dove devo studiare?" --Alex brollo (disc.) 11:17, 16 ago 2020 (CEST)
- Temo che la mia domanda su Wikidata resterà senza risposta.... aiuterebbe tradurla in inglese? Oppure postare domande nel bar di wikidata è un semplice spreco di banda? --Alex brollo (disc.) 10:07, 23 ago 2020 (CEST)
Errori LINT
modifica@Candalua Dopo attivato il gadget che segnala gli errori LINT noto che l'errore "Tag di chiusura mancante" viene segnalato in tutte le pagine ns0, e in molte pagine nsPagina. Immagino che in ns0 dipenda dal fatto che la div .testi viene aperta da Intestazione ma non viene chiusa. Possibile rimedio: non aprire affatto una div .testi, e formattare invece in css direttamente la div automatica .mw.parser.output.
Inoltre vedo da lawikisource che il tl Titulus (corrispondente al ns tl|Intestazione) è già stato luizzato, con grandi vantaggi anche per la categorizzazione (es. Lua riconosce i numeri romani come indicativi di "secolo" e quelli in numeri arabi come indicativi di "anno"), ed è una cosa intelleggibile leggendo il codice anche per la prima volta). Ci/ti tocca luizzare Intestazione.... immagino che tu ci stia già lavorando: quali sono i problemi maggiori? --Alex brollo (disc.) 08:42, 21 ago 2020 (CEST)
- @Alex brollo togliere la div testi non è semplicissimo: Intestazione usa diverse larghezze, c'è perfino un parametro custom che abbiamo usato per mostrare le versioni "diplomatica" e "critica" fronte a fronte; poi ci sono le pagine disambigua. Bisogna pensarci bene...
- In nsPagina ho notato che anche il match&split inseriva quei fastidiosi </div> inutili nel footer, evidentemente era una vestigia ancestrale...
- Per luizzare i template, il mio approccio è di farlo a piccoli passi, luizzando i singoli pezzi che sappiamo bene cosa fanno, e comunque solo quando la conversione dà dei vantaggi. --Can da Lua (disc.) 09:58, 21 ago 2020 (CEST)
- L'importante è la conferma che ci stai pensando. :-)
- Sta il fatto che quella notifica di errore LINT in tutte le pagine ns0 è fastidioso; come sono fastidiosi i warning per script deprecati in console javascript; ma questi li vedono pochi squinternati. --Alex brollo (disc.) 13:53, 21 ago 2020 (CEST)
- @Candalua Penso che una possibile strategia potrebbe essere quella di iniziare la "luizzazione di Intestazione" partendo da IncludiIntestazione; lo script Lua ParseTemplate e il fatto che attualmente la lettura Lua di una pagina remota equivalca, come impegno server, a una transclusione dovrebbe consentire di scrivere IncludiIntestazione ignorando le "aree dati", di cui, prima o poi, sarebbe meglio liberarci (funzionano ma sono una profonda anomalia di itwikisource). Alex brollo (disc.) 10:04, 23 ago 2020 (CEST)
tl Rule ammutolito
modificaProblema risolto, ma resta un mistero.
D'improvviso Rule si è ammutolito. Nessuno toccava il suo codice dal 2017. In effetti c'era un errore logico nel template, un height:{{{h|}}} che (non dando niente nel parametro h) produceva un css anomalo vuoto height=
; la cosa si è risolta sistemando in height:{{{h|1px}}}ma perchè questo errore non ha impedito, per tre anni, la normale visualizzazione del tag hr e d'improvviso l'ha impedita? Cos'è cambiato? E questo qualcosa spaccherà qualche altro template funzionante? Boh. --Alex brollo (disc.) 08:18, 12 set 2020 (CEST)
Metastasio, Goldoni e Maffei - L'avventura _djvu.xml ed altro
modificaRiaprendo un indice di Metastasio: Indice:Metastasio, Pietro – Opere, Vol. II, 1913 – BEIC 1884499.pdf, "lavorato" nel 2018, mi sono reso conto del percorso tecnico di questi due ultimi anni, soprattutto combattendo con Goldoni.
- il primo passo è stato quello di utilizzare il codice dei file _djvu.xml di Internet Archive, il che ha consentito di sistemare un comune e fastidioso errore OCR (l'erroneo riconoscimento di "colonne" inesistenti nelle opere teatrali in versi). In Metastasio, il testo "corretto" dell'xml è però stato caricato come sta nelle pagine con "preformattazione" minima: il risultato, a distanza di tempo, è molto insoddifacente: vedi questa pagina. Anche il codice utilizzato per formattare le pagine è pesante: vedi in modifica questa pagina.
- successivamente, durante il lavoro per Goldoni, è stato "inventato" il template {{Poem t}}, che "alleggerisce" moltissimo il codice, risolvendo in un solo colpo sia il problema della formattazione e allineamento dei personaggi, che l'indentatura dei versi spezzati.
- In seguito, sempre su Goldoni, è stata sperimentata l'applicazione estesa di templatestyle; il codice è stato ulteriormente semplificato, ma con lo svantaggio di un immediato aumento della difficoltà concettuale di capirlo. Vedi questa pagina: da notare che i tl|Ct non hanno parametri multipli ma un unico parametro c (classe). Non solo: contemporaneamente, il file xml è stato elaborato offline, in blocco, ottenendo un ottimo livello di "preformattazione" già nel primo caricamento in nsPagina, come si vede dalla cronologia (questa la prima versione).
- Infine, Maffei: uso di Poem t, pre-elaborazione spinta offline del testo ottenuto da _djvu.xml, ma rinuncia ad utilizzare templatestyle. Il risultato è questa pagina, appena caricata dopo preformattazione. Al momento lo ritengo lo stato dell'arte.
Naturalmente, rivedendo Metastasio, sono preso dallo sconforto; penso che lo ricaricherò da zero. Alex brollo (disc.) 15:15, 3 ott 2020 (CEST)
- Metastasio sistemato. Alex brollo (disc.) 18:03, 11 ott 2020 (CEST)
Titoli nelle pagine ns0
modifica@OrbiliusMagister, Ruthven, Candalua Un tempo era la regola NON inserire i titoli nel testo delle pagine ns0, perchè già riportati nel box Intestazione. Le pagine ns0 senza titolo nel testo sono moltissime. Purtroppo il contenuto del box Intestazione non viene esportato, e questo, secondo me, è un notevole problema.
Due domande:
- è opportuno definire una nuova linea guida sul tema?
- si può, in qualche modo, individuare e correggere i testi esistenti che non rispettano tale linea guida? --Alex brollo (disc.) 10:09, 14 ott 2020 (CEST)
- @OrbiliusMagister, Ruthven, Alex brollo: una linea guida sarebbe opportuna. Credo che la cosa riguardi quasi esclusivamente i testi non proofread. Forse in alcuni testi proofread è stato messo un noinclude per nascondere il titolo, si potrebbero cercare tutte le pagine Pagina che hanno questo tag all'inizio del body. Per i non proofread, dato che in genere i titoli sono centrati, si potrebbero cercare le pagine ns0 che non hanno un template Centrato o Ct all'inizio; non è semplicissimo individuarli. Can da Lua (disc.) 10:41, 14 ott 2020 (CEST)
- Recentemente ho visto che un utente volonteroso, per evitare la transclusione del titolo, l'ha messo nell'header..... forse si potrebbe proporre questa regola, che renderebbe le verifiche più semplici: "nell'header l'unico contenuto ammesso è il tl|RigaIntestazione; ogni altro contenuto che non deve essere transcluso in ns0 va messo in testa al body, marcato con il tag noinclude". Compreso il caso (usato solo dagli utenti un po' avanzati) del "blocco che continua". Correggo immediatamente una pagina recente in cui ho trasgredito alla regola (una tabella che continua su due pagine). --Alex brollo (disc.) 12:32, 14 ott 2020 (CEST)
- Vale la pena menzionarlo in una qualche linea guida. Per la correzione delle pagine, confido che gli utenti, col tempo, pian piano correggeranno. --Ruthven (msg) 15:40, 22 ott 2020 (CEST)
- Recentemente ho visto che un utente volonteroso, per evitare la transclusione del titolo, l'ha messo nell'header..... forse si potrebbe proporre questa regola, che renderebbe le verifiche più semplici: "nell'header l'unico contenuto ammesso è il tl|RigaIntestazione; ogni altro contenuto che non deve essere transcluso in ns0 va messo in testa al body, marcato con il tag noinclude". Compreso il caso (usato solo dagli utenti un po' avanzati) del "blocco che continua". Correggo immediatamente una pagina recente in cui ho trasgredito alla regola (una tabella che continua su due pagine). --Alex brollo (disc.) 12:32, 14 ott 2020 (CEST)
Pensieri sui Canti di Leopardi
modificaChiarito il problema del contenuto di "Anno di pubblicazione" in ns0, che rappresenta l'epoca di composizione o di prima pubblicazione dell'opera, mi accorgo che sarebbe comodo avere la possibilità di inserire il dato anche in IncludiIntestazione, quando non va bene il default della pagina base. Infatti, ho dovuto inserire un largo intervallo di anni (1819 - 1931) per la raccolta, e già qui con riserve (I nuovi credenti è pubblicato solo postumo, molti decenni dopo), ma non so come visualizzare l'anno di composizione di ciascun canto, che pure è noto.
Ci sono due soluzioni:
- generalizzare la trascrizione in pagine ns0 principali di ciascun componimento, in modo da poter precisare bene tutti i metadati specifici del componimento nel template Intestazione;
- prevedere in IncludiIntestazione parametri aggiuntivi opzionali, che funzionino come il parametro autore= del template; per i Canti, mi piacerebbe disporre di un parametro opzionale anno=.
Nel frattempo torno a Maffei che ho abbandonato miseramente. --Alex brollo (disc.) 01:07, 17 ott 2020 (CEST)
E se domani....
modifica- .... eis permettesse di saltare direttamente a un numero pagina specifico invece che saltare solo alla precedente /successiva? ( Fatto, ma per ora in versione test)
- .... o addirittura saltasse da pagina a pagina in una lista di pagine?
- .... o magari creasse lui stesso la lista di pagine da scorrere, previa selezione con un certo criterio?
- .... e infine, se oltre a fare tutto questo, facesse anche una o più modifiche nel testo, attendendo solo un OK di conferma pagina per pagina?
Conclusione: vagare nel bosco con Asia mi fa venire strane idee :-). Finiamo sta roba di Zibaldone, va, e lasciamo eis in pace. --Alex brollo (disc.) 23:55, 24 ott 2020 (CEST)
- ...E se VIS si potesse aprire dal NS0?
- ...E se trovasse le stringhe da subito senza dover usare anche Ctrl+f, dopo?
Pensa che le strane idee mi vengono senza vagare per i boschi. Peccato che non so come rispondere :( --Silvio Gallio (disc.) 07:47, 25 ott 2020 (CET)
- Alla prova dei fatti, la possibilità di "saltare" a una pagina specifica è pienamente sufficiente. Il resto può aspettare a tempo indeterminato. --Alex brollo (disc.) 11:53, 11 nov 2020 (CET)
Elaborazione nsPagina "offline inline"
modificaImmaginiamo di caricare il contenuto di una serie di pagine in una sandbox, aggiungendo al testo, come prefisso, un codice split ==[[Pagina:....]]== (l'operazione speculare rispetto al solito split).
A questo punto, il potente Cerca e sostituisci mediawiki potrebbe essere usato per elaborazione dell'intero blocco di pagine. A elaborazione terminata, lo split ultrarapido salverebbe in un lampo i testi elaborati al loro posto.
Vi pare un'idea interessante? --Alex brollo (disc.) 12:00, 30 nov 2020 (CET)
Template Wl
modificaÈ corretto che l'uso del template {{Wl}} non generi alcun interlink se non esiste la pagina in italiano? In questa pagina Wiedemann e Schmidt non visualizzano alcun link. --Luigi62 (disc.) 20:17, 5 dic 2020 (CET)
- @Luigi62 Sì, se non è stato modificato Wl produce solo tre alternative di link, con questa proprità: wikisource italiana, wikipedia italiana, wikidata. Alex brollo (disc.) 20:30, 21 dic 2020 (CET)
- @Alex brollo Il problema è che il link a wikidata si presenta solo come tooltip e quindi lo trovi solo se sai che c'è. --Luigi62 (disc.) 07:30, 22 dic 2020 (CET)