]> git.meshlink.io Git - catta/blobdiff - avahi-python/avahi/ServiceTypeDatabase.py.in
Merge branch 'release/0.0.1'
[catta] / avahi-python / avahi / ServiceTypeDatabase.py.in
diff --git a/avahi-python/avahi/ServiceTypeDatabase.py.in b/avahi-python/avahi/ServiceTypeDatabase.py.in
deleted file mode 100644 (file)
index b2035fd..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-#!@PYTHON@
-# -*-python-*-
-# This file is part of avahi.
-#
-# avahi is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as
-# published by the Free Software Foundation; either version 2 of the
-# License, or (at your option) any later version.
-#
-# avahi is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
-# License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with avahi; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-# USA.
-
-import @DBM@
-import locale
-import re
-
-locale.setlocale(locale.LC_ALL, '')
-
-class ServiceTypeDatabase:
-    """ServiceTypeDatabase maps service types to descriptions"""
-
-    def __init__(self, filename = "@pkglibdatadir@/service-types.db"):
-
-        self.db = @DBM@.open(filename, "r")
-
-        l = locale.getlocale(locale.LC_MESSAGES)
-
-        self.suffixes = ()
-
-        if not l[0] is None:
-
-            if not l[1] is None:
-                self.suffixes += (l[0] + "@" + l[1], )
-
-            self.suffixes += (l[0], )
-
-            i = l[0].find("_")
-
-            if i >= 0:
-
-                k = l[0][:i]
-
-                if not l[1] is None:
-                    self.suffixes += (k + "@" + l[1], )
-
-                self.suffixes += (k, )
-
-
-        self.suffixes = tuple(map(lambda x:  "["+x+"]", self.suffixes)) + ("", )
-
-    def __getitem__(self, key):
-
-        for suffix in self.suffixes:
-            try:
-                return self.db[key + suffix]
-            except KeyError:
-                pass
-
-        raise KeyError()
-
-    def items(self):
-
-        return list(self.iteritems())
-
-    def has_key(self, key):
-
-        for suffix in self.suffixes:
-
-            if self.db.has_key(key + suffix):
-                return True
-
-        return False
-
-    def __contains__(self, item):
-
-        for suffix in self.suffixes:
-
-            if item+suffix in self.db:
-                return True
-
-        return False
-
-
-    def __iter__(self):
-
-        @FIRST_KEY@
-        @CHECK_KEY@
-
-            if re.search('_[a-zA-Z0-9-]+\._[a-zA-Z0-9-]+', key) and not re.search('_[a-zA-Z0-9-]+\._[a-zA-Z0-9-]+\[.*\]', key):
-                yield key
-
-            @NEXT_KEY@
-
-    def __len__(self):
-
-        count = 0
-        for _ in self:
-
-            count+=1
-
-        self.__len__ = lambda : count
-        return len(self)
-
-    def get(self, key, default=None):
-
-        if key in self:
-            return self[key]
-        else:
-            return default
-
-    def iteritems(self):
-
-        return ((key, self[key]) for key in self)
-
-    def iterkeys(self):
-
-        return self.__iter__()
-
-    def itervalues(self):
-
-        return (self[key] for key in self)
-
-    def keys(self):
-
-        return list(self)
-
-    def values(self):
-
-        return list(self.itervalues())
-
-if __name__ == "__main__":
-
-    b = ServiceTypeDatabase()
-    print b.items()
-
-    print b["_http._tcp"]
-    print b["_ftp._tcp"]
-    print b["_webdav._tcp"]
-    print b["_webdavs._tcp"]
-
-    print b.get("gurki._tcp")
-    print len(b)
-
-    for key, _ in zip(b, xrange(3)):
-
-        print key
-
-    for key, _ in zip(b.iteritems(), xrange(3)):
-
-        print key
-
-    for key, _ in zip(b.itervalues(), xrange(3)):
-
-        print key