bubbles/python_modules/finish_cleanup.py

595 lines
21 KiB
Python

"""
* 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)