Beispiel #1
0
    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.
Beispiel #3
0
    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 :
Beispiel #4
0
    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:
    '''