Commit Graph

226 Commits

Author SHA1 Message Date
lzzy12 0f7b79f7a4 Improved upload progress implementation
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-05-21 13:08:50 +05:30
jaskaranSM cdefe12348 Implement Centralized Aria Websocket Listener 2020-05-15 13:34:09 +05:30
lzzy12 f4290210b1 Implemented mirror ownership
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-05-14 19:02:33 +05:30
jaskaranSM 1670b619ae Fix deadlock 2020-05-12 14:27:24 +05:30
jaskaranSM a196ce5b93 Handle TG exceptions 2020-05-12 13:56:57 +05:30
jaskaranSM c4e81d5ab1 start Aria2 Websocket listener before adding download in queue. 2020-05-12 13:50:16 +05:30
lzzy12 d3938784ac Remove broken direct download link extracters
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-05-09 00:10:09 +05:30
lzzy12 1d8c8ce954 restart: Clean downloads before restarting
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-05-09 00:05:35 +05:30
jaskaranSM 315108e7d1 patch regex for more links 2020-05-05 10:51:55 +05:30
jaskaranSM 4d964b6e29 use regex to extract fileId from GDrive links 2020-05-04 12:25:40 +05:30
Youssif Shaaban Alsager 63a67d7a14
Add restart command (#53)
* Add restart command

This is handy when you need to restart the bot when something goes wrong.

Currently, the bot restarts but doesn't send a message after restarting
is done, feel free to improve this. It'll need something like storing
bot status locally then on bot start, if restart status exists send
a message.

Signed-off-by: yshalsager <ysh-alsager@hotmail.com>

* restart: switch to context based callbacks

* restart: restrict the command to owner only

Co-authored-by: Shivam Jha <jhashivam2020@gmail.com>
2020-04-21 15:33:05 +05:30
jaskaranSM 78b60d6715
import threading lib 2020-04-19 14:58:35 +05:30
jaskaranSM 8624e0174b Fix IO Block on Large Playlists 2020-04-18 14:32:01 +05:30
jaskaranSM 120ca7538d clone: remove forward slash 2020-04-16 12:39:46 +05:30
jaskaranSM e5bb8e55ef Clone fix and added index link support 2020-04-16 12:38:12 +05:30
jaskaranSM d7bc8f3c9a switch to context based callbacks 2020-04-16 12:26:28 +05:30
lzzy12 c6b4c542b7 fixup after e0f4c4347c
- Also fixed copying of netrc file in the container

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-04-15 14:47:33 +05:30
lzzy12 e0f4c4347c Separate out youtube-dl command
- /watch [youtube-dl supported link]

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-04-14 23:20:52 +05:30
lzzy12 e5364f96e1 Revert "Handle rare bug when download is not deleted from download_dict on error"
This reverts commit 136924ffd4.

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-04-13 13:32:39 +05:30
lzzy12 76e3db1946 [Hotfix] Fix bug where the link have 302 request are treated as torrents
Download.is_torrent introduced in aria2p v0.9.0
https://github.com/pawamoy/aria2p/issues/53

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-04-08 19:29:59 +05:30
Arsalan ed60afa9d6
fix typo in INDEX_URL (#54) 2020-04-07 20:36:04 +05:30
lzzy12 b2f2ee4335 Fix aria downloads cancellation after b58eb87b11
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-04-06 13:14:40 +05:30
lzzy12 47dd3c2b6f gdriveTools: Handle unhandled exception in clone method
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-04-05 14:12:13 +05:30
lzzy12 0536472e28 Expose message object from Status objects
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-04-05 13:28:35 +05:30
lzzy12 b58eb87b11 Improvements in cancelling mirrors
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-04-05 12:34:08 +05:30
jaskaranSM 708e6df87a youtube-dl: use best format 2020-04-01 12:07:29 +05:30
lzzy12 50ab740219 Correct filename if ffmpeg conversion is invoked by yt-dl
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-31 17:56:57 +05:30
lzzy12 a54fc42e1e Handle some exceptions
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-31 15:42:13 +05:30
lzzy12 e2c5c8beaf Log youtube-dl warnings and errors in bot log
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-31 11:15:09 +05:30
lzzy12 85d4005c16 Use netrc by default for youtube-dl
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-31 10:50:53 +05:30
lzzy12 9fa41f68c1 Some minor Fix-ups
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-30 18:16:54 +05:30
lzzy12 136924ffd4 Handle rare bug when download is not deleted from download_dict on error
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-30 17:46:56 +05:30
jaskaranSM 52e8fbec11 Fixed direct link torrent mirroring
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-30 17:05:55 +05:30
lzzy12 0ec499ff4a Handle weird path naming of youtube_dl
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-30 16:36:12 +05:30
lzzy12 141b13b52d Make ydl object local to the methods
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-30 14:55:29 +05:30
lzzy12 3bf9e0ea31 Use default quality provided by youtube-dl for now
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-28 20:14:43 +05:30
jaskaranSM 6262b26fe5 youtube-dl: fixed downloading from sites that provide encrypted content (m3u8) 2020-03-28 18:44:02 +05:30
lzzy12 7c304d449a Fix uploading for YT-DL
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-28 14:38:08 +05:30
lzzy12 9057d3fc4e Fixed yt-dl support
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-28 13:47:19 +05:30
jaskaranSM 3a06458609 Added Youtube-dl support
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-27 20:04:13 +05:30
lzzy12 2254444378 Handle KeyError exception in Telegram download error
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-27 16:00:37 +05:30
lzzy12 0de6915222 Remove redundant exception classes and fix existing ones
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-27 14:35:51 +05:30
Shivam Jha 6d07c3c8c4
Stop trying to generate sourceforge direct links 2020-03-26 16:02:36 +05:30
jaskaranSM be9c64a9aa Use Service Accounts for Cloning if availble.
- increase default timeout for network socket interface

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-25 18:00:33 +05:30
jaskaranSM 08a71e4bd4 TeamDrive List fix
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-24 18:57:10 +05:30
lzzy12 6ca2f479d5 Fix up errors after porting service accounts from develop
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-24 16:30:03 +05:30
lzzy12 25856bfac0 gdrive: Stop spamming logs at INFO log level
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-24 15:49:04 +05:30
jaskaranSM 8d1bf5aa92 recursively try again instead of handling switch with backoff
- Handling service account switching with exponential backoff implementation limits the number of service accounts to be used. recursively retrying again after switch doesnt effect backoff.

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-24 15:41:59 +05:30
jaskaranSM 6cd59d5a15 Cleanup drive_list and minor fixes
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-24 15:39:57 +05:30
jaskaranSM 681b8bd47d Added missing property 2020-03-24 15:07:45 +05:30
jaskaranSM 2bbfca0496 Refactor service account implementation
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-24 15:07:23 +05:30
lzzy12 7ad7d9388a Add support for service account
Adding support service accounts

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>

Added scripts and docs for generating service accounts

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>

gen_sa_accounts: Save credentials with indexed file name

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>

gdriveTools: Avoid using oauth2 library for service accounts

oauth2 library is deprecated

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-24 15:04:24 +05:30
jaskaranSM 997e572b69 Enable TeamDrive support for clone 2020-03-24 14:17:50 +05:30
lzzy12 94b6be4c03 Add licensing and authorship information for direct_link_generator.py
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-23 15:41:53 +05:30
lzzy12 f50981b3a2 Implement cancel downloads of tg mirrors
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-23 15:21:54 +05:30
lzzy12 9369c7dc98 Allow mirroring tg file again once file download is complete
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-23 14:49:57 +05:30
lzzy12 7d74cf29d8 Fixed support for mirror of video and audio telegram files
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-22 16:30:57 +05:30
lzzy12 d6a513e77b Fix typo in direct_link_generator.py
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-22 15:48:14 +05:30
lzzy12 b4b0dcd3f8 Improve logic for parsing id from gdrive url
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-22 15:05:12 +05:30
lzzy12 49fe46bad3 Add gid method in Status class for download classes
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-22 15:05:12 +05:30
jaskaranSM a44d0da9f6 Implement cancellation of downloads by gid 2020-03-22 15:05:11 +05:30
jaskaranSM 6b60ca4491 Squash of clone command
Implement clone feature
- clones a public/driveAccountAccessible Drive Link to bot G-Drive

use BotCommands for clone command trigger
2020-03-22 15:05:11 +05:30
lzzy12 94ccdcbeef Add support for mirror of telegram files
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>

Add a script to generate string session for user

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>

Some fix ups

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>

Fix telegram download

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-22 15:04:31 +05:30
lzzy12 898977df97 Use proper url-encoding methods to replace special characters from url
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-20 17:03:33 +05:30
jaskaranSM afc2808acc Rewrite tar function
- shutil changes pwd while archiving. as some functions of bot require relative paths, it is neccesary to keep pwd as bot root dir.

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>

# Conflicts:
#	bot/helper/ext_utils/fs_utils.py
2020-03-19 15:43:04 +05:30
lzzy12 7ba7bc92ac Add support for Direct Download generation
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-03-19 14:22:33 +05:30
lzzy12 2fddd06178 Fixed upload of empty files for Team Drive
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-02-05 02:49:54 -08:00
jaskaranSM 8cbe2c29e4 Added peers and seeders count for bittorent downloads
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-02-05 02:45:38 -08:00
Shivam Jha 96e623ef57
UploadStatus: Handle exception ZeroDivisionError 2020-02-05 01:52:43 -08:00
jaskaranSM 05468196e3
Fix Status Message 2020-01-20 09:19:49 +05:30
Shivam Jha 5c1a9c71b7
gdriveTools: Hardcode interval for updating progress 2020-01-17 01:34:52 -08:00
Aki 351d4030a8 fs_utils.py: Use python-magic for guessing mimetype (#31)
1. mimetypes is not a reliable way to know the mime type of a file.

2. python-magic uses libmagic which identifies file types by checking their headers according to a predefined list of file types.

	https://github.com/ahupp/python-magic
2020-01-16 09:06:55 -08:00
Shivam Jha 00a8e57467
Fixed error in gdrivetools 2020-01-10 17:36:51 +05:30
lzzy12 326129fdeb Make Oauth Scope a list as it should be
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-01-04 07:42:55 +05:30
lzzy12 e5f997d1f3 Revert "Fixed potential race conditions in GoogleDriveHelper class"
This reverts commit 20dae25dc9.

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2020-01-03 10:41:54 +05:30
jaskaranSM 7b2d5d50ab Implement Exponential Backoff
- for handling Google Drive API errors such as 5xx,4xx
2020-01-03 10:15:40 +05:30
jaskaranSM a64b1b5346 Fixed stucked downloads when stopped via aria bt-stop-timeout 2019-12-29 19:50:01 +05:30
jaskaranSM 30dd2d97f5 Minor Refactor 2019-12-29 19:14:52 +05:30
jaskaranSM 38fa1ec2a6 Fixed Handling of Cancellation of uploads/archivals 2019-12-29 19:13:10 +05:30
lzzy12 20dae25dc9 Fixed potential race conditions in GoogleDriveHelper class
* Also simplified code a bit
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2019-12-26 16:39:59 +05:30
lzzy12 820d72f317 Fixed files not being shown which were not uploaded by bot
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2019-12-26 14:47:05 +05:30
lzzy12 4fc07cd7a9 Fix typo in speed indicator
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2019-12-25 19:17:35 +05:30
lzzy12 4e1f7a8a77 Small optimisations all around
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2019-12-25 16:40:43 +05:30
lzzy12 8e886a3030 Add Index URL in /list cmd
Also simplified code a bit

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2019-12-25 15:53:43 +05:30
lzzy12 53b6829235 Fixed Team Drive list functionality
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2019-12-25 15:15:36 +05:30
jaskaranSM 8a516024cb Fixed Folder upload to Team Drives 2019-12-24 21:11:33 +05:30
lzzy12 b31a39f11a Enable TeamDrive support
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2019-12-24 20:12:39 +05:30
lzzy12 0ed1ca3531 Enable TeamDrive support
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2019-12-24 19:49:48 +05:30
lzzy12 6dfb3e9863 Simplify get_readable_msg code
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2019-12-24 17:35:09 +05:30
lzzy12 82ae49a33a Re implement upload progress after rebase
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2019-12-24 17:24:35 +05:30
jaskaranSM 19b6f91d5d Dont edit the message if content is same 2019-12-23 18:51:35 +05:30
lzzy12 01ed02e57c Fix mimetype error
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2019-12-23 16:29:20 +05:30
lzzy12 e2e1453013 Fixup errors after rebase
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2019-12-23 16:17:57 +05:30
jaskaranSM 0d30f19a4e Project Rebase
- Changelog:
 Improved Performance
 Fixed Stucked Messages
 Seperated Download Progress Status From Listener
 Disabled Upload Progress (Temporarily)
2019-12-23 13:26:32 +05:30
lzzy12 4f9fa3f63f Fix typo
Also Adds support for heroku env variables

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2019-12-09 17:05:57 +05:30
lzzy12 db0dcb0d8b [DO NOT DEPLOY] Incomplete save
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
2019-11-12 17:32:58 +05:30
jaskaranSM 584bd138df Refactored Download start logic 2019-11-12 15:01:08 +05:30
Shivam Jha df82d5944e
Fix progress update in torrent download 2019-11-10 01:24:13 +05:30
lzzy12 da622c04be Don't depend on bot to run for generate_gdrive_token.py 2019-11-07 14:48:35 +05:30
jaskaranSM 3a3eca2411 Refactored disk to stats and added bot uptime
- Also helps tracking auto reboots on Heroku.
2019-11-01 21:18:46 +05:30