diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fc64799 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +dist/ +build/ +__pycache__/ +main.spec \ No newline at end of file diff --git a/main.py b/main.py index 24ba295..f22b0f0 100644 --- a/main.py +++ b/main.py @@ -21,6 +21,13 @@ def enqueue_output(p, q): q.put_nowait(out.strip()) +def resource_path(relative_path): + try: + base_path = sys._MEIPASS + except Exception: + base_path = os.path.abspath(".") + return os.path.join(base_path, relative_path) + class Window(Frame): def __init__(self, master=None): @@ -30,8 +37,8 @@ class Window(Frame): self.p = None self.q = queue.Queue() self.threads = 4 - self.imgStopped = ImageTk.PhotoImage(Image.open("notstress.jpg")) - self.imgStarted = ImageTk.PhotoImage(Image.open("stress.jpg")) + self.imgStopped = ImageTk.PhotoImage(Image.open(resource_path("notstress.jpg"))) + self.imgStarted = ImageTk.PhotoImage(Image.open(resource_path("stress.jpg"))) self.checkbuttonvar = IntVar() self.init_window() @@ -82,14 +89,14 @@ class Window(Frame): self.threadsEntry.delete(0, 4) self.threadsEntry.insert(0, self.threads) if not self.checkbuttonvar.get(): - self.p = subprocess.Popen([r"randomx-stress.exe", "-t", str(self.threads)], + self.p = subprocess.Popen([resource_path("randomx-stress.exe"), "-t", str(self.threads)], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, #shell=True, encoding='utf-8', errors='replace') elif self.checkbuttonvar.get(): - self.p = subprocess.Popen([r"randomx-stress.exe", "-t", str(self.threads), "-H"], + self.p = subprocess.Popen([resource_path("randomx-stress.exe"), "-t", str(self.threads), "-H"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) self.t = threading.Thread(target=enqueue_output, args=(self.p, self.q)) @@ -123,24 +130,26 @@ class Window(Frame): line = self.q.get_nowait() #newline = self.q.get(block=False) #newLine = newLine.decode('utf-8') - print(line) + #print(line) try: #hashrate = line.split(' ')[0] hashrate = re.findall("\d+\.\d+", line)[0] - print(hashrate) + #print(hashrate) self.hashrateLabel.config(text="Hashrate: {0:.2f} h/s".format(float(hashrate))) except: - print("cant parse") + pass + # print("cant parse") except: - print("error") + pass + #print("error") self.hashrateLabel.after(2000, self.refresh_hashrate) def client_exit(self): - exit() + sys.exit(0) root = Tk() -root.iconbitmap('./stress.ico') +root.iconbitmap(default=resource_path('stress.ico')) root.geometry("400x300") app = Window(root) diff --git a/main.spec b/main.spec new file mode 100644 index 0000000..d12d600 --- /dev/null +++ b/main.spec @@ -0,0 +1,33 @@ +# -*- mode: python ; coding: utf-8 -*- + +block_cipher = None + + +a = Analysis(['main.py'], + pathex=['C:\\Users\\johnw\\src\\randomxstressgui'], + binaries=[], + datas=[('stress.jpg', '.'), ('notstress.jpg', '.'), ('randomx-stress.exe', '.'), ('stress.ico', '.')], + hiddenimports=[], + hookspath=[], + runtime_hooks=[], + excludes=[], + win_no_prefer_redirects=False, + win_private_assemblies=False, + cipher=block_cipher, + noarchive=False) +pyz = PYZ(a.pure, a.zipped_data, + cipher=block_cipher) +exe = EXE(pyz, + a.scripts, + a.binaries, + a.zipfiles, + a.datas, + [], + name='main', + debug=False, + bootloader_ignore_signals=False, + strip=False, + upx=True, + upx_exclude=[], + runtime_tmpdir=None, + console=True , icon='stress.ico')