Centralized Path Configuration
All file paths now managed in config/settings.py for maximum modularity and easy configuration.
Base Paths (User Configurable):
PAINTINGS_BIG_PATH=~/ai-workzone/my-paintings-bigPAINTINGS_INSTAGRAM_PATH=~/ai-workzone/my-paintings-instagramMETADATA_OUTPUT_PATH=~/ai-workzone/processed-metadata
Derived Paths (Auto-Generated):
UPLOAD_TRACKER_PATH=~/ai-workzone/processed-metadata/upload_status.jsonCOOKIES_DIR=~/.config/theo-van-gogh/cookies/FASO_COOKIES_PATH=~/.config/theo-van-gogh/cookies/faso_cookies.jsonINSTAGRAM_COOKIES_PATH=~/.config/theo-van-gogh/cookies/instagram_cookies.jsonSCREENSHOTS_DIR=~/.config/theo-van-gogh/debug/screenshots/LOGS_DIR=~/.config/theo-van-gogh/debug/logs/
Moved for Better Organization:
upload_status.json: Project root → metadata folderfaso_cookies.json: Project root → cookies folder- Debug screenshots: Project root → screenshots folder
All modules now use centralized paths:
- ✅
config/settings.py- Added path configuration section - ✅
src/upload_tracker.py- Uses UPLOAD_TRACKER_PATH - ✅
src/faso_client.py- Uses FASO_COOKIES_PATH and SCREENSHOTS_DIR - ✅
main.py- Uses UPLOAD_TRACKER_PATH - ✅
manual_login.py- Uses FASO_COOKIES_PATH
Added:
ARCHITECTURE.md- Complete architectural documentation- Modular design principles
- Path hierarchy
- Adding new modules guide
- Configuration examples
For Development:
- ✅ Add new modules without changing existing code
- ✅ All paths in one file
- ✅ No hardcoded paths anywhere
- ✅ Easy to test with different configurations
For Users:
- ✅ Customize all paths via .env
- ✅ Better file organization
- ✅ Easy backup/restore
- ✅ Clear separation of data/config/debug
For Future:
- ✅ Instagram module ready to plug in
- ✅ Email module ready to plug in
- ✅ Any new platform follows same pattern
Automatic Directory Creation: All new directories are created automatically on first run.
Backward Compatible: Old files in project root won't break anything. New system uses new locations.
Manual Migration (Optional):
# Move existing files to new locations
mv upload_status.json ~/ai-workzone/processed-metadata/
mv faso_cookies.json ~/.config/theo-van-gogh/cookies/Via .env (Recommended):
PAINTINGS_BIG_PATH=/your/custom/path
COOKIES_DIR=/your/custom/cookies
DEBUG_DIR=/your/custom/debugVia settings.py:
Edit defaults directly in config/settings.py
- Browser automation for FASO
- Cloudflare handling
- Cookie persistence
- pytest framework
- GitHub Actions CI/CD
- 26 initial tests
- Collection-based organization
- Upload status tracking
- Platform management
- Configuration management UI
- 5MB limit workaround
- Hard-coded new-paintings
- Manual dimensions
- Extended fields
- AI processing
- Metadata generation