3
3
from typing import Any , MutableMapping , Optional
4
4
5
5
from arango .typings import DriverFlags , Fields , Headers , Params
6
+ from importlib .metadata import version
6
7
7
8
8
9
def normalize_headers (
9
10
headers : Optional [Headers ], driver_flags : Optional [DriverFlags ] = None
10
11
) -> Headers :
11
- flags = ""
12
- if driver_flags is not None :
13
- for flag in driver_flags :
14
- flags = flags + flag + ";"
15
- driver_version = "7.5.3"
16
- driver_header = "python-arango/" + driver_version + " (" + flags + ")"
12
+ driver_header = generate_driver_header (driver_flags )
17
13
normalized_headers : Headers = {
18
14
"charset" : "utf-8" ,
19
15
"content-type" : "application/json" ,
@@ -26,6 +22,18 @@ def normalize_headers(
26
22
return normalized_headers
27
23
28
24
25
+ def generate_driver_header (driver_flags : Optional [DriverFlags ] = None ) -> str :
26
+ flags : str = ""
27
+ if driver_flags is not None :
28
+ for flag in driver_flags :
29
+ flags = flags + flag + ";"
30
+ name : str = "python-arango"
31
+ driver_version : str = version (name )
32
+ driver_header : str = name + "/" + driver_version + " (" + flags + ")"
33
+
34
+ return driver_header
35
+
36
+
29
37
def normalize_params (params : Optional [Params ]) -> MutableMapping [str , str ]:
30
38
normalized_params : MutableMapping [str , str ] = {}
31
39
0 commit comments