40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
import os
|
|
import shutil
|
|
|
|
from scripts.task import Task
|
|
from utils import FileUtils
|
|
from utils.logger_utils import app_logger
|
|
|
|
|
|
class ProjectUpdateIcon(Task):
|
|
|
|
def update_icon(self):
|
|
"""
|
|
更新游戏Icon
|
|
:return:
|
|
"""
|
|
|
|
if not self.context.update_res_icon:
|
|
app_logger().info("No update res icon found")
|
|
return
|
|
tag = "res_icon_resources"
|
|
dst = os.path.join(self.context.temp_project_path, tag)
|
|
if os.path.exists(dst):
|
|
shutil.rmtree(dst)
|
|
|
|
FileUtils.decompress(self.context.res_icon_path, dst)
|
|
|
|
for root, dirs, files in os.walk(dst):
|
|
for file in files:
|
|
temp_tart_path = os.path.join(root, file)
|
|
if temp_tart_path.find("__MACOSX") > 0:
|
|
continue
|
|
temp_dst = temp_tart_path.replace(tag, "launcher-game" + os.sep + "res")
|
|
app_logger().debug(f"copy icon = {temp_tart_path} -> {temp_dst}")
|
|
FileUtils.copy(temp_tart_path, temp_dst, True)
|
|
pass
|
|
|
|
def execute(self):
|
|
self.update_icon()
|
|
self.context.save_cache_config("res_icon", self.context.config_res_icon_md5)
|