#!/usr/bin/env python3

import os, shutil, sys

#from crontab import CronTab

def search_str(file_path, word):
    with open(file_path, 'r') as file:
        # read all content of a file
        content = file.read()
        # check if string present in a file
        if word in content:
            return True
        else:
            return False


user_bin = os.environ["HOME"] +  os.sep + "bin"
user_zshrc = os.environ["HOME"] + "/.zshrc"
my_logfile = os.sep + "var" + os.sep + "log" + os.sep + "pull_and_push.log"
basic_command = "0 */10 * * * " + user_bin + os.sep + "pull_and_push >> " +  my_logfile
print(basic_command)
is_exist = False

if not os.path.exists(user_bin):
    os.mkdir(user_bin)

if not search_str(user_zshrc, 'PATH=$PATH:'):
    with open(user_zshrc, 'a') as zshrc:
        print('PATH=$PATH:' + user_bin, file=zshrc)
else:
    print('PATH=$PATH:', "exist in", user_zshrc, sep=' ')

try: 
    copy_file = shutil.copyfile(os.path.dirname(os.path.realpath(sys.argv[0])) + os.sep + "pull_and_push.py", user_bin + os.sep + "pull_and_push")
    os.chmod(user_bin + os.sep + "pull_and_push",0o775)
except FileExistsError:
    print("File konnte nicht kopiert werden")

#cron = CronTab(user=os.environ["USER"])
#basic_iter = cron.find_command(user_bin + os.sep + "pull_and_push >> " +  my_logfile)
#for item in basic_iter:
#    if str(item) == basic_command:
#        print("crontab job already exist", item)
#        is_exist=True
#        break
####
#if not is_exist:
#test
#    cron_job = cron.new(user_bin + os.sep + "pull_and_push >> " +  my_logfile)
#    cron_job.every(10).hours()
#    cron.write()