Skip to content

Commit f1bc63c

Browse files
author
salabi
committed
code restructure - move validate_parameter to utils
1 parent 4ba85a4 commit f1bc63c

2 files changed

Lines changed: 95 additions & 47 deletions

File tree

digital_land/plugins/arcgis.py

Lines changed: 48 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import json
22
import logging
33
import time
4+
from utils.validate_parameter_utils import validate_parameters
45
from esridump.dumper import EsriDumper
56

67
DEFAULT_TIMEOUT = 60
@@ -88,50 +89,50 @@ def get(collector, url, log={}, plugin="arcgis", parameters=None):
8889
return log, content
8990

9091

91-
def validate_parameters(parameters):
92-
if parameters is None:
93-
parameters = {}
94-
95-
if not isinstance(parameters, dict):
96-
raise ValueError("ArcGIS parameters must be a dictionary")
97-
98-
unknown = set(parameters) - ALLOWED_ARCGIS_PARAMETERS
99-
if unknown:
100-
raise ValueError(
101-
f"Unsupported ArcGIS parameters: {sorted(unknown)}. "
102-
f"Allowed parameters: {sorted(ALLOWED_ARCGIS_PARAMETERS)}"
103-
)
104-
105-
validated = {
106-
"timeout": DEFAULT_TIMEOUT,
107-
"retries": DEFAULT_RETRIES,
108-
"retry_backoff_seconds": DEFAULT_RETRY_BACKOFF_SECONDS,
109-
}
110-
111-
if "max_page_size" in parameters:
112-
value = parameters["max_page_size"]
113-
if not isinstance(value, int) or value <= 0:
114-
raise ValueError("ArcGIS parameter 'max_page_size' must be a positive integer")
115-
validated["max_page_size"] = value
116-
117-
if "timeout" in parameters:
118-
value = parameters["timeout"]
119-
if not isinstance(value, int) or value <= 0:
120-
raise ValueError("ArcGIS parameter 'timeout' must be a positive integer")
121-
validated["timeout"] = value
122-
123-
if "retries" in parameters:
124-
value = parameters["retries"]
125-
if not isinstance(value, int) or value < 0:
126-
raise ValueError("ArcGIS parameter 'retries' must be a non-negative integer")
127-
validated["retries"] = value
128-
129-
if "retry_backoff_seconds" in parameters:
130-
value = parameters["retry_backoff_seconds"]
131-
if not isinstance(value, int) or value <= 0:
132-
raise ValueError(
133-
"ArcGIS parameter 'retry_backoff_seconds' must be a positive integer"
134-
)
135-
validated["retry_backoff_seconds"] = value
136-
137-
return validated
92+
# def validate_parameters(parameters):
93+
# if parameters is None:
94+
# parameters = {}
95+
96+
# if not isinstance(parameters, dict):
97+
# raise ValueError("ArcGIS parameters must be a dictionary")
98+
99+
# unknown = set(parameters) - ALLOWED_ARCGIS_PARAMETERS
100+
# if unknown:
101+
# raise ValueError(
102+
# f"Unsupported ArcGIS parameters: {sorted(unknown)}. "
103+
# f"Allowed parameters: {sorted(ALLOWED_ARCGIS_PARAMETERS)}"
104+
# )
105+
106+
# validated = {
107+
# "timeout": DEFAULT_TIMEOUT,
108+
# "retries": DEFAULT_RETRIES,
109+
# "retry_backoff_seconds": DEFAULT_RETRY_BACKOFF_SECONDS,
110+
# }
111+
112+
# if "max_page_size" in parameters:
113+
# value = parameters["max_page_size"]
114+
# if not isinstance(value, int) or value <= 0:
115+
# raise ValueError("ArcGIS parameter 'max_page_size' must be a positive integer")
116+
# validated["max_page_size"] = value
117+
118+
# if "timeout" in parameters:
119+
# value = parameters["timeout"]
120+
# if not isinstance(value, int) or value <= 0:
121+
# raise ValueError("ArcGIS parameter 'timeout' must be a positive integer")
122+
# validated["timeout"] = value
123+
124+
# if "retries" in parameters:
125+
# value = parameters["retries"]
126+
# if not isinstance(value, int) or value < 0:
127+
# raise ValueError("ArcGIS parameter 'retries' must be a non-negative integer")
128+
# validated["retries"] = value
129+
130+
# if "retry_backoff_seconds" in parameters:
131+
# value = parameters["retry_backoff_seconds"]
132+
# if not isinstance(value, int) or value <= 0:
133+
# raise ValueError(
134+
# "ArcGIS parameter 'retry_backoff_seconds' must be a positive integer"
135+
# )
136+
# validated["retry_backoff_seconds"] = value
137+
138+
# return validated
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
def validate_parameters(parameters):
2+
if parameters is None:
3+
parameters = {}
4+
5+
if not isinstance(parameters, dict):
6+
raise ValueError("ArcGIS parameters must be a dictionary")
7+
8+
unknown = set(parameters) - ALLOWED_ARCGIS_PARAMETERS
9+
if unknown:
10+
raise ValueError(
11+
f"Unsupported ArcGIS parameters: {sorted(unknown)}. "
12+
f"Allowed parameters: {sorted(ALLOWED_ARCGIS_PARAMETERS)}"
13+
)
14+
15+
validated = {
16+
"timeout": DEFAULT_TIMEOUT,
17+
"retries": DEFAULT_RETRIES,
18+
"retry_backoff_seconds": DEFAULT_RETRY_BACKOFF_SECONDS,
19+
}
20+
21+
if "max_page_size" in parameters:
22+
value = parameters["max_page_size"]
23+
if not isinstance(value, int) or value <= 0:
24+
raise ValueError("ArcGIS parameter 'max_page_size' must be a positive integer")
25+
validated["max_page_size"] = value
26+
27+
if "timeout" in parameters:
28+
value = parameters["timeout"]
29+
if not isinstance(value, int) or value <= 0:
30+
raise ValueError("ArcGIS parameter 'timeout' must be a positive integer")
31+
validated["timeout"] = value
32+
33+
if "retries" in parameters:
34+
value = parameters["retries"]
35+
if not isinstance(value, int) or value < 0:
36+
raise ValueError("ArcGIS parameter 'retries' must be a non-negative integer")
37+
validated["retries"] = value
38+
39+
if "retry_backoff_seconds" in parameters:
40+
value = parameters["retry_backoff_seconds"]
41+
if not isinstance(value, int) or value <= 0:
42+
raise ValueError(
43+
"ArcGIS parameter 'retry_backoff_seconds' must be a positive integer"
44+
)
45+
validated["retry_backoff_seconds"] = value
46+
47+
return validated

0 commit comments

Comments
 (0)