Skip to content

Instantly share code, notes, and snippets.

@bitsgalore
Last active March 26, 2020 15:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bitsgalore/14bf1aa95ea7ba7e92fd33c26ee9b73f to your computer and use it in GitHub Desktop.
Save bitsgalore/14bf1aa95ea7ba7e92fd33c26ee9b73f to your computer and use it in GitHub Desktop.

Instructies omSipCreator

Waarschuwing

Gebruik omSipCreator voor de tests op kopieën van batches, en NIET op de originele opslaglocaties! Dit is vooral omdat omSipCreator in 'prune' modus (opschoonfunctie) batches wijzigt en daarbij data verwijdert!!

Ik neem in de voorbeelden hieronder even aan dat Python onder de volgende folder geïnstalleerd is:

C:\Python37\

Binnen die folder zie je de volgende bestanden/directories:

├── concrt140.dll
├── DLLs
├── Doc
├── include
├── Lib
├── libs
├── LICENSE.txt
├── msvcp140.dll
├── NEWS.txt
├── python37.dll
├── python3.dll
├── python.exe
├── pythonw.exe
├── Scripts
├── tcl
├── Tools
├── vccorlib140.dll
├── vcomp140.dll
└── vcruntime140.dll

Belangrijkste bestanden/folders om op te letten:

  • python.exe: dit is de Python interpreter.
  • Scripts: onder deze directory wordt straks de omSipCreator executable geinstalleerd.

Stap 1: doet Python het?

Open een command prompt of Powershell window. Plak daarin het volgende commando, en druk op Enter:

C:\Python37\python --version

Als Python op jouw machine ergens anders staat, moet je de voorbeelden daarop aanpassen. Als-ie onder een directory met spaties in de naam valt (bv C:\Program Files\Python37), moet je alle commando's tussen dubbele quotes zetten, bijvoorbeeld:

"C:\Program Files\Python37\python --version"

Als het goed is krijg je nu een versienummer te zien:

Python 3.8.1

Stap 2: controle pip packagemanager

Als dit werkt, probeer dan dit (en pas zo nodig het pad weer aan):

C:\Python37\python -m pip

Als het goed is krijg je nu dit te zien:


Usage:   
  C:\Python37\python.exe -m pip <command> [options]

Commands:
  install                     Install packages.
  download                    Download packages.
  uninstall                   Uninstall packages.

::
::
etc

Zo niet, draai dan het volgende commando:

C:\Python37\python -m ensurepip

En probeer dan opnieuw het pip commando.

Stap 3: omSipCreator installeren

Als dit allemaal werkt, kun je omSipCreator met het volgende commando installeren:

C:\Python37\python -m pip install omSipCreator

Dit levert een enorme bak aan schermoutput op, en mogelijk ook nog wat waarschuwingen (die je meestal gewoon kun negeren).

Stap 4: omSipCreator installatie testen

Test nu de installatie met het volgende commando:

C:\Python37\Scripts\omSipCreator

Als het goed is zie je nu dit:

usage: omSipCreator.exe [-h] [--version] {verify,prune,write} ...

SIP Creator for Offline Media Images

positional arguments:
  {verify,prune,write}  sub-command help
    verify              only verify input batch without writing SIPs
    prune               verify input batch, then write 'pruned' version of
                        batch that omits all PPNs that have errors. Write PPNs
                        with errors to a separate batch.
    write               verify input batch and write SIPs. Before using
                        'write' first run the 'verify' command and fix any
                        reported errors.

optional arguments:
  -h, --help            show this help message and exit
  --version, -v         show program's version number and exit

Als dit werkt is de installatie van omSipCreator OK.

Tip: voeg Scripts directory toe aan Windows PATH (optioneel)

Als je geen zin hebt om elke keer het volledige pad naar omSipCreator te typen, kun je de locatie van deze directory ook toevoegen aan de Windows PATH systeemvariabele. Zie instructies hier:

https://windowsreport.com/edit-windows-path-environment-variable/

Open nadat je dit hebt gedaan een nieuwe command prompt of Powershell window. Vervolgens kun je omSipCreator starten met (dus zonder het volledige pad):

omSipCreator

Stap 5: batch controleren

Stel je hebt een batch in directory c:\batches\kb-0b426934-48c2-11ea-bc3f-40b034381df9. Om de batch te controleren op fouten doe je dit:

C:\Python37\Scripts\omSipCreator verify c:\batches\kb-0b426934-48c2-11ea-bc3f-40b034381df9

Als je de uitvoer van omSipCreator naar een tekstbestand wilt redirecten:

C:\Python37\Scripts\omSipCreator verify c:\batches\kb-0b426934-48c2-11ea-bc3f-40b034381df9 2>results.txt

Dit levert een hele lijst met voortgangsinfo en foutmeldingen op:

INFO - Processing PPN 159396581
INFO - Processing PPN 171638263
: :
: :
CRITICAL - jobID 56d98e92-48c3-11ea-ac54-40b034381df9: found 0 checksum files in directory 'kb-0b426934-48c2-11ea-bc3f-40b034381df9/56d98e92-48c3-11ea-ac54-40b034381df9', expected 1
ERROR - jobID 56d98e92-48c3-11ea-ac54-40b034381df9 : expected 1 file 'cd-info.log' in directory 'kb-0b426934-48c2-11ea-bc3f-40b034381df9/56d98e92-48c3-11ea-ac54-40b034381df9 , found 0
ERROR - jobID 56d98e92-48c3-11ea-ac54-40b034381df9 : expected 1 file 'meta-kbmdo.xml' in directory 'kb-0b426934-48c2-11ea-bc3f-40b034381df9/56d98e92-48c3-11ea-ac54-40b034381df9 , found 0
ERROR - jobID 56d98e92-48c3-11ea-ac54-40b034381df9: found no files in directory 'kb-0b426934-48c2-11ea-bc3f-40b034381df9/56d98e92-48c3-11ea-ac54-40b034381df9
ERROR - jobID 56d98e92-48c3-11ea-ac54-40b034381df9 : error reading checksum file
ERROR - jobID 56d98e92-48c3-11ea-ac54-40b034381df9: 'unknown' is illegal value for 'carrierType'
ERROR - jobID 56d98e92-48c3-11ea-ac54-40b034381df9: value of 'success' not 'True'
INFO - Processing PPN 184556155
INFO - Processing PPN 184629551
INFO - Processing PPN 185598331
: :
ERROR - directory '/home/johan/kb/testomsipcreator/kb-0b426934-48c2-11ea-bc3f-40b034381df9/scans/173674577' not referenced in 'kb-0b426934-48c2-11ea-bc3f-40b034381df9/manifest.csv'
ERROR - directory '/home/johan/kb/testomsipcreator/kb-0b426934-48c2-11ea-bc3f-40b034381df9/scans/185598331' not referenced in 'kb-0b426934-48c2-11ea-bc3f-40b034381df9/manifest.csv'
: :
ERROR - directory '/home/johan/kb/testomsipcreator/kb-0b426934-48c2-11ea-bc3f-40b034381df9/scans/18295210X' not referenced in 'kb-0b426934-48c2-11ea-bc3f-40b034381df9/manifest.csv'
INFO - Verify / write resulted in 29 errors and 0 warnings

Dus met deze batch is wel het een en ander mis.

Stap 6: batch opschonen

Met het prune commando kun je de bovenstaande batch 'opschonen'. Hierbij verwijdert omSipCreator alle PPNs waaronder dragers met gouten vallen. Deze worden verplaatst naar een "error batch" (in het voorbeeld hieronder onder een aparte directory c:\errorbatches). Let er wel op dat de inputbatch hierbij wordt aangepast, dus draai dit altijd op kopieën van batches en niet op de originele opslaglocatie!

Commando:

C:\Python37\Scripts\omSipCreator prune c:\batches\kb-0b426934-48c2-11ea-bc3f-40b034381df9 c:\errorbatches\kb-0b426934-48c2-11ea-bc3f-40b034381df9

In dit geval herhaalt omSipCreator eerst alle eerdere tests, waarna het opschonen begint. Dit rsulteert in de volgende aanvullende info:

INFO - Start pruning
INFO - Writing batch manifest entry (batchIn)
INFO - Writing batch manifest entry (batchIn)
INFO - Writing batch manifest entry (batchIn)
INFO - Writing batch manifest entry (batchIn)
INFO - Writing batch manifest entry (batchIn)
INFO - Writing batch manifest entry (batchIn)
INFO - Writing batch manifest entry (batchIn)
INFO - Writing batch manifest entry (batchIn)
INFO - Copying files to error batch
INFO - Writing batch manifest entry (batchErr)
INFO - Writing batch manifest entry (batchIn)
INFO - Writing batch manifest entry (batchIn)
INFO - Copying files to error batch
INFO - Writing batch manifest entry (batchErr)
INFO - Copying files to error batch
INFO - Writing batch manifest entry (batchErr)
INFO - Writing batch manifest entry (batchIn)
INFO - Writing batch manifest entry (batchIn)
INFO - Removing  directory '/home/johan/kb/testomsipcreator/kb-0b426934-48c2-11ea-bc3f-40b034381df9/56d98e92-48c3-11ea-ac54-40b034381df9' from batchIn
INFO - Removing  directory '/home/johan/kb/testomsipcreator/kb-0b426934-48c2-11ea-bc3f-40b034381df9/7f2af7d2-48c3-11ea-be1b-40b034381df9' from batchIn
INFO - Removing  directory '/home/johan/kb/testomsipcreator/kb-0b426934-48c2-11ea-bc3f-40b034381df9/82e98674-48c3-11ea-9a81-40b034381df9' from batchIn
INFO - Saved old batch manifest in batchIn as 'manifest.old'
INFO - Pruning resulted in additional 0 errors and 0 warnings

In de laatste regel zie je dat tijdens het opschonen geen extra fouten zijn opgetreden. Onder c:\errorbatches\kb-0b426934-48c2-11ea-bc3f-40b034381df9 is nu een nieuwe batch aangemaakt met de data van alle PPNs met 1 of meer dragers met fouten.

Stap 7: controle opgeschoonde batch

Draai om het effect van het opschonen te zien opnieuw omSipCreatorb op de opgeschoonde batch:

C:\Python37\Scripts\omSipCreator verify c:\batches\kb-0b426934-48c2-11ea-bc3f-40b034381df9

De in de eerste controleslag gemelde fouten zijn nu verdwenen.

LET OP: je ziet nu nog wel een hele reeks fouten die betrekking hebben op de 'Scans' folder:

ERROR - directory '/home/johan/kb/testomsipcreator/kb-0b426934-48c2-11ea-bc3f-40b034381df9/scans/159396581' not referenced in 'kb-0b426934-48c2-11ea-bc3f-40b034381df9/manifest.csv'
ERROR - directory '/home/johan/kb/testomsipcreator/kb-0b426934-48c2-11ea-bc3f-40b034381df9/scans/173674577' not referenced in 'kb-0b426934-48c2-11ea-bc3f-40b034381df9/manifest.csv'
: :

Die kun je nu even negeren (omSipCreator is nu nog niet voorbereid op de aanwezigheid van de 'Scans' folder; dit pas ik later nog aan).

Stap 8: maak SIPs van opgeschoonde batch

De inhoud van de opgeschoonde batch kan nu verder verwerkt worden tot SIPs. Gebruik hiervoor het write commando, waarbij het tweede argument op de command-line de directory is waaronder de SIPs worden weggeschreven:

C:\Python37\Scripts\omSipCreator write c:\batches\kb-0b426934-48c2-11ea-bc3f-40b034381df9 c:\SIPs\kb-0b426934-48c2-11ea-bc3f-40b034381df9

(Let op dat je hier weer foutmeldingen krijgt voorv de 'Scans' folder; kun je weer negeren)

Onder C:\SIPs\ zie je nu dev SIPS in de volgendec structuur:

../SIPs/
└── kb-0b426934-48c2-11ea-bc3f-40b034381df9
    ├── 159396581
    │   ├── 1
    │   │   └── VUIKS_ALIFE.iso
    │   └── mets.xml
    ├── 171638263
    │   ├── 1
    │   │   └── BALI.iso
    │   └── mets.xml
    ├── 173674577
    │   ├── 1
    │   │   └── BALI.iso
    │   └── mets.xml
    ├── 174088574
    │   ├── 1
    │   │   └── Beet-1.iso
    │   └── mets.xml
    ├── 174448708
    │   ├── 1
    │   │   └── HIGHLIGHTS.iso
    │   └── mets.xml
    ├── 182949311
    │   ├── 1
    │   │   ├── 01.wav
    │   │   ├── 02.wav
    │   │   ├── 03.wav
    │   │   ├── : :
    │   │   ├── : :
    │   │   └── 25.wav
    │   └── mets.xml
    ├── 18295210X
    │   ├── 1
    │   │   ├── 01.wav
    │   │   ├── 02.wav
    │   │   ├── 03.wav
    │   │   ├── : :
    │   │   ├── : :
    │   │   └── 39.wav
    │   └── mets.xml
    ├── 182952347
    │   ├── 1
    │   │   ├── 01.wav
    │   │   ├── 02.wav
    │   │   ├── 03.wav
    │   │   ├── : :
    │   │   ├── : :
    │   │   └── 42.wav
    │   └── mets.xml
    ├── 184556155
    │   ├── 1
    │   │   └── WN-SALARIS.iso
    │   └── mets.xml
    ├── 184629551
    │   ├── 1
    │   │   └── PROJECT_WN.iso
    │   └── mets.xml
    ├── 186163444
    │   ├── 1
    │   │   └── SCOOP_VWO.iso
    │   └── mets.xml
    └── 187693153
        ├── 1
        │   └── TWIN.iso
        └── mets.xml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment