48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
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}
|