summaryrefslogtreecommitdiffstats
path: root/Controller
diff options
context:
space:
mode:
authorMac-Linux2011-07-26 19:53:01 +0200
committerMac-Linux2011-07-26 19:53:01 +0200
commit10cde478b820ce9cd73ed80bb7a21955ff94f5df (patch)
tree9ddf9a7a24204b663a39a21a99ee3ccec80908b6 /Controller
parentMerge branch 'master' of lab.ks.uni-freiburg.de:lsfks/projekte/gsm-selftest (diff)
downloadgsm-selftest-10cde478b820ce9cd73ed80bb7a21955ff94f5df.tar.gz
gsm-selftest-10cde478b820ce9cd73ed80bb7a21955ff94f5df.tar.xz
gsm-selftest-10cde478b820ce9cd73ed80bb7a21955ff94f5df.zip
modified main controller.
Diffstat (limited to 'Controller')
-rw-r--r--Controller/Controller.py178
1 files changed, 74 insertions, 104 deletions
diff --git a/Controller/Controller.py b/Controller/Controller.py
index 0f8812f..67c1870 100644
--- a/Controller/Controller.py
+++ b/Controller/Controller.py
@@ -1,129 +1,99 @@
import sys
-import os
-import time
-import MySQLdb
-import subprocess
+import ClientClass
+import DbClass
+import ControllerClass
+import classCheck
+import PingClass
+from time import sleep
-import classClient #import class socket
-import classDb #import class db
-import classPing
-import classController
-from time import sleep
+def ping(handler):
+
+ global serverStatus
+
+ if handler == 'landline':
+ server = PingClass.Ping('sipgate.de')
+ serverStatus = server.ping(3)
+ elif handler == 'sip':
+ server = PingClass.Ping('132.230.4.8')
+ serverStatus = server.ping(3)
+ elif handler == 'unisip':
+ server = PingClass.Ping('132.230.252.228')
+ serverStatus = server.ping(3)
-sipNum = "4661929"
-landlnNum = "076145875681"
-unisipNum = "076120397897"
+ elif handler == 'gsmr1':
+ server = PingClass.Ping('localhost')
+ serverStatus = server.ping(3)
-# Main software
+ elif handler == 'gsmr2':
+ server = PingClass.Ping('132.230.4.64')
+ serverStatus = server.ping(3)
-# Check DB connection
-db = classDb.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
+
+db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
db.connectDB()
-print ""
dbStatus = db.connectDB()
-
+#serverStatus = None
if dbStatus == 1:
- # Check Ping to the Every Handler
- sipServer = classPing.Ping('132.230.4.8')
- sipServerStatus = sipServer.ping(3)
-
- sipGateServer = classPing.Ping('sipgate.de')
- sipGateServerStatus = sipGateServer.ping(3)
-
- sipLocalServer = classPing.Ping('132.230.252.228')
- sipLocalServerStatus = sipLocalServer.ping(3)
-
-# Fetch The task information from DB
- db.anyTasksToDo()
- #x = ()
-
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- print "Test ID : " , taskID
- print "Caller : " , callFrom
- print "Receiver : " , callTo
-
- if callFrom == "sip":
- if sipServerStatus == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
+ if db.anyTasksToDo() == 1:
+ for index in range(len(db.tasksList)):
+ item = db.tasksList[index]
+ tempItem = item
+ taskID = item[0]
+ taskNo = item[1]
+ callFrom = item[2]
+ callTo = item[3]
+ testDone = item[4]
+
+ destination = db.deviceAddress(str(callTo))
+
+ caller = db.deviceAddress(str(callFrom))
+
+ callAdd = caller[0]
+ recAdd = destination[0]
+ destNo = destination[1]
- if callTo == "gsmrz1":
-
- x = classController.test('-S',"gsmBox1","4661455")
- x.FuncTest()
-
- db.addResult(taskID, x.testResult)
-
- if x.repeatTest == True:
- db.insertTaskIn2(callTo,callFrom,taskNo)
+ if callFrom == 'unisip':
+ destNo = destNo[7:]
+
+ if testDone == str(0):
+ print '\n'
+ print "Task ID: ", taskID
+ print "Calling From: ", callFrom
+ print "To: ", callTo
+ print "number: ", destNo
- if callTo == "gsmrz2":
-
- if gsmBox1Status == 0:
- print "[failed] 500 Server Internal Error"
+ ping(callFrom)
- else:
- x = classController.test('-S', "gsmBox2", "4661404")
- x.FuncTest()
-
- db.addResult(taskID, x.testResult)
-
- if x.repeatTest == True:
- db.insertTaskIn2(callTo,callFrom,taskNo)
-
- if callTo == "gsmrz3":
-
- if gsmBox2Status == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- x = classController.test('-S', "gsmBox3","4661405")
- x.FuncTest()
-
- db.addResult(taskID, x.testResult)
+ if serverStatus <> 0:
- if x.repeatTest == True:
- db.insertTaskIn2(callTo,callFrom,taskNo)
-
- if callTo == "landline":
+ ping(callTo)
+ if serverStatus <> 0:
- if sipGateServerStatus == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- x = classController.test('-S', '-L',landlnNum)
- x.FuncTest()
+ makeTest = ControllerClass.test(callFrom, callAdd, callTo, recAdd, destNo)
+ makeTest.FuncTest()
+
+ db.addResult(taskID, makeTest.testResult)
- db.addResult(taskID, x.testResult)
-
- if x.repeatTest == True:
+ if makeTest.repeatTest == True:
db.insertTaskIn2(callTo,callFrom,taskNo)
- sleep(5)
-
- if callTo == "localsip":
- if sipLocalServerStatus == 0:
- print "[failed] 500 Server Internal Error"
+ print "Result :", makeTest.testResult
+ tempItem[4]=str(1)
+ db.deleteTempTask(taskID)
+ db.tasksList[index]=tempItem
+ sleep(3)
else:
- x = classController.test('-S', '-U',unisipNum)
- x.FuncTest()
-
- db.addResult(taskID, x.testResult)
- sleep(5)
-
-# will exit if DB connection failed
+ print "[failed] 500 "+callTo+ " Server Internal Error"
+ else:
+ print "[failed] 500 "+callFrom+ " Server Internal Error"
+ db.cleanTasksList()
+ else:
+ print "No job at all"
else:
sys.exit(5)