LOG_PROCESSING_FILEPATH, ETF_EQUITY, YR_RANGE, FREQ_KEYS, HOLIDAYS_KEYS, SPECIAL_DAYS_KEYS, FRED_DATA_GROUPING, ) # %% # -------------------------------------------------------------- # Logger setup. # -------------------------------------------------------------- logger = logging.getLogger(__name__) logger, file_handler, stream_handler = setup_logger(logger, LOG_PROCESSING_FILEPATH) # %% # ---------------------------------------------------------------------- # CSS Styling # ---------------------------------------------------------------------- st.markdown(f''' <style> .reportview-container .main .block-container {{ max-width: {ST_MAX_WIDTH}px; padding-top: {ST_PADDING_TOP}rem; padding-right: {ST_PADDING_RIGHT}rem; padding-left: {ST_PADDING_LEFT}rem; padding-bottom: {ST_PADDING_BOTTOM}rem; }}
# Import personal module. from config.config_logger import setup_logger from config.config import ( DRIVER_PATH, WEBPAGE_LOADING_TIMEOUT, LOG_SELENIUM_FILEPATH, SLEEP, ) # -------------------------------------------------------------- # Logging configuration # -------------------------------------------------------------- logger = logging.getLogger(__name__) logger, file_handler, stream_handler = setup_logger(logger, LOG_SELENIUM_FILEPATH) # ------------------------------------------------------- # Loader # ------------------------------------------------------- def launch_browser(): # Settings for launching Chrome. options = webdriver.ChromeOptions() options.add_argument("--disable-dev-shm-usage") options.add_argument("--no-sandbox") options.add_argument("--incognito") options.add_argument("--headless") # Set the browser to load the URL.
DF_PREMIUM, DF_PETROL, DF_CARD_NAME_ORIGINAL, DF_BANK, DF_CARD_NAME, DF_URL, DF_CARD_TYPE, ) # %% # -------------------------------------------------------------- # Logging configuration # -------------------------------------------------------------- logger = logging.getLogger(__name__) logger, file_handler, stream_handler = setup_logger( logger, LOG_CARD_SCRAPING_FILEPATH) # %% # ------------------------------------------------------- # Helper function # ------------------------------------------------------- def _extract_table_data_for_card( df_row: pd.DataFrame, col: Text, id_tag: Text, browser: WebDriver, ) -> pd.DataFrame: ''' Purpose :
DF_CASHBACK_BENCHMARK, DF_CASHBACK_CAT, DF_CASHBACK_FROM, DF_CASHBACK_TILL, DF_CASHBACK_WEEKENDS_COND, DF_CASHBACK_MONTHLY_COND, DF_CASHBACK_SINGLE_RECEIPT_COND, ) # %% # -------------------------------------------------------------- # Logging configuration # -------------------------------------------------------------- logger = logging.getLogger(__name__) logger, file_handler, stream_handler = setup_logger( logger, LOG_PROCESS_CARD_DATA_FILEPATH) # %% # ------------------------------------------------------- # Data processing for card (reward points) # ------------------------------------------------------- @task( cache_for=dt.timedelta(days=1), result=LocalResult(dir="result_config"), checkpoint=True, target="{task_name}–{date}", ) def extract_reward_points_data(df_main: pd.DataFrame) -> pd.DataFrame: '''