Skip to main content

EXIF data extraction app for Mayan EDMS.

Project description

https://gitlab.com/mayan-edms/exif/raw/master/contrib/art/logo.png

Description

Mayan EDMS app that extracts image documents’ EXIF data.

License

This project is open sourced under the MIT License.

Installation

  • Activate the virtualenv where you installed Mayan EDMS.

  • Install from PyPI:

    pip install mayan-exif

In your settings/local.py file add exif to your INSTALLED_APPS list:

INSTALLED_APPS += (
    'exif',
)

Run the migrations for the app:

mayan-edms.py migrate

Settings

EXIF_BACKEND: Specifies the backend used to extract the EXIF data, default: exif.backends.exiftool.EXIFTool.

Requirements

ExifTool http://www.sno.phy.queensu.ca/~phil/exiftool/

Usage

EXIF data is extracted automatically upon initial document upload or version uploads. The EXIF data is available via the .exif_value_of. accessor of the document version model. Example:

{{ document.exif_value_of.FileType }}

or:

{{ document.latest_version.exif_value_of.FileType }}

returns the ‘PNG’ string for PNG image files. This accessor can be used anywhere template expressions are used: indexing, smart links, etc.

Development

Clone repository in a directory outside of Mayan EDMS:

git clone https://gitlab.com/mayan-edms/exif.git

Symlink the app into your Mayan EDMS’ app folder:

ln -s <repository directory>/exif/ <Mayan EDMS directory>/mayan/apps

In your settings/local.py file add exif to your INSTALLED_APPS list:

INSTALLED_APPS += (
    'exif',
)

Run the migrations for the app:

./manage.py migrate

EXIF Backends are just a class with a single method called execute which receives a document version instance and returns a dictionary of EXIF tags with their corresponding values. The default backend calls exiftool using the JSON parameter and then turn that JSON result into a Python dictionary:

class EXIFTool(object):
    def execute(self, document_version):
        new_file_object, temp_filename = tempfile.mkstemp()

        try:
            document_version.save_to_file(filepath=temp_filename)
            result = exiftool(temp_filename)
            return json.loads(result.stdout)[0]
        finally:
            fs_cleanup(filename=temp_filename)

1.0.0 (2015-12-22)

  • Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mayan-exif-1.0.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

mayan_exif-1.0.0-py2-none-any.whl (14.2 kB view details)

Uploaded Python 2

File details

Details for the file mayan-exif-1.0.0.tar.gz.

File metadata

  • Download URL: mayan-exif-1.0.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mayan-exif-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c6ce47182325cb480dcf7cb4048394c854c958e51dbeb5f3b6a6641cb55f3210
MD5 44831058d7960fc48ac3fdbb4cf15b41
BLAKE2b-256 10a10452cc8ceff00ce6bfd723287814395ddcaa26ef086376009a05d3e92c0d

See more details on using hashes here.

File details

Details for the file mayan_exif-1.0.0-py2-none-any.whl.

File metadata

File hashes

Hashes for mayan_exif-1.0.0-py2-none-any.whl
Algorithm Hash digest
SHA256 d296aaca577bcb855230376df10ab844862eb3473b71b05f53a4d59a11d8d732
MD5 ea108211161b5c0d3dd3aaff8e70504d
BLAKE2b-256 9a9abbd9a15843fac9222e357a2b9fc8abc50ddc57e1b1c8ba8cd4a5c8d2564e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page