From 1286c8177b754ce4a0ac85b2d0b5d63d4a32ef47 Mon Sep 17 00:00:00 2001 From: Felix Lohmeier Date: Tue, 19 Jan 2021 13:32:45 +0100 Subject: [PATCH] =?UTF-8?q?Statuspr=C3=BCfungen=20in=20Taskfiles=20der=20D?= =?UTF-8?q?atenquelle=20#9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Taskfile.yml | 20 -------------- tasks/siegen.yml | 67 +++++++++++++++++++++++++++++++++++++-------- tasks/wuppertal.yml | 67 ++++++++++++++++++++++++++++++++++++++------- 3 files changed, 113 insertions(+), 41 deletions(-) diff --git a/Taskfile.yml b/Taskfile.yml index 0dd88c5..95328b1 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -57,10 +57,6 @@ tasks: - rm -f *.xml # Identifier als Dateinamen - for f in xx*; do mv "$f" "$(xmllint --xpath "//*[local-name(.) = 'recordIdentifier']/text()" "$f").xml"; done - sources: - - ../refine/{{.PROJECT}}.txt - generates: - - ./*.xml preconditions: - test -n "{{.PROJECT}}" @@ -70,10 +66,6 @@ tasks: # Validierung gegen METS Schema - wget -q -nc https://www.loc.gov/standards/mets/mets.xsd - xmllint --schema mets.xsd --noout split/*.xml > validate.log 2>&1 - sources: - - split/*.xml - generates: - - validate.log preconditions: - test -n "{{.PROJECT}}" @@ -82,10 +74,6 @@ tasks: cmds: # ZIP-Archiv mit Zeitstempel erstellen - zip -q -FS -j {{.PROJECT}}_{{.DATE}}.zip split/*.xml - sources: - - split/*.xml - generates: - - "{{.PROJECT}}_{{.DATE}}.zip" preconditions: - test -n "{{.PROJECT}}" @@ -99,10 +87,6 @@ tasks: - rm -rf old new # Diff prüfen, ob es weniger als 500 Zeilen enthält - if (( 500 < $(wc -l &2 "Unerwartet große Änderungen in $PWD/diff.log!" && exit 1; fi - sources: - - split/*.xml - generates: - - diff.log status: # Task nicht ausführen, wenn weniger als zwei ZIP-Archive vorhanden - test -z $(ls -t *.zip | sed -n 2p) @@ -119,10 +103,6 @@ tasks: - rm -rf links.txt # Logdatei auf status code != 2XX prüfen - if grep '^[^2]' linkcheck.log; then echo 1>&2 "Logdatei $PWD/linkcheck.log enthält problematische status codes!" && exit 1; fi - sources: - - split/*.xml - generates: - - linkcheck.log preconditions: - test -n "{{.PROJECT}}" diff --git a/tasks/siegen.yml b/tasks/siegen.yml index 4ec7f6a..ece599f 100644 --- a/tasks/siegen.yml +++ b/tasks/siegen.yml @@ -3,22 +3,16 @@ version: '3' tasks: - # Tasks mit ":" sind für alle Datenquellen gleich in Taskfile.yml definiert default: desc: OPUS Siegen deps: [harvest] cmds: - task: refine - - task: :check - vars: {PROJECT: "siegen", MINIMUM: "1250"} - - task: :split - vars: {PROJECT: "siegen"} - - task: :validate - vars: {PROJECT: "siegen"} - - task: :zip - vars: {PROJECT: "siegen"} - - task: :diff - vars: {PROJECT: "siegen"} + - task: check + - task: split + - task: validate + - task: zip + - task: diff harvest: dir: data/siegen/harvest @@ -77,6 +71,7 @@ tasks: - kill -9 $(lsof -t -i:$PORT) # SIGKILL (-9) verhindert unnötigen Speichervorgang - rm -rf ./*.project* && rm -f workspace.json # temporäre Dateien von OpenRefine löschen sources: + # wenn "dir:" für task gesetzt ist, dann relative Links ausgehend von dir - ../harvest/siegen.xml - ../../../rules/siegen/*.json - ../../../rules/siegen/template.txt @@ -85,11 +80,61 @@ tasks: - siegen.txt - siegen-debug.tsv + check: + cmds: + # Tasks mit ":" sind für alle Datenquellen gleich in Taskfile.yml definiert + - task: :check + vars: {PROJECT: "siegen", MINIMUM: "1250"} + sources: + # wenn "dir:" für task nicht gesetzt ist, dann relative Links ausgehend von Taskfile.yml + - data/siegen/refine/openrefine.log + - data/siegen/refine/siegen.txt + + split: + cmds: + - task: :split + vars: {PROJECT: "siegen"} + sources: + - data/siegen/refine/siegen.txt + generates: + - data/siegen/split/*.xml + + validate: + cmds: + - task: :validate + vars: {PROJECT: "siegen"} + sources: + - data/siegen/split/*.xml + generates: + - data/siegen/validate.log + + zip: + cmds: + - task: :zip + vars: {PROJECT: "siegen"} + sources: + - data/siegen/split/*.xml + generates: + - data/siegen/siegen_{{.DATE}}.zip + + diff: + cmds: + - task: :diff + vars: {PROJECT: "siegen"} + sources: + - data/siegen/split/*.xml + generates: + - data/siegen/diff.log + linkcheck: desc: OPUS Siegen links überprüfen cmds: - task: :linkcheck vars: {PROJECT: "siegen"} + sources: + - data/siegen/split/*.xml + generates: + - data/siegen/linkcheck.log delete: desc: OPUS Siegen cache löschen diff --git a/tasks/wuppertal.yml b/tasks/wuppertal.yml index d9bfa82..7a6fea1 100644 --- a/tasks/wuppertal.yml +++ b/tasks/wuppertal.yml @@ -9,16 +9,11 @@ tasks: deps: [harvest] cmds: - task: refine - - task: :check - vars: {PROJECT: "wuppertal", MINIMUM: "1300"} - - task: :split - vars: {PROJECT: "wuppertal"} - - task: :validate - vars: {PROJECT: "wuppertal"} - - task: :zip - vars: {PROJECT: "wuppertal"} - - task: :diff - vars: {PROJECT: "wuppertal"} + - task: check + - task: split + - task: validate + - task: zip + - task: diff harvest: dir: data/wuppertal/harvest @@ -79,6 +74,7 @@ tasks: - kill -9 $(lsof -t -i:$PORT) # SIGKILL (-9) verhindert unnötigen Speichervorgang - rm -rf ./*.project* && rm -f workspace.json # temporäre Dateien von OpenRefine löschen sources: + # wenn "dir:" für task gesetzt ist, dann relative Links ausgehend von dir - ../harvest/wuppertal.xml - ../../../rules/wuppertal/*.json - ../../../rules/wuppertal/template.txt @@ -87,11 +83,62 @@ tasks: - wuppertal.txt - wuppertal-debug.tsv + check: + cmds: + # Tasks mit ":" sind für alle Datenquellen gleich in Taskfile.yml definiert + - task: :check + vars: {PROJECT: "wuppertal", MINIMUM: "1300"} + sources: + # wenn "dir:" für task nicht gesetzt ist, dann relative Links ausgehend von Taskfile.yml + - data/wuppertal/refine/openrefine.log + - data/wuppertal/refine/siegen.txt + + split: + cmds: + - task: :split + vars: {PROJECT: "wuppertal"} + sources: + # wenn "dir:" für task nicht gesetzt ist, dann relative Links ausgehend von Taskfile.yml + - data/wuppertal/refine/wuppertal.txt + generates: + - data/wuppertal/split/*.xml + + validate: + cmds: + - task: :validate + vars: {PROJECT: "wuppertal"} + sources: + - data/wuppertal/split/*.xml + generates: + - data/wuppertal/validate.log + + zip: + cmds: + - task: :zip + vars: {PROJECT: "wuppertal"} + sources: + - data/wuppertal/split/*.xml + generates: + - data/wuppertal/wuppertal_{{.DATE}}.zip + + diff: + cmds: + - task: :diff + vars: {PROJECT: "wuppertal"} + sources: + - data/wuppertal/split/*.xml + generates: + - data/wuppertal/diff.log + linkcheck: desc: Elpub Wuppertal links überprüfen cmds: - task: :linkcheck vars: {PROJECT: "wuppertal"} + sources: + - data/wuppertal/split/*.xml + generates: + - data/wuppertal/linkcheck.log delete: desc: Elpub Wuppertal cache löschen