Skip to content

CZ-NIC/touch-timestamp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: GPL v3

Change files timestamp with a dialog window.

Gui window

GUI automatically fallback to a text interface when display is not available.

Text interface

Installation

Install with a single command from PyPi.

pip install touch-timestamp

Or eventually add eel to provide browser-like GUI window.

pip install touch-timestamp[eel]

Browser interface

Docs

Methods to set the date

When invoked with file paths, the program sets their modification times

  • to the specified time
  • to the date from the Exif through jhead
  • to a relative time
  • to the specific time, set for a file, then shifts all the other relative to this

Gui window

Fetch the time from the file name

Should you end up with files that keep the date in the file name, use the --from-name parameter.

$ touch-timestamp 20240828_160619.heic --from-name True
Changed 2001-01-01T12:00:00 → 2024-08-28T16:06:19: 20240828_160619.heic

Full help

Use the --help to see full options.

$ touch-timestamp --help
usage: Touch [-h] [--eel | --no-eel] [--from-name {True,False}|STR]
             [[PATH [PATH ...]]]

╭─ positional arguments ─────────────────────────────────────────────────────╮
│ [[PATH [PATH ...]]]                                                        │
│     Files the modification date is to be changed. (default: )              │
╰────────────────────────────────────────────────────────────────────────────╯
╭─ options ──────────────────────────────────────────────────────────────────╮
│ -h, --help                                                                 │
│     show this help message and exit                                        │
│ --eel, --no-eel                                                            │
│     Prefer Eel GUI. (Set the date as in a chromium browser.)               │
│     Does not allow setting from EXIF and relative set. (default: False)    │
│ --from-name {True,False}|STR                                               │
│     Fetch the modification time from the file names stem. Set the format   │
│     as for `datetime.strptime` like '%Y%m%d_%H%M%S'.                       │
│     If set to True, the format will be auto-detected.                      │
│     If a file name does not match the format or the format cannot be       │
│     auto-detected, the file remains unchanged.                             │
│                                                                            │
│                                                                            │
│     Ex: `--from-name True 20240827_154252.heic` → modification time =      │
│     27.8.2024 15:42 (default: False)                                       │
╰────────────────────────────────────────────────────────────────────────────╯

Krusader user action

To change the file timestamps easily from Krusader, import this user action: touch-timestamp %aList("Selected")%