def parser(): publicsuffix.init_suffix_tree(constants.DATA_PATH_PUBLIC_SUFFIX) return publicsuffix.suffixtree
from publicsuffix import init_suffix_tree, get_root_domain def test(domain, expected): result = get_root_domain(domain) if result != expected: print 'FAILED: tree.match(%s) -> %s, should be %s' % (domain, result, expected) return print 'tree.match(%s) => %s' % (domain, result) if __name__ == "__main__": init_suffix_tree('names.dat') #tests are from http://publicsuffix.org/list/test.txt test(None, None) test('COM', None) test('WwW.example.COM', 'example.com') test('example.local', None) test('a.b.example.local', None) test('biz', None) test('domain.biz', 'domain.biz') test('b.domain.biz', 'domain.biz') test('a.b.domain.biz', 'domain.biz') test('example.com', 'example.com') test('b.example.com', 'example.com') test('a.b.example.com', 'example.com') test('uk.com', None) test('example.uk.com', 'example.uk.com')