summaryrefslogtreecommitdiff
path: root/Chap9ProjRenameDates.py
diff options
context:
space:
mode:
Diffstat (limited to 'Chap9ProjRenameDates.py')
-rw-r--r--Chap9ProjRenameDates.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/Chap9ProjRenameDates.py b/Chap9ProjRenameDates.py
new file mode 100644
index 0000000..8adc7c3
--- /dev/null
+++ b/Chap9ProjRenameDates.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python3
+
+#Chapter 9 Project Renaming File Dates from American to European
+
+import os
+import re
+import shutil
+
+datePattern = re.compile(r'''^(.*?) #All text before date
+ ((0|1)?\d)- #One or two month digits
+ ((0|1|2|3)?\d)- #One or two digits for month
+ ((19|20)\d\d) #Four digits for the year
+ (.*?)$ #all text after the date
+ ''', re.VERBOSE)
+
+
+for amerFilename in os.listdir('.'):
+ mo = datePattern.search(amerFilename)
+
+ if mo == None:
+ continue
+
+ beforePart = mo.group(1)
+ monthPart = mo.group(2)
+ dayPart = mo.group(4)
+ yearPart = mo.group(6)
+ afterPart = mo.group(8)
+
+ euroFilename = beforePart + dayPart + '-' + monthPart + '-' + yearPart + afterPart
+
+ absWorkingDir = os.path.abspath('.')
+ amerFilename = os.path.join(absWorkingDir, amerFilename)
+ euroFilename = os.path.join(absWorkingDir, euroFilename)
+
+ print('Renaming "%s" to "%s"...' % (amerFilename, euroFilename))
+ shutil.move(amerFilename, euroFilename)