# Script Name		: puttylogs.py
# Author				: Craig Richards
# Created				: 13th October 2011
# Last Modified		: 29th February 2012
# Version				: 1.2

# Modifications		: 1.1 - Added the variable zip_program so you can set it for the zip program on whichever OS, so to run on a different OS just change the locations of these two variables.
# 							: 1.2 - 29-02-12 - CR - Added shutil module and added one line to move the zipped up logs to the zipped_logs directory

# Description			: Zip up all the logs in the given directory

import os  # Load the Library Module
import shutil  # Load the Library Module - 1.2
from time import strftime  # Load just the strftime Module from Time

logsdir = "c:\logs\puttylogs"  # Set the Variable logsdir
zipdir = "c:\logs\puttylogs\zipped_logs"  # Set the Variable zipdir - 1.2
zip_program = "zip.exe"  # Set the Variable zip_program - 1.1

for files in os.listdir(logsdir):  # Find all the files in the directory
    if files.endswith(".log"):  # Check to ensure the files in the directory end in .log
        files1 = (
            files + "." + strftime("%Y-%m-%d") + ".zip"
        )  # Create the Variable files1, this is the files in the directory, then we add a suffix with the date and the zip extension
        os.chdir(logsdir)  # Change directory to the logsdir
        os.system(
            zip_program + " " + files1 + " " + files
        )  # Zip the logs into dated zip files for each server. - 1.1
        shutil.move(
            files1, zipdir
        )  # Move the zipped log files to the zipped_logs directory - 1.2
        os.remove(files)  # Remove the original log files
