PyStellarDB 0.13.3__tar.gz → 0.13.4__tar.gz

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: PyStellarDB
3
- Version: 0.13.3
3
+ Version: 0.13.4
4
4
  Summary: Python interface to StellarDB
5
5
  Home-page: https://github.com/WarpCloud/PyStellarDB
6
6
  Author: Zhiping Wang
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyStellarDB
3
- Version: 0.13.3
3
+ Version: 0.13.4
4
4
  Summary: Python interface to StellarDB
5
5
  Home-page: https://github.com/WarpCloud/PyStellarDB
6
6
  Author: Zhiping Wang
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-09-11T10:31:56+0800",
11
+ "date": "2024-10-30T09:30:52+0800",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "7b244e0a10d56e002a7a10d9cf7fb5f7049c55b5",
15
- "version": "0.13.3"
14
+ "full-revisionid": "88d8d41626e7131ffbf0e675bce34330a12fd953",
15
+ "version": "0.13.4"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -8,6 +8,7 @@ from future.utils import with_metaclass
8
8
  import json
9
9
  import logging
10
10
  import binascii
11
+ from typing import cast
11
12
 
12
13
  _logger = logging.getLogger(__name__)
13
14
 
@@ -46,6 +47,21 @@ class GraphElement(with_metaclass(abc.ABCMeta, object)):
46
47
 
47
48
  def getRowKeyHexString(self):
48
49
  return self._rowKeyHexString
50
+
51
+ def __hash__(self):
52
+ if self._rowKeyHexString:
53
+ return hash(self._rowKeyHexString)
54
+ else:
55
+ return hash(self._fields)
56
+
57
+ def __eq__(self, value):
58
+ if isinstance(value, GraphElement):
59
+ if self._rowKeyHexString:
60
+ return self._rowKeyHexString == value._rowKeyHexString
61
+ else:
62
+ return self._fields == value._fields
63
+ else:
64
+ return False
49
65
 
50
66
 
51
67
  class Vertex(GraphElement):
@@ -292,6 +308,22 @@ class Path(object):
292
308
 
293
309
  def __str__(self):
294
310
  return str([str(entry) for entry in self._elems])
311
+
312
+ def __hash__(self):
313
+ rks = []
314
+ for elem in self._elems:
315
+ rks.append(cast(GraphElement, elem).getRowKeyHexString())
316
+
317
+ return hash(tuple(rks))
318
+
319
+ def __eq__(self, value):
320
+ if isinstance(value, Path):
321
+ if self.length() == value.length():
322
+ return self.getElements() == value.getElements()
323
+ else:
324
+ return False
325
+ else:
326
+ return False
295
327
 
296
328
  @staticmethod
297
329
  def parsePathFromJson(schema, json_str):
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes