API:Holidays viewer/cs

Přehled
Tento návod popisuje, jak vytvořit ukázkovou aplikaci, která načte svátky a dodržování pro dané datum z Wikipedie, s možností přihlášení a přidání nových svátků.

Stáhněte si kód z GitHubu Procházejte aplikaci na Toolforge

Nástroje a technologie použité k vytvoření demo aplikace jsou:


 * Python 3 a Flask, framework Pythonu.
 * jQuery a Bootstrap. They are loaded from Wikimedia Toolforge for privacy reasons.
 * Moduly MediaWiki Action API:, a.



Postup pro vytvoření této aplikace krok za krokem


Krok 1: Nastavení vývojového prostředí Python a Flask
Python je předinstalovaný na většině distribucí Linuxu. Pro ostatní operační systémy viz Python příručka pro začátečníky, kde najdete pokyny k instalaci.

Nainstalujte Flask spuštěním. Pokud Pip nemáte, získejte ho z oficiálního webu Pip



Krok 2: Vytvořte jednoduchou aplikaci Flask
Ve svém domovském adresáři vytvořte složku s názvem, která bude obsahovat všechny soubory aplikace. Uvnitř složky vytvořte soubor s názvem  a vložte do něj následující kód:

Spusťte aplikaci pomocí příkazu  a otevřete   ve svém prohlížeči. Měli byste vidět zobrazení "Holidays and observances".



Krok 3: Vytvořte základní návrh
Aplikace bude mít čtyři stránky: domovskou stránku, stránku vyhledávání, přihlašovací stránku a stránku pro přidání. Každá stránka bude mít některé společné prvky, takže musíme vytvořit soubor základního návrhu nazvaný, který bude tyto prvky obsahovat.

Všimněte si, že používáme třídy Bootstrap k aplikaci konkrétního stylu CSS na prvek, Materialize icons pro ikony přidání, vyhledávání a šipky zpět a Jinja k rozšíření základního rozvržení na další stránky a k předání proměnných z Pythonu. do HTML.

Ostatní stránky se rozšíří o  pomocí níže uvedeného kódu:



Krok 4: Seznam svátků
Kořenová adresa URL aplikace spustí funkci, která uvádí svátky pro určité datum.

Ve funkci a v celé aplikaci,  odkazuje na datum svátků, které mají být uvedeny,   odkazuje na název stránky a   odkazuje na html, který obsahuje svátky, které mají být uvedeny. Použijeme také funkci, která vykreslí konkrétní html soubor z adresáře šablon. Dalšími argumenty přidanými do funkce jsou proměnné, které jsou předávány do html souboru.

V  aktualizujte   pomocí kódu níže:



Získání dnešního data
Pokud není zadáno žádné datum, uvedeme svátky pro dnešní datum. Chcete-li použít modul datetime Pythonu k získání dnešního data, importujte modul s  a poté vytvořte následující funkci:

Zavolejte funkci v :



Získejte seznam svátků
Jakmile máme datum, získáme pro toto datum svátky. Wikipedia má stránku pro každé datum a svátky jsou v sekci s názvem "Holidays and observances". Abychom získali svátky, potřebujeme získat její číslo sekce a obsah v tomto čísle sekce.

Vytvořte funkci pro získání čísla sekce pomocí :

Vytvořte funkci nazvanou, abyste získali svátky v této sekci také pomocí , pak zavolejte funkce v  :



Aktualizace odkazů na svátky
Vrácený kód HTML svátků obsahuje interní odkazy, které ukazují na tyto svátky, např. " ". K těmto odkazům musíme přidat " " pomocí jQuery, abychom z nich vytvořili externí odkazy v naší aplikaci a otevřeli je na nové kartě. Chcete-li to provést, přidejte následující kód do :

Poté přidejte jQuery do  pomocí:



Krok 5: Vyhledejte svátky jiných dat
Chcete-li získat svátky pro jiná data, vytvořte trasu pro vyhledávání, aby se zobrazil formulář, který shromažďuje měsíc a den k hledání:

Po odeslání vyhledávacího formuláře aktualizujte  na datum, které jste zadali. Chcete-li to provést, přidejte následující kód do :



Krok 6: Přidání svátku
Stránka, na kterou přidáme nový svátek, je chráněna před úpravami anonymních uživatelů, takže se musíme nejprve přihlásit pomocí API:Login#clientlogin.

Chcete-li přidat svátek, pošlete požadavek na s datem a popisem svátku. Úprava přidává nové svátky na tuto stránku na Test Wikipedia: Sandbox/Holidays_and_observances. Je to proto, aby se zabránilo přidávání testovacích svátků do anglické Wikipedie.

Po přidání svátků přesměrujte na domovskou stránku, kde se zobrazí také přidané svátky a zformátujte je tučně, abyste je odlišili od skutečných svátků. Chcete-li načíst zkušební svátky vedle skutečných svátků, aktualizujte :



Krok 7: Styling aplikace
Chcete-li do naší aplikace přidat další styl, vytvořte šablonu stylů s názvem  a propojte ji z   přidáním.



Rozvržení aplikace
V tomto okamžiku by struktura vaší aplikace měla být:

$HOME/holidays-viewer ├── templates/ │  └── add.html └── index.html └── layout.html └── login.html └── search.html ├── static/ │  └── style.css └── update-links.js ├── app.py

S  a   jsou:





Další kroky

 * Přispějte ukázkovou aplikací, kterou jste vyvinuli pomocí MediaWiki API, do tohoto úložiště ukázek kódu.



Související odkazy

 * — Rychlý průvodce pro MediaWiki Action API.
 * — Analyzuje obsah stránky a získá výstup.
 * — Upraví stránku.
 * — Umožňuje přihlášení do wiki.