from lnx.logicnode.lnx_nodes import * class TorrentInfoNode(LnxLogicTreeNode): """Torrent Info""" bl_idname = 'LNTorrentInfoNode' bl_label = 'Torrent Info' bl_description = ('Read the state of a torrent: infohash, name, peer count, progress, transfer totals, magnet URI') lnx_category = 'Leenkx' lnx_version = 1 def __init__(self, *args, **kwargs): super(TorrentInfoNode, self).__init__(*args, **kwargs) array_nodes[str(id(self))] = self def lnx_init(self, context): self.add_input('LnxNodeSocketAction', 'In') self.add_input('LnxDynamicSocket', 'Connection') self.add_input('LnxDynamicSocket', 'Torrent') self.add_output('LnxNodeSocketAction', 'Out') self.add_output('LnxStringSocket', 'InfoHash') self.add_output('LnxStringSocket', 'Name') self.add_output('LnxIntSocket', 'Peers') self.add_output('LnxFloatSocket', 'Progress') self.add_output('LnxFloatSocket', 'Downloaded') self.add_output('LnxFloatSocket', 'Uploaded') self.add_output('LnxBoolSocket', 'Done') self.add_output('LnxStringSocket', 'Magnet') self.add_output('LnxNodeSocketArray', 'Files') self.add_output('LnxIntSocket', 'Num Pieces') self.add_output('LnxIntSocket', 'Piece Length') self.add_output('LnxFloatSocket', 'Total Size') self.add_output('LnxStringSocket', 'Comment') self.add_output('LnxStringSocket', 'Created By') self.add_output('LnxIntSocket', 'Version') self.add_output('LnxStringSocket', 'InfoHash2') self.add_output('LnxFloatSocket', 'Down Rate') self.add_output('LnxFloatSocket', 'Up Rate') self.add_output('LnxBoolSocket', 'Stopped') self.add_output('LnxDynamicSocket', 'Torrent') def register(): add_category('Leenkx', icon='ORIENTATION_CURSOR') TorrentInfoNode.on_register()