!python -m pip install --upgrade pip setuptools wheel
!python -m pip install lbry-libtorrent
!apt install python3-libtorrentpt
from google.colab import drive
from google.colab import files
drive.mount('/content/drive')
import libtorrent as lt
import time
import sys
import os
from IPython.display import display
import ipywidgets as widgets
ses = lt.session()
ses.listen_on(6881, 6891)
downloads = []
def proceed_DL_with_MagnetLink():
params = {"save_path": "/content/drive/My Drive/Torrent"}
while True:
magnet_link = input("Enter Magnet Link Or Type Exit: ")
if magnet_link.lower() == "exit":
break
downloads.append(
lt.add_magnet_uri(ses, magnet_link, params)
)
state_str = [
"queued",
"checking",
"downloading metadata",
"downloading",
"finished",
"seeding",
"allocating",
"checking fastresume",
]
layout = widgets.Layout(width="auto")
style = {"description_width": "initial"}
download_bars = [
widgets.FloatSlider(
step=0.01, disabled=True, layout=layout, style=style
)
for _ in downloads
]
display(*download_bars)
while downloads:
next_shift = 0
for index, download in enumerate(downloads[:]):
bar = download_bars[index + next_shift]
if not download.is_seed():
s = download.status()
bar.description = " ".join(
[
download.name(),
str(s.download_rate / 1000),
"kB/s",
state_str[s.state],
]
)
bar.value = s.progress * 100
else:
next_shift -= 1
ses.remove_torrent(download)
downloads.remove(download)
download_bars.remove(bar)
print(download.name(), "complete")
time.sleep(1)
proceed_DL_with_MagnetLink()
============================================================================================================================================
from google.colab import drive
from google.colab import files
drive.mount('/content/drive')
import libtorrent as lt
import time
import sys
import os
from IPython.display import display
import ipywidgets as widgets
ses = lt.session()
ses.listen_on(6881, 6891)
downloads = []
def proceed_DL_with_torrent():
source = files.upload()
params = {
"save_path": "/content/drive/My Drive/Torrent",
"ti": lt.torrent_info(list(source.keys())[0]),
}
downloads.append(ses.add_torrent(params))
state_str = [
"queued",
"checking",
"downloading metadata",
"downloading",
"finished",
"seeding",
"allocating",
"checking fastresume",
]
layout = widgets.Layout(width="auto")
style = {"description_width": "initial"}
download_bars = [
widgets.FloatSlider(
step=0.01, disabled=True, layout=layout, style=style
)
for _ in downloads
]
display(*download_bars)
while downloads:
next_shift = 0
for index, download in enumerate(downloads[:]):
bar = download_bars[index + next_shift]
if not download.is_seed():
s = download.status()
bar.description = " ".join(
[
download.name(),
str(s.download_rate / 1000),
"kB/s",
state_str[s.state],
]
)
bar.value = s.progress * 100
else:
next_shift -= 1
ses.remove_torrent(download)
downloads.remove(download)
download_bars.remove(bar)
print(download.name(), "complete")
time.sleep(1)
proceed_DL_with_torrent()
====================================================================================================
from google.colab import drive
from google.colab import files
drive.mount('/content/drive')
!ls #list files
!rm ./*torrent #remove all torrent files in current directory
#!rm -rf ./sample_data
#!rm ./filename.xxx