diff --git a/irclog.py b/irclog.py index 85f4a06..d47110a 100644 --- a/irclog.py +++ b/irclog.py @@ -194,19 +194,17 @@ class Config(dict): raise InvalidConfig(f'Invalid channel {key!r} path: collides with channel {seenPaths[channel["path"]]!r}') seenPaths[channel['path']] = key - if 'auth' in channel: - if channel['auth'] is not False and not isinstance(channel['auth'], str): - raise InvalidConfig(f'Invalid channel {key!r} auth: must be false or a string') - if isinstance(channel['auth'], str) and ':' not in channel['auth']: - raise InvalidConfig(f'Invalid channel {key!r} auth: must contain a colon') - else: + if 'auth' not in channel: channel['auth'] = False + if channel['auth'] is not False and not isinstance(channel['auth'], str): + raise InvalidConfig(f'Invalid channel {key!r} auth: must be false or a string') + if isinstance(channel['auth'], str) and ':' not in channel['auth']: + raise InvalidConfig(f'Invalid channel {key!r} auth: must contain a colon') - if 'active' in channel: - if channel['active'] is not True and channel['active'] is not False: - raise InvalidConfig(f'Invalid channel {key!r} active: must be true or false') - else: + if 'active' not in channel: channel['active'] = True + if channel['active'] is not True and channel['active'] is not False: + raise InvalidConfig(f'Invalid channel {key!r} active: must be true or false') if 'hidden' not in channel: channel['hidden'] = False