Benutzer-Werkzeuge

Webseiten-Werkzeuge


users:dl9sau:code_exiv-und-zeit-konvertieren--uhr-war-noch-sommerzeit

 

Mal wieder vergessen, von Sommer- auf Winterzeit umzustellen?

python script exiv-und-zeit-konvertieren–uhr-war-noch-sommerzeit.py

Dieses Script setzt die File-Zeit um 1h zurück sowie den Zeitstempel im exiv Tag des Bildes. Die Uhrzeit ist hardcoded. So häufig passiert es mir nicht als daß ich Commandline-Options benötigte.

Das linux tool exiv2 muß auf dem System installiert sein.

Dateien einfach als Argument angeben; Wildcard '*' ändert alle Bilder im aktuellen Verzeichnis.

exiv-und-zeit-konvertieren--uhr-war-noch-sommerzeit.py *.jpg
#!/usr/bin/python

import os
import sys

T_DIFF_SEC=-3600
# exiv2 arguments (i.e. "-01:00:00", or "-1"). Must be a string ('"').
#T_DIFF_EXIV="-01:00:00"
T_DIFF_EXIV="-1"

args = sys.argv
args = args[1:]

if len(args) == 0:
  print "usage: " + os.path.basename(sys.argv[0]) + " file1 [file2, ..]"
  sys.exit(1)

while len(args):
  file = args[0]
  args = args[1:]
  print file
  
  try:
    a,b,c,d,e,f,g,h,i,j = os.stat(file)
  except:
    os.write(2, "skipping " + file + ": stat() failed\n");
    continue
  i += T_DIFF_SEC
  ret = -1
  try:
    ret = os.system("exiv2 -k adjust -a " + T_DIFF_EXIV + " " + file)
    if not ret == 0:
      os.write(2, "skipping " + file + ": exiv2 command() failed. returned " + str(ret) + ".\n")
      continue
  except:
    os.write(2, "skipping " + file + ": exiv2 command() failed\n")
    continue
  try:
    os.utime(file, ( h, i ) )
  except:
    os.write(2, "warning: file time modification failed for " + file)
users/dl9sau/code_exiv-und-zeit-konvertieren--uhr-war-noch-sommerzeit.txt · Zuletzt geändert: 2010/01/23 11:33 von dl9sau