Added proper copyright notice
[mirror/userdir-ldap.git] / ud-xearth
index 9679866..47fdbf1 100755 (executable)
--- a/ud-xearth
+++ b/ud-xearth
@@ -1,5 +1,23 @@
 #!/usr/bin/env python
 # -*- mode: python -*-
+
+#   Copyright (c) 1999-2000  Jason Gunthorpe <jgg@debian.org>
+#   Copyright (c) 2004       Joey Schulze <joey@debian.org>
+#
+#   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
+#   the Free Software Foundation; either version 2 of the License, or
+#   (at your option) any later version.
+#
+#   This program 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 General Public License
+#   along with this program; if not, write to the Free Software
+#   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
 # Generate an xearth database from the LDAP entries
 # LDAP entires for lat/long can be in one of 3 different formats
 #    1) Decimal Degrees
@@ -14,7 +32,7 @@
 #  DGMS -> DD  DDD + (MM + (SS.SSSSSS)/60)/60
 # For Latitude + is North, for Longitude + is East
 
-import string, re, time, ldap, getopt, sys, pwd, posix;
+import string, re, time, ldap, getopt, sys, pwd, os, posix;
 from userdir_ldap import *;
 
 Anon = 0;
@@ -30,11 +48,7 @@ for (switch, val) in options:
       Anon = 1;
 
 # Connect to the ldap server
-l = ldap.open(LDAPServer);
-print "Accessing LDAP directory as '" + User + "'";
-Password = getpass(User + "'s password: ");
-UserDn = "uid=" + User + "," + BaseDn;
-l.simple_bind_s(UserDn,Password);
+l = passwdAccessLDAP(LDAPServer, BaseDn, User)
 
 Attrs = l.search_s(BaseDn,ldap.SCOPE_ONELEVEL,"latitude=*",\
          ["uid","cn","mn","sn","latitude","longitude"]);
@@ -52,9 +66,9 @@ for x in Attrs:
    Count = Count + 1;
    try:
       if Anon != 0:
-         F.write("%8s %8s \"\"\n"%(DecDegree(x,"latitude",Anon),DecDegree(x,"longitude",Anon)));
+         F.write("%8s %8s \"\"\n"%(DecDegree(GetAttr(x,"latitude"),Anon),DecDegree(GetAttr(x,"longitude"),Anon)));
       else:
-         F.write("%16s %16s \"%s\" \t# %s\n"%(DecDegree(x,"latitude",Anon),DecDegree(x,"longitude",Anon),GetAttr(x,"uid"),EmailAddress(x)));
+         F.write("%16s %16s \"%s\" \t# %s\n"%(DecDegree(GetAttr(x,"latitude"),Anon),DecDegree(GetAttr(x,"longitude"),Anon),GetAttr(x,"uid"),EmailAddress(x)));
    except:
       Failed = Failed + 1;
       if Anon == 0: