X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-python%2Favahi%2FServiceTypeDatabase.py.in;h=d1345109cae3b378ed86cdd666868b38190f2813;hb=331465566be1e1821c0bb3738f8de130dd8c19f8;hp=66b29c86cddb3875e0b3223c7deb4fd5ccc04653;hpb=575610565f6f60745f8562469acdaec081a26cd5;p=catta diff --git a/avahi-python/avahi/ServiceTypeDatabase.py.in b/avahi-python/avahi/ServiceTypeDatabase.py.in index 66b29c8..d134510 100644 --- a/avahi-python/avahi/ServiceTypeDatabase.py.in +++ b/avahi-python/avahi/ServiceTypeDatabase.py.in @@ -19,7 +19,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA. -import gdbm +import @DBM@ import locale import re @@ -27,9 +27,9 @@ locale.setlocale(locale.LC_ALL, '') class ServiceTypeDatabase: - def __init__(self, filename = "@pkgdatadir@/service-types.db"): + def __init__(self, filename = "@pkglibdir@/service-types.db"): - self.db = gdbm.open(filename, "r") + self.db = @DBM@.open(filename, "r") l = locale.getlocale(locale.LC_MESSAGES) @@ -69,12 +69,12 @@ class ServiceTypeDatabase: def items(self): items = [] - key = self.db.firstkey() - while key is not None: - if re.search('_\w*\._\w*', key) and not re.search('_\w*\._\w*\[.*\]', key): + @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): localized_service_name = self[key] items.append((key, localized_service_name)) - key = self.db.nextkey(key) + @NEXT_KEY@ return items def has_key(self, key): @@ -100,6 +100,7 @@ class ServiceTypeDatabase: if __name__ == "__main__": b = ServiceTypeDatabase() + print b.items() print b["_http._tcp"] print b["_ftp._tcp"]