def load_gym_section(settings): log.info("Setting Gym filters...") # Set the defaults for "True" # Override defaults using a new Filter to verify inputs default_filt = GymFilter(settings.pop('default', {}), { "to_team": {0, 1, 2, 3}, "from_team": {0, 1, 2, 3}, "min_dist": 0.0, "max_dist": float('inf') }, 'default') default = default_filt.to_dict() # Create the settings for gyms gym = { "enabled": bool(parse_boolean(settings.pop('enabled', None)) or False), "ignore_neutral": bool(parse_boolean(settings.pop('ignore_neutral', None)) or False), "filters": create_multi_filter('Gym --> filters', GymFilter, settings.pop('filters', "False"), default) } reject_leftover_parameters(settings, 'Gym section of Filters file.') # Check for leftovers for filt in gym['filters']: log.debug("Team(s) {} changes to Team(s) {} between {} and {}.".format( filt.from_team, filt.to_team, get_dist_as_str(filt.min_dist), get_dist_as_str(filt.max_dist) )) if gym['enabled'] is False: log.info("Gym notifications will NOT be sent. - Enabled is False ") return gym
def __init__(self, settings, default, location): self.min_dist = float(settings.pop('min_dist', None) or default['min_dist']) self.max_dist = float(settings.pop('max_dist', None) or default['max_dist']) # Do we ignore pokemon with missing info? self.ignore_missing = bool(parse_boolean(settings.pop('ignore_missing', default['ignore_missing']))) # CP self.min_cp = int(settings.pop('min_cp', None) or default['min_cp']) self.max_cp = int(settings.pop('max_cp', None) or default['max_cp']) # Level self.min_level = int(settings.pop('min_level', None) or default['min_level']) self.max_level = int(settings.pop('max_level', None) or default['max_level']) # IVs self.min_iv = float(settings.pop('min_iv', None) or default['min_iv']) self.max_iv = float(settings.pop('max_iv', None) or default['max_iv']) self.min_atk = int(settings.pop('min_atk', None) or default['min_atk']) self.max_atk = int(settings.pop('max_atk', None) or default['max_atk']) self.min_def = int(settings.pop('min_def', None) or default['min_def']) self.max_def = int(settings.pop('max_def', None) or default['max_def']) self.min_sta = int(settings.pop('min_sta', None) or default['min_sta']) self.max_sta = int(settings.pop('max_sta', None) or default['max_sta']) # Size self.sizes = PokemonFilter.check_sizes(settings.pop("size", default['size'])) self.genders = PokemonFilter.check_genders(settings.pop("gender", default['gender'])) # Moves - These can't be set in the default filter self.req_quick_move = PokemonFilter.create_moves_list(settings.pop("quick_move", default['quick_move'])) self.req_charge_move = PokemonFilter.create_moves_list(settings.pop("charge_move", default['charge_move'])) self.req_moveset = PokemonFilter.create_moveset_list(settings.pop("moveset", default['moveset'])) # Moveset Ratings self.min_rating_attack = (settings.pop('min_rating_attack', None) or default['min_rating_attack']).upper() self.max_rating_attack = (settings.pop('max_rating_attack', None) or default['max_rating_attack']).upper() self.min_rating_defense = (settings.pop('min_rating_defense', None) or default['min_rating_defense']).upper() self.max_rating_defense = (settings.pop('max_rating_defense', None) or default['max_rating_defense']).upper() reject_leftover_parameters(settings, "pokemon filter under '{}'".format(location))
def __init__(self, settings, default, location): self.min_dist = float(settings.pop('min_dist', None) or default['min_dist']) self.max_dist = float(settings.pop('max_dist', None) or default['max_dist']) # Do we ignore pokemon with missing info? self.ignore_missing = bool(parse_boolean(settings.pop('ignore_missing', default['ignore_missing']))) # CP self.min_cp = int(settings.pop('min_cp', None) or default['min_cp']) self.max_cp = int(settings.pop('max_cp', None) or default['max_cp']) # Level self.min_level = int(settings.pop('min_level', None) or default['min_level']) self.max_level = int(settings.pop('max_level', None) or default['max_level']) # IVs self.min_iv = float(settings.pop('min_iv', None) or default['min_iv']) self.max_iv = float(settings.pop('max_iv', None) or default['max_iv']) self.min_atk = int(settings.pop('min_atk', None) or default['min_atk']) self.max_atk = int(settings.pop('max_atk', None) or default['max_atk']) self.min_def = int(settings.pop('min_def', None) or default['min_def']) self.max_def = int(settings.pop('max_def', None) or default['max_def']) self.min_sta = int(settings.pop('min_sta', None) or default['min_sta']) self.max_sta = int(settings.pop('max_sta', None) or default['max_sta']) # Size self.sizes = PokemonFilter.check_sizes(settings.pop("size", default['size'])) self.genders = PokemonFilter.check_genders(settings.pop("gender", default['gender'])) self.forms = PokemonFilter.check_forms(settings.pop("form", default['form'])) # Moves - These can't be set in the default filter self.req_quick_move = PokemonFilter.create_moves_list(settings.pop("quick_move", default['quick_move'])) self.req_charge_move = PokemonFilter.create_moves_list(settings.pop("charge_move", default['charge_move'])) self.req_moveset = PokemonFilter.create_moveset_list(settings.pop("moveset", default['moveset'])) reject_leftover_parameters(settings, "pokemon filter under '{}'".format(location))
def load_raid_section(settings): log.info("Setting Raid filters...") # Set the defaults for "True" # Override defaults using a new Filter to verify inputs default_filt = RaidFilter(settings.pop('default', {}), { "min_dist": 0.0, "max_dist": float('inf'), "min_level": 0, "max_level": 5, }, 'default') default = default_filt.to_dict() # Create the settings for raids raid = { "enabled": bool(parse_boolean(settings.pop('enabled', None)) or False), "filters": create_multi_filter('Raid --> filters', RaidFilter, settings.pop('filters', "False"), default) } reject_leftover_parameters(settings, 'Raid section of Filters file.') # Check for leftovers for filt in raid['filters']: log.debug("Raid Level(s) {} to {} between {} and {}.".format( filt.min_level, filt.max_level, get_dist_as_str(filt.min_dist), get_dist_as_str(filt.max_dist) )) if raid['enabled'] is False: log.info("Raid notifications will NOT be sent. - Enabled is False ") return raid
def load_gym_section(settings): log.info("Setting Gym filters...") # Set the defaults for "True" # Override defaults using a new Filter to verify inputs default_filt = GymFilter(settings.pop('default', {}), { "to_team": {0, 1, 2, 3}, "from_team": {0, 1, 2, 3}, "min_dist": 0.0, "max_dist": float('inf') }, 'default') default = default_filt.to_dict() # Create the settings for gyms gym = { "enabled": bool(parse_boolean(settings.pop('enabled', None)) or False), "ignore_neutral": bool(parse_boolean(settings.pop('ignore_neutral', None)) or False), "filters": create_multi_filter('Gym --> filters', GymFilter, settings.pop('filters', "False"), default) } reject_leftover_parameters(settings, 'Gym section of Filters file.') # Check for leftovers for filt in gym['filters']: log.debug("Team(s) {} changes to Team(s) {} between {} and {}.".format( filt.from_team, filt.to_team, get_dist_as_str(filt.min_dist), get_dist_as_str(filt.max_dist) )) if gym['enabled'] is False: log.info("Gym notifications will NOT be sent. - Enabled is False ") return gym
def __init__(self, settings, default, location): self.min_dist = float( settings.pop('min_dist', None) or default['min_dist']) self.max_dist = float( settings.pop('max_dist', None) or default['max_dist']) reject_leftover_parameters(settings, "Pokestop filter in {}".format(location))
def __init__(self, settings, default, location): self.min_dist = float(settings.pop('min_dist', None) or default['min_dist']) self.max_dist = float(settings.pop('max_dist', None) or default['max_dist']) # Level self.min_level = int(settings.pop('min_level', None) or default['min_level']) self.max_level = int(settings.pop('max_level', None) or default['max_level']) reject_leftover_parameters(settings, "Raid filter in {}".format(location))
def __init__(self, settings, default, location): self.min_dist = float(settings.pop('min_dist', None) or default['min_dist']) self.max_dist = float(settings.pop('max_dist', None) or default['max_dist']) # Check for 'To Team' list self.to_team = GymFilter.create_team_list(settings.pop('to_team')) \ if 'to_team' in settings else default['to_team'].copy() # Check for 'From Team' list self.from_team = GymFilter.create_team_list(settings.pop('from_team')) \ if 'from_team' in settings else default['to_team'].copy() reject_leftover_parameters(settings, "Gym filter in {}".format(location))
def __init__(self, settings, default, location): self.min_dist = float(settings.pop('min_dist', None) or default['min_dist']) self.max_dist = float(settings.pop('max_dist', None) or default['max_dist']) # Check for 'To Team' list self.to_team = GymFilter.create_team_list(settings.pop('to_team')) \ if 'to_team' in settings else default['to_team'].copy() # Check for 'From Team' list self.from_team = GymFilter.create_team_list(settings.pop('from_team')) \ if 'from_team' in settings else default['to_team'].copy() reject_leftover_parameters(settings, "Gym filter in {}".format(location))
def load_pokestop_section(settings): log.info("Setting Pokestop filters...") # Set the defaults settings for "True" default_true = {"min_dist": 0.0, "max_dist": float('inf')} stop = { "enabled": bool(parse_boolean(require_and_remove_key('enabled', settings, 'Pokestops')) or False), "filters": create_multi_filter('Pokestops --> filters', PokestopFilter, settings.pop('filters', "False"), default_true) } reject_leftover_parameters(settings, "Pokestops section of Filters file.") for filt in stop['filters']: log.debug("Between {} and {} away.".format( get_dist_as_str(filt.min_dist), get_dist_as_str(filt.max_dist))) if stop['enabled'] is False: log.info("Pokestop notifications will NOT be sent - Enabled is False.") return stop
def load_pokestop_section(settings): log.info("Setting Pokestop filters...") # Set the defaults settings for "True" default_true = {"min_dist": 0.0, "max_dist": float('inf')} stop = { "enabled": bool(parse_boolean(require_and_remove_key('enabled', settings, 'Pokestops')) or False), "filters": create_multi_filter('Pokestops --> filters', PokestopFilter, settings.pop('filters', "False"), default_true) } reject_leftover_parameters(settings, "Pokestops section of Filters file.") for filt in stop['filters']: log.debug("Between {} and {} away.".format( get_dist_as_str(filt.min_dist), get_dist_as_str(filt.max_dist))) if stop['enabled'] is False: log.info("Pokestop notifications will NOT be sent - Enabled is False.") return stop
def __init__(self, settings, default, location): self.min_dist = float(settings.pop('min_dist', None) or default['min_dist']) self.max_dist = float(settings.pop('max_dist', None) or default['max_dist']) reject_leftover_parameters(settings, "Pokestop filter in {}".format(location))