A command-line tool to easily manage and copy media files from cameras and SD cards to your computer. The tool automatically organizes files by date and prevents duplicate copies.
- 📋 List new files from your device that haven't been copied yet
- 📁 Copy files automatically organized into date-based folders
- 📊 Show file sizes and total transfer size
- ⏳ Progress bar during file transfer
- 🔍 Duplicate file detection
- ✅ Confirmation before copying
- ⚙️ Easy configuration via JSON file
- Python 3.6 or higher
- macOS (currently only supports macOS file system)
- A camera or SD card connected via USB
-
Clone this repository:
git clone https://github.com/code-on-sunday/your-memories-home.git cd your-memories-home -
Install required dependencies:
pip install -r requirements.txt
-
Configure the settings:
- Edit
config.jsonto customize your settings:
{ "volume_name": "Untitled", "source_paths": { "images": "DCIM/100MSDCF", "videos": "private/M4ROOT/CLIP" }, "destination": "~/Pictures", "supported_extensions": [".jpg", ".mp4"] }volume_name: The name of your device when connected (check in Finder)source_paths: Paths where your device stores filesdestination: Where files will be copied (supports ~ for home directory)supported_extensions: File types to copy
- Edit
To see what new files are available to copy:
python main.py list-newThis will show:
- Files grouped by date
- Individual file sizes
- Total size to be transferred
Example output:
New files found:
📅 2024-03-15
📄 DSC00123.JPG (24.5 MB)
📄 DSC00124.JPG (23.8 MB)
📄 C0001.MP4 (256.7 MB)
Total size: 305.0 MB
To copy new files from the camera:
python main.py copyThe tool will:
- Scan for new files
- Show new folders that will be created
- Display total files and size to be copied
- Ask for confirmation
- Show progress during copy
- Organize files into date-based folders
After copying, your files will be organized like this:
DESTINATION/
├── 2024-03-15/
│ ├── DSC00123.JPG
│ ├── DSC00124.JPG
│ └── C0001.MP4
├── 2024-03-16/
│ ├── DSC00125.JPG
│ └── C0002.MP4
└── ...
Feel free to submit issues, fork the repository, and create pull requests for any improvements.
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Click for the command-line interface
- Inspired by the need for a simple, efficient way to manage Sony ZV1 camera files