diff options
| author | Aurélien Bompard | 2013-10-15 09:27:18 +0200 |
|---|---|---|
| committer | Aurélien Bompard | 2013-10-15 09:27:18 +0200 |
| commit | e3f8ad0d49104964ab14a9dfd0d60253d7d808c3 (patch) | |
| tree | 0b141f8de60fb796ed07a8c730f334f1091d7a70 /src | |
| parent | c56a83d5eb2ca8aa7e384e27825f2f34faeabebe (diff) | |
| download | mailman-e3f8ad0d49104964ab14a9dfd0d60253d7d808c3.tar.gz mailman-e3f8ad0d49104964ab14a9dfd0d60253d7d808c3.tar.zst mailman-e3f8ad0d49104964ab14a9dfd0d60253d7d808c3.zip | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/mailman/utilities/importer.py | 5 | ||||
| -rw-r--r-- | src/mailman/utilities/tests/test_import.py | 13 |
2 files changed, 17 insertions, 1 deletions
diff --git a/src/mailman/utilities/importer.py b/src/mailman/utilities/importer.py index e97db12dc..5c77a45d8 100644 --- a/src/mailman/utilities/importer.py +++ b/src/mailman/utilities/importer.py @@ -246,7 +246,10 @@ def import_config_pck(mlist, config_dict): for addr in config_dict.get('ban_list', []): IBanManager(mlist).ban(str_to_unicode(addr)) # Handle acceptable aliases - for addr in config_dict.get('acceptable_aliases', '').splitlines(): + acceptable_aliases = config_dict.get('acceptable_aliases', '') + if isinstance(acceptable_aliases, basestring): + acceptable_aliases = acceptable_aliases.splitlines() + for addr in acceptable_aliases: addr = addr.strip() if not addr: continue diff --git a/src/mailman/utilities/tests/test_import.py b/src/mailman/utilities/tests/test_import.py index a29c560dd..bf757ba4b 100644 --- a/src/mailman/utilities/tests/test_import.py +++ b/src/mailman/utilities/tests/test_import.py @@ -241,6 +241,19 @@ class TestBasicImport(unittest.TestCase): self.assertEqual(sorted(alias_set.aliases), [ ("^" + a) for a in aliases ]) + def test_acceptable_aliases_as_list(self): + # in some versions of the pickle, it can be a list, not a string + # (seen in the wild) + aliases = [b"alias1@example.com", b"alias2@exemple.com" ] + self._pckdict[b"acceptable_aliases"] = aliases + try: + self._import() + except AttributeError: + print(format_exc()) + self.fail("Import does not handle acceptable_aliases as list") + alias_set = IAcceptableAliasSet(self._mlist) + self.assertEqual(sorted(alias_set.aliases), aliases) + def test_info_non_ascii(self): # info can contain non-ascii chars info = 'O idioma aceito \xe9 somente Portugu\xeas do Brasil' |
