Alebo pouzijem BaFi: https://mmalcek.github.io/bafi/
(aj pre Linux, vlastna tvorba, napsane v GO :) )
cmd:
curl.exe -s https://www.yr.no/place/Czech_Republic/Prague/Prague/forecast.xml | .\bafi.exe -t template.tmpl
template.tmpl:
{{- range .weatherdata.forecast}}{{range .time}}
From: {{ dateFormat (index . "-from") "2006-01-02T15:04:05" "02.01-15:04"}},To: {{ dateFormat (index . "-to") "2006-01-02T15:04:05" "02.01-15:04"}},temperature: {{index .temperature "-value"}}C
{{- end}}{{end}}
vystup:
From: 21.08-14:00,To: 21.08-20:00,temperature: 25C
From: 21.08-20:00,To: 22.08-02:00,temperature: 21C
From: 22.08-02:00,To: 22.08-08:00,temperature: 16C
...
Tam podle mě šlo o to zřetězení použitím existujících nástrojů v příkazové řádce a to tak, aby bylo možno rozmlátit a vypsat doslova cokoliv. Jednoduché xml bylo jistě použito pro větší přehlednost a čtivější článek. PHP nebo Python by taky uměly jistě vymlátit z jednoduchého xmlka cokoliv na pár řádcích, načíst, jedna dvě smyčky a nějaký print ...
Relational pipes su taktiez len doplnkovy nastroj (relpipe-in-xmltable) , podobne ako moze byt brane bafi. Suhlasim, ze relpipes mozu poskytovat vacsiu flexibilitu no bafi taktiez umoznuje:
1. STDIN/STDOUT
2. Volitelny vstup (aktualne json,bson,yaml,xml,csv a pracujem na dalsich)
3. Velku flexibilitu spracovania dat (GO templates + funkce + integrace Lua jazyka)
4. Volitelny vystup toJSON, toXML, ... alebo cokolvek sformatovane v template
5. Moznost sucasne spracovat viacero vstupnych suborov v roznych formatoch do jedneho vystupu ( https://mmalcek.github.io/bafi/examples/#multiple-input-files )
V ziadnom pripade nic proti relpipes, bafi je spis jednoduche riesenie postacujuce vo velkej skupine pripadov
Jo kdyby Bafi v Go uměl volat a řetězit systémové nástroje jako cut, cat, awk etc., pak by to byla alternativa. To je podle mě podstata toho rozdílu.
Já osobně vidím v real pipes spíš krásu počinu, než něco jako více praktického. Vzít např.Python (nebo Bafi) a vymlátit nějaký složitý vstup do posledního zrna bude podle mě vždy tak nějak jako nednodušší a pohodlněší ... asi věc názoru.
17. 8. 2021, 10:07 editováno autorem komentáře