diff options
Diffstat (limited to 'module/remote/thriftbackend/pyload.thrift')
-rw-r--r-- | module/remote/thriftbackend/pyload.thrift | 337 |
1 files changed, 0 insertions, 337 deletions
diff --git a/module/remote/thriftbackend/pyload.thrift b/module/remote/thriftbackend/pyload.thrift deleted file mode 100644 index 3aef7af00..000000000 --- a/module/remote/thriftbackend/pyload.thrift +++ /dev/null @@ -1,337 +0,0 @@ -namespace java org.pyload.thrift - -typedef i32 FileID -typedef i32 PackageID -typedef i32 TaskID -typedef i32 ResultID -typedef i32 InteractionID -typedef list<string> LinkList -typedef string PluginName -typedef byte Progress -typedef byte Priority - - -enum DownloadStatus { - Finished - Offline, - Online, - Queued, - Skipped, - Waiting, - TempOffline, - Starting, - Failed, - Aborted, - Decrypting, - Custom, - Downloading, - Processing, - Unknown -} - -enum Destination { - Collector, - Queue -} - -enum ElementType { - Package, - File -} - -// types for user interaction -// some may only be place holder currently not supported -// also all input - output combination are not reasonable, see InteractionManager for further info -enum Input { - NONE, - TEXT, - TEXTBOX, - PASSWORD, - BOOL, // confirm like, yes or no dialog - CLICK, // for positional captchas - CHOICE, // choice from list - MULTIPLE, // multiple choice from list of elements - LIST, // arbitary list of elements - TABLE // table like data structure -} -// more can be implemented by need - -// this describes the type of the outgoing interaction -// ensure they can be logcial or'ed -enum Output { - CAPTCHA = 1, - QUESTION = 2, - NOTIFICATION = 4, -} - -struct DownloadInfo { - 1: FileID fid, - 2: string name, - 3: i64 speed, - 4: i32 eta, - 5: string format_eta, - 6: i64 bleft, - 7: i64 size, - 8: string format_size, - 9: Progress percent, - 10: DownloadStatus status, - 11: string statusmsg, - 12: string format_wait, - 13: i64 wait_until, - 14: PackageID packageID, - 15: string packageName, - 16: PluginName plugin, -} - -struct ServerStatus { - 1: bool pause, - 2: i16 active, - 3: i16 queue, - 4: i16 total, - 5: i64 speed, - 6: bool download, - 7: bool reconnect -} - -struct ConfigItem { - 1: string name, - 2: string description, - 3: string value, - 4: string type, -} - -struct ConfigSection { - 1: string name, - 2: string description, - 3: list<ConfigItem> items, - 4: optional string outline -} - -struct FileData { - 1: FileID fid, - 2: string url, - 3: string name, - 4: PluginName plugin, - 5: i64 size, - 6: string format_size, - 7: DownloadStatus status, - 8: string statusmsg, - 9: PackageID packageID, - 10: string error, - 11: i16 order -} - -struct PackageData { - 1: PackageID pid, - 2: string name, - 3: string folder, - 4: string site, - 5: string password, - 6: Destination dest, - 7: i16 order, - 8: optional i16 linksdone, - 9: optional i64 sizedone, - 10: optional i64 sizetotal, - 11: optional i16 linkstotal, - 12: optional list<FileData> links, - 13: optional list<FileID> fids -} - -struct InteractionTask { - 1: InteractionID iid, - 2: Input input, - 3: list<string> structure, - 4: list<string> preset, - 5: Output output, - 6: list<string> data, - 7: string title, - 8: string description, - 9: string plugin, -} - -struct CaptchaTask { - 1: i16 tid, - 2: binary data, - 3: string type, - 4: string resultType -} - -struct EventInfo { - 1: string eventname, - 2: optional i32 id, - 3: optional ElementType type, - 4: optional Destination destination -} - -struct UserData { - 1: string name, - 2: string email, - 3: i32 role, - 4: i32 permission, - 5: string templateName -} - -struct AccountInfo { - 1: i64 validuntil, - 2: string login, - 3: map<string, list<string>> options, - 4: bool valid, - 5: i64 trafficleft, - 6: i64 maxtraffic, - 7: bool premium, - 8: string type, -} - -struct ServiceCall { - 1: PluginName plugin, - 2: string func, - 3: optional list<string> arguments, - 4: optional bool parseArguments, //default False -} - -struct OnlineStatus { - 1: string name, - 2: PluginName plugin, - 3: string packagename, - 4: DownloadStatus status, - 5: i64 size, // size <= 0: unknown -} - -struct OnlineCheck { - 1: ResultID rid, // -1 -> nothing more to get - 2: map<string, OnlineStatus> data, //url to result -} - - -// exceptions - -exception PackageDoesNotExists{ - 1: PackageID pid -} - -exception FileDoesNotExists{ - 1: FileID fid -} - -exception ServiceDoesNotExists{ - 1: string plugin - 2: string func -} - -exception ServiceException{ - 1: string msg -} - -service Pyload { - - //config - string getConfigValue(1: string category, 2: string option, 3: string section), - void setConfigValue(1: string category, 2: string option, 3: string value, 4: string section), - map<string, ConfigSection> getConfig(), - map<string, ConfigSection> getPluginConfig(), - - // server status - void pauseServer(), - void unpauseServer(), - bool togglePause(), - ServerStatus statusServer(), - i64 freeSpace(), - string getServerVersion(), - void kill(), - void restart(), - list<string> getLog(1: i32 offset), - bool isTimeDownload(), - bool isTimeReconnect(), - bool toggleReconnect(), - - // download preparing - - // packagename - urls - map<string, LinkList> generatePackages(1: LinkList links), - map<PluginName, LinkList> checkURLs(1: LinkList urls), - map<PluginName, LinkList> parseURLs(1: string html, 2: string url), - - // parses results and generates packages - OnlineCheck checkOnlineStatus(1: LinkList urls), - OnlineCheck checkOnlineStatusContainer(1: LinkList urls, 2: string filename, 3: binary data) - - // poll results from previosly started online check - OnlineCheck pollResults(1: ResultID rid), - - // downloads - information - list<DownloadInfo> statusDownloads(), - PackageData getPackageData(1: PackageID pid) throws (1: PackageDoesNotExists e), - PackageData getPackageInfo(1: PackageID pid) throws (1: PackageDoesNotExists e), - FileData getFileData(1: FileID fid) throws (1: FileDoesNotExists e), - list<PackageData> getQueue(), - list<PackageData> getCollector(), - list<PackageData> getQueueData(), - list<PackageData> getCollectorData(), - map<i16, PackageID> getPackageOrder(1: Destination destination), - map<i16, FileID> getFileOrder(1: PackageID pid) - - // downloads - adding/deleting - list<PackageID> generateAndAddPackages(1: LinkList links, 2: Destination dest), - PackageID addPackage(1: string name, 2: LinkList links, 3: Destination dest), - void addFiles(1: PackageID pid, 2: LinkList links), - void uploadContainer(1: string filename, 2: binary data), - void deleteFiles(1: list<FileID> fids), - void deletePackages(1: list<PackageID> pids), - - // downloads - modifying - void pushToQueue(1: PackageID pid), - void pullFromQueue(1: PackageID pid), - void restartPackage(1: PackageID pid), - void restartFile(1: FileID fid), - void recheckPackage(1: PackageID pid), - void stopAllDownloads(), - void stopDownloads(1: list<FileID> fids), - void setPackageName(1: PackageID pid, 2: string name), - void movePackage(1: Destination destination, 2: PackageID pid), - void moveFiles(1: list<FileID> fids, 2: PackageID pid), - void orderPackage(1: PackageID pid, 2: i16 position), - void orderFile(1: FileID fid, 2: i16 position), - void setPackageData(1: PackageID pid, 2: map<string, string> data) throws (1: PackageDoesNotExists e), - list<PackageID> deleteFinished(), - void restartFailed(), - - //events - list<EventInfo> getEvents(1: string uuid) - - //accounts - list<AccountInfo> getAccounts(1: bool refresh), - list<string> getAccountTypes() - void updateAccount(1: PluginName plugin, 2: string account, 3: string password, 4: map<string, string> options), - void removeAccount(1: PluginName plugin, 2: string account), - - //auth - bool login(1: string username, 2: string password), - UserData getUserData(1: string username, 2:string password), - map<string, UserData> getAllUserData(), - - //services - - // servicename: description - map<PluginName, map<string, string>> getServices(), - bool hasService(1: PluginName plugin, 2: string func), - string call(1: ServiceCall info) throws (1: ServiceDoesNotExists ex, 2: ServiceException e), - - - //info - // {plugin: {name: value}} - map<PluginName, map<string, string>> getAllInfo(), - map<string, string> getInfoByPlugin(1: PluginName plugin), - - //scheduler - - // TODO - - - // User interaction - - //captcha - bool isCaptchaWaiting(), - CaptchaTask getCaptchaTask(1: bool exclusive), - string getCaptchaTaskStatus(1: TaskID tid), - void setCaptchaResult(1: TaskID tid, 2: string result), -} |