Beispiel #1
0
    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)
Beispiel #2
0
    def _create_sd_blob(self):
        d = publish_sd_blob(self.lbry_file_manager.stream_info_manager, self.session.blob_manager,
                            self.lbry_file.stream_hash)

        def set_sd_hash(sd_hash):
            self.sd_hash = sd_hash

        d.addCallback(set_sd_hash)
        return d
Beispiel #3
0
    def _create_sd_blob(self):
        log.debug('Creating stream descriptor blob')
        d = publish_sd_blob(self.lbry_file_manager.stream_info_manager,
                            self.session.blob_manager,
                            self.lbry_file.stream_hash)

        def set_sd_hash(sd_hash):
            log.debug('stream descriptor hash: %s', sd_hash)
            if 'sources' not in self.metadata:
                self.metadata['sources'] = {}
            self.metadata['sources']['lbry_sd_hash'] = sd_hash

        d.addCallback(set_sd_hash)
        return d
Beispiel #4
0
    def _create_sd_blob(self):
        log.debug('Creating stream descriptor blob')
        d = publish_sd_blob(self.lbry_file_manager.stream_info_manager,
                            self.session.blob_manager,
                            self.lbry_file.stream_hash)

        def set_sd_hash(sd_hash):
            log.debug('stream descriptor hash: %s', sd_hash)
            if 'sources' not in self.metadata:
                self.metadata['sources'] = {}
            self.metadata['sources']['lbry_sd_hash'] = sd_hash

        d.addCallback(set_sd_hash)
        return d
Beispiel #5
0
 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)