posts:ldap: update Python scripts to explicitly use Python 2.
authorW. Trevor King <wking@tremily.us>
Fri, 28 Sep 2012 00:08:16 +0000 (20:08 -0400)
committerW. Trevor King <wking@tremily.us>
Mon, 17 Dec 2012 11:41:05 +0000 (06:41 -0500)
python-ldap doesn't have a Python 3 version yet.  I made a few other
changes to increase Python 3 compatibility, and added a full copyright
blurb to abook-ldif-cleanup.py.

mutt-ldap.py

index 7c51d859d68413c4770c2308489ec585c955e01f..d75f51b30d51e380e40ad6a0de97e9d9363237d7 100755 (executable)
@@ -1,6 +1,6 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
 #
-# Copyright (C) 2008-2011  W. Trevor King
+# Copyright (C) 2008-2012  W. Trevor King
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -59,7 +59,7 @@ def connect():
     protocol = 'ldap'
     if CONFIG.getboolean('connection', 'ssl'):
         protocol = 'ldaps'
-    url = '%s://%s:%s' % (
+    url = '{}://{}:{}'.format(
         protocol,
         CONFIG.get('connection', 'server'),
         CONFIG.get('connection', 'port'))
@@ -85,8 +85,8 @@ def search(query, connection=None):
         post = ''
         if query:
             post = '*'
-        filterstr = '(|%s)' % (
-            u' '.join([u'(%s=*%s%s)' % (field, query, post)
+        filterstr = u'(|{})'.format(
+            u' '.join([u'({}=*{}{})'.format(field, query, post)
                        for field in ['cn', 'displayName', 'uid', 'mail']]))
         r = connection.search_s(
             CONFIG.get('connection', 'basedn'),
@@ -112,5 +112,5 @@ if __name__ == '__main__':
     entries = search(query)
     addresses = list(itertools.chain(
             *[format_entry(e) for e in sorted(entries)]))
-    print '%d addresses found:' % len(addresses)
-    print '\n'.join(addresses)
+    print('{} addresses found:'.format(len(addresses)))
+    print('\n'.join(addresses))