summaryrefslogtreecommitdiff
path: root/src/projManagement/Worker.py
blob: 65c67dde3f0f83acbcec8d9baadb495056648301 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# =========================================================================
#
#          FILE: WorkerThread.py
#
#         USAGE: ---
#
#   DESCRIPTION: This class open all third party application using QT Thread
#
#       OPTIONS: ---
#  REQUIREMENTS: ---
#          BUGS: ---
#         NOTES: ---
#        AUTHOR: Fahim Khan, fahim.elex@gmail.com
#  ORGANIZATION: eSim team at FOSSEE, IIT Bombay.
#       CREATED: Tuesday 24 Feb 2015
#      REVISION:  ---
# =========================================================================
from PyQt4 import QtCore
import subprocess
from configuration.Appconfig import Appconfig


class WorkerThread(QtCore.QThread):
    """
    This is Thread class use to run the command
    """

    def __init__(self, args):
        QtCore.QThread.__init__(self)
        self.args = args

    def __del__(self):
        self.wait()

    def run(self):
        print("Worker Thread Calling Command :", self.args)
        self.call_system(self.args)

    def call_system(self, command):
        procThread = Appconfig()
        proc = subprocess.Popen(command.split())
        procThread.procThread_list.append(proc)
        procThread.proc_dict[procThread.current_project['ProjectName']].append(
            proc.pid)