# Script Name	: backup_automater_services.py
# Author			: Craig Richards
# Created			: 24th October 2012
# Last Modified	: 13th February 2016
# Version			: 1.0.1

# Modifications	: 1.0.1 - Tidy up the comments and syntax

# Description		: This will go through and backup all my automator services workflows

import shutil							# Load the library module
import datetime						# Load the library module
import os   							# Load the library module

today = datetime.date.today()	  # Get Today's date
todaystr = today.isoformat()		# Format it so we can use the format to create the directory

confdir = os.getenv("my_config")		  	# Set the variable by getting the value from the OS setting
dropbox = os.getenv("dropbox") 					# Set the variable by getting the value from the OS setting
conffile = ('services.conf') 					# Set the variable as the name of the configuration file
conffilename = os.path.join(confdir, conffile)  	         # Set the variable by combining the path and the file name
sourcedir = os.path.expanduser('~/Library/Services/')			 # Source directory of where the scripts are located
destdir = os.path.join(dropbox, "My_backups"+"/"+"Automater_services"+todaystr+"/")   # Combine several settings to create
                  
                                                                                    # the destination backup directory
for file_name in open(conffilename): 									  # Walk through the configuration file
  fname = file_name.strip()													    # Strip out the blank lines from the configuration file
  if fname:																			        # For the lines that are not blank
    sourcefile = os.path.join(sourcedir, file_name.strip())		# Get the name of the source files to backup
    destfile = os.path.join(destdir, file_name.strip()) 			# Get the name of the destination file names
    shutil.copytree(sourcefile, destfile)								  	# Copy the directories