OpenRefine – Aktualizace Jython knihovny

Tak trochu jsem programátor a proto jsem v OpenRefine místo základního jazyku pro transformace GREL velmi rád používal Jython. GREL je sice jednoduchý, ale neumožňuje skoro žádné trochu složitější rozhodovací podmínky a cykly.
Zatím co Jython (import Pythonu do Javy) umožňuje mnohem více. Problém však nastává, když zjistíte, že samotná implementace Jythonu je zastaralá o docela ořezaná. Co tak chybí? Třeba knihovna JSON a další které v Pythonu pravidelně používám. Proto jsem se tento nedostatek rozhodl opravit.

Co budeme dělat?

Smažeme starou verzi Jython knihovny 2.5.3 v OpenRefine a nahradíme ji verzí 2.7.0 (Python 2.7).

Jaký v tom bude rozdíl?

26 Mb funkcí :), což je dost. Jestli si to chcete zkontrolovat, tak se můžete podívat na http://www.jython.org/docs/library/indexprogress.html co všechno můžete provádět.
V praxi to pak znamená, že vám pojede většin Python skriptů. Následovně, pak řešení vašeho problému může vypadat tak, že zajdete na StackOverFlow a okopírujete vhodný skript a na vstup dáte proměnou „value“ a return vám vrátí váš výsledek do OpenRefine.
Příkladem takového superkrátkého scriptu může třeba být:

Odstranění diakritiky:

Možností je nekonečně…

Návod:

  1. Stáhnout si ze stránky http://www.jython.org/downloads.html si aktuální soubor Jython 2.7.0 – Standalone Jar.
  2. Ten tímto souborem nahradíte standardní knihovnu.
    Kde?

To je vše?

Ano.

Proč to pouštím ven?

Protože v dalších dílech o OpenRefine se podíváme na skripty, které tento update využívají.
Příkladem třeba „Hledání zanořených prvků v JSONu podle názvu“, co bude v dalším díle.