X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=ud-xearth;h=47fdbf1d57ab9878ee3d6f64330d1af5a65ad09c;hb=29a64949fcfdee5b1fb6333037c78baf648827ed;hp=96798664afce0208ec678900a45f3a356804e5a2;hpb=51f98437460dd3adac2cacd9510551dd2f3d54a7;p=mirror%2Fuserdir-ldap.git diff --git a/ud-xearth b/ud-xearth index 9679866..47fdbf1 100755 --- a/ud-xearth +++ b/ud-xearth @@ -1,5 +1,23 @@ #!/usr/bin/env python # -*- mode: python -*- + +# Copyright (c) 1999-2000 Jason Gunthorpe +# Copyright (c) 2004 Joey Schulze +# +# 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: