Skip to content

Commit 10832ae

Browse files
committed
fixed linting errors
1 parent 2646ae0 commit 10832ae

File tree

5 files changed

+31
-97
lines changed

5 files changed

+31
-97
lines changed

stackql_deploy/cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ def read_contributors(logger):
315315
contributors = [line.strip() for line in f if line.strip()]
316316

317317
return contributors
318-
318+
319319
except Exception as e:
320320
logger.debug(f"Failed to read contributors: {str(e)}")
321321
return []

stackql_deploy/cmd/build.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,12 @@ def run(self, dry_run, show_queries, on_failure):
7878
# command type resource with inline SQL
7979
resource_queries = {}
8080
else:
81-
resource_queries = get_queries(self.env, self.stack_dir, 'resources', resource, full_context, self.logger)
81+
resource_queries = get_queries(self.env,
82+
self.stack_dir,
83+
'resources',
84+
resource,
85+
full_context,
86+
self.logger)
8287

8388
# provisioning queries
8489
if type in ('resource', 'multi'):
@@ -244,7 +249,11 @@ def run(self, dry_run, show_queries, on_failure):
244249
if type == 'command':
245250
# command queries
246251
if 'sql' in resource:
247-
command_query = render_inline_template(self.env, resource["name"], resource["sql"], full_context, self.logger)
252+
command_query = render_inline_template(self.env,
253+
resource["name"],
254+
resource["sql"],
255+
full_context,
256+
self.logger)
248257
command_retries = 1
249258
command_retry_delay = 0
250259
else:
@@ -253,7 +262,12 @@ def run(self, dry_run, show_queries, on_failure):
253262
command_retries = resource_queries.get('command', {}).get('options', {}).get('retries', 1)
254263
command_retry_delay = resource_queries.get('command', {}).get('options', {}).get('retry_delay', 0)
255264
if not command_query:
256-
catch_error_and_exit("'sql' should be defined in the resource or the 'command' anchor needs to be supplied in the corresponding iql file for command type resources.", self.logger)
265+
error_msg = (
266+
"'sql' should be defined in the resource or the 'command' anchor "
267+
"needs to be supplied in the corresponding iql file for command "
268+
"type resources."
269+
)
270+
catch_error_and_exit(error_msg, self.logger)
257271

258272
self.run_command(command_query, command_retries, command_retry_delay, dry_run, show_queries)
259273
#

stackql_deploy/lib/config.py

Lines changed: 1 addition & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -88,89 +88,6 @@ def render_globals(env, vars, global_vars, stack_env, stack_name, logger):
8888

8989
return global_context
9090

91-
# def render_properties(env, resource_props, global_context, logger):
92-
# prop_context = {}
93-
94-
# logger.debug("rendering properties...")
95-
# for prop in resource_props:
96-
# try:
97-
# if 'value' in prop:
98-
# rendered_value = render_value(env, prop['value'], global_context, logger)
99-
# logger.debug(
100-
# f"(config.render_properties) setting property [{prop['name']}] to "
101-
# f"{to_sql_compatible_json(rendered_value)}"
102-
# )
103-
# prop_context[prop['name']] = to_sql_compatible_json(rendered_value)
104-
# elif 'values' in prop:
105-
# env_value = prop['values'].get(global_context['stack_env'], {}).get('value')
106-
# if env_value is not None:
107-
# rendered_value = render_value(env, env_value, global_context, logger)
108-
# logger.debug(
109-
# f"(config.render_properties) setting property [{prop['name']}] using value for "
110-
# f"{env_value} to {to_sql_compatible_json(rendered_value)}"
111-
# )
112-
# prop_context[prop['name']] = to_sql_compatible_json(rendered_value)
113-
# else:
114-
# catch_error_and_exit(
115-
# f"(config.render_properties) no value specified for property '{prop['name']}' "
116-
# f"in stack_env '{global_context['stack_env']}'.",
117-
# logger
118-
# )
119-
120-
# if 'merge' in prop:
121-
# logger.debug(f"(config.render_properties) processing merge for [{prop['name']}]")
122-
# base_value_rendered = prop_context.get(prop['name'], None)
123-
# base_value = json.loads(base_value_rendered)
124-
# base_value_type = type(base_value)
125-
# logger.debug(
126-
# f"(config.render_properties) base value for [{prop['name']}]: "
127-
# f"{base_value_rendered} (type: {base_value_type})"
128-
# )
129-
# for merge_item in prop['merge']:
130-
# if merge_item in global_context:
131-
# merge_value_rendered = global_context[merge_item]
132-
# merge_value = json.loads(merge_value_rendered)
133-
# merge_value_type = type(merge_value)
134-
# logger.debug(
135-
# f"(config.render_properties) [{prop['name']}] merge value [{merge_item}]: "
136-
# f"{merge_value_rendered} (type: {merge_value_type})"
137-
# )
138-
139-
# # Determine if we're merging lists or objects
140-
# if isinstance(base_value, list) and isinstance(merge_value, list):
141-
# base_value = merge_lists(base_value, merge_value)
142-
# elif isinstance(base_value, dict) and isinstance(merge_value, dict):
143-
# base_value = merge_objects(base_value, merge_value)
144-
# elif base_value is None:
145-
# # Initialize base_value if it wasn't set before
146-
# if isinstance(merge_value, list):
147-
# base_value = merge_value
148-
# elif isinstance(merge_value, dict):
149-
# base_value = merge_value
150-
# else:
151-
# catch_error_and_exit(
152-
# f"(config.render_properties) unsupported merge type for '{prop['name']}'",
153-
# logger
154-
# )
155-
# else:
156-
# catch_error_and_exit(
157-
# f"(config.render_properties) type mismatch or unsupported merge operation "
158-
# f"on property '{prop['name']}'.",
159-
# logger
160-
# )
161-
# else:
162-
# catch_error_and_exit(
163-
# f"(config.render_properties) merge item '{merge_item}' not found in global context.",
164-
# logger
165-
# )
166-
167-
# prop_context[prop['name']] = to_sql_compatible_json(base_value)
168-
169-
# except Exception as e:
170-
# catch_error_and_exit(f"(config.render_properties) failed to render property '{prop['name']}']: {e}", logger)
171-
172-
# return prop_context
173-
17491
def render_properties(env, resource_props, global_context, logger):
17592
prop_context = {}
17693
# Create a resource_context that starts with a copy of global_context
@@ -181,7 +98,7 @@ def render_properties(env, resource_props, global_context, logger):
18198
for prop in resource_props:
18299
try:
183100
if 'value' in prop:
184-
# Use resource_context for rendering, which includes both global vars and
101+
# Use resource_context for rendering, which includes both global vars and
185102
# properties that have already been processed
186103
rendered_value = render_value(env, prop['value'], resource_context, logger)
187104
logger.debug(

stackql_deploy/lib/filters.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ def sql_list(input_data):
104104
# Handle empty list case
105105
if not python_list:
106106
return '(NULL)'
107-
107+
108108
# Convert each item to string, wrap in quotes, join with commas
109109
quoted_items = [f"'{str(item)}'" for item in python_list]
110110
return f"({','.join(quoted_items)})"
@@ -128,4 +128,4 @@ def setup_environment(stack_dir, logger):
128128
env.filters['sql_list'] = sql_list
129129
env.globals['uuid'] = lambda: str(uuid.uuid4())
130130
logger.debug("custom Jinja filters registered: %s", env.filters.keys())
131-
return env
131+
return env

stackql_deploy/lib/templating.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -134,11 +134,11 @@ def render_inline_template(env, resource_name, template_string, full_context, lo
134134
Similar to get_queries but for inline templates rather than files.
135135
"""
136136
logger.debug(f"(templating.render_inline_template) [{resource_name}] template:\n\n{template_string}\n")
137-
137+
138138
try:
139139
# Process the context the same way as in render_queries
140140
temp_context = full_context.copy()
141-
141+
142142
for ctx_key, ctx_value in temp_context.items():
143143
if isinstance(ctx_value, str) and is_json(ctx_value, logger):
144144
properties = json.loads(ctx_value)
@@ -149,14 +149,17 @@ def render_inline_template(env, resource_name, template_string, full_context, lo
149149
# Correctly format JSON to use double quotes and pass directly since template handles quoting
150150
json_str = json_str.replace("'", "\\'") # escape single quotes if any within strings
151151
temp_context[ctx_key] = json_str
152-
152+
153153
# Render the template
154154
template = env.from_string(template_string)
155155
rendered_template = template.render(temp_context)
156-
157-
logger.debug(f"(templating.render_inline_template) [{resource_name}] rendered template:\n\n{rendered_template}\n")
156+
157+
logger.debug(
158+
f"(templating.render_inline_template) [{resource_name}] rendered template:"
159+
f"\n\n{rendered_template}\n"
160+
)
158161
return rendered_template
159-
162+
160163
except TemplateError as e:
161164
raise RuntimeError(f"(templating.render_inline_template) error rendering template for [{resource_name}]: {e}")
162165
except json.JSONDecodeError as e:
@@ -165,4 +168,4 @@ def render_inline_template(env, resource_name, template_string, full_context, lo
165168
# Try rendering anyway, might work with non-JSON parts of the context
166169
template = env.from_string(template_string)
167170
rendered_template = template.render(temp_context)
168-
return rendered_template
171+
return rendered_template

0 commit comments

Comments
 (0)