Skip to main content

Organize your digital pictures

Project description

digipics

Scripts to handle your digital pictures

Introduction

Over the years you will collect a lot of memories in the pictures you have taken. You have perhaps started early with digital imaging or you have converted analog pictures by scanning them... at the end your picture collection is rather big and hard to overwatch. There are tools around, which help you in finding pictures in your collection, but they may be only on mobile or only on desktop...

So an idea of rather basically organizing pictures is not a bad one.

Folder Structure

The structure choosen here is a folder structure:

YYYY /
      MM
      MM /
           EVENT

e.g.

2001 /
      01
      02 /
           Party_in_Hamburg

If there is an event to mention it may reside in the month folder where it happened - if this event lasts over to months, there will be an event folder in each month.

The pictures are all renamed to their date stamp when they have been taken: 20010623_173401.jpg Right now, there was no need for two pictures taken at the same second...

This all does not change the payload of the picture nor it's EXIF (Metadata). Pictures are only renamed and moved to their destination location. All this action is done by the script digiimport.

The scripts

digiimport

digiimport is a short script to move your pictures - with no content changed at all, not exif not data - to a collection structured by YYYY/MM and optional event.

digiphone

digiphone is the script to convert the nested folder hierarchy as created above to a flat folder structure and resized pictures. Only files ending with .jpg and .png are converted.

It is designed to provide the right structure for the famous FOSS library viewer Les Pas: https://github.com/scubajeff/lespas

By this, you are able to sync all your pictures with your mobile phone: while the local collection eats up around 29G, the reduced sizes dir needs 6,2G...

You have also the possibility to share a folder with a Nextcloud group by writing the Name of this Group in the folder in a file called .ncshare

For installation, put the script in your bin path and put also the NextCloud.py library from https://github.com/Dosugamea/NEXT-OCS-API-forPy there.

Start the script with:

digiphone --collection source/path/ --phone destination/path --ncurl https://nextcloud.example.com --ncuser theuser --ncpasswd joshua42 --ncbasepath lespas

starting with -n would show you, what the script would do. The --nc* parameters are only necessary if you want to use Nextcloud shares. Perhaps try it first with just a few folders, which you copy to a test location.

The easiest way to achieve that all users who use lespas get added folders automagically is to set the standard shared folder in NextCloud to 'lespas'. This can be achieved by adding:

'share_folder' => '/lespas',

to nextclouds config.php

Otherwise, the users of the group which get the shares, will have to move their shared folders also to an own lespas folder.

My Workflow looks like this (or: The user story)

I have on my PC a folder called "/home/steve/pictures/incoming" and my collection should be under "/home/steve/pictures/collection". Then I start in the folder incoming this script with (assume it is in your path) digiimport --collection /home/steve/pictures/collection and the magic starts. The script detects EXIF dates, Signal picture naming conventions, What's app naming conventions, android generic naming conventions and gets the date the pictures was made from that. The picture will then be renamed to YYYYMMDD_HHMMSS and moved to a folder inside your collection called YYYY/MM.

Now you have organized all your pictures in a structure on your PC. But you want to have the possibility to show your memories to your friends and browse them yourself while you are on travel and perhaps even not connected to the internet. Could this be possible although you have collected your memories over 30 years and more?

Yes it is, just with some help of technology.

e.g. an uncompressed collection with approx 18000 pics eats up 30GB. After compressing/resizing the pics, the collection eats up 6,3GB

It is very important to understand, that the original pictures will not (never!) be touched!

So the workflow to have your whole memories on your phone tablet is:

  1. convert/resize your collection (from now called phone collection)
  2. upload/sync your phone collection to your mobile device
  3. choose a fast picture viewer

Now for all that there are perfect tools:

  1. resizing: see digiphone below
  2. syncing: use Nextcloud / LesPas (Android)
  3. Picture viewer: LesPas (Android)

Project details


Release history Release notifications | RSS feed

This version

0.6

Download files

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

Source Distribution

digipics-0.6.tar.gz (47.9 kB view details)

Uploaded Source

Built Distribution

digipics-0.6-py3-none-any.whl (36.4 kB view details)

Uploaded Python 3

File details

Details for the file digipics-0.6.tar.gz.

File metadata

  • Download URL: digipics-0.6.tar.gz
  • Upload date:
  • Size: 47.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for digipics-0.6.tar.gz
Algorithm Hash digest
SHA256 c94bd8368a42f856497b8bde3b3d68687503c4afe883a6b7791db5a25418195b
MD5 1fe3275d094907ada5a64010aa911cd2
BLAKE2b-256 6ef6fc642f80a14001861918f5c801bd9a7e3947630d48ee0b0579a0ecf748b7

See more details on using hashes here.

File details

Details for the file digipics-0.6-py3-none-any.whl.

File metadata

  • Download URL: digipics-0.6-py3-none-any.whl
  • Upload date:
  • Size: 36.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for digipics-0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6c2b5365119452889ed687282cac98b7d73188394d93abdb5e6fe4afb4731e6b
MD5 ef1821908ac8c45239999874ca9d84ab
BLAKE2b-256 0a0b37dea8ccfe7c406404668d6ab8ff83fa54e34a620f408b98b6a09f7c7414

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