Adding a security to check if the folder call exist
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
class Archive(Exception):
|
||||
def __init__(self, source):
|
||||
self.source = source
|
||||
|
||||
|
||||
class ArchiveFolderSourceNotFound(Archive):
|
||||
def __str__(self):
|
||||
return f'Can\'t find the folder source "{self.source}".'
|
||||
@@ -0,0 +1,47 @@
|
||||
import os
|
||||
import pathlib
|
||||
import sys
|
||||
import zipfile
|
||||
|
||||
from .issue import ArchiveFolderSourceNotFound
|
||||
|
||||
|
||||
def generate_archive(list_clean: list, name: str):
|
||||
"""From the plugin folder, generate an archive to test his code"""
|
||||
archive_path_source = pathlib.Path(os.getcwd(), name)
|
||||
archive_filename = pathlib.Path(os.getcwd(), f"{name}.zip")
|
||||
archive_file_generate = zipfile.ZipFile(archive_filename, 'w')
|
||||
|
||||
try:
|
||||
# Check if all default folder are present.
|
||||
if not archive_path_source.exists():
|
||||
raise ArchiveFolderSourceNotFound(source=name)
|
||||
|
||||
for directory, subdir, files in os.walk(archive_path_source):
|
||||
if '__pycache__' not in directory:
|
||||
for file in files:
|
||||
append_file = pathlib.Path(directory, file)
|
||||
included_file = pathlib.Path(os.path.relpath(append_file))
|
||||
archive_file_generate.write(append_file, included_file)
|
||||
|
||||
archive_file_generate.close()
|
||||
list_clean.append(archive_filename)
|
||||
|
||||
except BaseException as e:
|
||||
print(f'Generate Archive error : \n\t{e}')
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def ordering_test_file():
|
||||
unit_test_folder = pathlib.Path(os.getcwd(), "tests", "unit_test")
|
||||
unit_test = os.listdir(unit_test_folder)
|
||||
unit_test_b3d = []
|
||||
unit_test_ue = []
|
||||
|
||||
for test in unit_test:
|
||||
if '_ue_' in test:
|
||||
unit_test_ue.append(test)
|
||||
elif '_b3d_' in test:
|
||||
unit_test_b3d.append(test)
|
||||
|
||||
return {'blender': unit_test_b3d, 'unreal': unit_test_ue}
|
||||
Reference in New Issue
Block a user