Wikiup Diskussion:Lua/Modul/URLutil

aus Wikipedia, der freien Enzyklopädie
Vorlagen-
programmierung
Diskussionen Lua Test Unterseiten
Modul Deutsch English

Esperanto Dolnoserbski Hornjoserbsce Modul: WP:Lua

isIP4 läuft nicht richtig

Hallo. Mir ist soeben ein ziemlich blöder Fehler in isIP4 aufgefallen. Vergleiche doch mal:

Mit isIP6 klappt es nämlich:

Ich denke, daß der reguläre Ausdruck in isIP4 nicht stimmt, habe aber zu wenig Ahnung, was genau an ihm falsch ist. Komisch ist ja, daß das englische Modul einen ganz anderen regulären Ausdruck verwendet. Warum? Gruß --Tlustulimu (Diskussion) 21:26, 14. Jun. 2013 (CEST)

Ich habe gerade etwas getestet, allerdings in der Esperanto-Wikipedia: eo:Modulo:URLutil/provejo. Der Code für ipISv4 ist ein Mix aus dem hiesigen und dem "englischen". Der Fehler ist in eo:Modulo:URLutil/provejo/dokumentado verschwunden. --Tlustulimu (Diskussion) 21:57, 14. Jun. 2013 (CEST)
Du hast völlig recht. Dummer Bug; eine kleine Fragezeichen-Jonglage beseitigt das Problem.
Mein RegExp sortiert vorher schon aus. Leider hier etwas zu drastisch.
URLutil hat sowieso drei neue Funktionen und neue Protokolle gelernt; da lohnt sich ein Update auf eo.
Leider streikt Beta-dewiki im Moment; vielleicht gibt sich das bis morgen.
Gute Nacht einstweilen --PerfektesChaos 23:33, 14. Jun. 2013 (CEST)
Hallo, PerfektesChaos. Die drei neuen Funktionen und Protokolle sind schon in eo:Modulo:URLutil. Es muß also nur noch isIPv4 korrigiert werden. Ich habe nur die Dokumentation noch nicht ergänzt, weil es schon ziemlich spät war. Gruß --Tlustulimu (Diskussion) 09:23, 15. Jun. 2013 (CEST)
  • Ich habe jetzt die eo-Version kopiert; Sichten müsstest du noch.
  • Die nieder- und obersorbischen Varianten magst du bitte selbst aktualisieren.
  • Ich musste den Vormittag abwarten, weil gestern Abend Beta-dewiki und ich down waren und ich grundsätzlich und bei 8500 produktiven Einbindungen erst vorher gründlich durchzutesten wünsche.
  • Hintergrund der Aktion war, dass ich in Bezug auf führende Nullen mäkeliger bin als die enWP. Eigentlich würde ich überhaupt keine führenden Nullen sehen wollen, aber das ist an dieser Stelle zuviel Aufwand.
    • Es ist Interpretationsfrage, was man noch als gültiges Zahlenformat akzeptiert. Keine der Systemfunktionen liefert eine überflüssige führende Null; es müsste sich dann um manuell manipulierten Unfug handeln, der vielleicht einmal in einer anderen Software Probleme machen könnte und irgendeine Feldbreite überlaufen lässt.
Soviel an dieser Stelle; danke für den Hinweis. --PerfektesChaos 11:19, 15. Jun. 2013 (CEST)
Hallo, PerfektesChaos. Danke für deine schnelle Korrektur. Ich habe die beiden sorbischen Versionen auch schon aktualisiert, obwohl ich sie gerade erst erstellt hatte. Gruß --Tlustulimu (Diskussion) 14:18, 15. Jun. 2013 (CEST)

seltsames Verhalten bei Fragment. Umgang mit 2 gleichen Keys in Query, neu TLDs

  • Fragment scheint derzeit ohne "1=" bei einer URL mit "=" zu funktionieren, mit "1=" wird auch "1= #Fragment" ausgegeben.
  • Wenn zwei gleiche benannte Keys in einem Query vorkommen ist scheinbar nur das erste auftreten aufrufbar. 
  • TLDs mit UTF-8 Zeichen jenseits 1252 werden nicht korrekt erkannt.

Frohes Schaffen — Boshomi ☕⌨☺  21:23, 19. Sep. 2014 (CEST)

  1. "1=" – siehe dazu:
  2. Mehrfache Zuweisungen zum gleichen Parameternamen: Wie auch der vorstehende Punkt ist dies ein allgemeines Problem der Zuweisungen von Parameterwerten in Vorlagen wie Lua; der Parser ignoriert klaglos vorangegangene Zuweisungen und verwendet nur die letzte.
  3. TLDs mit UTF-8 Zeichen
    • Klingt ja interessant; hättest du mal ein konkretes Beispiel?
    • Mir fallen nur TLD mit ASCII ein: .org .de .berlin
Frohes Schaffen --PerfektesChaos 10:44, 20. Sep. 2014 (CEST)
UTF8: siehe http://सीडैक.भारत/index.aspx?id=products_services ; habe ich schon umseitig eingetragen. Da derzeit fast wöchentlich weitere dieser gesponserten TLDs entstehen, muss man wohl darauf Rücksicht nehmen, soll ja auch für andere Sprachversionen gut funktionieren. Das Regexp im Kommentar stammt offensichtlich aus RFC-3986 Appendix B. Parsing a URI Reference with a Regular Expression Frohes Schaffen — Boshomi ☕⌨☺  11:35, 20. Sep. 2014 (CEST)
Wir haben davon auch schon einige im ANR: https://tools.wmflabs.org/giftbot/weblinksuche.fcgi?limit=500&offset=0&target=http%3a%2f%2fxn--%25&namespace=&associated=0 (Firefox übersetzt das automatisch in UTF8 Zeichen, Chrome bevorzugt Ascii)
Die Sache mit den zwei gleich benannten Optionen war ein Zufallstreffer, ich hatte eigentlich nur eine URL mit einem "ö" gesucht. Frohes Schaffen — Boshomi ☕⌨☺  11:43, 20. Sep. 2014 (CEST)

Spezialverhalten Mediawiki nach doppelten Hochkomma

  • Ich kann die numerischen Entities gern gleich escapen, so dass sie nicht mit dem Fragment ins Gehege kommen.
  • Zu eins drüber: Diese sogenannten „IRL“ sind unschädlich hinsichtlich des eigentlichen Domain-Namens, aber als TLD hatte ich die .рф bislang nicht mitbekommen.
    • Sie verschleiern übrigens in unangemessener Weise die Herkunft der Domains, und man sollte sowas durch ein offensichtliches http://r1a.ru/ ersetzen, damit erkennbar ist, wo das Zeugs herkommt. Российская Федерация ist nicht für jeden lesbar, und Thai oder was das da ist kann ich auch nicht.
    • Die Verwendung der IRL wird übrigens in unseren WP:WEB #Einzelrichtlinien #11 missbilligt, weil sie Barrieren für Leser schafft. Nicht alle Browser können dem folgen.
    • Gleichwohl werde ich das dem Modul beibringen, obwohl Lua nur eingeschränkte RegExp-Möglichkeiten hat und das etwas komplizierter wird.
  • Eine Abfrage, ob eine URL Punycode enthält, kann ich als neue Funktion hinzufügen.
  • Es ist nützlich, ohne breite Reklame die neuen Modulfunktionen im Beta-Test zu haben.
VG --PerfektesChaos 15:15, 20. Sep. 2014 (CEST)
Das hat sicherlich Zeit, gut getestet sind die Erfolgsaussichten auf eine schnelle Verbreitung auch deutlich besser.
Wichtig ist, dass vor allem die Basisfunktionalität sicher funktioniert. Spezialfälle wie die Ausnahmen ala %22 haben nur geringe Priorität. Zur Not kann man das in die Doku aufnehmen, und Alternativen empfehlen.
btw: ich habe soeben eine neue Vorlage {{Modultest}} erstellt, mit deren Hilfe die Lua-Testseiten etwas übersichtlicher würden. Die Tabellensyntax ist arg schwerfällig. Gelegentlich wäre ja ganz gut, die Testfälle vor der Programmierung zu schreiben, und dann zu versuchen, bis alle Testfälle auf  Ok zu bringen. Sowas ist aber auch zeitraubende Arbeit. Frohes Schaffen — Boshomi ☕⌨☺  23:54, 20. Sep. 2014 (CEST)


  • Ich würde dich als Ersteller bitten, die Vorlage:Modultest gleich wieder löschen zu lassen.
    • Sie verursacht mehr Verwirrung sowie Verwaltungs- und Pflegeaufwand, als es je jemandem helfen würde.
    • Das ist gut gemeint, aber unbrauchbar.
    • Sie kennt nur unbenannte Parameter.
    • Sie escaped weder in der Eingabe noch Erwartung und vor allem nicht im Resultat die Syntaxelemente und richtet Syntaxbruch an.
    • Sie ist ungeeignet zur Erprobung, ob die Handhabung von den Parameterwert umgebenden Leerzeichen richtig programmiert ist.
  • Du hast nicht die allerleiseste Ahnung, wo und wie ich Module entwickle.
  • Was du dir vorstellst, wird schon längst eingesetzt; beispielsweise:
  • Deine Bemerkungen, wie man Lua-Module entwickeln solle, sind nicht hilfreich.
    • Den Testfall vor der Modulfunktion zu programmieren ergäbe nur einen Syntaxfehler.
    • Tatsächlich vereinbare ich alle erwarteten Testfälle, sobald die Einzelfunktion geschrieben oder erweitert wurde, und teste unmittelbar im Anschluss an die Programmierung mit der erweiterten Testseite.
    • Die Schwierigkeit ist vielmehr, von vornherein alle Konstellationen zu erwischen, für die die Funktion einsetzbar sein soll. An numerische Entities vor Fragmenten hatte ich zunächst nicht gedacht (dein RegExp aus dem RFC versagt dabei übrigens auch).
    • Wenn das Spektrum der abzudeckenden Fälle erarbeitet ist, dann sollen auch alle implementierbaren Situationen vollständig von den Produktivversionen (möglichst ab der ersten) abgedeckt sein; alles andere bringt nur ein großes Durcheinander und kostet Mehraufwand, sich später erneut einarbeiten zu müssen oder behelfsmäßig irgendwas dazwischenzupfuschen.
Schönen Sonntag --PerfektesChaos 10:49, 21. Sep. 2014 (CEST)
Die Vorlage war im ersten Gedankengang nur als Formatierungshilfe anstatt der Tabellensyntax geplant, und sollte vom Gedankengang her den Erwartungswert direkt über dem Ergebnis anzeigen, und damit einfach nur optisch abgleichbar machen. Die Idee mit dem Abgleich (Teststatus) ist mir erst während des des Schreibens der Vorlage gekommen.
  • Danke für den Vorschlag mit TemplatePar!
  • Der Haupteinsatzzweck der Vorlage war sicher nicht für Beta gedacht, sondern konkret für die Testseiten der Module, um darzustellen was wie funktioniert, aber gelegentlich auch um darzustellen was nicht funktioniert, oder von der Programmierung nicht umgesetzt werden sollte (don't wants). Frohes Schaffen — Boshomi ☕⌨☺  11:49, 21. Sep. 2014 (CEST)