Mám problém s programem v Pythonu. Je to část mé bakalářky. Potřeboval bych poradit.
Pythonovský prográmek dostane na vstup ARC archiv, ve kterém jsou zabaleny
soubory. Pro každý zabalený soubor musím spustit JAVA aplikaci.
Problém mám s tím, že JAVA mašina dlouho startuje. Proto bych potřeboval spustit
při startu Pythonovského skriptu JAVA mašinu a zmíněnou JAVA aplikaci spouštět v
ní (v archivu může být stovky souborů - JAVA mašina, která by tolikrát
startovala by moc prodlužovala dobu vykonávání prográmku). Oba prográmky (v JAVĚ
i v Pythonu) mám už připravené, jde mi jen o jejich propojení.
Prográmky, které používám se jmenují JHove2 (https://bitbucket.org/…in/wiki/Home). To je ta Java, spouští se z commandline shellu
a veme jako argument soubor, který zanalyzuje a pošle na STDOU nebo do textaku výpis
- informace o typu souboru. A WarcTools, ten veme ARC archiv a konvertuje ho na WARC
archiv. Rozdíl mezi ARC a WARC je prakticky jen v metatagách. V mezikroku při konverzi
si můžu na jednotlivé soubory sáhnout.
Našel jsem tři možná řešení. Modul Jpype (http://jpype.sourceforge.net/), který
se mi bohužel nedaří zprovoznit, a nástroj Jython (http://jython.org/), který mě
zlobí, protože nechce spustit ten Pythonovský progárámek - nedaří se mi předat
programu vstupní parametry (cestu k ARC archivu atd), i když postupuji, podle
mě, správně. Třetí řešení je, alespoň se domnívám, Nailgun (http://www.martiansoftware.com/…ckstart.html). Jde ho použít?
Ten Jpype nevím jak zprovoznit - jako modul toho pythonu. A Jython vypadá, že funguje,
ale když ho spustím a přes něj spustím ten warctools.py tak mi to nechce předat parametry pro warctools.
Kdybych zprovoznil ten Jython (aby předal parametry tomu warcools) tak už jen upravím jen vnitřek warcools.py - spustím uvnitř JHOVE2 a mám hotovo.
Jako přílohu dávám spouštěcí skript toho WARCTOOLS. Na lajně 47 píšu co a jak.
Ten warctools se spouští z shellu takhle:
* arc2warc.py
* creates a crappy warc file from arc files on input
* a handful of headers are preserved
* i.e arc2warc -Z input.arc > input.warc.gz
Tady je chybový výstup z toho jythonu v příloze. Myslim, že třeba pude o nějakou pitomost. Kdyby jste s tím věděli rady bylo by to hrozně super. Vím, že to je asi dost raritní problém, který
asi normálně neřešíte. Ale kdyby jste na to mohli mrknout bylo by to výborně.
Nevím si s tím prakticky vůbec rady. Rád se i nějak odměním:)