def METHOD_NAME(self):
    """
    Run General Shop
    """
    # Base case; exit run if filter empty
    if not self.shop_filter:
        return
    # When called, expected to be in
    # corrected General Shop interface
    logger.hr('General Shop', level=1)
    # Execute buy operations
    # Refresh if enabled and available
    refresh = self.config.GeneralShop_Refresh
    for _ in range(2):
        success = self.shop_buy()
        if not success:
            break
        if refresh and self.shop_refresh():
            continue
        break