""" * Author: "PeppermintOS Team(peppermintosteam@proton.me) * * License: SPDX-License-Identifier: GPL-3.0-or-later * * Clean up the working folder and move ISO and other files """ import os import shutil from pathlib import Path from datetime import date import time # Set the home path used regardless the user logged in BSTRING_ISO_CONFIGS = '~/bubbles/iso_configs' HOME_FOLDER = str(Path(BSTRING_ISO_CONFIGS).expanduser()) FUSATO_ROOT = '/fusato' # Set the base destination location for the final ISO # Default base is /var/www/html/nightly/ BASE_DESTINATION = '/var/www/html/nightly/' # Set the base ISO Name BASE_NAME = 'PeppermintOS' def make_check_sum(): """ Generate the check sum files """ os.chdir(HOME_FOLDER + FUSATO_ROOT) current_working_directory = os.getcwd().replace('/', '/') for root, dirs, files in os.walk(current_working_directory): for fiso in files: if fiso.endswith('.iso'): sha = "sha512sum " ext = "-sha512.checksum" gen_sum = sha + fiso + ' >' + fiso + ext os.system(gen_sum) def check_build_type_xfce(): """ Decided which ISO needs to be moved for XFCE """ os.chdir(HOME_FOLDER + FUSATO_ROOT) look_for_file = ['deb.64xfc', 'deb.32xfc', 'deb.armxfc', 'dev.64xfc', 'dev.32xfc', 'dev.armxfc' ] def check_debian_xfce(): """ Check is a debian build is needed """ for build_version in look_for_file: if build_version == look_for_file[0]: check_path = Path(build_version) if check_path.is_file(): process_deb_64_xfce() break elif build_version == look_for_file[1]: check_path = Path(build_version) if check_path.is_file(): process_deb_32_xfce() break elif build_version == look_for_file[2]: check_path = Path(build_version) if check_path.is_file(): process_deb_arm_xfce() break else: check_devuan_xfce() break def check_devuan_xfce(): """ Check is a devuan build is needed """ for build_version in look_for_file: if build_version == look_for_file[3]: check_path = Path(build_version) if check_path.is_file(): process_dev_64_xfce() break elif build_version == look_for_file[4]: check_path = Path(build_version) if check_path.is_file(): process_dev_32_xfce() break elif build_version == look_for_file[5]: check_path = Path(build_version) if check_path.is_file(): process_dev_arm_xfce() break else: print("Nothing to do") break check_debian_xfce() def check_build_type_gfb(): """ Decided which ISO needs to be moved for gfb """ os.chdir(HOME_FOLDER + FUSATO_ROOT) look_for_file = ['deb.64gfb', 'deb.32gfb', 'deb.armgfb' 'dev.64gfb', 'dev.32gfb', 'dev.armgfb' ] def check_debian_gfb(): """ Check is a debian build is needed """ for build_version in look_for_file: if build_version == look_for_file[0]: check_path = Path(build_version) if check_path.is_file(): process_deb_64_gfb() break elif build_version == look_for_file[1]: check_path = Path(build_version) if check_path.is_file(): process_deb_32_gfb() break elif build_version == look_for_file[2]: check_path = Path(build_version) if check_path.is_file(): process_deb_arm_gfb() break else: check_devuan_gfb() break def check_devuan_gfb(): """ Check is a debian build is needed """ for build_version in look_for_file: if build_version == look_for_file[3]: check_path = Path(build_version) if check_path.is_file(): process_dev_64_gfb() break elif build_version == look_for_file[4]: check_path = Path(build_version) if check_path.is_file(): process_dev_32_gfb() break elif build_version == look_for_file[5]: check_path = Path(build_version) if check_path.is_file(): process_dev_arm_gfb() break else: print("Nothing to do") break check_debian_gfb() # Debian XFCE # def process_deb_64_xfce(): """ Copy the NEW 64 bit Debian base to its Nightly folder XFCE """ current_working_directory = os.listdir(".") today = str(date.today()) for files in current_working_directory: if files.endswith('.iso'): src_iso = files rdes = (BASE_NAME + '-Debian_64_xfce' + today + '.iso' ) des_iso = BASE_DESTINATION + 'deb64/xfce' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if files.endswith('.checksum'): src_sum = files rdes_sum = BASE_NAME + 'Debian_64_xfce-sha512.checksum' des_sum = BASE_DESTINATION + 'deb64/xfce' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) def process_deb_32_xfce(): """ Copy the NEW 32 bit Debian base to its Nightly folder XFCE """ current_working_directory = os.listdir(".") today = str(date.today()) for files in current_working_directory: if files.endswith('.iso'): src_iso = files rdes = (BASE_NAME + '-Debian_32_xfce' + today + '.iso' ) des_iso = BASE_DESTINATION + 'deb32/xfce' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if files.endswith('.checksum'): src_sum = files rdes_sum = BASE_NAME + 'Debian_32_xfce-sha512.checksum' des_sum = BASE_DESTINATION + 'deb32/xfce' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) def process_deb_arm_xfce(): """ Copy the NEW arm bit Debian base to its Nightly folder XFCE """ current_working_directory = os.listdir(".") today = str(date.today()) for files in current_working_directory: if files.endswith('.iso'): src_iso = files rdes = (BASE_NAME + '-Debian_arm_xfce' + today + '.iso' ) des_iso = BASE_DESTINATION + 'debarm/xfce' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if files.endswith('.checksum'): src_sum = files rdes_sum = BASE_NAME + 'Debian_arm_xfce-sha512.checksum' des_sum = BASE_DESTINATION + 'debarm/xfce' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) # Devuan XFCE # def process_dev_64_xfce(): """ Copy the NEW 64 bit Devuan base to its Nightly folder XFCE """ current_working_directory = os.listdir(".") today = str(date.today()) for files in current_working_directory: if files.endswith('.iso'): src_iso = files rdes = (BASE_NAME + '-devuan_64_xfce' + today + '.iso' ) des_iso = BASE_DESTINATION + 'dev64/xfce' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if files.endswith('.checksum'): src_sum = files rdes_sum = BASE_NAME + 'devuan_64_xfce-sha512.checksum' des_sum = BASE_DESTINATION + 'dev64/xfce' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) def process_dev_32_xfce(): """ Copy the NEW 32 bit Devuan base to its Nightly folder XFCE """ current_working_directory = os.listdir(".") today = str(date.today()) for files in current_working_directory: if files.endswith('.iso'): src_iso = files rdes = (BASE_NAME + '-devuan_32_xfce' + today + '.iso' ) des_iso = BASE_DESTINATION + 'dev32/xfce' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if files.endswith('.checksum'): src_sum = files rdes_sum = BASE_NAME + 'devuan_32_xfce-sha512.checksum' des_sum = BASE_DESTINATION + 'dev32/xfce' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) def process_dev_arm_xfce(): """ Copy the NEW arm bit Devuan base to its Nightly folder XFCE """ current_working_directory = os.listdir(".") today = str(date.today()) for files in current_working_directory: if files.endswith('.iso'): src_iso = files rdes = (BASE_NAME + '-devuan_arm_xfce' + today + '.iso' ) des_iso = BASE_DESTINATION + 'devarm/xfce' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if files.endswith('.checksum'): src_sum = files rdes_sum = BASE_NAME + 'devuan_arm_xfce-sha512.checksum' des_sum = BASE_DESTINATION + 'devarm/xfce' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) # Debian Gnome Flashback # def process_deb_64_gfb(): """ Copy the NEW 64 bit Debian base to its Nightly folder GnomeFlashBack """ current_working_directory = os.listdir(".") today = str(date.today()) for files in current_working_directory: if files.endswith('.iso'): src_iso = files rdes = (BASE_NAME + '-Debian_64_gfb' + today + '.iso' ) des_iso = BASE_DESTINATION + 'deb64/gnome-flashback' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if files.endswith('.checksum'): src_sum = files rdes_sum = BASE_NAME + 'Debian_64_gfb-sha512.checksum' des_sum = BASE_DESTINATION + 'deb64/gnome-flashback' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) def process_deb_32_gfb(): """ Copy the NEW 32 bit Debian base to its Nightly folder GnomeFlashBack """ current_working_directory = os.listdir(".") today = str(date.today()) for files in current_working_directory: if files.endswith('.iso'): src_iso = files rdes = (BASE_NAME + '-Debian_32_gfb' + today + '.iso' ) des_iso = BASE_DESTINATION + 'deb32/gnome-flashback' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if files.endswith('.checksum'): src_sum = files rdes_sum = BASE_NAME + 'Debian_32_gfb-sha512.checksum' des_sum = BASE_DESTINATION + 'deb32/gnome-flashback' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) def process_deb_arm_gfb(): """ Copy the NEW arm bit Debian base to its Nightly folder GnomeFlashBack """ current_working_directory = os.listdir(".") today = str(date.today()) for files in current_working_directory: if files.endswith('.iso'): src_iso = files rdes = (BASE_NAME + '-Debian_arm_gfb' + today + '.iso' ) des_iso = BASE_DESTINATION + 'debarm/gnome-flashback' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if files.endswith('.checksum'): src_sum = files rdes_sum = BASE_NAME + 'Debian_arm_gfb-sha512.checksum' des_sum = BASE_DESTINATION + 'debarm/gnome-flashback' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) # Devuan Gnome Flashback def process_dev_64_gfb(): """ Copy the NEW 64 bit Devuan base to its Nightly folder GnomeFlashBack """ current_working_directory = os.listdir(".") today = str(date.today()) for files in current_working_directory: if files.endswith('.iso'): src_iso = files rdes = (BASE_NAME + '-Devuan_64_gfb' + today + '.iso' ) des_iso = BASE_DESTINATION + 'dev64/gnome-flashback' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if files.endswith('.checksum'): src_sum = files rdes_sum = BASE_NAME + 'Devuan_64_gfb-sha512.checksum' des_sum = BASE_DESTINATION + 'dev64/gnome-flashback' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) def process_dev_32_gfb(): """ Copy the NEW 32 bit Devuan base to its Nightly folder GnomeFlashBack """ current_working_directory = os.listdir(".") today = str(date.today()) for files in current_working_directory: if files.endswith('.iso'): src_iso = files rdes = (BASE_NAME + '-Devuan_32_gfb' + today + '.iso' ) des_iso = BASE_DESTINATION + 'dev32/gnome-flashback' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if files.endswith('.checksum'): src_sum = files rdes_sum = BASE_NAME + 'Devuan_32_gfb-sha512.checksum' des_sum = BASE_DESTINATION + 'dev32/gnome-flashback' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) def process_dev_arm_gfb(): """ Copy the NEW arm bit Devuan base to its Nightly folder GnomeFlashBack """ current_working_directory = os.listdir(".") today = str(date.today()) for files in current_working_directory: if files.endswith('.iso'): src_iso = files rdes = (BASE_NAME + '-Devuan_arm_gfb' + today + '.iso' ) des_iso = BASE_DESTINATION + 'devarm/gnome-flashback' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if files.endswith('.checksum'): src_sum = files rdes_sum = BASE_NAME + 'Devuan_arm_gfb-sha512.checksum' des_sum = BASE_DESTINATION + 'devarm/gnome-flashback' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) def copy_debian_opb_based(): """ Copy the new ISO debian base to its Nightly folder OpenBox """ os.chdir(HOME_FOLDER + FUSATO_ROOT) current_working_directory = os.listdir(".") today = str(date.today()) look_for_file_64 = Path('deb.64opb') look_for_file_32 = Path('deb.32opb') look_for_file_arm = Path('deb.armopb') if look_for_file_64.is_file(): for f_v in current_working_directory: if f_v.endswith('.iso'): src_iso = f_v rdes = ('PeppermintOS-Debian_64_opb' + today + '.iso' ) des_iso = '/var/www/html/nightly/deb64/openbox' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if f_v.endswith('.checksum'): src_sum = f_v rdes_sum = 'PeppermintOS-Debian_64_opb-sha512.checksum' des_sum = '/var/www/html/nightly/deb64/openbox' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) elif look_for_file_32.is_file(): for f_v in current_working_directory: if f_v.endswith('.iso'): src_iso = f_v rdes = ('PeppermintOS-Debian_32_opb' + today + '.iso' ) des_iso = '/var/www/html/nightly/deb32/openbox' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if f_v.endswith('.checksum'): src_sum = f_v rdes_sum = 'PeppermintOS-Debian_32_opb-sha512.checksum' des_sum = '/var/www/html/nightly/deb32/openbox' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) elif look_for_file_arm.is_file(): for f_v in current_working_directory: if f_v.endswith('.iso'): src_iso = f_v rdes = ('PeppermintOS-Debian_arm_opb' + today + '.iso' ) des_iso = '/var/www/html/nightly/debarm/openbox' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if f_v.endswith('.checksum'): src_sum = f_v rdes_sum = 'PeppermintOS-Debian_arm_opb-sha512.checksum' des_sum = '/var/www/html/nightly/debarm/openbox' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) def copy_devuan_opb_based(): """ Copy the new ISO devuan base to its Nightly folder OpenBox """ os.chdir(HOME_FOLDER + FUSATO_ROOT) current_working_directory = os.listdir(".") today = str(date.today()) look_for_file_64 = Path('dev.64opb') look_for_file_32 = Path('dev.32opb') look_for_file_arm = Path('dev.armopb') if look_for_file_64.is_file(): for f_v in current_working_directory: if f_v.endswith('.iso'): src_iso = f_v rdes = ('PeppermintOS-devuan_64_opb' + today + '.iso' ) des_iso = '/var/www/html/nightly/dev64/openbox' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if f_v.endswith('.checksum'): src_sum = f_v rdes_sum = 'PeppermintOS-devuan_64_opb-sha512.checksum' des_sum = '/var/www/html/nightly/dev64/openbox' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) elif look_for_file_32.is_file(): for f_v in current_working_directory: if f_v.endswith('.iso'): src_iso = f_v rdes = ('PeppermintOS-devuan_32_opb' + today + '.iso' ) des_iso = '/var/www/html/nightly/dev32/openbox' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if f_v.endswith('.checksum'): src_sum = f_v rdes_sum = 'PeppermintOS-devuan_32_opb-sha512.checksum' des_sum = '/var/www/html/nightly/dev32/openbox' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) elif look_for_file_arm.is_file(): for f_v in current_working_directory: if f_v.endswith('.iso'): src_iso = f_v rdes = ('PeppermintOS-devuan_arm_opb' + today + '.iso' ) des_iso = '/var/www/html/nightly/devarm/openbox' os.rename(src_iso, rdes) shutil.copy(rdes, des_iso) if f_v.endswith('.checksum'): src_sum = f_v rdes_sum = 'PeppermintOS-devuan_arm_opb-sha512.checksum' des_sum = '/var/www/html/nightly/devarm/openbox' os.rename(src_sum, rdes_sum) shutil.copy(rdes_sum, des_sum) def kill_old_iso(): """ Delete older ISOs""" base_path = BASE_DESTINATION arch_list = ['deb32/', 'deb64/', 'debarm/', 'dev32/', 'dev64/', 'devarm/'] de_list = ['gnome-flashback', 'openbox', 'xfce'] for archs in arch_list: for desktops in de_list: full_path = [] full_path.append(base_path + archs + desktops) for working_paths in full_path: N = 1 os.chdir(os.path.join(os.getcwd(), working_paths)) list_of_files = os.listdir() current_time = time.time() day = 86400 for fls in list_of_files: file_location = os.path.join(os.getcwd(), fls) file_time = os.stat(file_location).st_mtime if file_time < current_time - day*N: print(f" Delete : {fls}") os.remove(file_location)