import os
import time

# 1. Файли та папки, які потрібно скопіювати, збираються до списку.
# Приклад у Windows:
# джерело = ['"C:\\My Documents"', 'C:\\Code']
# Приклад на Mac OS X та Linux:
джерело = ['/Users/swa/notes']
# Зауважте, що ми повинні використовувати подвійні лапки всередині рядка для імен із пробілами.

# 2. Резервні копії повинні зберігатися у головній папці резервних копій
# Приклад у Windows: 
# цільова_папка (англ."target_dir",target directory) = 'E:\\Backup'
# Приклад у  Mac OS X та Linux:
цільова_папка = '/Users/swa/backup'
# Не забудьте замінити шлях `/Users/swa/backup` вашими власними назвами папок.

# Створіть цільову папку,якщо ії не має
if not os.path.exists(цільова_папка):
    os.mkdir(цільова_папка)  # зробити папку

# 3. Резервні копії файлів зберігаються у файлі zip.
# 4. Поточна дата - це ім'я підпапки у головній папці. 
сьогодні = цільова_папка + os.sep + time.strftime('%Y%m%d')
# Поточний час є ім'ям zip-архіву.
зараз = time.strftime('%H%M%S')

# Прийміть коментар від користувача для
# створення назви zip-файлу
коментар = input('Введіть коментар  --> ')
# Перевірте, чи було введено коментар
if len(коментар) == 0:
    ціль = сьогодні + os.sep + зараз + '.zip'
else:
    ціль = сьогодні + os.sep + зараз + '_' + 
        коментар.replace(' ', '_') + '.zip'


# Створіть підпапку,якщо ії не має
if not os.path.exists(сьогодні):
    os.mkdir(сьогодні)
    print('Папку успішно створено', сьогодні)


# 5. Ми використовуємо команду zip, щоб помістити файли в zip-архів
zip_command = 'zip -r {0} {1}'.format(ціль,
                                      ' '.join(джерело))

# Запустіть резервне копіювання
print('Zip command є:')
print(zip_command)
print('Запуск:')
if os.system(zip_command) == 0:
    print('Резервна копія успішно створена', ціль)
else:
    print('Створення резервної копії НЕ ВДАЛОСЯ')
