X-Git-Url: https://git.adam-barratt.org.uk/?p=mirror%2Fuserdir-ldap.git;a=blobdiff_plain;f=ud-generate;h=a0d5d7c67ee40c127b5eb6fb6d4c7369c986a7de;hp=6b004f037b1eb1279b0c854dc1424a2214bb5cd3;hb=51f98437460dd3adac2cacd9510551dd2f3d54a7;hpb=8ea8b0937fb83d1db795b20b96acccff2ab4025a diff --git a/ud-generate b/ud-generate index 6b004f0..a0d5d7c 100755 --- a/ud-generate +++ b/ud-generate @@ -195,6 +195,34 @@ def GenForward(l,File,Allowed): raise; Done(File,F,Fdb); +# Generate the anon XEarth marker file +def GenMarkers(l,File): + F = None; + Fdb = None; + try: + F = open(File + ".tmp","w"); + Fdb = None; + + # Fetch all the users + global PasswdAttrs; + if PasswdAttrs == None: + raise "No Users"; + + # Write out the email address for each user + for x in PasswdAttrs: + if x[1].has_key("latitude") == 0 or x[1].has_key("longitude") == 0: + continue; + try: + F.write("%8s %8s \"\"\n"%(DecDegree(x,"latitude",1),DecDegree(x,"longitude",1))); + except: + pass; + + # Oops, something unspeakable happened. + except: + Die(F,Fdb); + raise; + Done(File,F,Fdb); + # Connect to the ldap server l = ldap.open(LDAPServer); F = open(PassDir+"/pass-"+pwd.getpwuid(posix.getuid())[0],"r"); @@ -218,7 +246,7 @@ PasswdAttrs = l.search_s(BaseDn,ldap.SCOPE_ONELEVEL,"uid=*",\ ["uid","uidnumber","gidnumber","supplementarygid",\ "gecos","loginshell","userpassword","shadowlastchange",\ "shadowmin","shadowmax","shadowwarning","shadowinactive", - "shadowexpire","emailforward"]); + "shadowexpire","emailforward","latitude","longitude"]); # Open the control file if len(sys.argv) == 1: @@ -251,3 +279,5 @@ while(1): GenGroup(l,OutDir+"group",GroupList); GenShadow(l,OutDir+"shadow",GroupList); GenForward(l,OutDir+"forward-alias",GroupList); + GenMarkers(l,OutDir+"markers"); +