case sensitive options
[svn42.git] / play-sound-status.py
index cbb6321..cf48806 100755 (executable)
@@ -28,6 +28,8 @@ class UWSConfig:
   def __init__(self,configfile=None):
     self.configfile=configfile
     self.config_parser=ConfigParser.ConfigParser()
+    #make option variable names case sensitive
+    self.config_parser.optionxform = str
     self.config_parser.add_section('cmdlog')
     self.config_parser.set('cmdlog','cmd',"logger %ARG%")
     self.config_parser.set('cmdlog','timeout',"2.0")
@@ -64,12 +66,15 @@ class UWSConfig:
     self.config_parser.add_section('gladosreplaced')
     self.config_parser.set('gladosreplaced','arg',"/home/glados_replaced_with_life_fire.mp3")
     self.config_parser.set('gladosreplaced','type',"slugplaymp3")
+    self.config_parser.add_section('nothing')
+    self.config_parser.set('nothing','type',"nothing")
     self.config_parser.add_section('mapping')
     self.config_parser.set('mapping','default',"halflife2")
     self.config_parser.set('mapping','panic',"monkeyscream")
     self.config_parser.set('mapping','stratos',"tardis")
     self.config_parser.set('mapping','xro',"gladosreplaced")
     self.config_parser.set('mapping','equinox',"gladosparty")
+    self.config_parser.set('mapping','Rachel',"nothing")
     self.config_parser.add_section('debug')
     self.config_parser.set('debug','enabled',"False")
     self.config_parser.add_section('tracker')
@@ -197,6 +202,8 @@ def executeAction(action_name, args=[]):
     return runRemoteCommand(uwscfg.getValue(action_name+"_remote_host"), uwscfg.getValue(action_name+"_remote_shell"), args)
   elif action_type == "shellcmd":
     return runShellCommand(cmd=uwscfg.getValue(action_name+"_cmd"), ptimeout=uwscfg.getValue(action_name+"_timeout"), stdinput=uwscfg.getValue(action_name+"_stdinput"), args=args)
+  elif action_type == "nothing":
+    return True
   else:
     return executeAction(action_type,args)
   
@@ -292,7 +299,9 @@ else:
 #socket.setdefaulttimeout(10.0) #affects all new Socket Connections (urllib as well)
 RE_PRESENCE = re.compile(r'Presence: (yes|no)(?:, (opened|closed), (.+))?')
 RE_BUTTON = re.compile(r'PanicButton|button\d?')
-RE_REQUEST = re.compile(r'Request: (\w+) (?:(Card|Phone) )?(.+)')
+#RE_REQUEST = re.compile(r'Request: (\w+) (?:(Card|Phone) )?(.+)')
+RE_ERROR = re.compile(r'Error: (.+)')
+
 while True:
   try:
     if not os.path.exists(uwscfg.tracker_socket):
@@ -328,6 +337,11 @@ while True:
       if not m is None:
         playThemeOf(user="panic")
       continue
+
+      m = RE_ERROR.match(line)
+      if not m is None:
+        playThemeOf(user="error")
+      continue
                 
   except Exception, ex:
     logging.error("main: "+str(ex))