diff options
Diffstat (limited to 'module/plugins/hooks')
-rw-r--r-- | module/plugins/hooks/ContainerDownload.py | 40 | ||||
-rw-r--r-- | module/plugins/hooks/LinuxFileEvents.py | 75 |
2 files changed, 0 insertions, 115 deletions
diff --git a/module/plugins/hooks/ContainerDownload.py b/module/plugins/hooks/ContainerDownload.py deleted file mode 100644 index 673931391..000000000 --- a/module/plugins/hooks/ContainerDownload.py +++ /dev/null @@ -1,40 +0,0 @@ -# -*- coding: utf-8 -*- - -""" - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, - or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, see <http://www.gnu.org/licenses/>. - - @author: mkaay - @interface-version: 0.1 -""" - -from module.plugins.Hook import Hook - -from os.path import join, abspath - -class ContainerDownload(Hook): - __name__ = "ContainerDownload" - __version__ = "0.1" - __description__ = """add the downloaded container to current package""" - __author_name__ = ("mkaay") - __author_mail__ = ("mkaay@mkaay.de") - - def downloadFinished(self, pyfile): - filename = pyfile.status.filename - if not pyfile.url.startswith("http"): - return - if filename.endswith(".dlc") or filename.endswith(".ccf") or filename.endswith(".rsdf"): - self.logger.info("ContainerDownload: adding container file") - location = abspath(join(pyfile.folder, filename)) - newFile = self.core.file_list.collector.addLink(location) - self.core.file_list.packager.addFileToPackage(pyfile.package.data["id"], self.core.file_list.collector.popFile(newFile)) diff --git a/module/plugins/hooks/LinuxFileEvents.py b/module/plugins/hooks/LinuxFileEvents.py deleted file mode 100644 index f4fe12de4..000000000 --- a/module/plugins/hooks/LinuxFileEvents.py +++ /dev/null @@ -1,75 +0,0 @@ -# -*- coding: utf-8 -*- - -""" - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, - or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, see <http://www.gnu.org/licenses/>. - - @author: mkaay - @interface-version: 0.1 -""" - -from module.plugins.Hook import Hook -import os - -class LinuxFileEvents(Hook): - __name__ = "LinuxFileEvents" - __version__ = "0.1" - __description__ = """monitors files and directories for changes""" - __author_name__ = ("mkaay") - __author_mail__ = ("mkaay@mkaay.de") - - def __init__(self, core): - Hook.__init__(self, core) - - return #@TODO remove when working correctly - - if not os.name == "posix": - return - - self.core.check_file(self.core.make_path("container"), _("folder for container"), True) - self.core.check_install("pyinotify", _("pyinotify for LinuxFileEvents")) - - try: - import pyinotify - except: - return - wm = pyinotify.WatchManager() - - class FileChangeHandler(pyinotify.ProcessEvent): - def __init__(self, hook): - self.hook = hook - - def process_default(self, event): - self.hook.fileChangeEvent(event.path) - - notifier = pyinotify.ThreadedNotifier(wm, FileChangeHandler(self)) - notifier.start() - mask = pyinotify.IN_MODIFY | pyinotify.IN_CLOSE_WRITE | pyinotify.IN_MOVED_TO - wm.add_watch(os.path.join(self.core.path, "links.txt"), mask) - wm.add_watch(os.path.join(self.core.path, "container"), mask, rec=True, auto_add=True) - - def fileChangeEvent(self, path): - path = os.path.abspath(path) - if self.isValidContainer(path): - self.addNewFile(path) - - def isValidContainer(self, path): - ext = [".txt", ".dlc", ".ccf", ".rsdf"] - for e in ext: - if path.endswith(e): - return True - return False - - def addNewFile(self, path): - self.core.server_methods.add_package("Container", [path]) - |