From 4ef4c30c06201f67eb00e6821798a895f906f130 Mon Sep 17 00:00:00 2001 From: Felix Lohmeier Date: Fri, 15 Jan 2021 18:28:27 +0100 Subject: [PATCH] =?UTF-8?q?neuer=20task=20f=C3=BCr=20diff=20der=20beiden?= =?UTF-8?q?=20letzten=20ZIP-Archive?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/siegen.yml | 27 +++++++++++++++++++++++---- tasks/wuppertal.yml | 25 ++++++++++++++++++++++--- 2 files changed, 45 insertions(+), 7 deletions(-) diff --git a/tasks/siegen.yml b/tasks/siegen.yml index 6cec420..519cd5a 100644 --- a/tasks/siegen.yml +++ b/tasks/siegen.yml @@ -12,6 +12,7 @@ tasks: - task: split - task: validate - task: zip + - task: diff harvest: desc: nur harvesten @@ -85,7 +86,7 @@ tasks: dir: data/siegen/refine cmds: # Logdatei von OpenRefine auf Warnungen und Fehlermeldungen prüfen - - if grep -i 'exception\|error' openrefine.log; then echo 1>&2 "log contains warnings!" && exit 1; fi + - if grep -i 'exception\|error' openrefine.log; then echo 1>&2 "Logdatei $PWD/openrefine.log enthält Warnungen!" && exit 1; fi split: dir: data/siegen/split @@ -102,7 +103,7 @@ tasks: - ./*.xml validate: - dir: data/siegen/ + dir: data/siegen cmds: # Validierung gegen METS Schema - wget -q -nc https://www.loc.gov/standards/mets/mets.xsd @@ -113,14 +114,32 @@ tasks: - validate.log zip: - dir: data/siegen/ + dir: data/siegen cmds: # ZIP-Archiv mit Zeitstempel erstellen - zip -q -FS -j siegen_{{.DATE}}.zip split/*.xml sources: - split/*.xml generates: - - siegen_{{.DATE}}.zip + - siegen_{{.DATE}}.zip + + diff: + dir: data/siegen + cmds: + # Inhalt der beiden letzten ZIP-Archive vergleichen + - unzip -q -d old $(ls -t *.zip | sed -n 2p) + - unzip -q -d new $(ls -t *.zip | sed -n 1p) + - diff -d old new > diff.log || exit 0 + - 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) delete: desc: cache löschen diff --git a/tasks/wuppertal.yml b/tasks/wuppertal.yml index 3541290..6c6c280 100644 --- a/tasks/wuppertal.yml +++ b/tasks/wuppertal.yml @@ -12,6 +12,7 @@ tasks: - task: split - task: validate - task: zip + - task: diff harvest: desc: nur harvesten @@ -87,7 +88,7 @@ tasks: dir: data/wuppertal/refine cmds: # Logdatei von OpenRefine auf Warnungen und Fehlermeldungen prüfen - - if grep -i 'exception\|error' openrefine.log; then echo 1>&2 "log contains warnings!" && exit 1; fi + - if grep -i 'exception\|error' openrefine.log; then echo 1>&2 "Logdatei $PWD/openrefine.log enthält Warnungen!" && exit 1; fi split: dir: data/wuppertal/split @@ -104,7 +105,7 @@ tasks: - ./*.xml validate: - dir: data/wuppertal/ + dir: data/wuppertal cmds: # Validierung gegen METS Schema - wget -q -nc https://www.loc.gov/standards/mets/mets.xsd @@ -115,7 +116,7 @@ tasks: - validate.log zip: - dir: data/wuppertal/ + dir: data/wuppertal cmds: # ZIP-Archiv mit Zeitstempel erstellen - zip -q -FS -j wuppertal_{{.DATE}}.zip split/*.xml @@ -124,6 +125,24 @@ tasks: generates: - wuppertal_{{.DATE}}.zip + diff: + dir: data/wuppertal + cmds: + # Inhalt der beiden letzten ZIP-Archive vergleichen + - unzip -q -d old $(ls -t *.zip | sed -n 2p) + - unzip -q -d new $(ls -t *.zip | sed -n 1p) + - diff -d old new > diff.log || exit 0 + - 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) + delete: desc: cache löschen cmds: