def test_dirs(self): if autoplatform.platform == "windows": self.assertNotRaises(autoplatform.personaldir(), KeyError) self.assertNotRaises(autoplatform.systemdir(), KeyError) elif autoplatform.platform in ("linux", "mac"): personal = autoplatform.personaldir() self.assertTrue(personal.endswith(".automaton/") and not os.path.isfile(personal)) self.assertEqual(autoplatform.systemdir(), "/etc/automaton/") else: raise Exception("System platform not in accepted list of platforms.") self.assertTrue(os.path.isdir(autoplatform.localdir())) self.assertIsNone( autoplatform.get_existing_file(r"__\/|illegal", strict=True)) self.assertIsNotNone( autoplatform.get_existing_file(r"__\/|illegal", strict=False))
def test_dirs(self): if autoplatform.platform == "windows": self.assertNotRaises(autoplatform.personaldir(), KeyError) self.assertNotRaises(autoplatform.systemdir(), KeyError) elif autoplatform.platform in ("linux", "mac"): personal = autoplatform.personaldir() self.assertTrue( personal.endswith(".automaton/") and not os.path.isfile(personal)) self.assertEqual(autoplatform.systemdir(), "/etc/automaton/") else: raise Exception( "System platform not in accepted list of platforms.") self.assertTrue(os.path.isdir(autoplatform.localdir())) self.assertIsNone( autoplatform.get_existing_file(r"__\/|illegal", strict=True)) self.assertIsNotNone( autoplatform.get_existing_file(r"__\/|illegal", strict=False))
def __init__(self, registrar): super(Schedule, self).__init__(registrar) self.settings = ConfigParser.SafeConfigParser() self.settings.read(utils.get_plugin_settings_paths(__name__)) if not self.settings.has_option("Settings", "queue_file"): self.settings.set("Settings", "queue_file", autoplatform.get_existing_file("schedule.queue")) else: if not os.access(self.settings.get("Settings", "queue_file"), os.W_OK): self.settings.set("Settings", "queue_file", None) self.queue = PersistentPriorityQueue( storagefile=self.settings.get("Settings", "queue_file")) if (not self.settings.has_option("Settings", "queue_file") or self.settings.get("Settings", "queue_file") is None): logger.log( "Scheduler could not find an existing queue file and " "no write access to create a new one. Any scheduled tasks " "will disappear once server is stopped.") self.event = threading.Event() thread = threading.Thread(target=self._executionthread) thread.setDaemon(True) thread.start() self.registrar.register_service( "schedule", self.execute, grammar={ "at": ["at"], "in": ["in"], "command": [], }, usage= ("USAGE: schedule WHAT [at WHEN] | [in WHEN]\n" "Schedules a command to be run at a specific time, repeating if\n" "necessary."), namespace=__name__)
def __init__(self, registrar): super(Schedule, self).__init__(registrar) self.settings = ConfigParser.SafeConfigParser() self.settings.read(utils.get_plugin_settings_paths(__name__)) if not self.settings.has_option("Settings", "queue_file"): self.settings.set("Settings", "queue_file", autoplatform.get_existing_file("schedule.queue")) else: if not os.access(self.settings.get("Settings", "queue_file"), os.W_OK): self.settings.set("Settings", "queue_file", None) self.queue = PersistentPriorityQueue( storagefile=self.settings.get("Settings", "queue_file")) if (not self.settings.has_option("Settings", "queue_file") or self.settings.get("Settings", "queue_file") is None): logger.log("Scheduler could not find an existing queue file and " "no write access to create a new one. Any scheduled tasks " "will disappear once server is stopped.") self.event = threading.Event() thread = threading.Thread(target=self._executionthread) thread.setDaemon(True) thread.start() self.registrar.register_service("schedule", self.execute, grammar={ "at": ["at"], "in": ["in"], "command": [], }, usage=("USAGE: schedule WHAT [at WHEN] | [in WHEN]\n" "Schedules a command to be run at a specific time, repeating if\n" "necessary."), namespace=__name__)