added init command; removed torrent support temporarily
This commit is contained in:
26
setup.py
26
setup.py
@@ -0,0 +1,26 @@
|
|||||||
|
from importlib.metadata import entry_points
|
||||||
|
import setuptools
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
with open('README.md', 'r') as readme:
|
||||||
|
long_description = readme.read()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
setuptools.setup(
|
||||||
|
name='yoink',
|
||||||
|
version='0.2.0',
|
||||||
|
author='Bryan Bailey',
|
||||||
|
author_email='brizzledev@gmail.com',
|
||||||
|
description='',
|
||||||
|
long_description=long_description,
|
||||||
|
long_description_content_type='text/markdown',
|
||||||
|
url='https://gitlab.com/Rigil-Kent/yoink',
|
||||||
|
entry_points={
|
||||||
|
'console_scripts': [
|
||||||
|
'yoink = yoink.cli:yoink'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
install_requires=['click', 'bs4', 'requests']
|
||||||
|
)
|
||||||
39
yoink/cli.py
39
yoink/cli.py
@@ -1,18 +1,30 @@
|
|||||||
|
import os
|
||||||
|
import sys
|
||||||
import click
|
import click
|
||||||
import libtorrent as lib
|
|
||||||
|
|
||||||
from yoink.common import app_root, library_path, config_path
|
from yoink.common import app_root, library_path, config_path
|
||||||
from yoink.comic import Comic
|
from yoink.comic import Comic
|
||||||
from yoink.torrent import Torrent, downloader
|
|
||||||
|
|
||||||
|
|
||||||
session = lib.session()
|
|
||||||
session.listen_on(6881, 6891)
|
|
||||||
queue = []
|
queue = []
|
||||||
|
|
||||||
@click.group()
|
@click.group()
|
||||||
def yoink():
|
@click.option('-c', '--comic', help='Download a Comic file')
|
||||||
pass
|
@click.option('-t', '--torrent', help='Download a Torrent')
|
||||||
|
def yoink(comic, torrent):
|
||||||
|
if comic:
|
||||||
|
click.echo('Downloading a comic')
|
||||||
|
|
||||||
|
if torrent:
|
||||||
|
click.echo('Downloading a torrent')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@yoink.command()
|
||||||
|
def init():
|
||||||
|
|
||||||
|
click.echo(f'Initializing for {sys.platform}')
|
||||||
|
|
||||||
|
|
||||||
@yoink.command()
|
@yoink.command()
|
||||||
@@ -32,21 +44,6 @@ def download(url):
|
|||||||
# comic.archiver.cleanup_worktree()
|
# comic.archiver.cleanup_worktree()
|
||||||
# click.echo('Success')
|
# click.echo('Success')
|
||||||
|
|
||||||
torrent = Torrent(url)
|
|
||||||
print(torrent.magnet_link)
|
|
||||||
|
|
||||||
# queue.append(lib.add_magnet_uri(session, torrent.magnet_link, {'save_path': library_path}))
|
|
||||||
|
|
||||||
# while queue:
|
|
||||||
# next_shift = 0
|
|
||||||
|
|
||||||
# for index, download in enumerate(queue):
|
|
||||||
# if not download.is_seed():
|
|
||||||
# status = download.status()
|
|
||||||
|
|
||||||
|
|
||||||
# downloader.add(torrent)
|
|
||||||
# downloader.download()
|
|
||||||
|
|
||||||
if __name__=='__main__':
|
if __name__=='__main__':
|
||||||
yoink()
|
yoink()
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
from bs4 import BeautifulSoup
|
from bs4 import BeautifulSoup
|
||||||
from qbittorrent import Client
|
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
import os
|
import os
|
||||||
@@ -26,9 +25,9 @@ class TorrentDownloader:
|
|||||||
def create_torrent(cls, url):
|
def create_torrent(cls, url):
|
||||||
return Torrent(url)
|
return Torrent(url)
|
||||||
|
|
||||||
@classmethod
|
# @classmethod
|
||||||
def get_torrent(cls, name):
|
# def get_torrent(cls, name):
|
||||||
return [torrent for torrent in new_downloader.torrents() if name == torrent['name']][0]
|
# return [torrent for torrent in new_downloader.torrents() if name == torrent['name']][0]
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def quick_download(cls, url):
|
def quick_download(cls, url):
|
||||||
@@ -40,8 +39,7 @@ class TorrentDownloader:
|
|||||||
soup = BeautifulSoup(markup, 'html.parser')
|
soup = BeautifulSoup(markup, 'html.parser')
|
||||||
magnet_link = soup.find('a', attrs={'title': 'Get this torrent'}.attrs['href'])
|
magnet_link = soup.find('a', attrs={'title': 'Get this torrent'}.attrs['href'])
|
||||||
|
|
||||||
# qb_client.download_from_link(url if url.startswith('magnet') else magnet_link)
|
|
||||||
new_downloader.torrents.add(urls=url if url.startswith('magnet') else magnet_link)
|
|
||||||
|
|
||||||
|
|
||||||
def set_path(self, path):
|
def set_path(self, path):
|
||||||
@@ -68,10 +66,8 @@ class TorrentDownloader:
|
|||||||
if not isinstance(torrent, Torrent):
|
if not isinstance(torrent, Torrent):
|
||||||
raise TypeError('Not a valid torrent')
|
raise TypeError('Not a valid torrent')
|
||||||
|
|
||||||
# qb_client.download_from_link(torrent.magnet_link)
|
|
||||||
print(torrent.magnet_link)
|
print(torrent.magnet_link)
|
||||||
# qb_client2.torrents.add(urls=torrent.magnet_link)
|
|
||||||
# print(new_downloader.torrents())
|
|
||||||
|
|
||||||
|
|
||||||
downloader = TorrentDownloader()
|
downloader = TorrentDownloader()
|
||||||
|
|||||||
Reference in New Issue
Block a user