#!/usr/bin/python
import os
import subprocess
import os.path
import datetime
import shutil

def start_cando():
   if subprocess.call(["/etc/init.d/schooltool-cando", "start"]):
      print "error starting cando"

def stop_cando():
   if subprocess.call(["/etc/init.d/schooltool-cando", "stop"]):
      print "error stopping cando"

def main():
   instance = "/var/lib/schooltool"
   backupdir = instance + "/cando-backups"
   datestr = datetime.datetime.now().strftime("%Y-%m-%d-%H%M")
   print "Making backup for", datestr
   stop_cando()
   shutil.copyfile(os.path.join(instance, 'schooltool-cando-Data.fs'), os.path.join(backupdir, 'Data.fs.' + datestr))
   print "Copied", instance + '/schooltool-cando-Data.fs', "to", backupdir + '/Data.fs.' + datestr
   start_cando()
   for top,dir,files in os.walk(backupdir):
      if (top != backupdir):
         break
      print "Starting Bzip Process in", top
      for file in files:
         if file != "Data.fs." + datestr:
            if not file.count('bz2'):
               subprocess.call(['bzip2', os.path.join(top,file)])
               print "bzipped", file,
               shutil.move(os.path.join(top,file+'.bz2'), os.path.join(top,'zip',file + '.bz2'))
            else:
               shutil.move(os.path.join(top,file), os.path.join(top,'zip',file))
            print "Moved bz2 file", file, "to zip dir"

if __name__ == '__main__':
   main()

