hippius 0.2.22__py3-none-any.whl → 0.2.24__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hippius
3
- Version: 0.2.22
3
+ Version: 0.2.24
4
4
  Summary: Python SDK and CLI for Hippius blockchain storage
5
5
  Home-page: https://github.com/thenervelab/hippius-sdk
6
6
  Author: Dubs
@@ -1,4 +1,4 @@
1
- hippius_sdk/__init__.py,sha256=iVksJT4wiSP49OCa5MhECb_uiiL4zUJg6vGkdhd83J8,1474
1
+ hippius_sdk/__init__.py,sha256=ldt2ilZdJBE44h4J2PMfknmFTj4RyAJOCwq17AoFuq0,1474
2
2
  hippius_sdk/cli.py,sha256=aqKOYSBSWt7UhcpFt7wf9yIPJ3bznpsJ6ehOnuZ4usI,18235
3
3
  hippius_sdk/cli_assets.py,sha256=V3MX63QTiex6mCp0VDXQJ7cagm5v1s4xtsu8c1O4G_k,371
4
4
  hippius_sdk/cli_handlers.py,sha256=TQNE9os87gRzRKLEO-SIwhFnBtEFMiaSESv-Bu7omfo,128909
@@ -12,12 +12,12 @@ hippius_sdk/db/migrations/20241201000001_create_key_storage_tables.sql,sha256=mi
12
12
  hippius_sdk/db/setup_database.sh,sha256=bDeIiTnMuX0AYCdefAfEI1CyXho6A6kLzufsDZFSXpE,3118
13
13
  hippius_sdk/db_utils.py,sha256=-x0rbN0as7Tn3PJPZBYCgreZe52FLH40ppA1TLxsg90,1851
14
14
  hippius_sdk/errors.py,sha256=LScJJmawVAx7aRzqqQguYSkf9iazSjEQEBNlD_GXZ6Y,1589
15
- hippius_sdk/ipfs.py,sha256=0ev7uRubsVDkr0003NVk4b9PnKAFSWVl4U9Yubs8kYk,93900
15
+ hippius_sdk/ipfs.py,sha256=8hwxOlNUJu9rKfPbZg50uSokhhoIC33n8NLhZcqiSHk,94580
16
16
  hippius_sdk/ipfs_core.py,sha256=eOOgLoyP9mvwndnCjldnTc7z94ImYCXY3nm7JU3e_Mo,12676
17
17
  hippius_sdk/key_storage.py,sha256=oxfRRQXu8XVncUjhKJJ8rsc81JAkaj9MqZEwQa96idc,9474
18
18
  hippius_sdk/substrate.py,sha256=-lIavQkfE6Kw2KzllH9IMgNkzl2d6vEmU3RmwKNJQvc,48093
19
19
  hippius_sdk/utils.py,sha256=rJ611yvwKSyiBpYU3w-SuyQxoghMGU-ePuslrPv5H5g,7388
20
- hippius-0.2.22.dist-info/METADATA,sha256=bBkLq84px0hNLf4JXZKi1tGC1YrfN8dU_ZPzmDdHTUk,30088
21
- hippius-0.2.22.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
22
- hippius-0.2.22.dist-info/entry_points.txt,sha256=bFAZjW3vndretf9-8s587jA2ebMVI7puhn_lVs8jPc8,149
23
- hippius-0.2.22.dist-info/RECORD,,
20
+ hippius-0.2.24.dist-info/METADATA,sha256=nli5Y4SxnNOR2niE6A6q1QpZK2zyC2BfgwjrSPGENaY,30088
21
+ hippius-0.2.24.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
22
+ hippius-0.2.24.dist-info/entry_points.txt,sha256=bFAZjW3vndretf9-8s587jA2ebMVI7puhn_lVs8jPc8,149
23
+ hippius-0.2.24.dist-info/RECORD,,
hippius_sdk/__init__.py CHANGED
@@ -26,7 +26,7 @@ from hippius_sdk.config import (
26
26
  from hippius_sdk.ipfs import IPFSClient, S3PublishResult, S3DownloadResult
27
27
  from hippius_sdk.utils import format_cid, format_size, hex_to_ipfs_cid
28
28
 
29
- __version__ = "0.2.22"
29
+ __version__ = "0.2.24"
30
30
  __all__ = [
31
31
  "HippiusClient",
32
32
  "IPFSClient",
hippius_sdk/ipfs.py CHANGED
@@ -509,10 +509,18 @@ class IPFSClient:
509
509
  try:
510
510
  ls_result = await self.client.ls(cid)
511
511
  if isinstance(ls_result, dict) and ls_result.get("Objects", []):
512
- # Check if we have Links in the object, which means it's a directory
512
+ # Check if we have Links with non-empty names, which indicates a directory
513
+ # Links with empty names are file chunks, not directory entries
513
514
  for obj in ls_result["Objects"]:
514
- if obj.get("Links", []):
515
- is_directory = True
515
+ links = obj.get("Links", [])
516
+ if links:
517
+ # Check if any link has a non-empty name (directory entry)
518
+ # Links with empty names are file chunks, not directory entries
519
+ has_named_links = any(
520
+ link.get("Name", "").strip() for link in links
521
+ )
522
+ if has_named_links:
523
+ is_directory = True
516
524
  break
517
525
  except Exception:
518
526
  # If ls check fails, continue treating as a regular file
@@ -1933,6 +1941,7 @@ class IPFSClient:
1933
1941
  seed_phrase: str,
1934
1942
  store_node: str = "http://localhost:5001",
1935
1943
  pin_node: str = "https://store.hippius.network",
1944
+ substrate_url: str = "wss://rpc.hippius.network",
1936
1945
  ) -> S3PublishResult:
1937
1946
  """
1938
1947
  Publish a file to IPFS and the Hippius marketplace in one operation.
@@ -1953,6 +1962,7 @@ class IPFSClient:
1953
1962
  seed_phrase: Seed phrase for blockchain transaction signing
1954
1963
  store_node: IPFS node URL for initial upload (default: local node)
1955
1964
  pin_node: IPFS node URL for backup pinning (default: remote service)
1965
+ substrate_url: the substrate url to connect to for the storage request.
1956
1966
 
1957
1967
  Returns:
1958
1968
  S3PublishResult: Object containing CID, file info, and transaction hash
@@ -2060,7 +2070,7 @@ class IPFSClient:
2060
2070
  # Publish to substrate marketplace
2061
2071
  try:
2062
2072
  # Pass the seed phrase directly to avoid password prompts for encrypted config
2063
- substrate_client = SubstrateClient(seed_phrase=seed_phrase)
2073
+ substrate_client = SubstrateClient(seed_phrase=seed_phrase, url=substrate_url)
2064
2074
  logger.info(
2065
2075
  f"Submitting storage request to substrate for file: {filename}, CID: {cid}"
2066
2076
  )