def __init__(self, config): self.config = config util.initLogging(config["verbose"], config.get("log_path", ""), config.get("enable_loggers", [])) util.log("Default encoding: %s (file system: %s)" % (sys.getdefaultencoding(), sys.getfilesystemencoding())) # Evaluate configuration and set defaults _checkConfig(config) provider_mapping = self.config["provider_mapping"] # response_trailer = config.get("response_trailer", "") self._verbose = config.get("verbose", 2) lockStorage = config.get("locksmanager") if lockStorage is True: lockStorage = LockStorageDict() if not lockStorage: locksManager = None else: locksManager = LockManager(lockStorage) propsManager = config.get("propsmanager") if not propsManager: # Normalize False, 0 to None propsManager = None elif propsManager is True: propsManager = PropertyManager() mount_path = config.get("mount_path") # Instantiate DAV resource provider objects for every share self.providerMap = {} for (share, provider) in provider_mapping.items(): # Make sure share starts with, or is, '/' share = "/" + share.strip("/") # We allow a simple string as 'provider'. In this case we interpret # it as a file system root folder that is published. if isinstance(provider, basestring): provider = FilesystemProvider(provider) assert isinstance(provider, DAVProvider) provider.setSharePath(share) if mount_path: provider.setMountPath(mount_path) # TODO: someday we may want to configure different lock/prop managers per provider provider.setLockManager(locksManager) provider.setPropManager(propsManager) self.providerMap[share] = { "provider": provider, "allow_anonymous": False } # Define WSGI application stack application = RequestResolver() domain_controller = None dir_browser = config.get("dir_browser", {}) middleware_stack = config.get("middleware_stack", []) # Replace WsgiDavDirBrowser to custom class for backward compatibility only # In normal way you should insert it into middleware_stack if dir_browser.get("enable", True) and "app_class" in dir_browser.keys(): config["middleware_stack"] = [ m if m != WsgiDavDirBrowser else dir_browser['app_class'] for m in middleware_stack ] for mw in middleware_stack: if mw.isSuitable(config): if self._verbose >= 2: print "Middleware %s is suitable" % mw application = mw(application, config) if issubclass(mw, HTTPAuthenticator): domain_controller = application.getDomainController() # check anonymous access for share, data in self.providerMap.items(): if application.allowAnonymousAccess(share): data['allow_anonymous'] = True else: if self._verbose >= 2: print "Middleware %s is not suitable" % mw # Print info if self._verbose >= 2: print "Using lock manager: %r" % locksManager print "Using property manager: %r" % propsManager print "Using domain controller: %s" % domain_controller print "Registered DAV providers:" for share, data in self.providerMap.items(): hint = " (anonymous)" if data['allow_anonymous'] else "" print " Share '%s': %s%s" % (share, provider, hint) if self._verbose >= 1: for share, data in self.providerMap.items(): if data['allow_anonymous']: # TODO: we should only warn here, if --no-auth is not given print "WARNING: share '%s' will allow anonymous access." % share self._application = application
def __init__(self, site_id): self._id = site_id self._status = SiteStatus.UP self._init_variables() self._lm = LockManager(self._site_variables.keys())
self.ui.stop_button.setFocus() def stop_button_clicked(self): # Set value self.vehicle_manual_controller.set_velocity_kmph(0.0, 0.0) # Transfer focus self.ui.start_button.setFocus() def closeEvent(self, event): # Stop vehicle for sure self.vehicle_manual_controller.stop_now() if __name__ == '__main__': rospy.init_node('set_run_dialog') app = QApplication(sys.argv) lock_manager = LockManager(LOCK_PATH) if not lock_manager.get_lock(): QMessageBox.warning( None, 'Warning', 'Another same process is running. If not, please delete lock file [ %s ].' % lock_manager.get_lock_path(), QMessageBox.Ok) sys.exit(1) win = SetRunDialog() win.show() ret = app.exec_() lock_manager.release_lock() sys.exit(ret)
def __init__(self, config): self.config = config util.initLogging(config["verbose"], config.get("enable_loggers", [])) util.log("Default encoding: %s (file system: %s)" % (sys.getdefaultencoding(), sys.getfilesystemencoding())) # Evaluate configuration and set defaults _checkConfig(config) provider_mapping = self.config["provider_mapping"] # response_trailer = config.get("response_trailer", "") self._verbose = config.get("verbose", 2) lockStorage = config.get("locksmanager") if lockStorage is True: lockStorage = LockStorageDict() if not lockStorage: locksManager = None else: locksManager = LockManager(lockStorage) propsManager = config.get("propsmanager") if not propsManager: # Normalize False, 0 to None propsManager = None elif propsManager is True: propsManager = PropertyManager() mount_path = config.get("mount_path") user_mapping = self.config.get("user_mapping", {}) domainController = config.get( "domaincontroller") or WsgiDAVDomainController(user_mapping) isDefaultDC = isinstance(domainController, WsgiDAVDomainController) # authentication fields authacceptbasic = config.get("acceptbasic", True) authacceptdigest = config.get("acceptdigest", True) authdefaultdigest = config.get("defaultdigest", True) # Check configuration for NTDomainController # We don't use 'isinstance', because include would fail on non-windows boxes. wdcName = "NTDomainController" if domainController.__class__.__name__ == wdcName: if authacceptdigest or authdefaultdigest or not authacceptbasic: util.warn( "WARNING: %s requires basic authentication.\n\tSet acceptbasic=True, acceptdigest=False, defaultdigest=False" % wdcName) # Instantiate DAV resource provider objects for every share self.providerMap = {} for (share, provider) in provider_mapping.items(): # Make sure share starts with, or is, '/' share = "/" + share.strip("/") # We allow a simple string as 'provider'. In this case we interpret # it as a file system root folder that is published. if isinstance(provider, basestring): provider = FilesystemProvider(provider) assert isinstance(provider, DAVProvider) provider.setSharePath(share) if mount_path: provider.setMountPath(mount_path) # TODO: someday we may want to configure different lock/prop managers per provider provider.setLockManager(locksManager) provider.setPropManager(propsManager) self.providerMap[share] = provider if self._verbose >= 2: print "Using lock manager: %r" % locksManager print "Using property manager: %r" % propsManager print "Using domain controller: %s" % domainController print "Registered DAV providers:" for share, provider in self.providerMap.items(): hint = "" if isDefaultDC and not user_mapping.get(share): hint = " (anonymous)" print " Share '%s': %s%s" % (share, provider, hint) # If the default DC is used, emit a warning for anonymous realms if isDefaultDC and self._verbose >= 1: for share in self.providerMap: if not user_mapping.get(share): # TODO: we should only warn here, if --no-auth is not given print "WARNING: share '%s' will allow anonymous access." % share # Define WSGI application stack application = RequestResolver() if config.get("dir_browser") and config["dir_browser"].get( "enable", True): application = WsgiDavDirBrowser(application) application = HTTPAuthenticator(application, domainController, authacceptbasic, authacceptdigest, authdefaultdigest) application = ErrorPrinter(application, catchall=False) application = WsgiDavDebugFilter(application, config) self._application = application