Ipmlab (Image Portable Media Like A Boss ) provides a simple and straightforward way to save the content of offline portable media from the KB collection. It supports a variety of carrier types, such as DOS/Windows formatted 3.5" floppy disks, USB thumb drives and hard drives.
For extracting the content these media, Ipmlab wraps around either Ddrescue or Aaru (in progress).
The media images are saved in a simple batch structure. Each batch contains a batch manifest, which is a comma-delimited text file with basic information about each carriers, such as:
- An identifier that links to a record in the KB catalogue.
- A volume number (because carriers may span multiple volumes).
- A True/False flag that indicates the status of ipmlab's imaging process.
By default, Ipmlab expects each carrier to be associated with a record in the KB catalogue by means of an identifier (PPN). This identifier is then used to fetch title information from the KB catalogue using a HTTP request. This effectively constrains the use of Ipmlab to materials in the KB collection. To overcome this constraint, you can disable the PPN lookup by setting the value of enablePPNLookup in the configuration file to False. More details can be found in the setup and configuration documentation. If enablePPNLookup is disabled, the PPN data entry widget in Ipmlab's data entry GUI is replaced with a Title widget, which can be used for entering a free text description of each carrier. See also the section about Processing media that are not part of the KB collection in the User Guide.
Moreover, it would be fairly straightforward to replace the PPN lookup by some alternative identifier that is linked to another catalogue/database (especially if it can be queried using HTTP-requests).
Linux only (e.g. Ubuntu, Linux Mint, etc.).
Ipmlab wraps around either:
- Ddrescue, or
- Aaru Data Preservation Suite (work in progress, see also here)
It also has a dependency on dfxml_python, which must be installed separately because no PyPi package exists.
- Setup Guide - covers installation, setup and configuration.
- User Guide - explains how to use Ipmlab.
Written by Johan van der Knijff, except sru.py which was adapted from the KB Python API which is written by Willem Jan Faber, and the socket server code which was adapted from an example in Python Socket Communication by Rodgers Ouma Mc'Alila.
Ipmlab is released under the Apache License 2.0. The KB Python API is released under the GNU GENERAL PUBLIC LICENSE.