-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmove.py
executable file
·54 lines (40 loc) · 1.94 KB
/
move.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import logging
import logger
log = logging.getLogger(__name__)
import argparse
import glob
import os
import filetools
import phototools
import progressiterator
def main():
parser = argparse.ArgumentParser(description="Set up directory structure for 2D photos.", parents=[logger.loggingParser])
parser.add_argument("project_dir",
help="Project directory containing photo/movie files")
parser.add_argument("-j", "--jpg-dir", default="JPG",
help="Subdirectory name for the JPG photos. [Default: %(default)s]")
parser.add_argument("-r", "--raw-dir", default="RAW",
help="Subdirectory name for the RAW photos. [Default: %(default)s]")
parser.add_argument("-m", "--mov-dir", default="MOV",
help="Subdirectory name for the movies. [Default: %(default)s]")
parser.add_argument("--jpg-ext", nargs="+", default=["jpg", "jpeg", "JPG", "JPEG"],
help="JPG file extensions. [Default: %(default)s]")
parser.add_argument("--raw-ext", nargs="+", default=["cr2", "CR2", "arw", "ARW", "dng", "DNG"],
help="RAW file extensions. [Default: %(default)s]")
parser.add_argument("--mov-ext", nargs="+", default=["mov", "mpeg", "mp4", "MOV", "MPEG", "MP4"],
help="MOV file extensions. [Default: %(default)s]")
args = parser.parse_args()
logger.initLogger(args)
args = vars(args)
for file_type in ["JPG", "RAW", "MOV"]:
files = filetools.get_files(args["project_dir"], args["%s_ext" % file_type.lower()])
sub_dir = os.path.join(args["project_dir"], args["%s_dir" % file_type.lower()])
if (len(files) > 0) and (not os.path.exists(sub_dir)):
os.makedirs(sub_dir)
# for file in progressiterator.ProgressIterator(files, description="Move %s files" % file_type):
for file in files:
os.rename(file, os.path.join(sub_dir, os.path.basename(file)))
if __name__ == "__main__":
main()