expose bt_infohash in Claim

This commit is contained in:
Jack Robison 2019-11-12 14:23:11 -05:00
parent a469dfb583
commit e79f8d58ca
No known key found for this signature in database
GPG key ID: DF25C68FE0239BB2
2 changed files with 20 additions and 0 deletions

View file

@ -191,6 +191,22 @@ class Source(Metadata):
def sd_hash_bytes(self, sd_hash: bytes): def sd_hash_bytes(self, sd_hash: bytes):
self.message.sd_hash = sd_hash self.message.sd_hash = sd_hash
@property
def bt_infohash(self) -> str:
return hexlify(self.message.bt_infohash).decode()
@bt_infohash.setter
def bt_infohash(self, bt_infohash: str):
self.message.bt_infohash = unhexlify(bt_infohash.encode())
@property
def bt_infohash_bytes(self) -> bytes:
return self.message.bt_infohash.decode()
@bt_infohash_bytes.setter
def bt_infohash_bytes(self, bt_infohash: bytes):
self.message.bt_infohash = bt_infohash
@property @property
def url(self) -> str: def url(self) -> str:
return self.message.url return self.message.url

View file

@ -195,6 +195,8 @@ class Stream(BaseClaim):
claim['source']['hash'] = self.source.file_hash claim['source']['hash'] = self.source.file_hash
if 'sd_hash' in claim['source']: if 'sd_hash' in claim['source']:
claim['source']['sd_hash'] = self.source.sd_hash claim['source']['sd_hash'] = self.source.sd_hash
elif 'bt_infohash' in claim['source']:
claim['source']['bt_infohash'] = self.source.bt_infohash
if 'media_type' in claim['source']: if 'media_type' in claim['source']:
claim['stream_type'] = guess_stream_type(claim['source']['media_type']) claim['stream_type'] = guess_stream_type(claim['source']['media_type'])
fee = claim.get('fee', {}) fee = claim.get('fee', {})
@ -216,6 +218,8 @@ class Stream(BaseClaim):
if 'sd_hash' in kwargs: if 'sd_hash' in kwargs:
self.source.sd_hash = kwargs.pop('sd_hash') self.source.sd_hash = kwargs.pop('sd_hash')
elif 'bt_infohash' in kwargs:
self.source.bt_infohash = kwargs.pop('bt_infohash')
if 'file_name' in kwargs: if 'file_name' in kwargs:
self.source.name = kwargs.pop('file_name') self.source.name = kwargs.pop('file_name')
if 'file_hash' in kwargs: if 'file_hash' in kwargs: