preliminary coding to make gkeyldap py3 capable
[gentoo-keys.git] / gkeyldap / search.py
index 66721f1b8fcca5940d37b7655979966cd347207c..2cbc4b95743bffb9cee631ada144f87e43bbb032 100644 (file)
@@ -1,12 +1,23 @@
-import ldap
+#
+#-*- coding:utf-8 -*-
 
-from gkeys.log import logger
-from gkeys.config import GKEY
+
+try:
+    import ldap
+except ImportError:
+    import sys
+    # py3.2
+    if sys.hexversion >= 0x30200f0:
+        print('To run "ldap-seeds" in python 3, it requires a python3 '
+            'compatible version of dev-python/python-ldap be installed')
+        print('Currently only dev-python/python-ldap-9999 has that capability')
+        raise
 
 
-# set debug level to max
-logger.setLevel(1)
+from gkeys import log
+from gkeys.config import GKEY
 
+logger = log.logger
 
 default_server = 'ldap://ldap1.gentoo.org'
 # add uid to the results so you don't have to
@@ -19,8 +30,10 @@ gkey2ldap_map = {
     'nick': 'uid',
     'name': 'cn',
     'keyid': 'gpgkey',
-    'longkeyid': '',
-    'keyring': '',
+    'longkeyid': 'gpgkey',
+    # map the uid to keydir, since we want
+    # dev keydir to be separate from each other
+    'keydir': 'uid',
     'fingerprint': 'gpgfingerprint'
 }
 # Sanity check they are in sync
@@ -73,7 +86,7 @@ class LdapSearch(object):
             self.ldap_connection.start_tls_s()
             self.ldap_connection.simple_bind_s()
         except Exception as e:
-            logger.error('LdapSearch: connect; failed to connect ot server: %s' % self.server)
+            logger.error('LdapSearch: connect; failed to connect to server: %s' % self.server)
             logger.error("Exception was: %s" % str(e))
             return False
         logger.debug('LdapSearch: connect; connection: %s' % self.ldap_connection)