Moroboshi
Benvenuto
modificaCiao Moroboshi!
Benvenuta/o su Wikivoyage in lingua italiana! Stiamo realizzando un'attendibile guida turistica mondiale libera e aggiornabile. Aiutaci anche tu! Se hai appena conosciuto Wikivoyage e non sai come funziona e in che modo puoi aiutarci, poni le tue domande nella Lounge, il punto d'incontro dei wikiviaggiatori, oppure consulta le nostre pagine di aiuto. Potrai trovare risposte ai tuoi dubbi anche nelle pagine delle domande frequenti e dei consigli per i nuovi arrivati. Ricordati soprattutto che è vietato copiare testi protetti da copyright. Il nostro obiettivo non è proporre contenuti copiati da altri siti, ma scrivere una nuova guida turistica di nostro pugno.
|
Cancellazione
modificaQualora non fossi tu l'IP che ha fatto questa cancellazione, te la segnalo. --Andyrom75 (discussioni) 20:49, 18 lug 2013 (CEST)
- Meglio così :-)
- Sei qua per lavorare un po' sull'interprogetto? In caso affermativo, fammi sapere se hai bisogno di me per qualche prova e/o informazione. Intanto mi collego su IRC, che magari da li facciamo prima :-) --Andyrom75 (discussioni) 21:04, 18 lug 2013 (CEST)
- Grazie per esser tornato :-) I link sulla sidebar li elimino via JS quando si punta ad una pagina che non esiste. Se guardi Africa i link ci sono. --Andyrom75 (discussioni) 21:28, 18 lug 2013 (CEST)
test di inserimento
modificaDirei riuscito con successo ;-) Magari ho qualche perplessità sul titolo della pagina ma ne parleremo + avanti. --Andyrom75 (discussioni) 09:50, 11 ago 2013 (CEST)
- Oggi mi sto preparando per il viaggio di rientro in Italia, ma appena a casa do un'occhiata a quei link dentro Tokyo e vedo di sistemarli e poi di riaggiorniamo per bene. --Andyrom75 (discussioni) 17:12, 11 ago 2013 (CEST)
- Ho sfruttato questa lunga attesa all'aeroporto per sistemare i link di Tokyo (eliminando il doppio slash). Mi sa che dovrò rimetterci le mani, ma facciamo un passo alla volta. --Andyrom75 (discussioni) 23:30, 11 ago 2013 (CEST)
Ciao Moroboshi, avrei bisogno di un tuo gentilissimo supporto sul primo template in oggetto perchè in questi giorni mi son messo a riscrivere il secondo e ho notato una piccola (diciamo) incompatibilità tra i due.
Con la nuova versione del Quickfooter, non essendo riuscito a trovare un'alternativa funzionante, ho dovuto richiamare l'Interprogetto non più come prima, un'unica chiamata con tutti i parametri necessari, bensì con una serie di chiamate (una per ogni progetto esterno).
Ho notato che questo rovina i progetti sulla sidebar (invece di listarmeli tutti, apparentemente, mi include solo il primo: wikipedia). Dato che quella lista ci baso un JS, a cascata ho altri problemi.
Mi aiuteresti a risolvere l'inghippo? Grazie mille, --Andyrom75 (discussioni) 13:38, 28 set 2013 (CEST)
- Il problema è che il codice per la sidebar viene "wrappato" con una div con id=interProject in modo che venga spostata nella posizione corretta dal foglio di stile .css. Quindi solo la prima viene riconosciuta. Se devi proprio suddividere in più chiamate si dovrà fare una chiamata di "apertura" che metta il <div id="interProject"> e una di chiusura che metta la chiusua. Ma in questi giorni sono molto preso, per altre cose - ti risento settimana prossima.--Moroboshi (discussioni) 14:03, 28 set 2013 (CEST)
- Ok, va benissimo anche settimana nuova. Poi magari dimmi te se vedi una soluzione (che io non ho trovato) per modificare il Quickfooter senza toccare l'attuale logica dell'interprogetto. Il nocciolo della questione sta a metà script quando richiamo in sequenza 5 volte tale template. L'ho dovuto fare perchè avevo bisogno di gestire 3 casistiche per ogni parametro arrivato al Quickfooter: 1) non dichiarato 2) dichiarato ma vuoto 3) dichiarato e valorizzato. Il problema consiste nel fatto che queste tre casistiche sono gestite a perfezione dalla sintassi che ho scritto quanto l'#if deve solo stampare un testo a video. Se la stessa cosa la utilizzo come parametro di un template (in questo caso ip) non funge più. Sembra quasi che il parser non elabori con la corretta precedenza le operazioni, quindi l'if l'ho dovuto mettere fuori... e questo ha causato più chiamate.
- Se alla questione non c'è alternativa, ok a la div complessivo. Grazie mille, --Andyrom75 (discussioni) 14:24, 28 set 2013 (CEST)
- Il diverso comportamento di #if:{{{1}}} rispetto a #if:{{{1|}}} nei casi in cui il parametro non è definito, lo notai per caso su en:voy quando gli modificai un template, al che mi son messo a cercare un po' di documentazione a supporto. Questa è la pagina di help che ho seguito. Ho anche fatto dei test prima e dopo l'implementazione e in effetti sembrerebbe che funzioni. Fai qualche prova e fammi sapere se invece trovi qualche anomalia. --Andyrom75 (discussioni) 08:46, 1 ott 2013 (CEST)
- A me non sembra che funzioni. Ho fatto questa pagina di prova: Utente:Andyrom75/Sandbox3#Test_2_Quickfooter. Dagli un'occhiata. Su test1 avevo messo a confronto la vecchia sintassi con quella nuova, mentre su test 2 la tua con la nuova. La cosa strana è che invece di stampare il risultato del template, sembrerebbe che visualizzi il wikitext associato alla chiamata. E' ben scritto ma non viene elaborato. --Andyrom75 (discussioni) 00:31, 2 ott 2013 (CEST)
- Dimenticavo. Non puoi fare il check su Roma (o in qualunque altra città) perchè adotta ancora la vecchia sintassi (1.0) che sto mantenendo per compatibilità fino a fine lavori. L'upgrade alla nuova sintassi (2.0), come ho scritto in lounge, l'ho fatta per parchi, masse d'acqua, siti archeologici, continenti, stati e gran parte delle regioni. Tutta via ho preparato la pagina di prova (di cui ti ho parlato sopra) che mette a confronto i vari script. --Andyrom75 (discussioni) 08:41, 2 ott 2013 (CEST)
- Allora, il Qf 1.0 era basato esclusivamente su parametri posizionali e impostava in modo fisso e inequivocabile (per tanto fuoriero di errori per tutti quei progetti che non stavano su wikidata) i valori da passsare all'interprogetto. Il Qf, se escludiamo il primo che determina la famiglia (e.g. stato, parco, ecc...) e che a te non dovrebbe interessare, i parametri sono tutti nominali. Il Qf 1.0 a fine lavori sarà completamente eliminato; ad oggi mi restano da aggiornare "solo" 550 città.
- In questa pagina di prova (colonna di destra) puoi vedere il risultato atteso per Wikizionario nelle tre casistiche possibili.
- wikt= non presente (usa i valori di default, che in questo caso è il PAGENAME)
- wikt= passato così privo di aclun valore, significa che NON deve mostrare il link a wiktionary
- wikt=Italia significa che DEVE mostrare il link a wiktionary ma la pagina a cui puntare è Italia (e non PAGENAME)
- Dimmi se ti è più chiara la situazione o se hai bisogno di ulteriori info.
- Ora do una controllatina al sito per capire se i tuoi aggiornamenti siano compatibili con gli attuali Qf o se devo ritoccarli. --Andyrom75 (discussioni) 08:56, 6 ott 2013 (CEST)
- Houston, abbiamo un problema :-)
- Così ad occhio, osservando Giappone direi che hai aggiunto la funzionalità che io e Sannita di avevamo detto di mettere su Wikipedia, ossia quella di recuperare in automatico quando non specificato i link a voy e commons (qua immagino w e commons). Questo tipo di controllo l'avevo già implementato sul Qf per tanto da un lato è ridondante. Il vero problema è che per la logica di cui sopra, se non riusciamo a far si che venga rispettata con un'unica chiamata dell'interprogetto all'interno del Qf, l'output che ne viene fuori è un disastro. Io come ti dicevo nei giorni scorsi non ci sono riuscito. Facciamo qualche altra prova, ma se continuiamo a navigare nel buio ripristinerei il precedente meccanismo e farei solo in modo di risolvere il problema originale (quello che mi dicesti si risolve con un div collettivo). Come promemoria del vecchio bug guarda in fondo a questa pagina, a causa delle chiamate multiple a interprogetto, non riesco più a nascondere il link via JS come facevo prima. --Andyrom75 (discussioni) 09:08, 6 ott 2013 (CEST)
- Il rollback ha eliminato il problema che avevo visto su Giappone, però resta la questione originale. Idee su come intervenire? --Andyrom75 (discussioni) 16:57, 9 ott 2013 (CEST)
- Purtroppo non venendo chiamato direttamente il template interprogetto, non è possibile gestire al suo interno la seconda condizione illustrata sopra. L'unica alternativa teorica al cambiamento della logica dell'ip (a cui accennavi), potrebbe essere inserire un enorme blocco if che contempli tutte le casistiche possibili al fine di effettuare una singola chiamata all'ip, ma temo che venga fuori qualcosa di improponibile, riducendo così la fattibilità a solo la prima ipotesi. --Andyrom75 (discussioni) 10:26, 11 ott 2013 (CEST)
- La sidebar è generata col tuo modulo, mentre il mio script le nasconde quando non esistono. Provo a cercare di capire se va. --Andyrom75 (discussioni) 21:40, 23 ott 2013 (CEST)
- Ho provato a sostituire la chiamata a Quickfooter con Quickfooter/Sandbox in Maremma Grossetana e purtroppo facendo così continua a comparire il link verso commons anche quando non esiste. Ho difficoltà però a capire dove sta il problema. Proviamo a sentirci su IRC? --Andyrom75 (discussioni) 22:26, 23 ott 2013 (CEST)
- Forse è più significativo fare il medesimo test con Namibia settentrionale visto che qui manca il link a wikipedia e il risultato è più "pulito". --Andyrom75 (discussioni) 22:39, 23 ott 2013 (CEST)
- Ho provato a sostituire la chiamata a Quickfooter con Quickfooter/Sandbox in Maremma Grossetana e purtroppo facendo così continua a comparire il link verso commons anche quando non esiste. Ho difficoltà però a capire dove sta il problema. Proviamo a sentirci su IRC? --Andyrom75 (discussioni) 22:26, 23 ott 2013 (CEST)
- La sidebar è generata col tuo modulo, mentre il mio script le nasconde quando non esistono. Provo a cercare di capire se va. --Andyrom75 (discussioni) 21:40, 23 ott 2013 (CEST)
- Purtroppo non venendo chiamato direttamente il template interprogetto, non è possibile gestire al suo interno la seconda condizione illustrata sopra. L'unica alternativa teorica al cambiamento della logica dell'ip (a cui accennavi), potrebbe essere inserire un enorme blocco if che contempli tutte le casistiche possibili al fine di effettuare una singola chiamata all'ip, ma temo che venga fuori qualcosa di improponibile, riducendo così la fattibilità a solo la prima ipotesi. --Andyrom75 (discussioni) 10:26, 11 ott 2013 (CEST)
- Il rollback ha eliminato il problema che avevo visto su Giappone, però resta la questione originale. Idee su come intervenire? --Andyrom75 (discussioni) 16:57, 9 ott 2013 (CEST)
- Dimenticavo. Non puoi fare il check su Roma (o in qualunque altra città) perchè adotta ancora la vecchia sintassi (1.0) che sto mantenendo per compatibilità fino a fine lavori. L'upgrade alla nuova sintassi (2.0), come ho scritto in lounge, l'ho fatta per parchi, masse d'acqua, siti archeologici, continenti, stati e gran parte delle regioni. Tutta via ho preparato la pagina di prova (di cui ti ho parlato sopra) che mette a confronto i vari script. --Andyrom75 (discussioni) 08:41, 2 ott 2013 (CEST)
- A me non sembra che funzioni. Ho fatto questa pagina di prova: Utente:Andyrom75/Sandbox3#Test_2_Quickfooter. Dagli un'occhiata. Su test1 avevo messo a confronto la vecchia sintassi con quella nuova, mentre su test 2 la tua con la nuova. La cosa strana è che invece di stampare il risultato del template, sembrerebbe che visualizzi il wikitext associato alla chiamata. E' ben scritto ma non viene elaborato. --Andyrom75 (discussioni) 00:31, 2 ott 2013 (CEST)
- Il diverso comportamento di #if:{{{1}}} rispetto a #if:{{{1|}}} nei casi in cui il parametro non è definito, lo notai per caso su en:voy quando gli modificai un template, al che mi son messo a cercare un po' di documentazione a supporto. Questa è la pagina di help che ho seguito. Ho anche fatto dei test prima e dopo l'implementazione e in effetti sembrerebbe che funzioni. Fai qualche prova e fammi sapere se invece trovi qualche anomalia. --Andyrom75 (discussioni) 08:46, 1 ott 2013 (CEST)
interprogetto e menù altri progetti
modificaHo notato una cosa curiosa, non so se hai modo di sistemarlo. Il menù laterale "spesso ma non sempre" ha la freccia di apertura/chiusura invertita. Nel senso, all'apertura della pagina il menù è chiuso ma la freccia punta verso il basso come se fosse aperto e da quel momento in poi funziona sempre al contrario. Sporadicamente il posizionamento è corretto. Idee? --Andyrom75 (discussioni) 23:41, 31 gen 2014 (CET)
- Se non erro accade spesso ma non sempre. Difficile a dirsi ma guarderò di farci caso. Per il momento ho aperto Colorno diverse volte sia da Chrome che da IE, e per il momento ha sempre mostrato il problema sopra citato.
- Giusto per fare un ulteriore prova, ho lasciato la freccette di "Altri progetti" e "Pagine correlate" in entrambi gli stati prima di riaprire su un altro tab la stessa pagina. Quello che accade è che "Pagine correlate" si ricorda lo stato precedente e la nuova pagina compare nello stesso modo (menù aperto se aperto o chiuso se chiuso), mentre "Altri progetti" compare sempre compare sempre chiuso ma con la freccetta rivolta verso il basso (quindi all'incontrario). --Andyrom75 (discussioni) 09:14, 1 feb 2014 (CET)
- ok :-( .... proverò a ragionarci un po' su. Se comunque ti venisse in mente qualcosa fammi sapere. --Andyrom75 (discussioni) 14:24, 1 feb 2014 (CET)
- Forse ho capito il problema (anche se adesso devo trovare la soluzione...). Le classi associate a quel div sono: "portal expanded collapsed" ... secondo me ce n'è una di troppo... o expanded o collapsed...
- Altra domanda (che mi serve per affrontare un problema diverso). Vedo che l'id di quel blocco è p-iproject, ma non capisco dove viene definito nel modulo, dato che l'unico id che trovo è: interProject. Sai mica spiegarmi? --Andyrom75 (discussioni) 17:58, 2 feb 2014 (CET)
- ok :-( .... proverò a ragionarci un po' su. Se comunque ti venisse in mente qualcosa fammi sapere. --Andyrom75 (discussioni) 14:24, 1 feb 2014 (CET)
Side bar: Altri progetti Vs. Related projects
modificaUna domanda. Che tu sappia è voluta la cosa che il tempate interprogetto lavori su un menù Altri progetti che è diverso da quello in cui i tag "wikipedia", "dmoz", ecc.. lavorano normalmente?
L'ho notato correggendo alcune cose sull'articolo de L'Avana. Confronta il prima col dopo.
La direttiva Dmoz è rimasta invariata, quindi è nello stesso menù (related projects .... che avevo rinominato il Altri progetti), mentre la direttiva wikipedia è stata sostituita dall'interprogetto (e come vedi si è spostata).
Fammi sapere che ne pensi, --Andyrom75 (discussioni) 19:00, 3 feb 2014 (CET)
Lua Sorting
modificaNon so se sia utile o meno, comunque ti segnalo che a questo indirizzo ho trovato delle funzioni di ordinamento di tabelle e di inserimento di righe in determinate posizioni. Però non sono riuscito a capire come dirgli ordinami quella tabella in base ai valori della colonna X. --Andyrom75 (discussioni) 00:27, 2 lug 2014 (CEST)
- Altra segnalazione, più per curiosità mia che altro. Ho visto questo modulo che è usato in oltre 10M di pagine per la gestione dei parametri e che manca anche su it:w. È un qualcosa di utile che dovremmo implementare anche qui? --Andyrom75 (discussioni) 08:07, 2 lug 2014 (CEST)
- Ti butto li un'idea (non so quanto costruttiva). Ha senso, a valle dell'ordinamento, scorrere le città con parametro Posizione valorizzato, e tramite le funzioni Lua sulle tabelle (senza effettuare ulteriori controlli) eliminare direttamente quella città nella tabella (ovunque sia) e reinserirla nella posizione indicata dall'omonimo parametro. Fammi sapere che ne pensi. --Andyrom75 (discussioni) 12:35, 2 lug 2014 (CEST)
- Ahh, quindi le città che ordini sono prive di quelle che hanno il parametro Posizione valorizzato? (ho ancora un po' di difficoltà nel capire bene un codice Lua). In tal caso convengo che sia un'ottima idea ordinare quelli senza Posizione e poi aggiungere "ordinatamente" quelli con. --Andyrom75 (discussioni) 15:11, 2 lug 2014 (CEST)
- Grazie mille! Sei e sei stato gentilissimo :-) Stasera se ho tempo faccio qualche test e se non emergono problemi lo metto in produzione. --Andyrom75 (discussioni) 16:09, 2 lug 2014 (CEST)
- I parametri Titolo non vanno ordinati perché sono zone "ragionate" spesso inserite a fronte di una mappa disegnata ad-hoc per voy. I titoli inoltre delimitano un gruppo di città che al loro interno devono essere ordinate.
- Su questo esempio, invece si vede che le città vengono "mescolate" tra i vari titoli e questi ordinati alfabeticamente. Dagli un'occhiata. --Andyrom75 (discussioni) 07:54, 3 lug 2014 (CEST)
- Dopo testo il modulo esoterico :-DDDD e ti faccio sapere :-) Grazie in tanto, --Andyrom75 (discussioni) 18:11, 3 lug 2014 (CEST)
- Nell'esempio che ti avevo menzionato sembra andare bene. Ho provato a fare qualche test in stile "Vieni avanti creativo" :-) e andrebbero gestiti alcuni errori di compilazione da parte degli utenti. Ti elenco i casi che ho provato poco fa.
- Nel primo gruppo ho messo due position=1. Uno dei due viene soppresso, mentre in realtà dovrebbero comparire entrambi, meglio se ordinati alfabeticamente.
- Sempre nel primo gruppo ho messo position=5 (ci sono 4 elementi). Questo sparisce.
- Stesso gruppo. Ho messo position=x e position=0, i quali dovrebbero essere ignorati, mentre al momento hanno comportamenti diversi a seconda dei valori delle altre città.
- Semmai dopo vedo se mi viene in mente qualcos'altro. --Andyrom75 (discussioni) 19:01, 3 lug 2014 (CEST)
- Premesso che ho ancora difficoltà a interpretare il codice (una sera di queste ti disturbo su IRC :-)), mi sembra che ci sia un incongruenza tra il commento di riga 13 e il codice di riga 16 (i.e. or vs and). --Andyrom75 (discussioni) 20:39, 3 lug 2014 (CEST)
- 1 In ogni gruppo ci può essere una sola posizione le citta con posizione fissa vengono inserite in un array indicizzato in base alla posizione quindi se c'è ne più di una con lo stessa posizione cancella la precedente. Piuttosto posso mettere un check e aggiungere un errore se ci sono posizioni doppie - gestire un ordinamento ulteriore mi pare un po' un'overkill per un elenco di città.
- 2 Viene messo nella posizione 5 della lista, ma dato che ci sono quattro elementi in totale la quarta posizione resta uguale a nil e il ciclo di elaborazione si arresta. Posso mettere un vincolo perchè viene messo in coda alla lista.
- 3 Se la posizione non è convertibile in un numero viene messa uguale a zero. Riga 115 se la funzione
tonumber
non riesce a convertire in un numero intero allora la prima parte dell'or
è falsa e viene eseguita la seconda (e quindi settata a 0). All'interno diTitle:add_city
seposition
non è maggiore di zero allora la citta viene messa nell'elenco di quelle da ordinare numericamente. Posso piuttosto emettere un messaggio di errore se posizione <0. - Riguardo alla funzione
get_par_n
alla riga 16 controllo ses
esiste (cioè è diverso da nil) e in questo caso controllo se è uguale alla stringa nulla e allora ritorno nil. Se passa il check allora significa che ènil
oppure ha un valore diverso da stringa nulla e quindi posso ritornarla così com'è (se è nil ritorna nil altrimenti ritorna un valore stringa diverso da stringa nulla). In alternativa potevo fareif s == nil or s == '' then return nil end
ma il comportamento della funzione sarebbe rimasto uguale (eccetto che il nil ritorna dal primo return e non dal secondo).--Moroboshi (discussioni) 21:24, 3 lug 2014 (CEST)- Se dici che il secondo ordinamento è eccessivo, vada per la categoria di errore, così che durante il lavoro sporco si può individuare facilmente e rimediare. Poi grazie per la spiegazione avevo erroneamente inteso "if s" come "se s non è vuoto" anziché "se s esiste". --Andyrom75 (discussioni) 23:47, 3 lug 2014 (CEST)
- Premesso che ho ancora difficoltà a interpretare il codice (una sera di queste ti disturbo su IRC :-)), mi sembra che ci sia un incongruenza tra il commento di riga 13 e il codice di riga 16 (i.e. or vs and). --Andyrom75 (discussioni) 20:39, 3 lug 2014 (CEST)
- Nell'esempio che ti avevo menzionato sembra andare bene. Ho provato a fare qualche test in stile "Vieni avanti creativo" :-) e andrebbero gestiti alcuni errori di compilazione da parte degli utenti. Ti elenco i casi che ho provato poco fa.
- Dopo testo il modulo esoterico :-DDDD e ti faccio sapere :-) Grazie in tanto, --Andyrom75 (discussioni) 18:11, 3 lug 2014 (CEST)
- Grazie mille! Sei e sei stato gentilissimo :-) Stasera se ho tempo faccio qualche test e se non emergono problemi lo metto in produzione. --Andyrom75 (discussioni) 16:09, 2 lug 2014 (CEST)
- Ahh, quindi le città che ordini sono prive di quelle che hanno il parametro Posizione valorizzato? (ho ancora un po' di difficoltà nel capire bene un codice Lua). In tal caso convengo che sia un'ottima idea ordinare quelli senza Posizione e poi aggiungere "ordinatamente" quelli con. --Andyrom75 (discussioni) 15:11, 2 lug 2014 (CEST)
- Ti butto li un'idea (non so quanto costruttiva). Ha senso, a valle dell'ordinamento, scorrere le città con parametro Posizione valorizzato, e tramite le funzioni Lua sulle tabelle (senza effettuare ulteriori controlli) eliminare direttamente quella città nella tabella (ovunque sia) e reinserirla nella posizione indicata dall'omonimo parametro. Fammi sapere che ne pensi. --Andyrom75 (discussioni) 12:35, 2 lug 2014 (CEST)
Oggi mi son messo a fare diverse modifiche sui Citylist esistenti e ho riscontrato un problema. L'algoritmo si basa sull'assunto che il numero delle città è pari alla quantità dei parametri cityXname che trova in sequenza.
Pertanto, se si sbaglia a digitare il nome di uno di questi parametri, gli altri vengono completamente scartati. Spero che sia aggirabile perchè mi sembra impossibile catalogare questo errore tramite una categoria, ma mi rimetto al tuo responso. --Andyrom75 (discussioni) 15:04, 4 lug 2014 (CEST)
- Non sono sicurissimo di aver capito il problema del ref che menzionavi nel punto 1, comunque dato che il template accettava fino a 20 città, potresti controllare fino a city20name. Magari crea una variabile/costante inizializzandola a 20, in modo che in futuro, se si decidesse di variare tale numero, non sarebbe necessario andarlo a ricercare all'interno dei cicli for. --Andyrom75 (discussioni) 08:57, 5 lug 2014 (CEST)
- La modifica va benissimo anche domani :-)
- Ora credo di aver capito il tuo punto sui ref. Premesso che dovrei fare un test per verificarlo, a naso credo che prima venga costruita la pagina wiki, e solo dopo venga popolato il paragrafo delle referenze, quindi l'ordinamento avviene prima, e l'accesso alla referenza numero X dovrebbe avvenire correttamente. L'eventuale workaround (scomodo) che mi viene in mente è valorizzare ogni ref col parametro name="xyz", in questo modo si accede alla referenza per etichetta e non per posizione. --Andyrom75 (discussioni) 11:19, 5 lug 2014 (CEST)
- Pienamente d'accordo con la creazione della categoria. Fammi vedere le altre categorie di manutenzione che tipo di nomi hanno (giusto per vedere se è possibile rispettare una qualsivoglia coerenza... altrimenti usiamo quello da te proposto). --Andyrom75 (discussioni) 14:20, 6 lug 2014 (CEST)
- Sai magari cosa, non metterei in chiaro nell'articolo in messaggio di errore, è brutto se lo vede un lettore non addetto ai lavori. Preferirei una delle seguenti due strade:
- Usare solo la categoria
- Eventualmente, oltre alla categoria, inserire un messaggio hidden in uno span, reso visibile solo da una classe che devi installarti su commons. A tal proposito vedi Modulo:LinkPhone.
- --Andyrom75 (discussioni) 14:31, 6 lug 2014 (CEST)
- Per il nome della categoria userei "Citylist con errori di compilazione", in questo modo il nome della categoria inizia col nome del template in questione ed è più facile da ricercare. --Andyrom75 (discussioni) 14:35, 6 lug 2014 (CEST)
- Io userei lo span e non il div per i messaggi nascosti perchè il div include un page break e qui non è necessario. Inoltre stavo pensando una cosa. Dato che la modalità debugging mi sembra utile per chi si occupa di lavoro sporco, pensavo in tutti questi template/moduli di aggiungere due classi; una specifica della funzione in questione (e.g. citylistinfo, phoneinfo, ecc...) e una generica per vederle tutte (e.g. debuginfo). Che ne pensi? --Andyrom75 (discussioni) 15:49, 6 lug 2014 (CEST)
- Messa in produzione, visto c'ero ho messo anche lo span, se non ti torna fammi sapere. --Andyrom75 (discussioni) 16:12, 6 lug 2014 (CEST)
- Io userei lo span e non il div per i messaggi nascosti perchè il div include un page break e qui non è necessario. Inoltre stavo pensando una cosa. Dato che la modalità debugging mi sembra utile per chi si occupa di lavoro sporco, pensavo in tutti questi template/moduli di aggiungere due classi; una specifica della funzione in questione (e.g. citylistinfo, phoneinfo, ecc...) e una generica per vederle tutte (e.g. debuginfo). Che ne pensi? --Andyrom75 (discussioni) 15:49, 6 lug 2014 (CEST)
- Per il nome della categoria userei "Citylist con errori di compilazione", in questo modo il nome della categoria inizia col nome del template in questione ed è più facile da ricercare. --Andyrom75 (discussioni) 14:35, 6 lug 2014 (CEST)
- Sai magari cosa, non metterei in chiaro nell'articolo in messaggio di errore, è brutto se lo vede un lettore non addetto ai lavori. Preferirei una delle seguenti due strade:
- Pienamente d'accordo con la creazione della categoria. Fammi vedere le altre categorie di manutenzione che tipo di nomi hanno (giusto per vedere se è possibile rispettare una qualsivoglia coerenza... altrimenti usiamo quello da te proposto). --Andyrom75 (discussioni) 14:20, 6 lug 2014 (CEST)
Ti chiederei un'altra cortesia. Potresti dare un'occhiata al banale modulo che ho cercato di scrivere ma che ancora non funziona e non ho ben chiaro come effettuare un sano debugging dei moduli Lua.
Ho creato anche una pagina per i test, in cui si dovrebbe capire l'obiettivo finale, ma in caos contrario chiedi pure. --Andyrom75 (discussioni) 13:16, 5 lug 2014 (CEST)
- Grazie per la dritta. Non ci metto le mani ora per evitare conflitti. Applica tu tutte le migliorie del caso e io provo a capirle :-P
- Il typo "caos contrario" ci stava proprio bene :-D Provo a spiegarti cosa dovrebbe fare.
- Io vorrei usare il template così:
{{ScritturaPronuncia|Five|faiv}}
- il quale genera la seguente stringa:
<span id="Scrittura">Five</span> <span id="Pronuncia">faiv</span>
...e questo funziona... - Le funzioni GetScrittura e GetPronuncia dovrebbero estrarre il testo dentro lo span ....e questo non funziona...
- --Andyrom75 (discussioni) 17:05, 6 lug 2014 (CEST)
- Grazie per la sistemazione, ora chiaramente funge :-) Sul discorso dei parametri ho fatto confusione perchè non ho chiarissimo il concetto e ho scimmiottato un altro script dove magari li aveva anche un senso :-) Ora provo a implementare il template e vedo se è tutto ok. --Andyrom75 (discussioni) 08:03, 7 lug 2014 (CEST)
- Guarda i parametri 7 e 8 del pagina di test che avevo fatto. Se ci sono caratteri Unicode e non strettamente Ascii, ritorna stringa vuota. Va fatta una conversione? --Andyrom75 (discussioni) 09:00, 7 lug 2014 (CEST)
- Ma figurati, grazie mille per la correzione! --Andyrom75 (discussioni) 09:43, 7 lug 2014 (CEST)
- Ho aggiunto nell'esempio il parametro 100 e 1.000.000 ma non fungono. Idee? Danno noia i punti nel milione? I parametri numerici non possono essere superiori a X (con X almeno minore di 100 :-))? --Andyrom75 (discussioni) 09:50, 7 lug 2014 (CEST)
- Come al solito la notte ha portato consiglio :-) Il problema è nella regex. Se nel testo da recuperare c'è uno spazio, ritorna stringa vuota. Provo a cambiarla, ma se non ci riuscissi sai dove guardare ;-) --Andyrom75 (discussioni) 09:04, 8 lug 2014 (CEST)
- Fatto, ora funge. :-) --Andyrom75 (discussioni) 09:12, 8 lug 2014 (CEST)
- Domanda. Ma lo 0 (zero) non è considerato come condizione FALSE in un if? Ho dovuto forzare #var>0 ... o magari sono io che avevo sbagliato qualcosa? --Andyrom75 (discussioni) 10:11, 8 lug 2014 (CEST)
- Fatto, ora funge. :-) --Andyrom75 (discussioni) 09:12, 8 lug 2014 (CEST)
- Come al solito la notte ha portato consiglio :-) Il problema è nella regex. Se nel testo da recuperare c'è uno spazio, ritorna stringa vuota. Provo a cambiarla, ma se non ci riuscissi sai dove guardare ;-) --Andyrom75 (discussioni) 09:04, 8 lug 2014 (CEST)
- Ho aggiunto nell'esempio il parametro 100 e 1.000.000 ma non fungono. Idee? Danno noia i punti nel milione? I parametri numerici non possono essere superiori a X (con X almeno minore di 100 :-))? --Andyrom75 (discussioni) 09:50, 7 lug 2014 (CEST)
- Ma figurati, grazie mille per la correzione! --Andyrom75 (discussioni) 09:43, 7 lug 2014 (CEST)
- Guarda i parametri 7 e 8 del pagina di test che avevo fatto. Se ci sono caratteri Unicode e non strettamente Ascii, ritorna stringa vuota. Va fatta una conversione? --Andyrom75 (discussioni) 09:00, 7 lug 2014 (CEST)
- Grazie per la sistemazione, ora chiaramente funge :-) Sul discorso dei parametri ho fatto confusione perchè non ho chiarissimo il concetto e ho scimmiottato un altro script dove magari li aveva anche un senso :-) Ora provo a implementare il template e vedo se è tutto ok. --Andyrom75 (discussioni) 08:03, 7 lug 2014 (CEST)
#ifexist
modificaChe tu sappia esiste un modo in Lua per controllare l'esistenza di una pagina, che non vada ad alimentare il conteggio delle pagine più richieste? Mi sarebbe utile per scremare quelle veramente richieste da quelle semplicemente testate. Da quello che ho capito mw.title.new( 'title', 'namespace' ).exists
funziona esattamente come l'#ifexist, quindi cercavo qualcosa di alternativo ...se esiste... --Andyrom75 (discussioni) 09:20, 6 lug 2014 (CEST)
- Gosh... Cerco di essere creativo. Esiste un qualcosa da controllare che possa essere riconducibile all'esistenza? Che so, la dimensione della pagina non nulla (sebbene non distingua il caso pagina vuota) o il poter recuperare l'id di wikidata (sebbene non distingua le pagine che non hanno un'istanza su wikidata) o similari. Che ne pensi? --Andyrom75 (discussioni) 14:19, 6 lug 2014 (CEST)
Romagna#Centri termali e Citylist
modificaPotresti dare un'occhiata per capire cosa è che non va? Sembra che necessiti obbligatoriamente la presenza del city1name per poter mostrare tutto il resto. --Andyrom75 (discussioni) 09:28, 15 lug 2014 (CEST)
- In effetti la tua assunzione era ragionevole, ma mi sono accorto nella pratica che ci sono casi in cui è più veloce spezzare una lista esistente senza rinumerarla da capo. Grazie mille per il fix. --Andyrom75 (discussioni) 08:35, 16 lug 2014 (CEST)
- Nastoshka mi ha fatto notare poco fa che quando si applicano delle etichette ai wikilink presenti su cityXname è più corretto ordinarlo per le etichette.
- I campi cityXname possono essere popolati nei seguenti modi:
- testo
- wikilink
- wikilink con etichetta
- tutti e tre potrebbero teoricamente avere del testo a valle.
- La chiave di ordinamento dovrebbe essere, rispettivamente:
- testo
- titolo della pagina (praticamente il wikilink)
- etichetta
- I testi a valle dei wikilink così su due piedi direi che sono ininfluenti, ma se non ti creano problemi puoi accodarli.
- Grazie mille, --Andyrom75 (discussioni) 11:56, 16 lug 2014 (CEST)
- Stavo pensando che per farla semplice si potrebbe vedere se cityXname inizia con un wikilink [[ e in caso affermativo, gli si sostituisce l'etichetta se presente o il titolo della pagina puntata se assente. Il resto rimane uguale. Così dovrebbe essere più semplice sia da capire che da implementare :-) --Andyrom75 (discussioni) 13:17, 16 lug 2014 (CEST)
Non so se è un problema collaterale dovuto ai lavori in corso sull'ordinamento per etichette, però nell'articolo in oggetto la presenza di city1title fa sparire i primi due titoli e le prime due città. --Andyrom75 (discussioni) 22:44, 16 lug 2014 (CEST)
- Effetto simile per Macedonia_(Grecia)#Centri urbani. --Andyrom75 (discussioni) 23:10, 16 lug 2014 (CEST)
- Grazie mille per il tuo continuo supporto, problema risolto. Per l'ordinamento prenditi tranquillamente i tuoi tempi. --Andyrom75 (discussioni) 07:52, 17 lug 2014 (CEST)
- Se ti servisse un articolo specifico con cui fare una prova per l'ordinamento delle etichette, puoi prendere Lombardia (sotto titolo "centri termali"). --Andyrom75 (discussioni) 00:04, 23 lug 2014 (CEST)
- Su Modulo:Citylist c'era uno spazio di troppo e l'ho tolto. Oltre alla tua ultima patch, tieni conto anche questo il giorno che riversi qui la nuova Sandbox. Grazie mille, --Andyrom75 (discussioni) 08:46, 24 lug 2014 (CEST)
- Ok grazie mille, --Andyrom75 (discussioni) 14:10, 24 lug 2014 (CEST)
- Su Modulo:Citylist c'era uno spazio di troppo e l'ho tolto. Oltre alla tua ultima patch, tieni conto anche questo il giorno che riversi qui la nuova Sandbox. Grazie mille, --Andyrom75 (discussioni) 08:46, 24 lug 2014 (CEST)
- Se ti servisse un articolo specifico con cui fare una prova per l'ordinamento delle etichette, puoi prendere Lombardia (sotto titolo "centri termali"). --Andyrom75 (discussioni) 00:04, 23 lug 2014 (CEST)
- Grazie mille per il tuo continuo supporto, problema risolto. Per l'ordinamento prenditi tranquillamente i tuoi tempi. --Andyrom75 (discussioni) 07:52, 17 lug 2014 (CEST)
Mi sembra doveroso...
modificaBarnstar del mago dei template | ||
Mi sembra doveroso assegnarti questo riconoscimento, dopo l'ennesimo provvidenziale, celere e gentile aiuto che ogni volta vieni qui a dispensare quando è richiesto il tuo supporto nella realizzazione e miglioramento dei moduli Lua dove tu sei indiscutibilmente esperto. Grazie infinite, --Andyrom75 (discussioni) 08:24, 25 lug 2014 (CEST) |
Fix
modificaMi confermi che questa modifica sia corretta? Dato che l'output era "sporco" ho creduto che quel parametro ti servisse in fase di debug, ma preferisco chiedere a te. --Andyrom75 (discussioni) 10:18, 25 lug 2014 (CEST)
- Tranquillo, mi è capitato di peggio :-) Il resto sembra tutto ok. --Andyrom75 (discussioni) 13:16, 25 lug 2014 (CEST)
Altri progetti
modificaCiao Moroboshi, avrei bisogno del tuo supporto per rivedere il Modulo:Interprogetto e per capire le chiamate su Template:Quickfooter vanno bene così o se vanno cambiate o se si possono semplificare.
Abbiamo implementato di default la funzionalità sperimentale che consente di mostrare già lato server il menù Altri progetti nella sidebar attingendo da Wikidata. Analoga richiesta fu fatta su Wikipedia ma penso che la cosa si sia arenata. Magari una volta sistemata qui, si può riprendere il discorso su wikipedia e questo risolverebbe in automatico anche la discussione sulle disambigue (ricordi?) dove ci eravamo bloccati.
Avendo ora questo menù, la logica di funzionamento dell'interprogetto dovrebbe essere un po' diversa. Provo a spiegarmi meglio, e comunque vediamo di ragionarci insieme.
Oggi l'ip crea anche tale menù, ma in realtà lo deve aprire solo se mancante, e comunque lo deve aprire con la medesima sintassi usata lato server per compatibilità. Nota che è cambiato anche l'id.
Inoltre oggi l'ip aggiunge tutti gli interwikilink, ma in realtà dovrà aggiungerli solo se assenti su wikidata e/o se specificati in modo "forzato" da parametro. Wikizionario sarà sicuramente aggiunto perchè ad oggi non presente su Wikidata. Va deciso cosa fare quando ad esempio il link a wikipedia è presente su wikidata, ma specifico da parametro una voce di it:w diversa. Sostituirlo o aggiungerlo? Dato che l'ip di voy (a differenza di quello su wiktionary) gestisce un'unica istanza direi di sostituirlo per semplicità. ...tanto questa funzione non è mai usata nelle pagine di voy, e comunque possiamo modificarla in un secondo momento...
Riassumendo. Se non ci sono parametri, l'ip utilizza solo wikidata, altrimenti crea i link alle pagine indicate dai parametri stessi. ...dovrebbe già essere così ma ho preferito sottolineare l'ovvio :-)
--Andyrom75 (discussioni) 17:59, 8 ott 2014 (CEST)
- Così su due piedi direi che nel Template:Quickfooter tutta la parte tra openleftbar e closeleftbar non serve più, ma non vorrei sottovalutare qualcosa di grossolano. Immagino che il div che crea e che al momento sta nella sezione Altri progetti nel corpo dell'articolo servisse al JS per creare il menù nella sidebar, ma le stesse informazioni possono essere evinte dalla lista puntata. Aspetto un tuo parere.
- Inoltre stavo pensando, nell'ottica di snellire il codice JS, se fosse davvero necessario allineare i link della side bar con quelli del corpo dell'articolo o se fosse altresì utile lasciarli distinti. Che ne pensi? --Andyrom75 (discussioni) 20:11, 8 ott 2014 (CEST)
- Quello che andrà comunque inserito nella sidebar, come dicevo sopra, è il link a wikizionario; ma forse lo posso gestire con JS. Faccio qualche prova. Se va a buon fine si può fare come dici tu. Verrebbe fuori una bella semplificazione. --Andyrom75 (discussioni) 21:58, 8 ott 2014 (CEST)
- JS sistemato. Ora devo modificare il MediaWiki:Quickfooter.js per il controllo dell'esistenza della pagina. Quando vuoi puoi lavorare sul modulo dell'interprogetto. Nel Template:Quickfooter ho già tolto le chiamate che dicevi tu, ma dagli comunque un'occhiata per scrupolo. --Andyrom75 (discussioni) 00:56, 9 ott 2014 (CEST)
- A meno di errori dovrei aver terminato. Quando hai modo vedi se è possibile ottimizzare il codice del modulo. --Andyrom75 (discussioni) 14:46, 9 ott 2014 (CEST)
- Anche io ho fatto un paio di controlli a campione e sembra che tutto funzioni. Grazie mille. Giusto una cosa. Ho notato che per commons, il template usa la proprietà in cui è memorizzata la categoria, mentre il gadget usa la sezione altri progetti dove è memorizzata la pagina. Secondo me dovrebbero essere mostrate entrambe nella sidebar e pensavo di modificare il JS in tal senso. Che ne pensi?
- Altra cosa. Dato che su source e qui su voy è stato già implementato di default questo gadget, non sarebbe il caso di fare la stessa cosa su Wikipedia? --Andyrom75 (discussioni) 11:02, 19 ott 2014 (CEST)
- A meno di errori dovrei aver terminato. Quando hai modo vedi se è possibile ottimizzare il codice del modulo. --Andyrom75 (discussioni) 14:46, 9 ott 2014 (CEST)
- JS sistemato. Ora devo modificare il MediaWiki:Quickfooter.js per il controllo dell'esistenza della pagina. Quando vuoi puoi lavorare sul modulo dell'interprogetto. Nel Template:Quickfooter ho già tolto le chiamate che dicevi tu, ma dagli comunque un'occhiata per scrupolo. --Andyrom75 (discussioni) 00:56, 9 ott 2014 (CEST)
- Quello che andrà comunque inserito nella sidebar, come dicevo sopra, è il link a wikizionario; ma forse lo posso gestire con JS. Faccio qualche prova. Se va a buon fine si può fare come dici tu. Verrebbe fuori una bella semplificazione. --Andyrom75 (discussioni) 21:58, 8 ott 2014 (CEST)
Template:Nascondi titolo e Modulo:Nascondi titolo
modificaCiao Moroboshi, una cortesia. Potresti dare un'occhiata alla bozza (non funzionante :-P) del modulo in oggetto? Il titolo dovrebbe essere autoesplicativo sul suo scopo :-)
Quello che vorrei fare è rimpiazzare il codice JS che si occupa di tale funzione, perchè in questo modo si evitano modifiche della pagina lato client, con conseguente alleggerimento del codice trasmesso (anche se solo di una istruzione) e una migliore visualizzazione (quello che viene mostrato resta li e non gli cambia sotto gli occhi).
Per te che smanetti con LUA dovrebbe essere una bischerata (come si dice dalle mie parti ;-)). Fammi sapere, --Andyrom75 (discussioni) 10:00, 7 nov 2014 (CET)
- Su en:w ho visto che hanno cambiato la formattazione del titolo (da normale a corsivo). Questo è dovuto alla presenza della variabile di cui parlavi? --Andyrom75 (discussioni) 11:07, 7 nov 2014 (CET)
- Per darti un riferimento, guarda en:w:Astrophytum myriostigma che usa en:w:Module:Italic title. --Andyrom75 (discussioni) 11:14, 7 nov 2014 (CET)
- Ecco perchè non mi funzionava nemmeno su en:w! Peccato, ci terremo il JS così com'è. Grazie lo stesso. --Andyrom75 (discussioni) 12:04, 7 nov 2014 (CET)
- Dimenticavo. A questo punto direi che posso cancellare template e modulo vero? Non è che c'è un piano B? :-) --Andyrom75 (discussioni) 12:42, 7 nov 2014 (CET)
- Grazie comunque della gentilissima consulenza. Procedo. --Andyrom75 (discussioni) 12:48, 7 nov 2014 (CET)
- Dimenticavo. A questo punto direi che posso cancellare template e modulo vero? Non è che c'è un piano B? :-) --Andyrom75 (discussioni) 12:42, 7 nov 2014 (CET)
- Ecco perchè non mi funzionava nemmeno su en:w! Peccato, ci terremo il JS così com'è. Grazie lo stesso. --Andyrom75 (discussioni) 12:04, 7 nov 2014 (CET)
- Per darti un riferimento, guarda en:w:Astrophytum myriostigma che usa en:w:Module:Italic title. --Andyrom75 (discussioni) 11:14, 7 nov 2014 (CET)
Ho nuovamente bisogno del tuo supporto :-P
Nel modulo in oggetto sono incappato in due ostacoli:
- Questa è sicuramente colpa della mia pessima memoria. Nella funzione dd2dms sbaglio a passare i parametri o a richiamare le funzioni. Fatto sta che non funge. ...deve essere una cosa davvero banale...
- "Inspiegabilmente" negli ultimi tre esempi che ho messo nel manuale, non mi riconosce il simbolo " generato dalla funzione (lato server) #dd2dms e quindi l'out è errato. Quando invece la "stessa" stringa, la passo manualmente funziona. Idee del perchè? --Andyrom75 (discussioni) 12:57, 29 nov 2014 (CET)
- Lascia perdere il titolo austero, in realtà sono banali manipolazioni di stringhe. ;-)
- Prendi la tabella "nozeros" (che elimina gli zeri...). In particolare l'ultima riga il cui risultato attesa avrebbe dovuto assomigliare alla quart'ultima, ossia ritornare "15° N 16° E". Mentre la penultima analoga alla sest'ultima, ossia ritornare "5° 20' N 10° 20' E".
- Facendo delle prove ho notato che non riconosce il simbolo --> " <-- (quando ritornato dalla #dd2dms) e quindi mi "va tutto a gallina" :-D --Andyrom75 (discussioni) 14:21, 29 nov 2014 (CET)
- Premesso che devo studiarmi un po' meglio le modifiche che hai apportato, la visualizzazione del risultato delle ultime due righe è rimasto invariato, mentre il risultato corretto dovrebbe essere privo degli zeri finali (a comune tra lat e long). --Andyrom75 (discussioni) 20:12, 29 nov 2014 (CET)
- Ok, mi è servito un po' ma ora credo di aver capito la tua modifica che ha risolto il punto 1; grazie :-)
- Per il punto 2 continuo a non capire che problema hanno quelle doppie virgolette. --Andyrom75 (discussioni) 20:36, 29 nov 2014 (CET)
- Alt. Il passaggio dei parametri è ok, ma è sorto un bug che non mi spiego. La funzione nospace aggiunge un numero intero alla fine tra 0 e 3 .... davvero curioso... --Andyrom75 (discussioni) 21:26, 29 nov 2014 (CET)
- Ho capito da dove viene quel numero. Corrisponde al numero di spazi soppressi. Ora però va tolto :-P --Andyrom75 (discussioni) 21:30, 29 nov 2014 (CET)
- Ho capito anche che ritornava un array, ma non son riuscito a passare direttamente al return il primo valore, quindi ho dichiarato una nuova variabile (suppongo scalare) alla quale (a quanto pare) gli arriva direttamente. Se conosci una soluzione più elegante implementala pure. --Andyrom75 (discussioni) 21:46, 29 nov 2014 (CET)
- Credo di aver capito anche il secondo problema ma non riesco a risolverlo. Forse per un problema sulla funzione string.gsub (è corretta come l'ho scritta?). Eliminando carattere dopo carattere dal fondo della stringa, sembrerebbe che quelle " in realtà sono ". --Andyrom75 (discussioni) 22:23, 29 nov 2014 (CET)
- E quale è il modo corretto per scrivere quella regex su LUA? --Andyrom75 (discussioni) 02:32, 30 nov 2014 (CET)
- Leggendo un po' in qua e là ho visto che le regex di LUA sono molto limitate. Quindi ho implementato una soluzione alternativa che sembra funzionare. Analogamente al discorso del "return" di cui ti parlavo sopra, puoi dare un'occhiata al codice e mi dici se secondo te è ok così o se ci sono migliori soluzioni alternative? --Andyrom75 (discussioni) 09:40, 30 nov 2014 (CET)
- Decisamente più snella! Inserisco il tuo suggerimento. --Andyrom75 (discussioni) 10:12, 30 nov 2014 (CET)
- Non mi è chiaro dalla console di debug come eseguire/testare le funzioni che ho dichiarato nel mio modulo. Quelle di libreria le uso senza problemi. Puoi aiutarmi a capire? --Andyrom75 (discussioni) 11:53, 30 nov 2014 (CET)
- Decisamente più snella! Inserisco il tuo suggerimento. --Andyrom75 (discussioni) 10:12, 30 nov 2014 (CET)
- Leggendo un po' in qua e là ho visto che le regex di LUA sono molto limitate. Quindi ho implementato una soluzione alternativa che sembra funzionare. Analogamente al discorso del "return" di cui ti parlavo sopra, puoi dare un'occhiata al codice e mi dici se secondo te è ok così o se ci sono migliori soluzioni alternative? --Andyrom75 (discussioni) 09:40, 30 nov 2014 (CET)
- E quale è il modo corretto per scrivere quella regex su LUA? --Andyrom75 (discussioni) 02:32, 30 nov 2014 (CET)
- Credo di aver capito anche il secondo problema ma non riesco a risolverlo. Forse per un problema sulla funzione string.gsub (è corretta come l'ho scritta?). Eliminando carattere dopo carattere dal fondo della stringa, sembrerebbe che quelle " in realtà sono ". --Andyrom75 (discussioni) 22:23, 29 nov 2014 (CET)
- Ho capito anche che ritornava un array, ma non son riuscito a passare direttamente al return il primo valore, quindi ho dichiarato una nuova variabile (suppongo scalare) alla quale (a quanto pare) gli arriva direttamente. Se conosci una soluzione più elegante implementala pure. --Andyrom75 (discussioni) 21:46, 29 nov 2014 (CET)
- Ho capito da dove viene quel numero. Corrisponde al numero di spazi soppressi. Ora però va tolto :-P --Andyrom75 (discussioni) 21:30, 29 nov 2014 (CET)
- Alt. Il passaggio dei parametri è ok, ma è sorto un bug che non mi spiego. La funzione nospace aggiunge un numero intero alla fine tra 0 e 3 .... davvero curioso... --Andyrom75 (discussioni) 21:26, 29 nov 2014 (CET)
- Premesso che devo studiarmi un po' meglio le modifiche che hai apportato, la visualizzazione del risultato delle ultime due righe è rimasto invariato, mentre il risultato corretto dovrebbe essere privo degli zeri finali (a comune tra lat e long). --Andyrom75 (discussioni) 20:12, 29 nov 2014 (CET)
Sandbox
modificaStavo facendo un po' di manutenzione e ho visto che la tua sandbox va a popolare Categoria:Citylist con errori di compilazione. Dici che si può svuotare o è meglio modificare il codice affinché non venga segnalata? --Andyrom75 (discussioni) 19:20, 22 gen 2015 (CET)
- Ok, allora lasciamo tutto com'è "nell'attesa della tua venuta" ;-) --Andyrom75 (discussioni) 22:18, 22 gen 2015 (CET)
Modulo:Quickbar/Sandbox
modificaNella funzione coa_and_flag devo sbagliare qualcosa nel passaggio dei parametri a Quickbar_image, o in quest'ultima quando cerco di estrarli, perché quando chiamo Quickbar_image dal modulo args è pari a nil. Dove sta l'errore? --Andyrom75 (discussioni) 02:13, 1 apr 2015 (CEST)
- Ho provato entrambe le versioni (con e senza tonde) ma senza alcun effetto. La versione con le tonde l'ho messa ieri sera dopo aver letto questo. --Andyrom75 (discussioni) 10:05, 1 apr 2015 (CEST)
Nel modulo in oggetto ho tentato di creare (senza alcun successo) una funzione generica per non stare a ripetere lo stesso codice ogni volta.
In pratica vorrei trasformare i vari
function p.bandiera(frame)
if frame then
if is_defined(frame.args[1]) then
return frame.args[1]
end
local parent = frame:getParent()
if parent and is_defined(parent.args.Bandiera) then
return parent.args.Bandiera
end
end
return aggiornato(item,'P41',frame)
end
in
function p.bandiera(frame)
return p.WDProperty{PID='P41', ExtVar='Bandiera', frame}
end
Ma non riesco a capire cosa scrivere qui dentro:
function p.WDProperty(frame)
end
Suggerimenti? PS Se la chiamata è sbagliata, cambiala pure... --Andyrom75 (discussioni) 16:21, 7 apr 2015 (CEST)
[@ Andyrom75] Se ho capito correttamente cosa vuoi fare dovrebbe bastare: Chiamata
function p.bandiera(frame)
return p.WDProperty{'P41', 'Bandiera', frame}
end
Funzione WDProperty:
function p.WDProperty(PID, ExtVar, frame)
if frame then
if is_defined(frame.args[1]) then
return frame.args[1]
end
local parent = frame:getParent()
if parent and is_defined(parent.args[ExtVar]) then
return parent.args[ExtVar]
end
end
return aggiornato(item, PID,frame)
end
Non capisco perchè ti porti dietro la variabile item
nei parametri se tanto l'hai definita globalmente a inizio file (o è un avanzo della precedente implementazione).--Moroboshi (discussioni) 21:19, 7 apr 2015 (CEST)
- Item era un refuso. Grazie per la dritta... mi ero incasinato la vita pensando di utilizzare l'altro tipo di chiamata; così è molto più lineare :-) --Andyrom75 (discussioni) 21:58, 7 apr 2015 (CEST)
Ho dovuto annullare questa modifica perché la tabella in basso a questa pagina non mostrava più alcun contenuto. Eppure con quella modifica avevo equiparato il modello in oggetto a Modulo:Città che funziona correttamente. Idee? --Andyrom75 (discussioni) 23:55, 23 giu 2015 (CEST)
- Come da te suggerito ho creato dei tag fittizi in Modulo:ScritturaPronuncia. Ma se riapplico la modifica di cui sopra, aggiungendo o meno la patch che avevi messo in Modulo:Città, il risultato in preview di Template:TabNumeri/man è sempre lo stesso: sparisce il contenuto. Idee? --Andyrom75 (discussioni) 22:37, 28 giu 2015 (CEST)
Tempo fa cambiai l'interfaccia "utente" per renderla più flessibile in fase di modifica di un articolo. Per farlo creai Template:CitylistApp come cuscinetto di compatibilità tra la nuova e la vecchia interfaccia. Ora, visto che funziona tutto egregiamente, vorrei eliminare questo template di appoggio perché di fatto è ridondante. Secondo te, è possibile farlo senza riscrivere il modulo LUA? O meglio, quale è secondo te il miglior modo per farlo? --Andyrom75 (discussioni) 10:16, 14 nov 2015 (CET)
- Visto ci siamo volevo rendere possibile anche la gestione delle coordinate (lat & long) per creare un {{marker}} alla stregua dei {{listing}}. Inizialmente speravo di recuperare le coordinate da Wikidata, ma non potendo cercare su wd per etichetta, bensì solo per ID, sarei obbligato a inserire l'ID per ogni città, e questo è sicuramente più complicato per un editor medio, quindi ho ripescato l'idea di esplicitare le coordinate.
- Inoltre, il motivo per cui sono andato a ripescare questo template/modulo, è che volevo crearne uno gemello (in realtà solo fratello :-P) per creare una lista di destinazioni Template:Destinationlist (al momento un mero redirect). Quest'ultimo dovrà avere un ID HTML diverso, e anche i marker creati dovranno essere di tipo diverso (per il momento creiamoli entrambi col generico tipo listing; li differenzierò successivamente). --Andyrom75 (discussioni) 10:43, 14 nov 2015 (CET)
- Non sono sicuro di aver capito la risposta (magari una volta che ci siamo entrambi ci si può sentire su IRC per velocizzare). Comunque riproviamo qui nel frattempo.
- L'interfaccia attuale va benissimo, è già stata discussa in lounge a suo tempo e apprezzata da tutti da allora, quindi non va cambiata ulteriormente. L'attuale semplicità di compilazione non ha paragone.
- Il template adesso ricorda un po' Template:TabNumeri, dove a fronte di un parametro posizionale, gli si passa il risultato di un template compilato sempre con gli stessi parametri. Analogamente a questo (come ti dicevo sopra), vorrei sopprimere Template:CitylistApp perché superfluo. Io lo creai perché non in grado di metter mano al modulo LUA senza il tuo supporto :-(
- Per le coordinate, come dicevo sopra, già abbiamo il Template:Marker che assolve egregiamente il suo mestiere, però mentre ad oggi lo dovrei usare così:
{{Citylist | 1={{Città| nome={{marker|nome=[[]]|lat=|long=}} | alt= | descrizione=}} | 2={{Città| nome={{marker|nome=[[]]|lat=|long=}} | alt= | descrizione=}} }}
- vorrei trasformare l'interfaccia così:
{{Citylist | 1={{Città| nome=[[]] | alt= | lat= | long= | descrizione=}} | 2={{Città| nome=[[]] | alt= | lat= | long= | descrizione=}} }}
- Che è indubbiamente più semplice e la modifica non dovrebbe essere complicata, però vorrei apportarla a valle della prima modifica. --Andyrom75 (discussioni) 09:04, 15 nov 2015 (CET)
- Ti confermo che li ho già migrati tutti. Dopo faccio qualche prova.
- Una domanda. Su Parchi nazionali in Africa faccio un uso estensivo di Template:Destinationlist (ad oggi un mero redirect verso Citylist, ma poi avrà una sua dignità di template a sé stante), e tutti i template creano elementi HTML con lo stesso ID. Secondo te andrebbe corretto? --Andyrom75 (discussioni) 10:09, 19 nov 2015 (CET)
- Seguendo la tua idea pensavo di accodare all'attuale ID, quello specificato da parametro per evitare che per sbaglio un utente lo battezzi proprio come un'altro ID di un qualunque altro elemento HTML. Che ne pensi?
- Inoltre, a tuo avviso posso fare una banale concatenazione, o devi applicare una codifica? --Andyrom75 (discussioni) 11:43, 19 nov 2015 (CET)
- Sì direi che sarebbe meglio il prefisso, se proprio vuoi essere tranquillo piuttosto aggiungere un controllo che possa far saltare il codice html (per esempio verficiare che ci siano solo lettere e/o numeri.--Moroboshi (discussioni) 12:12, 19 nov 2015 (CET)
- Esite una funzione tipo "HTMLencode" o qualcosa di simile? ...giusto per non reinventare la ruota...
- Su Tematica:Parchi nazionali in Africa ho provato ad usare "Citylist/sandbox" al posto di "Destinationlist". Sembra che tutto sia ok, tranne la visualizzazione del marker (associato alle coordinate). Puoi dare un'occhiata? --Andyrom75 (discussioni) 13:06, 19 nov 2015 (CET)
- Attualmente il codice si trova in Template:Citylist. Mostra correttamente il marker, ma per come è fatto il codice, compromette l'ordinamento perché l'ho usato direttamente nel parametro nome, quindi mentre l'ordinamento può continuare ad essere fatto come ora, la visualizzazione deve essere fatta diversamente. --Andyrom75 (discussioni) 21:33, 19 nov 2015 (CET)
- Mi sembra che ora funzioni benissimo. Se non erro mi limito ad aggiornare il Modulo:Citylist. Me ne occupo domani con più lucidità :-) Grazie mille! --Andyrom75 (discussioni) 01:13, 24 nov 2015 (CET)
- Sto apportando un po' di modifiche al modulo per integrare il modulo:città e per generalizzare l'utilizzo di città e destinazioni. Quando ho guardato le Pagine che puntano a "Modulo:Città" ho trovato anche "Template:Citylist/sandbox", ma non mi capacito del perché. Sai spiegarmi? PS Dovrei aver già fatto e potrei già cancellare Modulo:Città, Modulo:Città/man, Modulo:Citylist/sandbox e Modulo:Citylist/man, tuttavia sono curioso del perché. --Andyrom75 (discussioni) 20:03, 25 nov 2015 (CET)
- Grazie; chiarissimo. Devo farci ancora l'occhio. --Andyrom75 (discussioni) 21:18, 25 nov 2015 (CET)
- Sto apportando un po' di modifiche al modulo per integrare il modulo:città e per generalizzare l'utilizzo di città e destinazioni. Quando ho guardato le Pagine che puntano a "Modulo:Città" ho trovato anche "Template:Citylist/sandbox", ma non mi capacito del perché. Sai spiegarmi? PS Dovrei aver già fatto e potrei già cancellare Modulo:Città, Modulo:Città/man, Modulo:Citylist/sandbox e Modulo:Citylist/man, tuttavia sono curioso del perché. --Andyrom75 (discussioni) 20:03, 25 nov 2015 (CET)
- Mi sembra che ora funzioni benissimo. Se non erro mi limito ad aggiornare il Modulo:Citylist. Me ne occupo domani con più lucidità :-) Grazie mille! --Andyrom75 (discussioni) 01:13, 24 nov 2015 (CET)
- Attualmente il codice si trova in Template:Citylist. Mostra correttamente il marker, ma per come è fatto il codice, compromette l'ordinamento perché l'ho usato direttamente nel parametro nome, quindi mentre l'ordinamento può continuare ad essere fatto come ora, la visualizzazione deve essere fatta diversamente. --Andyrom75 (discussioni) 21:33, 19 nov 2015 (CET)
- Sì direi che sarebbe meglio il prefisso, se proprio vuoi essere tranquillo piuttosto aggiungere un controllo che possa far saltare il codice html (per esempio verficiare che ci siano solo lettere e/o numeri.--Moroboshi (discussioni) 12:12, 19 nov 2015 (CET)
- Su Modulo:Itemlist/sandbox ho provato ad aggiungere il parametro tipo per la visualizzazione del marker. Il codice mi sembra corretto, però il dump che ho aggiunto alla riga 81 mostra che la variabile listtype che dovrebbe contenere il tipo di marker è nil. Vedi l'errore (ed eventualmente correggerlo)? --Andyrom75 (discussioni) 00:32, 26 nov 2015 (CET)
- Se ti serve una pagina di test puoi usare Parchi nazionali in Africa i cui marker, una volta che funziona il modulo, dovrebbero colorarsi di marrone anziché di verde. --Andyrom75 (discussioni) 20:11, 26 nov 2015 (CET)
- Immagino che
reply[#reply+1] = tostring(title, listtype)
sia un refuso, quindi l'ho sostituito conreply[#reply+1] = tostring(title)
. Corretto? --Andyrom75 (discussioni) 18:31, 29 nov 2015 (CET)
- Immagino che
- Se ti serve una pagina di test puoi usare Parchi nazionali in Africa i cui marker, una volta che funziona il modulo, dovrebbero colorarsi di marrone anziché di verde. --Andyrom75 (discussioni) 20:11, 26 nov 2015 (CET)
Prefissi
modificaHo provato a creare senza successo una nuova funzione nel Modulo:Wikidata.
In pratica vorrei tradurre {{Wikidata|P474|from={{Wikidata|P17|n=1|formatting=raw}}}} {{Wikidata|P473|conjunction=, }} in LUA.
Dopo di che (i.e. una volta che le ho reso funzionante la versione LUA), vorrei estenderla manipolando la stringa generata dal secondo pezzi (i.e. l'elenco dei prefissi locali).
In pratica tramite la proprietà P3238 (codice di accesso) che ho fatto creare e popolare su ogni Stato va modificato ogni singolo prefisso rimuovendo il codice contenuto in P3238 (se non nullo) quando trovato all'inizio del prefisso.
Faccio un alcuni di esempi.
- Firenze: +39 055, per l'Italia P3238="", quindi non c'è da modificare nulla lasciando invariato +39 055
- Brighton: +44 01273, per il Regno Unito P3238=0, quindi va rimosso lo 0 dal prefisso urbano, generando +44 1273
- Düsseldorf: +49 02104, 0211, 0203, per la Germania P3238=0, quindi va rimosso lo 0 da ogni prefisso urbano, generando +49 2104, 211, 203
Puoi darmi mano? --Andyrom75 (discussioni) 00:28, 15 ott 2016 (CEST)
- Grazie di aver corretto le mie sviste da novizio. Alcune domande e curiosità.
- Il limite di volte in cui si può interrogare un'istanza diversa dalla corrente è fisso o dipende dalla complessità dell'interrogazione? ...tuttavia non è questo il caso perché io devo fare un'unica chiamata per inserirla nel Quickbar
- ho usato in preview {{#invoke:Wikidata|prefisso_completo}} su un articolo a caso (e.g. Trani) ma mi ritorna solo il prefisso urbano senza concatenarlo con quello nazionale. Non è che per caso il parametro from usi erroneamente la proprietà P17 come se fosse un'istanza anziché il valore associato alla proprietà P17?
- al posto del blocco if, non è possibile usare il pi compatto or anche al momento del recupero del prefisso nazionale?
- una volta sistemato il codice, non è che potresti anche implementare la logica sopra spiegata, basata sulla proprietà P3238? Se non l'ho spiegata chiaramente, chiedi pure.
- --Andyrom75 (discussioni) 08:21, 15 ott 2016 (CEST)
- Tutto chiaro. Al posto di P17 che funzione devo usare per passare il valore che contiene? Imagino sia _getQualifier, ma non mi è chiaro come indicargli la proprietà di partenza P17. --Andyrom75 (discussioni) 09:08, 15 ott 2016 (CEST)
Sul tema delle coordinate ho fatto grossi passi avanti.
Ho creato anydms2standarddms e dividedms che funzionano perfettamente. Però non riesco a far funzionare anydms2dec perché non capisco come devo passare i parametri tra le due funzioni.
Da quel che capisco l'errore sta qui p.dividedms(p.anydms2standarddms(frame))
Mi sai spiegare il perché? --Andyrom75 (discussioni) 02:10, 16 ott 2016 (CEST)
- Alleluia! Credo di esserci riuscito. Puoi dare un'occhiata a ciò che ho scritto e mi dici se secondo te è una porcata, o va bene così? Grazie, --Andyrom75 (discussioni) 09:31, 16 ott 2016 (CEST)
- Per il mio livello di LUA ho fatto miracoli, però è ancora molto lontano dal funzionare come si deve. Da una parte non so se ciò che ho scritto può essere o va, scritto meglio, dall'altra ci sono parecchie casistiche che non sono riuscito a considerare per poter applicare questo modulo ad un vero articolo. Il test che faccio consiste nell'applicare
#invoke:Coord|anydms2dec
al posto di#deg2dd:
all'interno del Template:Marker visualizzando in preview Parchi nazionali in Africa. - Le casistiche buone sono la prevalenza, ma ci sono ancora casistiche che non riesco a gestire. Prova a dargli un'occhiata anche te quando hai tempo. Comunque a tempo perso continuo a sbatterci un po' la testa. --Andyrom75 (discussioni) 13:20, 16 ott 2016 (CEST)
- Il suddetto file adesso riesco a gestirlo tutto. Però non ho ancora messo online queste funzioni perché nutro dubbi sulla loro solidità. Attendo un tuo parere. --Andyrom75 (discussioni) 17:54, 16 ott 2016 (CEST)
- Dai un'occhiata a Utente:Moroboshi/Sandbox. I due casi aggiunti danno errore. Li ho trovati nella tematica applicando il modulo al template marker. --Andyrom75 (discussioni) 09:44, 21 ott 2016 (CEST)
- Ho trovato un altro errore. Una volta corretto, ti consiglio di fare il test di cui sopra, così li vedi tutti senza che te li segnali via via :-P PS anche "Roma (gradi dms solo deg min, precisione di default)" non ti funziona. --Andyrom75 (discussioni) 12:05, 21 ott 2016 (CEST)
- Questa volta mi sembra che sia tutto ok; grazie mille! --Andyrom75 (discussioni) 23:24, 24 ott 2016 (CEST)
- Ho trovato un altro errore. Una volta corretto, ti consiglio di fare il test di cui sopra, così li vedi tutti senza che te li segnali via via :-P PS anche "Roma (gradi dms solo deg min, precisione di default)" non ti funziona. --Andyrom75 (discussioni) 12:05, 21 ott 2016 (CEST)
- Dai un'occhiata a Utente:Moroboshi/Sandbox. I due casi aggiunti danno errore. Li ho trovati nella tematica applicando il modulo al template marker. --Andyrom75 (discussioni) 09:44, 21 ott 2016 (CEST)
- Il suddetto file adesso riesco a gestirlo tutto. Però non ho ancora messo online queste funzioni perché nutro dubbi sulla loro solidità. Attendo un tuo parere. --Andyrom75 (discussioni) 17:54, 16 ott 2016 (CEST)
- Per il mio livello di LUA ho fatto miracoli, però è ancora molto lontano dal funzionare come si deve. Da una parte non so se ciò che ho scritto può essere o va, scritto meglio, dall'altra ci sono parecchie casistiche che non sono riuscito a considerare per poter applicare questo modulo ad un vero articolo. Il test che faccio consiste nell'applicare
A parte la risoluzione degli errori sull'altro modulo, avrei bisogno di una consulenza su questo.
Non capisco il razionale per cui mettendo a comune (in alto) local mWikidata = require('Module:Wikidata')
il modulo dia errore. --Andyrom75 (discussioni) 18:55, 23 ott 2016 (CEST)
- Altra cosa. Ho creato quickbar.capital che possiamo dire funziona, però quando non esiste il corrispettivo articolo su Wikivoyage, al posto di un wikilink (i.e. [[link|nome]]), mi mostra un plain text (i.e. nome). Se vogliamo è un comportamento più che normale, dato che non sa in automatico chi sia link. Però io vorrei controllare l'esistenza del link di wikipedia (già so che esiste, ma un controllino non fa mai male :-P) e usare quello per creare il wikilink "rosso" da ritornare (i.e. [[link_wikipedia|nome]], dove link_wikipedia è agli effetti un link wikivoyage e NON un link A wikipedia). ....un po' contorto ma forse mi sono spiegato :-P --Andyrom75 (discussioni) 19:16, 23 ott 2016 (CEST)
- Troppo contorta la domanda? :-P --Andyrom75 (discussioni) 22:32, 27 ott 2016 (CEST)
- Se ho capito correttamente vorresti verificare se esiste
[[:it:link]]
e se esiste ritornare[[link|nome]]
? Non puoi controllare l'esistenza di altre pagine su progetti mediawiki diversi da quello in cui ti trovi, i.e. it.wikivoyage (e a parte questo su it.wiki un dato nome potrebbe essere disambiguato e non doverlo essere su wikivoyave, quindi non decessariamente il link generato sarebbe corretto).--Moroboshi (discussioni) 11:13, 28 ott 2016 (CEST)- In realtà, su Wikivoyage seguiamo (a meno di sparute eccezioni) la nomenclatura di it:w perché si basa sullo stesso principio (i.e. il toponimo più diffuso), e le capitali (informazione in cui vorrei applicare la nuova funzione) non hanno eccezioni. Inoltre una cosa, su Modulo:Wikibase, con la funzione itwikilink già recupero l'informazione che mi serve (il link su it:w), però non so come costruire ([[link_wikipedia|nome]], quando ([[link_wikivoyage]] non esiste. --Andyrom75 (discussioni) 12:01, 28 ott 2016 (CEST)
- Quello che non ho capito è se vuoi linkare la pagina vuota su wikivoyage o quella esistente su it.wiki (relativamente alla disambigua può darsi che ci sia non per concomitanza con altre città o luoghi geografici).--Moroboshi (discussioni) 12:47, 28 ott 2016 (CEST)
- Vorrei apporre il link della pagina mancante su it:voy, ma col titolo preso da it:w. Ti faccio un esempio pratico sul QuickbarCountry di Lussemburgo e Giordania. La capitale del primo ha un articolo su it:voy e la funzione che ho scritto va già bene così. La capitale del secondo non ha un articolo su it:voy quindi deve mostrarmi il link rosso come adesso (stesso titolo di it:w) e non il plain text che mi ritorna la funzione che ho scritto io. --Andyrom75 (discussioni) 15:31, 28 ott 2016 (CEST)
- Possibile che per risolvere la questione ci possa venire incontro la riscrittura della funzione Wikidata:formatEntityId che fa qualcosa di simile (anche se non proprio uguale)? --Andyrom75 (discussioni) 19:41, 30 ott 2016 (CET)
- Vorrei apporre il link della pagina mancante su it:voy, ma col titolo preso da it:w. Ti faccio un esempio pratico sul QuickbarCountry di Lussemburgo e Giordania. La capitale del primo ha un articolo su it:voy e la funzione che ho scritto va già bene così. La capitale del secondo non ha un articolo su it:voy quindi deve mostrarmi il link rosso come adesso (stesso titolo di it:w) e non il plain text che mi ritorna la funzione che ho scritto io. --Andyrom75 (discussioni) 15:31, 28 ott 2016 (CEST)
- Quello che non ho capito è se vuoi linkare la pagina vuota su wikivoyage o quella esistente su it.wiki (relativamente alla disambigua può darsi che ci sia non per concomitanza con altre città o luoghi geografici).--Moroboshi (discussioni) 12:47, 28 ott 2016 (CEST)
- In realtà, su Wikivoyage seguiamo (a meno di sparute eccezioni) la nomenclatura di it:w perché si basa sullo stesso principio (i.e. il toponimo più diffuso), e le capitali (informazione in cui vorrei applicare la nuova funzione) non hanno eccezioni. Inoltre una cosa, su Modulo:Wikibase, con la funzione itwikilink già recupero l'informazione che mi serve (il link su it:w), però non so come costruire ([[link_wikipedia|nome]], quando ([[link_wikivoyage]] non esiste. --Andyrom75 (discussioni) 12:01, 28 ott 2016 (CEST)
- Se ho capito correttamente vorresti verificare se esiste
- Troppo contorta la domanda? :-P --Andyrom75 (discussioni) 22:32, 27 ott 2016 (CEST)
Altro dubbio amletico. Se dalla console di quel modulo eseguo print( p.main({-12345.678}) )
mi ritorna correttamente -12.345,68.
Ma se provo da wikicodice a richiamare {{#invoke:Formatnum|main|-12345.678}}
allora mi ritorna un errore: "attempt to perform arithmetic on local 'num' (a nil value)."
Perché? --Andyrom75 (discussioni) 16:21, 28 ott 2016 (CEST)
- Adesso pare funzionare. Il problema fondamentale era in
local args = getArgs(frame, {parentOnly = true})
. Con l'opzione "parentOnly=true" gli dici di cercare gli argomenti solo nel frame padre del chiamante, quindi ignorava totalmente il numero passato. Ho sistemato un paio di altre cose. Se formatnum è una funzione interna non passarla all'esterno (se intendi richiamarla da altri moduli rispostala nelle chiamate esterne). Poi comunque quando leggi i parametri di una funzione (come prec o num in questo caso) effettua immediatamente i controlli sul loro valore ed assegna immediatamente i loro valori. Se lo fai a metà in una funzione rischi errori come passare una variabile come numero o stringa (in questo caso prec) o di creare una funzione che riceve a metà parametri usati come numero e metà parametri passati come stringa da convertire immediatamente.--Moroboshi (discussioni) 08:56, 29 ott 2016 (CEST)- Chiaro il discorso dei controlli all'inizio, ma non ho capito bene il discorso sul "parentOnly=true". Che intendi con ignorava totalmente il numero passato?
- Sicuramente altri moduli utilizzeranno Formatnum (e.g. Quickbar). Secondo te, mi conviene chiamare l'attuale main o è meglio creare una p.formatnum? --Andyrom75 (discussioni) 09:12, 29 ott 2016 (CEST)
- Molto in breve il modulo args cerca i parametri in due posti, frame.args (i parametri passati direttamente nella chiamata) e frame.frame.args (i parametri nella pagina che richiama il template con la chiamata), con l'opzione "parentOnly=true" tu gli dici di controllare solamente frame.frame.args e se fai una chiamata diretta come in questa pagina questo è nil.
- Riguardo a formatnum dipende da come lo vuoi richiamare, con i parametri già analizzati e trasformati in numeri o vuoi passare solo una stringa con il numero da valorizzare.?.--Moroboshi (discussioni) 10:06, 29 ott 2016 (CEST)
- Premesso che l'uso che ne farò è sicuramente in quickbar.area, dove il numero è preso da Wikidata, ma a questo punto mi viene il dubbio che la variabile area sia numero o stringa. In ogni caso, poi vorrei fare un controllo del tipo, se area > 1000 => prec=0 altrimenti prec = 2. Facendo così, suppongo che prec sarà sicuramente numerico. Dubbio, se metto una prima dichiarazione local prec = '' lo sto implicitamente definendo stringa? --Andyrom75 (discussioni) 10:28, 29 ott 2016 (CEST)
- Si lo stai definendo come stringa di lunghezza 0. Comunque non è IMHO formatnum che deve controllare i tipi, ma le funzioni che passano i dati a formatnum che devono farlo se il dato è di provenienza esterna e non puoi essere certo del suo valore.--Moroboshi (discussioni) 12:21, 29 ott 2016 (CEST)
- Ma se lo definisco local prec = '' e poi eseguo prec = 2, mi resta stringa o cambia automaticamente tipo?
- Per l'altra questione quindi che suggerisci per la chiamata da modulo tra queste tre alternative:
- continuo a chiamare main
- creo una funzione nel modulo Formatnum che si occupa di controllare i parametri (alla stregua di main)
- controllo i parametri dal modulo chiamante, chiamando direttamente p.formatnum
- Al momento ho seguito l'alternativa 1 ma mi sembra un po' innaturale il passaggio dei parametri così: formattedNum.main({area, prec}) --Andyrom75 (discussioni) 13:22, 29 ott 2016 (CEST)
- Si lo stai definendo come stringa di lunghezza 0. Comunque non è IMHO formatnum che deve controllare i tipi, ma le funzioni che passano i dati a formatnum che devono farlo se il dato è di provenienza esterna e non puoi essere certo del suo valore.--Moroboshi (discussioni) 12:21, 29 ott 2016 (CEST)
- Premesso che l'uso che ne farò è sicuramente in quickbar.area, dove il numero è preso da Wikidata, ma a questo punto mi viene il dubbio che la variabile area sia numero o stringa. In ogni caso, poi vorrei fare un controllo del tipo, se area > 1000 => prec=0 altrimenti prec = 2. Facendo così, suppongo che prec sarà sicuramente numerico. Dubbio, se metto una prima dichiarazione local prec = '' lo sto implicitamente definendo stringa? --Andyrom75 (discussioni) 10:28, 29 ott 2016 (CEST)
- In generale se hai una funzione che può essere richiamata sia da modulo che da template conviene gestirla creando due funzione
p.main(frame)
ep._main(arg1, arg2, arg3,.....)
. Dove p._main è la funzione che fa il lavoro reale, ritorna il risultato e viene richiamata da moduli esterni, mentre p.main(frame) è la versione per essere chiamata dai template, estrae i parametri dai frame e richiama p._main per fare il lavoro reale, riprendendo l'esempio dall'aiuto dei modulo:arguments su it.wiki:
local getArgs = require('Module:Arguments').getArgs
local p = {}
function p.main(frame)
local args = getArgs(frame)
.... assegni i valori a arg1, arg2, ecc...
return p._main(arg1, arg2 .... argn)
end
function p._main(arg1, arg2 ... argn)
-- Main module code goes here.
end
return p
IMHO generalmente è meglio se la pulizia dei parametri dei template e la loro trasformazione in numeri e/o altri la fai nella funzione di interfaccia p.main, mentre p._main si aspetta parametri già ripuliti.--Moroboshi (discussioni) 20:46, 30 ott 2016 (CET)
- Ok grazie, lo terrò presente e cercherò di fare così. --Andyrom75 (discussioni) 08:29, 31 ott 2016 (CET)
Visto che sto andando nella direzione di far attingere agli infobox più dati da Wikidata, ieri notte ho creato questo questo modulo al fine di controllarne la variazione dei contenuti. Lo script mi sembra corretto perché "ogni tanto" ha funzionato. Però come vedi da Utente:Andyrom75/Manutenzione1 mi da errore per l'eccessivo tempo di elaborazione.
So benissimo che potrei mettere una singola chiamata in ogni articolo risolvendo a monte il problema, però, dato che questo modulo verosimilmente avrà vita breve, non vorrei "sporcare" gli articoli e preferivo avere una pagina centralizzata dedicata questi controlli.
Detto ciò vedi qualcosa nel mio codice che è migliorabile nell'ottica delle performance? --Andyrom75 (discussioni) 08:37, 31 ott 2016 (CET)
Ciao Moroboshi, avrei bisogno di una piccola cortesia per il template in oggetto. Dato che i sedicenti manutentori dell'estensione delle mappe non manutengono una mazza, ho bisogno di apportare una modifica a questo modulo.
Nella fattispecie avrei bisogno di impedire l'utilizzo delle coordinate (i.e. parametri lat e long) nella chiamata del template "marker", quando l'ordinamento finale degli item, differisce dall'ordinamento iniziale. --Andyrom75 (discussioni) 12:03, 23 feb 2017 (CET)
- [@ Andyrom75] Ci sono due liste che vengono ordinate (names_sorted e positions) a quale ti riferisci?.--Moroboshi (discussioni) 13:15, 23 feb 2017 (CET)
- Così su due piedi non saprei dirti, dovrei rivedere per bene il codice. Provo a dirtela così. Sicuramente la lista delle città così com'è scritta nel wikicodice la immagazzini in un array. Quell'array poi lo processi. Alla prima inversione di posizione va valorizzata una variabile che segnala il diverso ordinamento e quindi il template marker non va richiamato. --Andyrom75 (discussioni) 13:28, 23 feb 2017 (CET)
- [@ Andyrom75] I problemi sono due: l'ordinamento lo faccio con una funzione di sistema (table.sort) che restituisce la tavola ordinata senza dire se ha dovuto modificarla o meno. Così su due piedi l'unica sarebbe fare una copia della lista prima di ordinarla e confrontarla con la lista ordinata dopo l'ordinamento.--Moroboshi (discussioni) 13:34, 23 feb 2017 (CET)
- Si, in questo caso mi sembra che sia l'unica soluzione. --Andyrom75 (discussioni) 14:40, 23 feb 2017 (CET)
- [@ Andyrom75]. Ho lasciato a casa il file modificato, quindi fino a stasera non posso caricarlo. In realtà a guardare il codice devo ignorare il markup se viene ordinata la prima tabella (name_sorted) oppure se la seconda (positions) contiene elementi (dato che questi vanno inseriti all'interno della prima). Ma esattamente qual è il bug che si manifesta se cambia l'ordine ?--Moroboshi (discussioni) 08:04, 24 feb 2017 (CET)
- Purtroppo il problema è lato server e non è risolvibile. Mentre il tuo script LUA fa un ordinamento alfabetico dinamico di ciò che viene mostrato nel corpo dell'articolo per poi essere numerato via CSS da 1 a X (tramite i marker), lo script (se non erro PHP) che associa i numeri sulla mappa non guarda l'HTML bensì il wiki-codice, quindi c'è discrepanza tra i numeri. --Andyrom75 (discussioni) 08:54, 24 feb 2017 (CET)
- [@ Andyrom75]. Ho lasciato a casa il file modificato, quindi fino a stasera non posso caricarlo. In realtà a guardare il codice devo ignorare il markup se viene ordinata la prima tabella (name_sorted) oppure se la seconda (positions) contiene elementi (dato che questi vanno inseriti all'interno della prima). Ma esattamente qual è il bug che si manifesta se cambia l'ordine ?--Moroboshi (discussioni) 08:04, 24 feb 2017 (CET)
- Si, in questo caso mi sembra che sia l'unica soluzione. --Andyrom75 (discussioni) 14:40, 23 feb 2017 (CET)
- [@ Andyrom75] I problemi sono due: l'ordinamento lo faccio con una funzione di sistema (table.sort) che restituisce la tavola ordinata senza dire se ha dovuto modificarla o meno. Così su due piedi l'unica sarebbe fare una copia della lista prima di ordinarla e confrontarla con la lista ordinata dopo l'ordinamento.--Moroboshi (discussioni) 13:34, 23 feb 2017 (CET)
- Così su due piedi non saprei dirti, dovrei rivedere per bene il codice. Provo a dirtela così. Sicuramente la lista delle città così com'è scritta nel wikicodice la immagazzini in un array. Quell'array poi lo processi. Alla prima inversione di posizione va valorizzata una variabile che segnala il diverso ordinamento e quindi il template marker non va richiamato. --Andyrom75 (discussioni) 13:28, 23 feb 2017 (CET)
[@ Andyrom75] Ho messo un test in Modulo:Itemlist/sandbox, non pare dare errori. Testalo su qualche pagina dove ci sono i marker.--Moroboshi (discussioni) 13:53, 25 feb 2017 (CET)
- Mi sembra che vada benissimo! La metto subito in "produzione". Grazie! Giusto una domanda. A che serve "
if #positions > 0 then self.sort_changed = true end
"? (il resto mi è tutto chiaro) --Andyrom75 (discussioni) 16:21, 25 feb 2017 (CET)- Perchè se ci sono elementi nella lista positions questi vengono inseriti nella lista dei nomi e spostano quelli che li seguono in avanti (di fatto modificano l'ordine).--Moroboshi (discussioni) 06:41, 26 feb 2017 (CET)
- Ah ora ho capito! Allora messa così non va bene; va raffinata. Spesso il capoluogo di un territorio è inserito nel wikicodice come prima posizione e gli viene apposto il parametro pos=1, però potrebbe capitare che alfabeticamente sia proprio il primo e in quel caso nonostante il
#positions > 0
, l'ordinamento finale è preservato. --Andyrom75 (discussioni) 10:27, 26 feb 2017 (CET)- Oltre a questo avrei bisogno di creare una categoria di manutenzione (e.g. "Itemlist non ordinati con coordinate"), che raccolga tutti gli articoli che usano marker (ossia, a cui son state specificate delle coordinate) che non visualizzano a causa dell'ordinamento. In questo modo si sa dove intervenire. Nei casi in cui l'ordinamento differisce, ma non sono state usate delle coordinate, non serve alcun intervento e quindi quell'articolo non deve finire nella categoria sopracitata. --Andyrom75 (discussioni) 08:54, 28 feb 2017 (CET)
- [@ Andyrom75] Ho messo una nuova versione in sandbox, potrebbe o non potrebbe funzionare, sta raggiungendo livelli di barocchismo che non avrei mai creduto.--Moroboshi (discussioni) 21:36, 28 feb 2017 (CET)
- ahahahahahahah sei il numero uno!!! Pensi che debba essere riscritto? --Andyrom75 (discussioni) 21:49, 28 feb 2017 (CET)
- Ho dato un'occhiata al codice. Quando ti avevo parlato del "pos=1" era un esempio, indubbiamente il più ricorrente nella stragrande maggioranza dei casi, ma pur sempre un esempio. Non è possibile fare un controllo della copia del vettore iniziale direttamente con quello finale al netto dei vari "pos"? Se fosse possibile penso che si semplificherebbe la logica. --Andyrom75 (discussioni) 22:10, 28 feb 2017 (CET)
- ahahahahahahah sei il numero uno!!! Pensi che debba essere riscritto? --Andyrom75 (discussioni) 21:49, 28 feb 2017 (CET)
- [@ Andyrom75] Ho messo una nuova versione in sandbox, potrebbe o non potrebbe funzionare, sta raggiungendo livelli di barocchismo che non avrei mai creduto.--Moroboshi (discussioni) 21:36, 28 feb 2017 (CET)
- Oltre a questo avrei bisogno di creare una categoria di manutenzione (e.g. "Itemlist non ordinati con coordinate"), che raccolga tutti gli articoli che usano marker (ossia, a cui son state specificate delle coordinate) che non visualizzano a causa dell'ordinamento. In questo modo si sa dove intervenire. Nei casi in cui l'ordinamento differisce, ma non sono state usate delle coordinate, non serve alcun intervento e quindi quell'articolo non deve finire nella categoria sopracitata. --Andyrom75 (discussioni) 08:54, 28 feb 2017 (CET)
- Ah ora ho capito! Allora messa così non va bene; va raffinata. Spesso il capoluogo di un territorio è inserito nel wikicodice come prima posizione e gli viene apposto il parametro pos=1, però potrebbe capitare che alfabeticamente sia proprio il primo e in quel caso nonostante il
- Perchè se ci sono elementi nella lista positions questi vengono inseriti nella lista dei nomi e spostano quelli che li seguono in avanti (di fatto modificano l'ordine).--Moroboshi (discussioni) 06:41, 26 feb 2017 (CET)
Lint errors: Tag di chiusura mancante
modificaCiao Moroboshi, non riesco a capire come mai il Template:Destinationlist e Template:Citylist generano nella pagina Utente:Andyrom75/Test, un errore di mancata chiusura del tag span. Potresti darci un'occhiata? — Il precedente commento non firmato è stato inserito da Andyrom75 (discussioni · contributi).
Ciao Moroboshi, un paio di domande.
- Mentre stavo facendo pulizia sui template non più usati, mi sono imbattuto in Template:Interprogetto/Box e "i suoi fratelli". Servono ancora al modulo o li posso cancellare?
- Ho visto che l'ultima volta che mettesti le mani sul modulo qui su voy correva l'anno 2014, ma nel frattempo hai effettuato diverse modifiche su Wikipedia. C'è da aggiornare qualcosa?
Fammi sapere, --Andyrom75 (discussioni) 20:45, 5 giu 2020 (CEST)
- [@ Andyrom75]. A mente dal 2014 è stato diviso la parte di programma vera e propria da quella di configurazione e migliorati gli automatismi di recupero dei link da wikidata - ma sono quattro anni che non ci metto più mano e ricordo solo vagamente il funzionamento e le modifiche. I vari Interprogetto/qualcosa, dai puntano qui non mi paiono più usati, ma non ricordo come viene richiamato su wikivoyage nelle voci. Su it.wiki è richiamato esplicitamente, qui mi pare ci sia un richiamo automatico a fondo voce.--Moroboshi (discussioni) 04:00, 6 giu 2020 (CEST)
- Te pensi di poter aver tempo per poter dare una svecchiata al codice qui su voy? Giusto per mantenere un minimo di allineamento con wp e facilitarne la manutenzione futura. --Andyrom75 (discussioni) 07:01, 6 giu 2020 (CEST)
- [@ Andyrom75] Ricordamelo tra una settimana, spero di essermi liberato di alcuni impegni.--Moroboshi (discussioni) 07:30, 6 giu 2020 (CEST)
- Grazie mille! Nel frattempo ho cancellato il gruppo di template e sembra che tutto funzioni correttamente. La mia paura è che venissero richiamati dinamicamente dal modulo tramite qualche concatenazione di stringhe non individuabili dal "puntano più". A presto! --Andyrom75 (discussioni) 08:08, 6 giu 2020 (CEST)
- Come richiesto, ecco il promemoria :-) --Andyrom75 (discussioni) 14:37, 12 giu 2020 (CEST)
- Grazie mille! Nel frattempo ho cancellato il gruppo di template e sembra che tutto funzioni correttamente. La mia paura è che venissero richiamati dinamicamente dal modulo tramite qualche concatenazione di stringhe non individuabili dal "puntano più". A presto! --Andyrom75 (discussioni) 08:08, 6 giu 2020 (CEST)
- [@ Andyrom75] Ricordamelo tra una settimana, spero di essermi liberato di alcuni impegni.--Moroboshi (discussioni) 07:30, 6 giu 2020 (CEST)
- Te pensi di poter aver tempo per poter dare una svecchiata al codice qui su voy? Giusto per mantenere un minimo di allineamento con wp e facilitarne la manutenzione futura. --Andyrom75 (discussioni) 07:01, 6 giu 2020 (CEST)
[← Rientro][@ Andyrom75] Ho provato a dargli un'occhiata oggi. Così com'è fatto adesso effettua tutta la gestione di wikidata per conto suo, quindi se viene richiamato con parametri singoli (per esempio solo w, o solo commons come avviene all'interno di template) comunque tirerebbe fuori tutto quello che c'è su wikidata per altri parametri. Se si vuole usare la nuova versione va tirato fuori da {{Quickfooter}} e richiamato normalmente come su altre wiki.--Moroboshi (discussioni) 16:55, 14 giu 2020 (CEST)
- La chiamata deve continuare ad essere effettuata all'interno del Quickfooter per semplificare la compilazione dei vari articoli. L'uso qui su voy è quello di estrapolare tutti i link verso gli altri wikiprogetti (poi magari ci sono eccezioni che mi sfuggono, ma nel 99% dei casi è così). In questo scenario è un problema l'aggiornamento del modulo? --Andyrom75 (discussioni) 22:13, 14 giu 2020 (CEST)
- Mah IMHO per risparmiare una decina di caratteri si incasina il modulo che sta sotto. Il modulo (versione più recente) quando viene chiamato fa uno scan di wikidata e tira su tutto quello che manca, chiamarlo multiple volte significa che rigenera più volte gli stessi link, si possono mettere dei blocchi che vincolino solo al parametro passato, ma se deve essere vincolato al singolo parametro passato non c'è motivo di aggiornarlo, dato che al 90% non verrebbe usato (anche adesso diversi dei parametri elencati nel manuale di Interprogetto di fatto non vengono richiamati perchè il quickfooter in realtà non glieli passa).--Moroboshi (discussioni) 23:23, 14 giu 2020 (CEST)
- Mi viene il dubbio di essermi spiegato male, quindi provo a riformulare.
- Va benissimo che il template interprogetto estragga da Wikidata tutti i link necessari in un colpo solo al fine di evitare interrogazioni multiple, quindi possiamo anche eliminare la possibilità di richiamare i link singolarmente. Ciò che volevo dire è che quell'unica chiamata la deve effettuare il template Quickfooter in modo trasparente e non una riga esplicitamente inserita dall'utente a fine pagina (i.e. prima o dopo il Quickfooter).
- Se capisco bene, questo approccio va nella direzione di riutilizzo del nuovo codice ottimizzato. Giusto? Se necessita la modifica della logica del Quickfooter poco male (anzi meglio!), perché suppongo che verrà semplificata. --Andyrom75 (discussioni) 09:01, 15 giu 2020 (CEST)
- [@ Andyrom75] vabbè riprovo domani, scusa ma stasera sono già in fase rem.--Moroboshi (discussioni) 20:27, 15 giu 2020 (CEST)
- Va benissimo, riposati! :-) A domani. --Andyrom75 (discussioni) 20:44, 15 giu 2020 (CEST)
- A che punto sei arrivato? --Andyrom75 (discussioni) 16:39, 25 lug 2020 (CEST)
- Mi sa che tra tutti i tuoi impegni, è finito nel dimenticatoio questa miglioria all'interprogetto. :-)
- Una volta sistemato ho visto che posso anche semplificare il Quickfooter (un template un po' laborioso che sta alla base di tutti gli articoli). Potresti appena puoi riprendere i lavori? --Andyrom75 (discussioni) 17:22, 23 set 2020 (CEST)
- Ciao Moroboshi, non ti nego che senza il tuo supporto per l'interprogetto sono perso... spero che con l'anno nuovo tu sia in grado di darmi mano ad aggiornare questo vecchio template/modulo. Grazie in anticipo, --Andyrom75 (discussioni) 19:12, 6 gen 2021 (CET)
- A che punto sei arrivato? --Andyrom75 (discussioni) 16:39, 25 lug 2020 (CEST)
- Va benissimo, riposati! :-) A domani. --Andyrom75 (discussioni) 20:44, 15 giu 2020 (CEST)
- [@ Andyrom75] vabbè riprovo domani, scusa ma stasera sono già in fase rem.--Moroboshi (discussioni) 20:27, 15 giu 2020 (CEST)
- Mah IMHO per risparmiare una decina di caratteri si incasina il modulo che sta sotto. Il modulo (versione più recente) quando viene chiamato fa uno scan di wikidata e tira su tutto quello che manca, chiamarlo multiple volte significa che rigenera più volte gli stessi link, si possono mettere dei blocchi che vincolino solo al parametro passato, ma se deve essere vincolato al singolo parametro passato non c'è motivo di aggiornarlo, dato che al 90% non verrebbe usato (anche adesso diversi dei parametri elencati nel manuale di Interprogetto di fatto non vengono richiamati perchè il quickfooter in realtà non glieli passa).--Moroboshi (discussioni) 23:23, 14 giu 2020 (CEST)