Found it, it was that values I was importing were tuples, it works given I 
access "first tuple item" e.g.:
first_name=user[1]['givenName'][0]

On Wednesday, March 4, 2015 at 8:59:32 PM UTC+1, Grzegorz Dzień wrote:
>
> I have tried doing it this way:
>
> def showthemall():
>     # LDAP connection settings
>     LDAP_SERVER = "ldap://ad.superhost";
>     BIND_DN = "superuser@ad.superhost"
>     BIND_PASS = "mysupersecretpassword"
>     # Connect to LDAP
>     con = ldap.initialize(LDAP_SERVER)
>     # Authenticate in LDAP
>     con.simple_bind_s(BIND_DN, BIND_PASS)
>     # We don't want disabled users, so we use some magic LDAP-Active
> Directory filers for it
>     ldapfilter =
> '(&(&(objectclass=person)(
> objectcategory=person))(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'
>     # What user attributes do we want list in link:
>     # 
> http://www.manageengine.com/products/ad-manager/help/csv-import-management/active-directory-ldap-attributes.html
>     attrs = ['displayName', 'givenName', 'sn', 'mail', 'mailNickname',
> 'department']
>     # Get all users from ldap
>     base_dn = 'ou=<OU>,dc=<DC>,dc=<DC>'
>     ad_users = con.search_s( base_dn, ldap.SCOPE_SUBTREE, ldapfilter, 
> attrs )
>
>     for user in ad_users:
>         # get 2nd value separated by comma
>         ouvar=user[0].split(',')[1]
>         # if ouvar valude is not Generic
>         if ouvar != 'OU=Generic':
>             # add user to the auth_user table
>             required_fields = set([ 'sn', 'givenName', 'mail',
> 'department', 'mailNickname' ])
>             if required_fields.issubset(set(user[1])):
>                 db.auth_user.insert(first_name=user[1]['givenName'],
>                                     last_name=user[1]['sn'],
>                                     email=user[1]['mail'],
>                                     username=user[1]['mailNickname'],
>                                     password=None,
>                                     
> registration_id=user[1]['mailNickname'])
>
>
>
> It is importing contact as (I mean every value in the DB is enveloped in 
> vertical bar):
>
> |Grzegorz||Dzien||gdzien@domai...|gdzien|None|gdzien|
>
>
> By the way - is there a way to re-use web2py's AD connector's connection?
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to