From 5b44e4bddd0f090128a3eac1e174d20b748c9791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Jastrz=C4=99bski?= Date: Wed, 6 Nov 2013 11:33:34 +0100 Subject: [PATCH] Moved to psutil Popen --- kcc/KCC_gui.py | 20 ++++++++++++++------ kcc/cbxarchive.py | 3 ++- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/kcc/KCC_gui.py b/kcc/KCC_gui.py index 25b8626..268f72a 100644 --- a/kcc/KCC_gui.py +++ b/kcc/KCC_gui.py @@ -32,15 +32,20 @@ import socket from string import split from time import sleep from shutil import move -from psutil import virtual_memory from KCC_rc_web import WebContent from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer from SocketServer import ThreadingMixIn from image import ProfileData -from subprocess import call, Popen, STDOUT, PIPE +from subprocess import STDOUT, PIPE from PyQt4 import QtGui, QtCore from xml.dom.minidom import parse from HTMLParser import HTMLParser +try: + #noinspection PyUnresolvedReferences + from psutil import TOTAL_PHYMEM, Popen +except ImportError: + print "ERROR: Psutil is not installed!" + exit(1) class Icons: @@ -267,7 +272,7 @@ class WorkerThread(QtCore.QThread): self.kindlegenErrorCode = [0] self.workerOutput = [] # Let's make sure that we don't fill the memory - availableMemory = virtual_memory()[0]/1000000000 + availableMemory = TOTAL_PHYMEM/1000000000 if availableMemory <= 2: self.threadNumber = 1 elif 2 < availableMemory <= 4: @@ -874,7 +879,8 @@ class Ui_KCC(object): if self.firstStart: self.addMessage('Since you are using KCC for first time please see few ' 'important tips.', 'info') - if call('kindlegen -locale en', stdout=PIPE, stderr=STDOUT, shell=True) == 0: + kindleGenExitCode = Popen('kindlegen -locale en', stdout=PIPE, stderr=STDOUT, shell=True) + if kindleGenExitCode.wait() == 0: self.KindleGen = True formats = ['MOBI', 'EPUB', 'CBZ'] versionCheck = Popen('kindlegen -locale en', stdout=PIPE, stderr=STDOUT, shell=True) @@ -892,14 +898,16 @@ class Ui_KCC(object): formats = ['EPUB', 'CBZ'] self.addMessage('Cannot find kindlegen in PATH! MOBI creation will be disabled.', 'warning') - rarExitCode = call('unrar', stdout=PIPE, stderr=STDOUT, shell=True) + rarExitCode = Popen('unrar', stdout=PIPE, stderr=STDOUT, shell=True) + rarExitCode = rarExitCode.wait() if rarExitCode == 0 or rarExitCode == 7: self.UnRAR = True else: self.UnRAR = False self.addMessage('Cannot find UnRAR!' ' Processing of CBR/RAR files will be disabled.', 'warning') - sevenzaExitCode = call('7za', stdout=PIPE, stderr=STDOUT, shell=True) + sevenzaExitCode = Popen('7za', stdout=PIPE, stderr=STDOUT, shell=True) + sevenzaExitCode = sevenzaExitCode.wait() if sevenzaExitCode == 0 or sevenzaExitCode == 7: self.sevenza = True else: diff --git a/kcc/cbxarchive.py b/kcc/cbxarchive.py index 010ee64..e083d28 100644 --- a/kcc/cbxarchive.py +++ b/kcc/cbxarchive.py @@ -23,7 +23,8 @@ import os import zipfile import rarfile import locale -from subprocess import Popen, STDOUT, PIPE +from subprocess import STDOUT, PIPE +from psutil import Popen from shutil import move