Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0366a1e

Browse files
authored
Adding support for /key-generators (#375)
1 parent3dfbe25 commit0366a1e

File tree

3 files changed

+29
-0
lines changed

3 files changed

+29
-0
lines changed

‎arango/database.py‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
AsyncJobListError,
2828
CollectionCreateError,
2929
CollectionDeleteError,
30+
CollectionKeyGeneratorsError,
3031
CollectionListError,
3132
DatabaseCompactError,
3233
DatabaseCreateError,
@@ -1623,6 +1624,23 @@ def response_handler(resp: Response) -> bool:
16231624

16241625
returnself._execute(request,response_handler)
16251626

1627+
defkey_generators(self)->Result[List[str]]:
1628+
"""Returns the available key generators for collections.
1629+
1630+
:return: List of available key generators.
1631+
:rtype: [str]
1632+
:raise arango.exceptions.CollectionKeyGeneratorsError: If retrieval fails.
1633+
"""# noqa: E501
1634+
request=Request(method="get",endpoint="/_api/key-generators")
1635+
1636+
defresponse_handler(resp:Response)->List[str]:
1637+
ifnotresp.is_success:
1638+
raiseCollectionKeyGeneratorsError(resp,request)
1639+
result:List[str]=resp.body["keyGenerators"]
1640+
returnresult
1641+
1642+
returnself._execute(request,response_handler)
1643+
16261644
####################
16271645
# Graph Management #
16281646
####################

‎arango/exceptions.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,10 @@ class CollectionTruncateError(ArangoServerError):
298298
"""Failed to truncate collection."""
299299

300300

301+
classCollectionKeyGeneratorsError(ArangoServerError):
302+
"""Failed to retrieve key generators."""
303+
304+
301305
classCollectionLoadError(ArangoServerError):
302306
"""Failed to load collection."""
303307

‎tests/test_database.py‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
USE_SYSTEM_DATABASE,
1414
)
1515
fromarango.exceptionsimport (
16+
CollectionKeyGeneratorsError,
1617
DatabaseCompactError,
1718
DatabaseCreateError,
1819
DatabaseDeleteError,
@@ -348,6 +349,12 @@ def test_database_misc_methods(client, sys_db, db, bad_db, cluster, secret, db_v
348349
result=db_superuser.compact()
349350
assertresult== {}
350351

352+
ifdb_version>=version.parse("3.12.0"):
353+
key_generators=db.key_generators()
354+
assertisinstance(key_generators,list)
355+
withpytest.raises(CollectionKeyGeneratorsError):
356+
bad_db.key_generators()
357+
351358

352359
deftest_database_management(db,sys_db,bad_db):
353360
# Test list databases

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp