示例#1
0
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
示例#2
0
    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))
示例#3
0
    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))
示例#4
0
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
示例#5
0
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
示例#6
0
    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))
示例#7
0
    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))
示例#8
0
    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))
示例#9
0
    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))
示例#10
0
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
示例#11
0
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
示例#12
0
    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))