Clearer error messages
[mirror/userdir-ldap.git] / ud-useradd
index b875470..dae1914 100755 (executable)
@@ -5,8 +5,6 @@ import string, re, time, ldap, getopt, sys, posix, pwd;
 from userdir_ldap import *;
 from userdir_gpg import *;
 
-AddressSplit = re.compile("(.*).*<([^@]*)@([^>]*)>");
-
 # This tries to search for a free UID. There are two possible ways to do
 # this, one is to fetch all the entires and pick the highest, the other
 # is to randomly guess uids until one is free. This uses the formar.
@@ -63,13 +61,10 @@ while (1):
    
 # Crack up the email address from the key into a best guess 
 # first/middle/last name
-Match = AddressSplit.match(Keys[0][2]);
-if Match == None:
-   (cn,mn,sn,email,account) = ('','','','','');
-else:
-   (cn,mn,sn) = NameSplit(re.sub('["]','',Match.groups()[0]))
-   email = Match.groups()[1] + '@' + Match.groups()[2];
-   account = Match.groups()[1];
+Addr = SplitEmail(Keys[0][2]);
+(cn,mn,sn) = NameSplit(re.sub('["]','',Addr[0]))
+email = Addr[1] + '@' + Addr[2];
+account = Addr[1];
 
 privsub = email;
 gidnumber = str(DefaultGID);