Created
January 9, 2019 10:07
-
-
Save xmorave2/fbe1ec89b83562f5422cfc3b2fc076a2 to your computer and use it in GitHub Desktop.
Zákony pro lidi
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# dependencies: xml-twig-tools, wget | |
apikey=test | |
collection=cs | |
export VUFIND_HOME="/usr/local/vufind" | |
export VUFIND_LOCAL_DIR="/usr/local/vufind/local" | |
cd /usr/local/vufind/local/harvest | |
if [ ! -d zakony ]; then | |
mkdir zakony | |
fi | |
#výchozí začátek je rok 1945, pokud už se stahovalo, naváže posledním staženým rokem... | |
start=1945 | |
if [ -f zakony-date ]; then | |
start=$(date -r zakony-date +'%Y') | |
fi | |
end=$(date +'%Y') | |
# časová značka posledního stahování | |
touch zakony-date | |
cd zakony | |
rm *.xml | |
for (( i=$start; i<=$end; i++ )); do | |
wget "https://www.zakonyprolidi.cz/api/v1/data.xml/YearDocList?apikey=$apikey&Collection=$collection&Year=$i" -O "zakony$i.xml" | |
echo "Rozděluji soubor pro rok $i" | |
xml_split -l 2 zakony$i.xml | |
rm "zakony$i.xml" | |
rm "zakony$i-00.xml" | |
done | |
echo "Mažu zrušené zákony" | |
for xmlfile in $(ls); do | |
zruseno=$(tail -n 1 $xmlfile | sed 's/.*\(EffectTill\).*/1/') | |
if [ "$zruseno" = "1" ] ; then | |
rm $xmlfile | |
fi; | |
done; | |
cd $VUFIND_HOME | |
harvest/batch-import-xsl.sh zakony zakony.properties |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;local/import/zakony.properties | |
; předpis pro importér | |
; XSLT Import Settings for Directory of Open Access Journals' doajArticle format | |
; (see http://www.doaj.org/schemas/doajArticle.xsd for details) | |
[General] | |
; REQUIRED: Name of XSLT file to apply. Path is relative to the import/xsl directory | |
; of the VuFind installation (or your local override directory). | |
xslt = zakony.xsl | |
; OPTIONAL: PHP function(s) to register for use within XSLT file. You may repeat | |
; this line to register multiple PHP functions. | |
;php_function[] = str_replace | |
; OPTIONAL: PHP class filled with public static functions for use by the XSLT file. | |
; The class must live within a PHP namespace. You may specify a fully-qualified | |
; name; if you do not include a namespace, the class will automatically be assumed | |
; to live in the \VuFind\XSLT\Import namespace. | |
custom_class[] = VuFind | |
; OPTIONAL: If true, all custom_class settings above will be passed to the XSLT with | |
; their namespaces stripped off; for example, \VuFind\XSLT\Import\VuFind would be | |
; treated as \VuFind in XSLT files. This allows more compact syntax within XSLT | |
; files, but it can lead to name conflicts if used carelessly. If set to false, you | |
; must use fully-qualified names in your XSLT. The false setting is recommended, but | |
; the current default is "true" for compatibility with legacy configurations. | |
truncate_custom_class = true | |
; XSLT parameters -- any key/value pairs set here will be passed as parameters to | |
; the XSLT file, allowing local values to be set without modifying XSLT code. | |
[Parameters] | |
institution = "Zakony pro lidi" | |
collection = "Law" | |
building = "zakony" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- local/import/xsl/zakony.xsl | |
šablona pro transformaci xml dodaného ze zakonyprolidi.cz API | |
--> | |
<xsl:stylesheet version="1.0" | |
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | |
xmlns:php="http://php.net/xsl" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xmlns:xlink="http://www.w3.org/2001/XMLSchema-instance"> | |
<xsl:output method="xml" indent="yes" encoding="utf-8"/> | |
<xsl:param name="institution">Zakony pro lidi</xsl:param> | |
<xsl:param name="collection">Law</xsl:param> | |
<xsl:param name="building">zakony</xsl:param> | |
<xsl:template match="DocInfo"> | |
<add> | |
<doc> | |
<!-- ID --> | |
<field name="id">zakony.<xsl:value-of select="/DocInfo/@DocId"/></field> | |
<!-- RECORDTYPE --> | |
<field name="recordtype">law</field> | |
<!-- FULLRECORD --> | |
<field name="fullrecord"> | |
<xsl:copy-of select="php:function('VuFind::xmlAsText', /DocInfo)"/> | |
</field> | |
<!-- ALLFIELDS --> | |
<field name="allfields"> | |
<xsl:value-of select="normalize-space(string(/DocInfo))"/> | |
</field> | |
<!-- INSTITUTION --> | |
<field name="institution"> | |
<xsl:value-of select="$institution" /> | |
</field> | |
<!-- BUILDING --> | |
<field name="building"><xsl:value-of select="$building" /></field> | |
<!-- COLLECTION --> | |
<field name="collection"> | |
<xsl:value-of select="$collection" /> | |
</field> | |
<!-- ITEMTYPE --> | |
<!-- <field name="itemtype">LG</field>--> | |
<!-- LANGUAGE --> | |
<field name="language">Czech</field> | |
<!-- FORMAT --> | |
<field name="format">Legislative document</field> | |
<!-- LAW DOCTYPE --> | |
<field name="law_doctype"> | |
<xsl:value-of select="/DocInfo/@DocType"/> | |
</field> | |
<!-- AUTHOR --> | |
<field name="author">Česká Republika</field> | |
<!-- TITLE --> | |
<field name="title"><xsl:value-of select="/DocInfo/@Title"/>. <xsl:value-of select="/DocInfo/@Quote"/></field> | |
<field name="title_short"><xsl:value-of select="/DocInfo/@Title[normalize-space()]"/>. <xsl:value-of select="/DocInfo/@Quote"/></field> | |
<field name="title_full"><xsl:value-of select="/DocInfo/@Title[normalize-space()]"/>. <xsl:value-of select="/DocInfo/@Quote"/></field> | |
<field name="title_sort"><xsl:value-of select="php:function('VuFind::stripArticles', string(/DocInfo/@Title[normalize-space()]))"/>. <xsl:value-of select="php:function('VuFind::stripArticles', string(/DocInfo/@Quote[normalize-space()]))"/></field> | |
<!-- PUBLISHER --> | |
<field name="publisher">Česká Republika</field> | |
<!-- PUBLISHDATE --> | |
<field name="publishDate"> | |
<xsl:value-of select="/DocInfo/@Year"/> | |
</field> | |
<field name="publishDateSort"> | |
<xsl:value-of select="/DocInfo/@Year"/> | |
</field> | |
<!-- URL --> | |
<field name="url">http://www.zakonyprolidi.cz<xsl:value-of select="/DocInfo/@Href[normalize-space()]"/></field> | |
</doc> | |
</add> | |
</xsl:template> | |
</xsl:stylesheet> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment