Spaces:
Build error
Build error
Ronio Jerico Roque
Add Amazon class for handling product data input and telemetry collection
fb0a511 | import streamlit as st | |
| from dotenv import load_dotenv | |
| from helper.telemetry import collect_telemetry | |
| from helper.upload_File import uploadFile | |
| from helper.button_behaviour import hide_button | |
| class Amazon: | |
| def __init__(self, model_url): | |
| self.file_dict = {} | |
| self.model_url = model_url | |
| #self.analyst_name = analyst_name | |
| #self.data_src = data_src | |
| #self.analyst_description = analyst_description | |
| self.initialize() | |
| self.row1() | |
| def initialize(self): | |
| # FOR ENV | |
| load_dotenv() | |
| ''' | |
| # AGENT NAME | |
| st.header(self.analyst_name) | |
| # EVALUATION FORM LINK | |
| url = os.getenv('Link') | |
| st.write('Evaluation Form: [Link](%s)' % url) | |
| # RETURN BUTTON | |
| try: | |
| if st.button("Return", type='primary'): | |
| st.switch_page("./pages/home.py") | |
| except Exception: | |
| pass | |
| ''' | |
| if 'product_title_amazon' not in st.session_state: | |
| st.session_state['product_title_amazon'] = '' | |
| if 'images_amazon' not in st.session_state: | |
| st.session_state['images_amazon'] = '' | |
| if 'bullet_points_amazon' not in st.session_state: | |
| st.session_state['bullet_points_amazon'] = '' | |
| if 'product_description_amazon' not in st.session_state: | |
| st.session_state['product_description_amazon'] = '' | |
| def process(self): | |
| session = st.session_state.analyze | |
| if (self.product_title_amazon or self.images_amazon or self.bullet_points_amazon or self.product_description_amazon) and session == 'clicked': | |
| try: | |
| product_title_amazon = "" | |
| images_amazon = "" | |
| bullet_points_amazon = "" | |
| product_description_amazon = "" | |
| with st.spinner('Aamzon...', show_time=True): | |
| st.write('') | |
| # INITIALIZING SESSIONS | |
| #combined_text += f"Client Summary: {st.session_state.nature}\n" | |
| try: | |
| product_title_amazon += f"\nProduct Title: {self.product_title_amazon}" | |
| except KeyError: | |
| pass | |
| try: | |
| images_amazon += f"\nImages: {self.images_amazon}" | |
| except KeyError: | |
| pass | |
| try: | |
| bullet_points_amazon += f"\nBullet Points: {self.bullet_points_amazon}" | |
| except KeyError: | |
| pass | |
| try: | |
| product_description_amazon += f"\nProduct Description: {self.product_description_amazon}" | |
| except KeyError: | |
| pass | |
| # OUTPUT FOR SEO ANALYST | |
| #payload_txt = {"question": combined_text} | |
| #result = self.request_model(payload_txt) | |
| #end_time = time.time() | |
| #time_lapsed = end_time - start_time | |
| debug_info_product_title_amazon = {'data_field' : 'Product Title - Amazon', 'result': self.product_title_amazon} | |
| debug_info_images_amazon = {'data_field' : 'Images - Amazon', 'result': self.images_amazon} | |
| debug_info_bullet_points_amazon = {'data_field' : 'Bullet Points - Amazon', 'result': self.bullet_points_amazon} | |
| debug_product_description_amazon = {'data_field' : 'Product Description - Amazon', 'result': self.product_description_amazon} | |
| ''' | |
| debug_info = { | |
| #'analyst': self.analyst_name, | |
| 'url_uuid': self.model_url.split("-")[-1], | |
| 'time_lapsed': time_lapsed, | |
| 'payload': payload_txt, | |
| 'result': result, | |
| } | |
| ''' | |
| if self.product_title_amazon: | |
| st.session_state['product_title_amazon'] = 'uploaded' | |
| collect_telemetry(debug_info_product_title_amazon) | |
| if self.images_amazon: | |
| st.session_state['images_amazon'] = 'uploaded' | |
| collect_telemetry(debug_info_images_amazon) | |
| if self.bullet_points_amazon: | |
| st.session_state['bullet_points_amazon'] = 'uploaded' | |
| collect_telemetry(debug_info_bullet_points_amazon) | |
| if self.product_description_amazon: | |
| st.session_state['product_description_amazon'] = 'uploaded' | |
| collect_telemetry(debug_product_description_amazon) | |
| st.session_state['analyzing'] = False | |
| except AttributeError: | |
| st.info("Please upload CSV or PDF files first.") | |
| hide_button() | |
| def row1(self): | |
| self.product_title_amazon = st.text_input("Product Title - Amazon:", placeholder='Enter Product Title') | |
| self.images_amazon = st.text_input("Images - Amazon:", placeholder='Enter Images') | |
| self.bullet_points_amazon = st.text_input("Bullet Points - Amazon:", placeholder='Enter Bullet Points') | |
| self.product_description_amazon = st.text_input("Product Description - Amazon:", placeholder='Enter Product Description') | |
| self.process() | |
| if __name__ == "__main__": | |
| st.set_page_config(layout="wide") | |
| upload = uploadFile() | |