42 lines
951 B
Python
42 lines
951 B
Python
# -*- coding:utf-8 -*-
|
|
|
|
"""
|
|
Grab photos from camera and store them.
|
|
"""
|
|
import os
|
|
import shutil
|
|
import itertools
|
|
from .config import CAMERA_PATH, BACKUP_PATH, IMPORT_PATH
|
|
|
|
|
|
def _copy_files(files, target_dir):
|
|
print("copy {files} to {target_dir}")
|
|
# for f in files:
|
|
# shutil.copy(f, target_dir)
|
|
|
|
|
|
def _get_filenames(folder):
|
|
# TODO: exact location of files is lost, but will be used !
|
|
# Could return a dict{ filename: full_path }
|
|
return set(
|
|
itertools.chain.from_iterable(
|
|
filenames for _, _, filenames in os.walk(folder)
|
|
))
|
|
|
|
|
|
def backup(files):
|
|
_copy_files(files, BACKUP_PATH)
|
|
|
|
|
|
def prepare_import(files):
|
|
_copy_files(files, IMPORT_PATH)
|
|
|
|
|
|
def grab():
|
|
# Get new files from camera
|
|
camera_files = _get_filenames(CAMERA_PATH)
|
|
backup_files = _get_filenames(BACKUP_PATH)
|
|
new_files = camera_files.difference(backup_files)
|
|
backup(new_files)
|
|
prepare_import(new_files)
|