1234567891011121314151617181920212223242526272829303132 |
- #!/usr/bin/python3
- # Style Guide for Python Code https://www.python.org/dev/peps/pep-0008/
- # Docstring Conventions https://www.python.org/dev/peps/pep-0257/
- import re
- class Aliases:
- def __init__(self, filename, domain):
- self.filename = filename
- self.aliases = dict()
- self.domain = domain.lower()
- with open(self.filename, "r") as f:
- for line in f:
- match = re.search('^([^#:]+):([^#:]+)(?:#.*|)$', line)
- if match:
- alias = match.group(1).strip() + '@' + self.domain
- to = match.group(2).strip()
- if '@' in to:
- self.aliases[alias] = to
- else:
- self.aliases[alias] = to + '@' + self.domain
- def get_alias(self, key):
- return self.aliases[key.lower()]
- def get_aliases(self):
- return self.aliases
- def __contains__(self, key):
- return key.lower() in self.aliases
- def __getitem__(self, key):
- return self.aliases[key.lower()]
- def items(self):
- return self.aliases.items()
|