summaryrefslogtreecommitdiffstats
path: root/module/api/DownloadPreparingApi.py
diff options
context:
space:
mode:
authorGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2013-06-09 18:10:22 +0200
committerGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2013-06-09 18:10:23 +0200
commit16af85004c84d0d6c626b4f8424ce9647669a0c1 (patch)
tree025d479862d376dbc17e934f4ed20031c8cd97d1 /module/api/DownloadPreparingApi.py
parentadapted to jshint config (diff)
downloadpyload-16af85004c84d0d6c626b4f8424ce9647669a0c1.tar.xz
moved everything from module to pyload
Diffstat (limited to 'module/api/DownloadPreparingApi.py')
-rw-r--r--module/api/DownloadPreparingApi.py121
1 files changed, 0 insertions, 121 deletions
diff --git a/module/api/DownloadPreparingApi.py b/module/api/DownloadPreparingApi.py
deleted file mode 100644
index edd5d362c..000000000
--- a/module/api/DownloadPreparingApi.py
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-from itertools import chain
-
-from module.Api import Api, RequirePerm, Permission, OnlineCheck, LinkStatus, urlmatcher
-from module.utils.fs import join
-from module.utils.packagetools import parseNames
-from module.network.RequestFactory import getURL
-
-from ApiComponent import ApiComponent
-
-class DownloadPreparingApi(ApiComponent):
- """ All kind of methods to parse links or retrieve online status """
-
- @RequirePerm(Permission.Add)
- def parseURLs(self, html=None, url=None):
- """Parses html content or any arbitrary text for links and returns result of `checkURLs`
-
- :param html: html source
- :return:
- """
- urls = []
-
- if html:
- urls += [x[0] for x in urlmatcher.findall(html)]
-
- if url:
- page = getURL(url)
- urls += [x[0] for x in urlmatcher.findall(page)]
-
- # remove duplicates
- return self.checkURLs(set(urls))
-
-
- @RequirePerm(Permission.Add)
- def checkURLs(self, urls):
- """ Gets urls and returns pluginname mapped to list of matching urls.
-
- :param urls:
- :return: {plugin: urls}
- """
- data, crypter = self.core.pluginManager.parseUrls(urls)
- plugins = {}
-
- for url, plugin in chain(data, crypter):
- if plugin in plugins:
- plugins[plugin].append(url)
- else:
- plugins[plugin] = [url]
-
- return plugins
-
- @RequirePerm(Permission.Add)
- def checkOnlineStatus(self, urls):
- """ initiates online status check, will also decrypt files.
-
- :param urls:
- :return: initial set of data as :class:`OnlineCheck` instance containing the result id
- """
- data, crypter = self.core.pluginManager.parseUrls(urls)
-
- # initial result does not contain the crypter links
- tmp = [(url, (url, LinkStatus(url, pluginname, "unknown", 3, 0))) for url, pluginname in data]
- data = parseNames(tmp)
- result = {}
-
- for k, v in data.iteritems():
- for url, status in v:
- status.packagename = k
- result[url] = status
-
- data.update(crypter) # hoster and crypter will be processed
- rid = self.core.threadManager.createResultThread(data, False)
-
- return OnlineCheck(rid, result)
-
- @RequirePerm(Permission.Add)
- def checkOnlineStatusContainer(self, urls, container, data):
- """ checks online status of urls and a submitted container file
-
- :param urls: list of urls
- :param container: container file name
- :param data: file content
- :return: :class:`OnlineCheck`
- """
- th = open(join(self.core.config["general"]["download_folder"], "tmp_" + container), "wb")
- th.write(str(data))
- th.close()
- urls.append(th.name)
- return self.checkOnlineStatus(urls)
-
- @RequirePerm(Permission.Add)
- def pollResults(self, rid):
- """ Polls the result available for ResultID
-
- :param rid: `ResultID`
- :return: `OnlineCheck`, if rid is -1 then there is no more data available
- """
- result = self.core.threadManager.getInfoResult(rid)
-
- if "ALL_INFO_FETCHED" in result:
- del result["ALL_INFO_FETCHED"]
- return OnlineCheck(-1, result)
- else:
- return OnlineCheck(rid, result)
-
-
- @RequirePerm(Permission.Add)
- def generatePackages(self, links):
- """ Parses links, generates packages names from urls
-
- :param links: list of urls
- :return: package names mapped to urls
- """
- result = parseNames((x, x) for x in links)
- return result
-
-
-if Api.extend(DownloadPreparingApi):
- del DownloadPreparingApi \ No newline at end of file