Skip to main content

This script copies the media files in the correct path as described by Daniele Carrer

Project description

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



  • 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 design 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


  • write the file Contribuing like this



  • 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 package and classes with no tests in src package, where there are only the classes without the tests



  • Fix the unit test
  • fix the Test Suite
  • Resolve the TODO in the code
  • Organize the structure following the guidelines inThe Hitchhiker's Guide to Python!
  • 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


  • Write defensive class to manage the input parameters



Status CI Integration

I use Travis Build Status

Getting started


  • Python 3.0+
  • pip
  • pytest


  • Clone the project with git-clone (or download directly it)
  • Have fun!

Running the tests

  • Run scripts/ (or bat)

Break down into to end to end tests

No indications

Coding styles sheets

Please read the file


  • No package built (sorry, I'm a beginner in Python :) )

Built with:

  • ViM - one of the best text editor I know
  • pytest - most famous library about the unit testing in Python


Please read the for the details about the code of conduct and the process for submitting pull requests.


We use SemVer for versioning. For the versions available, see the tags on this repository.


  • Alessandro Puzielli - creator - Alepuzio

See also the list of contributors who participated in this project.


This project is licensed under the MIT License - see the file for details


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

organize_media-1.1.0-py3-none-any.whl (32.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page