--
The purpose of this project is to automate the task of creating a folder structure on Google Drive and synchronizing between teachers and students of each class appropriately.
A command that can be run on a timed schedule (cron) to keep Google Drive synced between students and teachers based on enrollments. The system automatically archives folders after a student completes the class, drops the class, or fails the class.
The system also handles name changes for both students and teachers.
- Config
- config.sample.py - (Must be renamed to config.py)
- Libraries
- Client.py -------- (Easily create Google Data Client)
- Database.py --- (Connect to Database and run queries)
- Folder.py ------- (Create, Share, and Unshare Folders on Google Drive)
- Share.py ------- (Library that contains sharing functions and logic)
- Sync.py -------- (Contains all the boolean functions used when syncing Google Drive with Database)
- Utilities.py ------ (Useful methods that can be used throughout the codebase)
- Objects
- Contains various python objects that are used throughout the code.
- Files
- run.py ----------- (All-in-One file, check structure of db and google drive, sync, update, etc.)
- python
- python-dev
- gdata
- pyscopg2
- libpq-dev
First, be sure that your database has the proper view in it (view.sql)
Now you are ready to run a batch, here is the command line syntax:
python run.py [--limit <limit> --offset <offset>]
or
python run.py [-l <limit> -o <offset>]
The first time you run the program it will be fine just to provide a limit, or if you'd like to process the entire database you will not need to provide any parameters.
After the first batch you can use the offset parameter to process the next set of records.
Currently the script orders by the master id and classroom id.
This program is intended to run on an internal VLACS server (Ubuntu) but it should run anywhere Python, GData, and psycopg2 will.
vlacs-class-folders by Mike George is licensed under a Creative Commons Attribution-ShareAlike 3.0 United States License.