First commit
This commit is contained in:
+330
@@ -0,0 +1,330 @@
|
||||
# --- package ---
|
||||
# --- custom_module ---
|
||||
import sys
|
||||
|
||||
# 20260507 tak will be check
|
||||
#sys.path.append('C:/Users/Administrator/PycharmProjects/pythonProject/20230426/cmd/image_editor')
|
||||
|
||||
# --- custom ---
|
||||
from custom_lib import Custom_Lib as custom
|
||||
|
||||
# --- common ---
|
||||
import os
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
import sys
|
||||
|
||||
def main():
|
||||
print(f'{company_name} {prm_title} v{prm_ver}\n'
|
||||
f'(c) {company_name}. All rights reserved.\n'
|
||||
f'System information as of {sys_date}\n')
|
||||
|
||||
exit_flag = False
|
||||
|
||||
while not exit_flag:
|
||||
print(f'\n[Exec]\n'
|
||||
f'[1] {typ1}\n'
|
||||
f'[2] {typ2}\n'
|
||||
f'[3] {typ3}\n'
|
||||
f'[4] {typ4}\n'
|
||||
f'[5] {typ5}')
|
||||
|
||||
try:
|
||||
input_exec = input('> ')
|
||||
|
||||
if input_exec == 'exit':
|
||||
exit_flag = True
|
||||
|
||||
elif input_exec == '1':
|
||||
while not exit_flag:
|
||||
print(f'[{typ1}]\nInput HEX or RGB Code\n[9] back')
|
||||
|
||||
input_exec1 = input('> ')
|
||||
|
||||
if input_exec1 == 'exit':
|
||||
exit_flag = True
|
||||
break
|
||||
|
||||
elif len(input_exec1) == 6 and input_exec1.count(' ') == 0:
|
||||
hex2rgb = custom.my_image.hex_to_rgb(input_exec1)
|
||||
rgb_name = custom.my_image.get_color_name(hex2rgb)
|
||||
log.info(f'HEX #{input_exec1}')
|
||||
log.info(f'RGB {hex2rgb[0]} {hex2rgb[1]} {hex2rgb[2]}')
|
||||
log.info(f'Name {rgb_name}')
|
||||
|
||||
elif input_exec1.count(' ') == 2:
|
||||
rgb_var = tuple(map(int, input_exec1.split()))
|
||||
rgb2hex = custom.my_image.rgb_to_hex(rgb_var)
|
||||
hex2rgb = custom.my_image.hex_to_rgb(rgb2hex)
|
||||
rgb_name = custom.my_image.get_color_name(hex2rgb)
|
||||
log.info(f'HEX #{rgb2hex}')
|
||||
log.info(f'RGB {input_exec1}')
|
||||
log.info(f'Name {rgb_name}')
|
||||
|
||||
elif input_exec1 == '9':
|
||||
break
|
||||
|
||||
else:
|
||||
log.error('Invalid HEX or RGB Code')
|
||||
|
||||
elif input_exec == '2':
|
||||
while not exit_flag:
|
||||
print(f'[{typ2}]\n[1] Width\n[2] Height\n[9] back')
|
||||
|
||||
input_exec2 = input('> ')
|
||||
|
||||
if input_exec2 == 'exit':
|
||||
exit_flag = True
|
||||
break
|
||||
|
||||
elif input_exec2 == '1':
|
||||
while not exit_flag:
|
||||
print(f'[{typ2}]\nInput Width\n[9] back')
|
||||
|
||||
input_exec2_1 = input('> ')
|
||||
|
||||
if input_exec2_1 == 'exit':
|
||||
exit_flag = True
|
||||
break
|
||||
|
||||
elif input_exec2_1 != '' and input_exec2_1 != 'exit' and input_exec2_1 != '9':
|
||||
imp_file_list = os.listdir(imp_resize_path)
|
||||
imp_file_list.remove('raw_data')
|
||||
|
||||
if imp_file_list:
|
||||
for imp_file in imp_file_list:
|
||||
imp_file_var = os.path.join(imp_resize_path, imp_file).replace('\\', '/')
|
||||
a = custom.my_image.image_resize(imp_resize_path, imp_resize_raw_path, exp_resize_path, imp_file_var, 'W', int(input_exec2_1))
|
||||
log.info(a)
|
||||
|
||||
break
|
||||
|
||||
else:
|
||||
log.error('Not Found Image')
|
||||
|
||||
elif input_exec2_1 == '9':
|
||||
break
|
||||
|
||||
else:
|
||||
log.error('Invalid Width')
|
||||
|
||||
elif input_exec2 == '2':
|
||||
while not exit_flag:
|
||||
print(f'[{typ2}]\nInput Height\n[9] back')
|
||||
|
||||
input_exec2_2 = input('> ')
|
||||
|
||||
if input_exec2_2 == 'exit':
|
||||
exit_flag = True
|
||||
break
|
||||
|
||||
elif input_exec2_2 != '' and input_exec2_2 != 'exit' and input_exec2_2 != '9':
|
||||
imp_file_list = os.listdir(imp_resize_path)
|
||||
imp_file_list.remove('raw_data')
|
||||
|
||||
if imp_file_list:
|
||||
for imp_file in imp_file_list:
|
||||
imp_file_var = os.path.join(imp_resize_path, imp_file).replace('\\', '/')
|
||||
a = custom.my_image.image_resize(imp_resize_path, imp_resize_raw_path,
|
||||
exp_resize_path, imp_file_var, 'H',
|
||||
int(input_exec2_2))
|
||||
|
||||
log.info(a)
|
||||
|
||||
break
|
||||
|
||||
else:
|
||||
log.error('Not Found Image')
|
||||
|
||||
elif input_exec2_2 == '9':
|
||||
break
|
||||
|
||||
else:
|
||||
log.error('Invalid Height')
|
||||
|
||||
elif input_exec2 == '9':
|
||||
break
|
||||
|
||||
else:
|
||||
log.error('Invalid Width or Height')
|
||||
|
||||
elif input_exec == '3':
|
||||
while not exit_flag:
|
||||
imp_file_list = os.listdir(imp_icon_path)
|
||||
imp_file_list.remove('raw_data')
|
||||
|
||||
if imp_file_list:
|
||||
for imp_file in imp_file_list:
|
||||
imp_file_var = os.path.join(imp_icon_path, imp_file).replace('\\', '/')
|
||||
a = custom.my_image.distribute_serveral_png(imp_icon_path, imp_icon_raw_path,
|
||||
exp_icon_path, imp_file_var)
|
||||
|
||||
log.info(a)
|
||||
|
||||
# imp_file_var = os.path.join(imp_icon_path, imp_file).replace('\\', '/')
|
||||
# a = ateciot_image_core.bake_one_big_png_to_ico(imp_icon_path, imp_icon_raw_path,
|
||||
# exp_icon_path, imp_file_var)
|
||||
#
|
||||
# log.info(a)
|
||||
# a = ateciot_image_core.image_to_icon(imp_icon_path, imp_icon_raw_path,
|
||||
# exp_icon_path, imp_file_var, int(input_exec3))
|
||||
#
|
||||
# log.info(a)
|
||||
break
|
||||
|
||||
elif input_exec == '4':
|
||||
while not exit_flag:
|
||||
print(f'[{typ4}]\nInput Extension\n[9] back')
|
||||
|
||||
input_exec4 = input('> ')
|
||||
|
||||
if input_exec4 == 'exit':
|
||||
exit_flag = True
|
||||
break
|
||||
|
||||
elif input_exec4 == 'png' or input_exec4 == 'gif' or input_exec4 == 'jpeg' or input_exec4 == 'jpg' or input_exec4 == 'bmp':
|
||||
imp_file_list = os.listdir(imp_extension_path)
|
||||
imp_file_list.remove('raw_data')
|
||||
|
||||
if imp_file_list:
|
||||
for imp_file in imp_file_list:
|
||||
imp_file_var = os.path.join(imp_extension_path, imp_file).replace('\\', '/')
|
||||
a = custom.my_image.image_to_extension(imp_extension_path, imp_extension_raw_path,
|
||||
exp_extension_path, imp_file_var, input_exec4)
|
||||
log.info(a)
|
||||
break
|
||||
|
||||
elif input_exec4 == '9':
|
||||
break
|
||||
|
||||
else:
|
||||
log.error(f'Option verification failed, please try again.')
|
||||
|
||||
elif input_exec == '5':
|
||||
while not exit_flag:
|
||||
print(f'[{typ5}]\n[1] Image to Base64\n[2] Base64 to Image\n[9] back')
|
||||
|
||||
input_exec5 = input('> ')
|
||||
|
||||
if input_exec5 == 'exit':
|
||||
exit_flag = True
|
||||
break
|
||||
|
||||
elif input_exec5 == '1':
|
||||
imp_file_list = os.listdir(imp_base64_path)
|
||||
imp_file_list.remove('raw_data')
|
||||
|
||||
if imp_file_list:
|
||||
for imp_file in imp_file_list:
|
||||
if '.png' in imp_file or '.gif' in imp_file or '.jpeg' in imp_file or '.jpg' in imp_file or '.bmp' in imp_file:
|
||||
imp_file_var = os.path.join(imp_base64_path, imp_file).replace('\\', '/')
|
||||
a, b, c = custom.my_image.image_to_base64(imp_base64_path, imp_base64_raw_path, exp_base64_path, imp_file_var)
|
||||
with open(f'{c}.txt', "w") as f:
|
||||
f.write(a)
|
||||
log.info(b)
|
||||
|
||||
else:
|
||||
log.error('Image to Base64-Not Found Image')
|
||||
|
||||
elif input_exec5 == '2':
|
||||
imp_file_list = os.listdir(imp_base64_path)
|
||||
imp_file_list.remove('raw_data')
|
||||
|
||||
if imp_file_list:
|
||||
for imp_file in imp_file_list:
|
||||
if '.txt' in imp_file:
|
||||
imp_file_var = os.path.join(imp_base64_path, imp_file).replace('\\', '/')
|
||||
with open(imp_file_var, "r") as f:
|
||||
line = f.read()
|
||||
a = custom.my_image.base64_to_image(imp_base64_raw_path, exp_base64_path, line, imp_file_var, f)
|
||||
log.info(a)
|
||||
|
||||
else:
|
||||
log.error('Base64 to Image-Not Found Text')
|
||||
|
||||
elif input_exec5 == '9':
|
||||
break
|
||||
|
||||
else:
|
||||
log.error(f'Option verification failed, please try again.')
|
||||
|
||||
else:
|
||||
log.error(f'Option verification failed, please try again.')
|
||||
|
||||
except Exception as e:
|
||||
log.error(e)
|
||||
|
||||
# --- prm_info_variables ---
|
||||
company_name = 'ATEC IoT'
|
||||
prm_title = Path(os.path.basename(sys.argv[0])).stem.replace('_', ' ')
|
||||
|
||||
prm_renew_ver = 1
|
||||
prm_modify_ver = 0
|
||||
prm_bug_ver = 0
|
||||
prm_ver = f'{prm_renew_ver}.{prm_modify_ver}.{prm_bug_ver}'
|
||||
|
||||
prm_uuid = '6d36fd01-dcc4-11ed-9a10-0456e5df0ac9'
|
||||
|
||||
# --- type_variables ---
|
||||
typ1 = 'Color Info'
|
||||
typ2 = 'Image Resize'
|
||||
typ3 = 'Image to Icon'
|
||||
typ4 = 'Image Extension'
|
||||
typ5 = 'Base64'
|
||||
|
||||
# --- path_variables ---
|
||||
loc_path = os.getcwd()
|
||||
imp_path = f"{loc_path}/import/"
|
||||
imp_resize_path = f"{imp_path}resize/"
|
||||
imp_resize_raw_path = f"{imp_resize_path}raw_data/"
|
||||
imp_icon_path = f"{imp_path}icon/"
|
||||
imp_icon_raw_path = f"{imp_icon_path}raw_data/"
|
||||
imp_extension_path = f"{imp_path}extension/"
|
||||
imp_extension_raw_path = f"{imp_extension_path}raw_data/"
|
||||
imp_base64_path = f"{imp_path}base64/"
|
||||
imp_base64_raw_path = f"{imp_base64_path}raw_data/"
|
||||
|
||||
exp_path = f"{loc_path}/export/"
|
||||
exp_resize_path = f"{exp_path}resize/"
|
||||
exp_resize_raw_path = f"{exp_resize_path}raw_data/"
|
||||
exp_icon_path = f"{exp_path}icon/"
|
||||
exp_extension_path = f"{exp_path}extension/"
|
||||
exp_base64_path = f"{exp_path}base64/"
|
||||
|
||||
path_list = [imp_path,
|
||||
imp_resize_path,
|
||||
imp_resize_raw_path,
|
||||
imp_icon_path,
|
||||
imp_icon_raw_path,
|
||||
imp_extension_path,
|
||||
imp_extension_raw_path,
|
||||
imp_base64_path,
|
||||
imp_base64_raw_path,
|
||||
exp_path,
|
||||
exp_resize_path,
|
||||
exp_resize_raw_path,
|
||||
exp_icon_path,
|
||||
exp_extension_path,
|
||||
exp_base64_path]
|
||||
|
||||
# --- common_variables ---
|
||||
datetime = datetime.now()
|
||||
sys_date = datetime.strftime('%Y.%m.%d %H:%M:%S')
|
||||
|
||||
''' build command'''
|
||||
# pyinstaller --specpath=.\20230426\app\spec\ --distpath=.\20230426\app\dist\ --workpath=.\20230426\app\build\ --name=Image_Editor -c -D C:\Users\Administrator\PycharmProjects\pythonProject\20230426\cmd\image_editor\Image_Editor.py --hidden-import=webcolors --hidden-import=PIL --hidden-import=cv2 --hidden-import=numpy --hidden-import=uuid --hidden-import=logging --paths="C:\Users\Administrator\PycharmProjects\pythonProject\venv\lib\site-packages\cv2\cv2.cp39-win_amd64.pyd"
|
||||
# pyinstaller --distpath=.\ESL\app\dist\ --workpath=.\ESL\app\bulid\ -F C:\Users\ATECAP\PycharmProjects\pythonProject\ESL\app\spec\Weather_Crawling.spec
|
||||
|
||||
if __name__ == '__main__':
|
||||
custom.init()
|
||||
|
||||
if prm_uuid != None:
|
||||
log = custom.my_logger.logger()
|
||||
try:
|
||||
for file_path in path_list:
|
||||
if not os.path.isdir(file_path):
|
||||
os.makedirs(file_path)
|
||||
main()
|
||||
|
||||
except Exception as e:
|
||||
log.error(e)
|
||||
Reference in New Issue
Block a user