diff --git a/app/image-chooser.py b/app/image-chooser.py index dad8308..39dd9cf 100644 --- a/app/image-chooser.py +++ b/app/image-chooser.py @@ -33,19 +33,15 @@ def clear_image_versions(): def on_publisher_changed(): clear_offers() - # st.rerun() def on_offer_changed(): clear_skus() - # st.rerun() def on_sku_changed(): clear_skus() - # st.rerun() def on_image_version_changed(): clear_image_versions() - # st.rerun() def version_key(v): return [int(x) for x in v.split('.')] @@ -75,6 +71,9 @@ def get_locations(): if loc.metadata.region_type == 'Physical' ] +def usage_scenario_label(item): + return item['label'] + subscription_id = getenv("AZURE_SUBSCRIPTION_ID") default_location = getenv("AZURE_LOCATION") @@ -107,7 +106,7 @@ if is_valid('publishers'): st.session_state.selected_publisher = publisher_col.selectbox('Select Publisher', options=st.session_state.publishers, on_change=on_publisher_changed, index=None) else: st.error("No publishers found. Please check your Azure subscription and location.") - st.stop() + # st.stop() # Offers if 'offers' not in st.session_state and is_valid('selected_publisher'): @@ -117,9 +116,9 @@ if is_valid('offers'): st.session_state.selected_offer = offer_col.selectbox('Select Offer', options=st.session_state.offers, on_change=on_offer_changed, index=None) elif is_valid('selected_publisher'): st.info("No offers found for the selected publisher. Please select a different publisher.") - st.stop() -else: - st.stop() +# st.stop() +# else: +# st.stop() # SKUs if 'skus' not in st.session_state and is_valid('selected_publisher') and is_valid('selected_offer'): @@ -129,9 +128,9 @@ if is_valid('skus'): st.session_state.selected_sku = sku_col.selectbox('Select SKU', options=st.session_state.skus, on_change=on_sku_changed, index=None) elif is_valid('selected_offer'): st.info("No SKUs found for the selected offer. Please select a different offer.") - st.stop() -else: - st.stop() +# st.stop() +# else: +# st.stop() # Image versions if 'image_versions' not in st.session_state and is_valid('selected_publisher') and is_valid('selected_offer') and is_valid('selected_sku'): @@ -148,9 +147,9 @@ if is_valid('image_versions'): st.session_state.selected_image_version = version_col.selectbox('Select Image Version', options=st.session_state.image_versions, index=None) elif is_valid('selected_sku'): st.info("No image versions found for the selected SKU. Please select a different SKU.") - st.stop() -else: - st.stop() +# st.stop() +# else: +# st.stop() if is_valid('selected_image_version'): st.subheader("Usage example") @@ -158,9 +157,6 @@ if is_valid('selected_image_version'): with open("templates.json") as f: templates = json.load(f) - def usage_scenario_label(item): - return item['label'] - layout = st.columns(4) selected_file = layout[0].selectbox('Select usage scenario:', options=templates, format_func=usage_scenario_label) @@ -175,3 +171,9 @@ if is_valid('selected_image_version'): ) st.code(rendered, language=selected_file['language']) + +if is_valid('selected_publisher') and is_valid('selected_offer') and is_valid('skus'): + sku_list = '[\n' + ',\n'.join(f'\t"{sku}"' for sku in st.session_state['skus']) +'\n]' + st.subheader('Available SKUs') + st.markdown('The below HCL code is suitable to be used as SKU validation set.') + st.code(sku_list)