summaryrefslogtreecommitdiffstats
path: root/Monitoring/MonitoringTool/PacketTracking/PtShell
diff options
context:
space:
mode:
Diffstat (limited to 'Monitoring/MonitoringTool/PacketTracking/PtShell')
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/PtShell/CommandLine.py89
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/PtShell/Return.py24
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/PtShell/__init__.py31
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/PtShell/ptshell.sh2
4 files changed, 146 insertions, 0 deletions
diff --git a/Monitoring/MonitoringTool/PacketTracking/PtShell/CommandLine.py b/Monitoring/MonitoringTool/PacketTracking/PtShell/CommandLine.py
new file mode 100644
index 0000000..a727ff9
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/PtShell/CommandLine.py
@@ -0,0 +1,89 @@
+"""
+Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+Copyright according to BSD License
+For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+
+@author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+@author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+@author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+@author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+@author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+@author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+@author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+@author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+"""
+
+from sys import exit, stdout
+from os import system
+from inspect import getargspec, getmembers
+import readline
+
+from Task.Passive.Monitoring.DataTypes import Node
+from Task.Passive.Monitoring.PassiveMonitoring import PassiveMonitoring
+from Return import Return
+
+class CommandLine(object):
+ def __init__(self):
+ self.Options = {"clear" : self.__clear,
+ "exit" : self.__exit,
+ "help" : self.__help}
+
+ def __Helptext(self):
+ return ("\n"
+ " 888888ba d888888P .d88888b dP dP dP\n"
+ " 88 `8b 88 88. \"' 88 88 88\n"
+ "a88aaaa8P' 88 `Y88888b. 88d888b. .d8888b. 88 88\n"
+ " 88 88 `8b 88' `88 88ooood8 88 88\n"
+ " 88 88 d8' .8P 88 88 88. ... 88 88\n"
+ " dP dP Y88888P dP dP `88888P' dP dP\n"
+ "oooooooooooooooooooooooooooooooooooooooooooooooooooooo\n"
+ "\n"
+ "Type 'help' for a list of commands\n"
+ "")
+
+ def Input(self):
+ PM = PassiveMonitoring()
+
+ print self.__Helptext()
+ while(1):
+ try:
+ Input = raw_input("-->")
+ except EOFError:
+ self.__exit()
+ try:
+ self.Options[Input]()
+ except KeyError:
+ try:
+ Return(eval("PM." + Input))
+ except TypeError, m:
+ print "Error: " + str(m)
+ except (NameError, SyntaxError, AttributeError):
+ try:
+ exec(Input)
+ except Exception:
+ print ("Unknown function, type 'help' to get the list "
+ "of functions:")
+
+ def __clear(self):
+ system("clear")
+ print self.__Helptext()
+
+ def __exit(self):
+ print ""
+ exit(0)
+
+
+ def __help(self):
+ list = getmembers(PassiveMonitoring)
+ print("cmds:")
+ for funcName in list:
+ if funcName[0][0:1] != "_":
+ function = getattr(PassiveMonitoring, str(funcName[0]))
+ argSpec = getargspec(function)
+ print " " + funcName[0] + "(",
+ for i in range(len(argSpec.args)):
+ if argSpec.args[i] != "self":
+ stdout.write(argSpec.args[i])
+ if i != len(argSpec.args)-1:
+ stdout.write(", ")
+ stdout.write(")\n") \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/PtShell/Return.py b/Monitoring/MonitoringTool/PacketTracking/PtShell/Return.py
new file mode 100644
index 0000000..0a172b8
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/PtShell/Return.py
@@ -0,0 +1,24 @@
+"""
+Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+Copyright according to BSD License
+For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+
+@author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+@author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+@author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+@author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+@author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+@author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+@author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+@author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+"""
+
+class Return(object):
+ def __init__(self, ret):
+ if type(ret).__name__ == "list":
+ for r in ret:
+ print r
+ elif type(ret).__name__ == "Status":
+ print ret
+ else:
+ print ret \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/PtShell/__init__.py b/Monitoring/MonitoringTool/PacketTracking/PtShell/__init__.py
new file mode 100644
index 0000000..d45d1bf
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/PtShell/__init__.py
@@ -0,0 +1,31 @@
+"""
+Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+Copyright according to BSD License
+For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+
+@author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+@author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+@author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+@author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+@author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+@author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+@author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+@author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+"""
+
+import sys
+
+sys.path.append("../../..")
+
+import CommandLine
+import Return
+
+def main():
+ c = CommandLine.CommandLine()
+ try:
+ c.Input()
+ except KeyboardInterrupt:
+ print ""
+
+if __name__ == "__main__":
+ main() \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/PtShell/ptshell.sh b/Monitoring/MonitoringTool/PacketTracking/PtShell/ptshell.sh
new file mode 100644
index 0000000..78748e3
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/PtShell/ptshell.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+python __init__.py