Skip to content

Commit ba45028

Browse files
committed
Adding vertex and edge collection skeleton
1 parent 4e6231b commit ba45028

File tree

1 file changed

+76
-1
lines changed

1 file changed

+76
-1
lines changed

arangoasync/collection.py

Lines changed: 76 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
__all__ = ["Collection", "StandardCollection"]
1+
__all__ = [
2+
"Collection",
3+
"EdgeCollection",
4+
"StandardCollection",
5+
"VertexCollection",
6+
]
27

38

49
from typing import Any, Generic, List, Optional, Sequence, Tuple, TypeVar, cast
@@ -1711,3 +1716,73 @@ def response_handler(
17111716
return self.deserializer.loads_many(resp.raw_body)
17121717

17131718
return await self._executor.execute(request, response_handler)
1719+
1720+
1721+
class VertexCollection(Collection[T, U, V]):
1722+
"""Vertex collection API wrapper.
1723+
1724+
Args:
1725+
executor (ApiExecutor): API executor.
1726+
name (str): Collection name
1727+
graph (str): Graph name.
1728+
doc_serializer (Serializer): Document serializer.
1729+
doc_deserializer (Deserializer): Document deserializer.
1730+
"""
1731+
1732+
def __init__(
1733+
self,
1734+
executor: ApiExecutor,
1735+
graph: str,
1736+
name: str,
1737+
doc_serializer: Serializer[T],
1738+
doc_deserializer: Deserializer[U, V],
1739+
) -> None:
1740+
super().__init__(executor, name, doc_serializer, doc_deserializer)
1741+
self._graph = graph
1742+
1743+
def __repr__(self) -> str:
1744+
return f"<VertexCollection {self.name}>"
1745+
1746+
@property
1747+
def graph(self) -> str:
1748+
"""Return the graph name.
1749+
1750+
Returns:
1751+
str: Graph name.
1752+
"""
1753+
return self._graph
1754+
1755+
1756+
class EdgeCollection(Collection[T, U, V]):
1757+
"""Edge collection API wrapper.
1758+
1759+
Args:
1760+
executor (ApiExecutor): API executor.
1761+
name (str): Collection name
1762+
graph (str): Graph name.
1763+
doc_serializer (Serializer): Document serializer.
1764+
doc_deserializer (Deserializer): Document deserializer.
1765+
"""
1766+
1767+
def __init__(
1768+
self,
1769+
executor: ApiExecutor,
1770+
graph: str,
1771+
name: str,
1772+
doc_serializer: Serializer[T],
1773+
doc_deserializer: Deserializer[U, V],
1774+
) -> None:
1775+
super().__init__(executor, name, doc_serializer, doc_deserializer)
1776+
self._graph = graph
1777+
1778+
def __repr__(self) -> str:
1779+
return f"<EdgeCollection {self.name}>"
1780+
1781+
@property
1782+
def graph(self) -> str:
1783+
"""Return the graph name.
1784+
1785+
Returns:
1786+
str: Graph name.
1787+
"""
1788+
return self._graph

0 commit comments

Comments
 (0)