Organize Media (photos and videos)
This application writes, inside an input existing directory , one directory list where the videos and photos are copied and organized in subdirectories following the year of creation, month of creation and topic. In detail:
- I declared a ( relative or absolute) path where there are the videos and photos organized in subdirectories ('topic') and another path where writing the copied files
- The application writes the directories and subdirectories of they don't exist, otherwise they are not modified
- The structure of the final directories is based on the extension and the topic of the files
Features
Future
- In copying the files, every directory also will have a CSV file (different from media type) with the list of the files and the data (this feature will remove the -w flag in input)
- Package the project
- use the internal logging in python
- add the control that draft-tag must has'nt not more than 100 row
- create the specific file for Shutterstock: ( I put the filename, description and tags in different rows)
- Using chain of command desing pattern
- Create one file draft-tag- for every image or video, in the list I create the selected-tags and after, into join phase, for every file I'm looking for the specific file tag, I read this and I join in the final file
- Before writing the tags, I control that the rows have'nt it
- When I create the final file CSV to upload, I have to create more than 1, so I can upload in batch way
- Create directroy realtime and timelapse in directory di copy phase
Next
- write the file Contribuing like this
Running
Past
- Organize the code: there are classes into directory test ( sistemare gli import nella directory organizemedia )
- use travis for CI
- delete class AsString
- fix the style in the modules
- put classes with the tests in tests and importo test classes in package organizedmedia, where there are only the classes withou test
Bug
Future
- Fix the unit test
- fix the Test Suite
- Resolve the TODO in the code
- Organize the structure following the guidelines in[The Hitchhiker's Guide to Python!] (https://docs.python-guide.org/)
- Delete the test classes where it s import date or import datetime
- Create directories exported and original in topic in copy command
- review the system of the calculation of the more important tags
Next
- Write defensive class to manage the input parameters
Running
Past
Status CI Integration
I use Travis
Getting started
Prerequisites
- Python 3.0+
- pip
- unittest
Installing
- Clone the project with git-clone (or download directly it)
- Have fun!
Running the tests
- Run python -m unittest TestSuiteProject-A-L.py and python -m unittest TestSuiteProject-M-Z.py : the letter indicates the first letter of the module in the current TestSuite
Break down into to end to end tests
No indications
Coding styles sheets
Please read the file CONTRIBUTING.md
Deployment
- No package built (sorry, I'm a beginner in Python :) )
- Run >>> python Main.py $ABSOLUTE-PATH-WHERE-IT-READS-THE-EXISTING-IMG $ABSOLUTE-PATH-WHERE-IT-COPIES-TH-IMG
Built with:
- ViM - one of the best text editor I know
- unittest - most famous library about the unit testing in Python
Contributing
Please read the Contributing.md for the details about the code of conduct and the process for submitting pull requests.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Alessandro Puzielli - creator - Alepuzio
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Acknowledgments
- PurpleBooth - to publish an excellent template of README that I used in this project
- Yegor256 - to write the post Elegant READMEs about the README file and the An Open Code Base Is Not Yet an Open Source Project for the Open Source projects