def actionTriggered(self, args=None): '''launches the external application as a subprocess''' import subprocess try: if args is not None: if isinstance(args, string_types): import shlex args = shlex.split(str(args)) args = self.cmdArgs() + args else: args = self.cmdArgs() if any(args): #Qt.QMessageBox.warning(self.parentWidget(),'Warning','In ExternalAppAction(%s)'%args) self._process.append(subprocess.Popen(args)) self._process = [p for p in self._process if p.poll() is None] return True else: return False except OSError: err = "Error launching %s" % str(self.text()) msg = "Cannot launch application:\n" + \ " ".join(self.__cmdargs) + \ "\nHint: Check that %s is installed and in the path" % str( self.text()) if self.interactive: Qt.QMessageBox.warning(self.parentWidget(), err, msg) from taurus.core.util import Logger Logger().warning('%s:\n%s' % (err, msg)) return False
def trace(msg,head='',level=0,clean=False,use_taurus=False): if level > TRACE_LEVEL: return if type(head)==int: head,level = '',head msg = fandango.time2str()+':'+str(head)+('\t'*level or ' ')+str(msg) if use_taurus: if not dummies: dummies.append(Logger()) dummies[0].setLogLevel('INFO') print dummies[0] dummies[0].info(msg) dummies[0].error(msg) else: (print_clean if clean else fandango.printf)(msg) return
def __init__(self): Logger.__init__(self) MemoryProfile.__init__(self)