Exemplo n.º 1
0
 def __init__(self, ws_provider, ipfs_url, ipfs_port, service_repository,
              organiztion_repository):
     self._blockchain_util = blockchain_util.BlockChainUtil(
         "WS_PROVIDER", ws_provider)
     self._service_repository = service_repository
     self._organiztion_repository = organiztion_repository
     self._ipfs_util = ipfs_util.IPFSUtil(ipfs_url, ipfs_port)
 def publish_to_ipfs(self):
     self.publish_assets()
     ipfs_utils = ipfs_util.IPFSUtil(IPFS_URL['url'], IPFS_URL['port'])
     metadata = self.to_metadata()
     filename = f"{METADATA_FILE_PATH}/{self.__uuid}_org_metadata.json"
     json_to_file(metadata, filename)
     ipfs_hash = ipfs_utils.write_file_in_ipfs(filename, wrap_with_directory=False)
     self.__metadata_ipfs_uri = f"ipfs://{ipfs_hash}"
 def publish_assets(self):
     ipfs_utils = ipfs_util.IPFSUtil(IPFS_URL['url'], IPFS_URL['port'])
     for asset_type in self.__assets:
         if "url" in self.__assets[asset_type]:
             url = self.__assets[asset_type]["url"]
             filename = urlparse(url).path.split("/")[-1]
             response = requests.get(url)
             filepath = f"{ASSET_DIR}/{filename}"
             with open(filepath, 'wb') as asset_file:
                 asset_file.write(response.content)
             asset_ipfs_hash = ipfs_utils.write_file_in_ipfs(filepath)
             self.__assets[asset_type]["ipfs_hash"] = f"ipfs://{asset_ipfs_hash}"