summaryrefslogtreecommitdiffstats
path: root/module/api/CoreApi.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/api/CoreApi.py')
-rw-r--r--module/api/CoreApi.py131
1 files changed, 0 insertions, 131 deletions
diff --git a/module/api/CoreApi.py b/module/api/CoreApi.py
deleted file mode 100644
index e5c5e8b41..000000000
--- a/module/api/CoreApi.py
+++ /dev/null
@@ -1,131 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-from module.Api import Api, RequirePerm, Permission, ServerStatus, Interaction
-from module.utils.fs import join, free_space
-from module.utils import compare_time
-
-from ApiComponent import ApiComponent
-
-class CoreApi(ApiComponent):
- """ This module provides methods for general interaction with the core, like status or progress retrieval """
-
- @RequirePerm(Permission.All)
- def getServerVersion(self):
- """pyLoad Core version """
- return self.core.version
-
- @RequirePerm(Permission.All)
- def getWSAddress(self):
- """Gets and address for the websocket based on configuration"""
- # TODO SSL (wss)
- return "ws://%%s:%d" % self.core.config['remote']['port']
-
- @RequirePerm(Permission.All)
- def getServerStatus(self):
- """Some general information about the current status of pyLoad.
-
- :return: `ServerStatus`
- """
- queue = self.core.files.getQueueStats(self.primaryUID)
- total = self.core.files.getDownloadStats(self.primaryUID)
-
- serverStatus = ServerStatus(0,
- total[0], queue[0],
- total[1], queue[1],
- self.isInteractionWaiting(Interaction.All),
- not self.core.threadManager.pause and self.isTimeDownload(),
- self.core.threadManager.pause,
- self.core.config['reconnect']['activated'] and self.isTimeReconnect())
-
-
- for pyfile in self.core.threadManager.getActiveDownloads(self.primaryUID):
- serverStatus.speed += pyfile.getSpeed() #bytes/s
-
- return serverStatus
-
- @RequirePerm(Permission.All)
- def getProgressInfo(self):
- """ Status of all currently running tasks
-
- :rtype: list of :class:`ProgressInfo`
- """
- return self.core.threadManager.getProgressList(self.primaryUID)
-
- def pauseServer(self):
- """Pause server: It won't start any new downloads, but nothing gets aborted."""
- self.core.threadManager.pause = True
-
- def unpauseServer(self):
- """Unpause server: New Downloads will be started."""
- self.core.threadManager.pause = False
-
- def togglePause(self):
- """Toggle pause state.
-
- :return: new pause state
- """
- self.core.threadManager.pause ^= True
- return self.core.threadManager.pause
-
- def toggleReconnect(self):
- """Toggle reconnect activation.
-
- :return: new reconnect state
- """
- self.core.config["reconnect"]["activated"] ^= True
- return self.core.config["reconnect"]["activated"]
-
- def freeSpace(self):
- """Available free space at download directory in bytes"""
- return free_space(self.core.config["general"]["download_folder"])
-
-
- def quit(self):
- """Clean way to quit pyLoad"""
- self.core.do_kill = True
-
- def restart(self):
- """Restart pyload core"""
- self.core.do_restart = True
-
- def getLog(self, offset=0):
- """Returns most recent log entries.
-
- :param offset: line offset
- :return: List of log entries
- """
- filename = join(self.core.config['log']['log_folder'], 'log.txt')
- try:
- fh = open(filename, "r")
- lines = fh.readlines()
- fh.close()
- if offset >= len(lines):
- return []
- return lines[offset:]
- except:
- return ['No log available']
-
- @RequirePerm(Permission.All)
- def isTimeDownload(self):
- """Checks if pyload will start new downloads according to time in config.
-
- :return: bool
- """
- start = self.core.config['downloadTime']['start'].split(":")
- end = self.core.config['downloadTime']['end'].split(":")
- return compare_time(start, end)
-
- @RequirePerm(Permission.All)
- def isTimeReconnect(self):
- """Checks if pyload will try to make a reconnect
-
- :return: bool
- """
- start = self.core.config['reconnect']['startTime'].split(":")
- end = self.core.config['reconnect']['endTime'].split(":")
- return compare_time(start, end) and self.core.config["reconnect"]["activated"]
-
-
-if Api.extend(CoreApi):
- del CoreApi \ No newline at end of file