Update UI.py and UtilPack.py
This commit is contained in:
24
UI.py
24
UI.py
@@ -21,6 +21,10 @@ class MyApp(QMainWindow):
|
|||||||
self.saveINI()
|
self.saveINI()
|
||||||
event.accept()
|
event.accept()
|
||||||
|
|
||||||
|
def resizeEvent(self, event):
|
||||||
|
self.GetFitSize(self.label_Image.size())
|
||||||
|
print( self.label_Image.size() )
|
||||||
|
|
||||||
|
|
||||||
def initUI(self):
|
def initUI(self):
|
||||||
layout = self.MakeUI()
|
layout = self.MakeUI()
|
||||||
@@ -101,6 +105,13 @@ class MyApp(QMainWindow):
|
|||||||
|
|
||||||
return layout
|
return layout
|
||||||
|
|
||||||
|
def GetFitSize(self, szTarget):
|
||||||
|
szDesktop = self.screen().size()
|
||||||
|
szWindow = self.size()
|
||||||
|
|
||||||
|
print(f"{szDesktop}, {szWindow}")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def on_click_SrcAdd(self):
|
def on_click_SrcAdd(self):
|
||||||
# 폴더 선택 창을 띄움
|
# 폴더 선택 창을 띄움
|
||||||
@@ -115,6 +126,9 @@ class MyApp(QMainWindow):
|
|||||||
# 폴더 내의 자식 폴더 목록을 가져온다.
|
# 폴더 내의 자식 폴더 목록을 가져온다.
|
||||||
listFolders = util.ListSubDirectories(folder_path)
|
listFolders = util.ListSubDirectories(folder_path)
|
||||||
|
|
||||||
|
# 선택한 폴더도 리스트에 추가한다.
|
||||||
|
listFolders.append(folder_path)
|
||||||
|
|
||||||
for folder in listFolders:
|
for folder in listFolders:
|
||||||
# 폴더 내의 파일 목록을 가져온다.
|
# 폴더 내의 파일 목록을 가져온다.
|
||||||
listFiles = util.ListContainFiles(folder)
|
listFiles = util.ListContainFiles(folder)
|
||||||
@@ -156,7 +170,9 @@ class MyApp(QMainWindow):
|
|||||||
if not items:
|
if not items:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
selItemText = ""
|
||||||
for item in items:
|
for item in items:
|
||||||
|
selItemText = item.text()
|
||||||
row = self.list_SrcPath.row(item)
|
row = self.list_SrcPath.row(item)
|
||||||
self.list_SrcPath.takeItem(row)
|
self.list_SrcPath.takeItem(row)
|
||||||
|
|
||||||
@@ -184,19 +200,16 @@ class MyApp(QMainWindow):
|
|||||||
# 일단 zip 만...
|
# 일단 zip 만...
|
||||||
if fileExt.lower() in [".zip", ".cbz"]:
|
if fileExt.lower() in [".zip", ".cbz"]:
|
||||||
listContents = util.GetZipContentList(pathTarget)
|
listContents = util.GetZipContentList(pathTarget)
|
||||||
print("zip")
|
|
||||||
elif fileExt.lower() == ".rar":
|
elif fileExt.lower() == ".rar":
|
||||||
listContents = []
|
listContents = []
|
||||||
elif True == os.path.isdir(pathTarget):
|
elif True == os.path.isdir(pathTarget):
|
||||||
print("folder")
|
|
||||||
listContents = util.ListFileExtRcr(pathTarget, [".jpg", ".jpeg", ".png", ".webp"])
|
listContents = util.ListFileExtRcr(pathTarget, [".jpg", ".jpeg", ".png", ".webp"])
|
||||||
|
|
||||||
|
|
||||||
self.list_Infos.addItem( QListWidgetItem(pathTarget) )
|
self.list_Infos.addItem( QListWidgetItem(pathTarget) )
|
||||||
self.list_Infos.addItem( QListWidgetItem( f"{len(listContents)}" ) )
|
self.list_Infos.addItem( QListWidgetItem( f"{len(listContents)}" ) )
|
||||||
|
|
||||||
self.list_Items.clear()
|
self.list_Items.clear()
|
||||||
self.list_Items.addItems( listContents )
|
self.list_Items.addItems( sorted( listContents ) )
|
||||||
|
|
||||||
|
|
||||||
def on_Item_SelChanged_Items(self):
|
def on_Item_SelChanged_Items(self):
|
||||||
@@ -217,12 +230,9 @@ class MyApp(QMainWindow):
|
|||||||
if True == os.path.exists(selItemText):
|
if True == os.path.exists(selItemText):
|
||||||
pixmap.load(selItemText)
|
pixmap.load(selItemText)
|
||||||
|
|
||||||
szLabel = self.label_Image.size()
|
|
||||||
|
|
||||||
self.label_Image.setPixmap(pixmap)
|
self.label_Image.setPixmap(pixmap)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
app = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
|
|
||||||
|
|||||||
17
UtilPack.py
17
UtilPack.py
@@ -1,11 +1,14 @@
|
|||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
|
import uuid
|
||||||
import rarfile
|
import rarfile
|
||||||
import zipfile
|
import zipfile
|
||||||
import shutil
|
import shutil
|
||||||
import difflib
|
import difflib
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
m_dbgLevel = 0
|
m_dbgLevel = 0
|
||||||
listDbgStr = []
|
listDbgStr = []
|
||||||
@@ -271,4 +274,18 @@ def PrintJSONTree(data, indent=0):
|
|||||||
else:
|
else:
|
||||||
print(' ' * indent + str(data))
|
print(' ' * indent + str(data))
|
||||||
|
|
||||||
|
def IsPathWithin(base_path: str, target_path: str) -> bool:
|
||||||
|
base = Path(base_path).resolve()
|
||||||
|
target = Path(target_path).resolve()
|
||||||
|
return target.is_relative_to(base)
|
||||||
|
|
||||||
|
# 랜덤 UUID 생성
|
||||||
|
def UUIDGenRandom():
|
||||||
|
random_uuid = uuid.uuid4()
|
||||||
|
return random_uuid
|
||||||
|
|
||||||
|
# 이름을 기반으로 UUID 생성
|
||||||
|
def UUIDGenName(SeedName):
|
||||||
|
namespace_uuid = uuid.uuid5(uuid.NAMESPACE_DNS, SeedName)
|
||||||
|
return namespace_uuid
|
||||||
|
|
||||||
Reference in New Issue
Block a user