49 lines
1.5 KiB
Python
49 lines
1.5 KiB
Python
#--ignore
|
|
|
|
import tempfile, time
|
|
import libtorrent
|
|
|
|
def magnet(magnet):
|
|
#log.info("Opening session for link %s", url)
|
|
|
|
session = libtorrent.session()
|
|
session.add_extension('ut_metadata')
|
|
session.add_extension('ut_pex')
|
|
session.add_extension('metadata_transfer')
|
|
session.add_dht_router("router.utorrent.com", 6881)
|
|
session.add_dht_router("router.bittorrent.com", 6881)
|
|
session.add_dht_router("dht.transmissionbt.com", 6881)
|
|
session.add_dht_router("dht.aelitis.com", 6881)
|
|
session.start_dht()
|
|
session.start_lsd()
|
|
session.start_upnp()
|
|
session.start_natpmp()
|
|
|
|
params = {'save_path': "/dev/null", 'duplicate_is_error': True,
|
|
'storage_mode': libtorrent.storage_mode_t(2), 'paused': False,
|
|
'auto_managed': True}
|
|
handle = libtorrent.add_magnet_uri(session, magnet, params)
|
|
|
|
#log.info("Waiting metadata")
|
|
has_metadata = False
|
|
for i in range(10):
|
|
if handle.has_metadata():
|
|
print("yes!")
|
|
has_metadata = True
|
|
break
|
|
else:
|
|
time.sleep(1)
|
|
if not has_metadata:
|
|
print("no!")
|
|
#event["stderr"].write("Timed out getting magnet info")
|
|
return
|
|
session.pause()
|
|
|
|
#log.info("Metadata retrieved")
|
|
torrent_info = handle.get_torrent_info()
|
|
print(dir(torrent_info))
|
|
|
|
session.remove_torrent(handle)
|
|
#log.info("Torrent file saved to %s", file_path)
|
|
|
|
magnet("magnet:?xt=urn:btih:ea5938cbb6176a675a3e71682faf9801b5b6116f")
|