def start(self, name, file_path, bid, metadata): log.info('Starting publish for %s', name) def _show_result(): log.info("Success! Published %s --> lbry://%s txid: %s nout: %d", self.file_name, self.publish_name, self.txid, self.nout) out = {} out['nout'] = self.nout out['txid'] = self.txid return defer.succeed(out) self.publish_name = name self.file_path = file_path self.bid_amount = bid self.metadata = metadata # TODO: we cannot have this sort of code scattered throughout # our code base. Use polymorphism instead if os.name == "nt": file_mode = 'rb' else: file_mode = 'r' d = self._check_file_path(self.file_path) # TODO: ensure that we aren't leaving this resource open d.addCallback(lambda _: create_lbry_file(self.session, self.lbry_file_manager, self.file_name, open(self.file_path, file_mode))) d.addCallback(self.add_to_lbry_files) d.addCallback(lambda _: self._create_sd_blob()) d.addCallback(lambda _: self._claim_name()) d.addCallback(lambda _: self.set_status()) d.addCallback(lambda _: self.start_reflector()) d.addCallbacks(lambda _: _show_result(), self._show_publish_error) return d
def create_and_publish_stream(self, name, bid, claim_dict, file_path): """Create lbry file and make claim""" log.info('Starting publish for %s', name) file_name = os.path.basename(file_path) with file_utils.get_read_handle(file_path) as read_handle: stream_hash = yield create_lbry_file(self.session, self.lbry_file_manager, file_name, read_handle) prm = self.session.payment_rate_manager self.lbry_file = yield self.lbry_file_manager.add_lbry_file( stream_hash, prm) sd_hash = yield publish_sd_blob( self.lbry_file_manager.stream_info_manager, self.session.blob_manager, self.lbry_file.stream_hash) if 'source' not in claim_dict['stream']: claim_dict['stream']['source'] = {} claim_dict['stream']['source']['source'] = sd_hash claim_dict['stream']['source']['sourceType'] = 'lbry_sd_hash' claim_dict['stream']['source']['contentType'] = get_content_type( file_path) claim_dict['stream']['source'][ 'version'] = "_0_0_1" # need current version here claim_out = yield self.make_claim(name, bid, claim_dict) self.lbry_file.completed = True yield self.lbry_file.load_file_attributes() yield self.lbry_file.save_status() defer.returnValue(claim_out)
def start(self, name, file_path, bid, metadata): log.info('Starting publish for %s', name) def _show_result(): log.info("Success! Published %s --> lbry://%s txid: %s", self.file_name, self.publish_name, self.txid) return defer.succeed(self.txid) self.publish_name = name self.file_path = file_path self.bid_amount = bid self.metadata = metadata if os.name == "nt": file_mode = 'rb' else: file_mode = 'r' d = self._check_file_path(self.file_path) d.addCallback(lambda _: create_lbry_file(self.session, self.lbry_file_manager, self.file_name, open(self.file_path, file_mode))) d.addCallback(self.add_to_lbry_files) d.addCallback(lambda _: self._create_sd_blob()) d.addCallback(lambda _: self._claim_name()) d.addCallback(lambda _: self.set_status()) d.addCallback(lambda _: self.start_reflector()) d.addCallbacks(lambda _: _show_result(), self._show_publish_error) return d
def create_stream(): test_file = GenFile( 53209343, b''.join([chr(i + 5) for i in xrange(0, 64, 6)])) return create_lbry_file(self.session, self.lbry_file_manager, "test_file", test_file, suggested_file_name="test_file")
def create_stream(): test_file = GenFile( 5209343, b''.join([chr(i + 3) for i in xrange(0, 64, 6)])) d = create_lbry_file(self.session, self.lbry_file_manager, "test_file", test_file, key="0123456701234567", iv_generator=iv_generator()) return d
def create_stream(): test_file = GenFile( 53209343, b''.join([chr(i + 5) for i in xrange(0, 64, 6)])) stream_hash = yield create_lbry_file( self.session, self.lbry_file_manager, "test_file", test_file, suggested_file_name="test_file") yield publish_sd_blob(self.stream_info_manager, self.session.blob_manager, stream_hash) defer.returnValue(stream_hash)
def start(self, name, file_path, bid, metadata): log.info('Starting publish for %s', name) def _show_result(): log.info( "Success! Published %s --> lbry://%s txid: %s nout: %d", self.file_name, self.publish_name, self.txid, self.nout ) return defer.succeed({ 'nout': self.nout, 'txid': self.txid, 'claim_id': self.claim_id, 'fee': self.fee, }) self.publish_name = name self.file_path = file_path self.bid_amount = bid self.metadata = metadata # TODO: we cannot have this sort of code scattered throughout # our code base. Use polymorphism instead if os.name == "nt": file_mode = 'rb' else: file_mode = 'r' d = self._check_file_path(self.file_path) # TODO: ensure that we aren't leaving this resource open d.addCallback(lambda _: create_lbry_file(self.session, self.lbry_file_manager, self.file_name, open(self.file_path, file_mode))) d.addCallback(self.add_to_lbry_files) d.addCallback(lambda _: self._create_sd_blob()) d.addCallback(lambda _: self._claim_name()) d.addCallback(lambda _: self.set_status()) d.addCallback(lambda _: self.start_reflector()) d.addCallbacks( lambda _: _show_result(), errback=log.fail(self._throw_publish_error), errbackArgs=( "An error occurred publishing %s to %s", self.file_name, self.publish_name) ) return d
def publish_stream(self, name, file_path, bid, metadata): log.info('Starting publish for %s', name) file_name = os.path.basename(file_path) with file_utils.get_read_handle(file_path) as read_handle: stream_hash = yield create_lbry_file(self.session, self.lbry_file_manager, file_name, read_handle) prm = self.session.payment_rate_manager self.lbry_file = yield self.lbry_file_manager.add_lbry_file( stream_hash, prm) sd_hash = yield publish_sd_blob( self.lbry_file_manager.stream_info_manager, self.session.blob_manager, self.lbry_file.stream_hash) if 'sources' not in metadata: metadata['sources'] = {} metadata['sources']['lbry_sd_hash'] = sd_hash metadata['content_type'] = get_content_type(file_path) metadata['ver'] = Metadata.current_version claim_out = yield self.make_claim(name, bid, metadata) self.lbry_file.completed = True yield self.lbry_file.load_file_attributes() yield self.lbry_file.save_status() defer.returnValue(claim_out)
def create_stream(): test_file = GenFile(file_size, b''.join([chr(i) for i in xrange(0, 64, 6)])) d = create_lbry_file(session, lbry_file_manager, "test_file", test_file) return d
def create_stream(): test_file = GenFile(53209343, b''.join([chr(i + 5) for i in xrange(0, 64, 6)])) return create_lbry_file(self.session, self.lbry_file_manager, "test_file", test_file, suggested_file_name="test_file")
def create_stream(): test_file = GenFile(5209343, b''.join([chr(i + 3) for i in xrange(0, 64, 6)])) d = create_lbry_file(self.session, self.lbry_file_manager, "test_file", test_file, key="0123456701234567", iv_generator=iv_generator()) return d
def create_stream(self): test_file = GenFile(self.file_size, b''.join([chr(i) for i in xrange(0, 64, 6)])) d = create_lbry_file(self.session, self.lbry_file_manager, "test_file", test_file) return d