KDM-Finder badge

KDM-Finder


Project LanguageEnglish
StatusMaintaining
TypeDesktop application
Programming Language
Python

KDM-Finder

Find KDMs in your emails

Short Description


KDM-Finder is an application developed for cinemas, simplifying the search for KDMs (Key Delivery Messages) within an email account.
A KDM (Key Delivery Message) is required to play an encrypted DCP movie. KDMs are typically provided as .xml files.
The application is written in Python and uses the PyQt6 UI library.

Platform


KDM-Finder should work on all platforms supporting Python and PyQt6. However, the application was only tested on Linux (Ubuntu 22.04).
Functionality under macOS or Windows has not been tested.

Use KDM-Finder


Dependencies

Make sure you have the following software installed:
  1. -
    Python
  2. -
    PyQt6 (can be installed with pip install PyQt6)
  3. -
    On Linux: libxcb-cursor0 (can be installed with sudo apt install libxcb-cursor0)

Run and Install

To use KDM-Finder, download the source code of the latest version from GitHub using one of the following methods:
  1. -
  2. -
    Download via git clone https://github.com/bdav-dev/kdm-finder.git

Run

  1. 1.
    If needed, unzip the .zip file.
  2. 2.
    Execute the python file main.py located in the root directory of the project. On Linux, this can be done with python3 path/to/main.py

Install (Linux)

A .desktop file is provided (in the root directory of the project) to install KDM-Finder on Linux systems.
Modify the Exec and the Icon properties, pointing them to the correct files in your KDM-Finder installation:
  1. -
    The Exec property should point the the main.py file
  2. -
    The Icon property should point the the kdm_finder_icon.png file
Copy the kdm_finder.desktop file to
  1. -
    ~/.local/share/applications/, if you want to install KDM-Finder for the current user
  2. -
    /usr/share/applications, if you want to install KDM-Finder system wide for all users

Functionality


Email

The connection to your email account is established via IMAP. KDM-Finder needs the following information to establish an email connection:
  1. -
    IMAP server
  2. -
    email address
  3. -
    password
Note
On a Gmail account, the password is not the password to your google account. You need to enter an "app password".
Read this article to learn how to create one: https://support.google.com/accounts/answer/185833?hl=en
You can also specify ...
  1. -
    ... how many emails KDM-Finder should fetch for the search (sorted by receipt time, latest first).
  2. -
    ... if KDM-Finder should automatically start the search on application startup.

Search

KDM-Finder fetches the latest emails and determines if an email contains a KDM. An email is considered to contain a KDM if
  1. -
    the email content, subject, sender or attachment contain (case ignored) kdm or key and
  2. -
    the email has an attachment with .zip or .xml as the file extension.
When all emails are fetched, the found KDMs are displayed in a list. For each KDM the following information is displayed:
  1. -
    The filename (with extension) of the attachment
  2. -
    The sender of the email
  3. -
    The subject of the email
A View button is also present for each KDM, making it possible to view the entire email.

Save

You can select the KDMs you want to save by clicking on them in the list. When you selected all KDMs you want to save, click the Save selected button.
Now, you can locate to a directory in your file system in which the KDMs should be saved.
Note
If you save a .zip file, the contents of the file will be extracted and saved, rather than the .zip file itself.

Known Issues


  1. -
    The application windows don't appear in the middle of the screen on Linux when using Wayland
  2. -
    Changing the OS theme (from light to dark mode or vice versa) requires a restart of the application to avoid color issues