isogeo_pysdk.api.routes_user module

Isogeo API v1 - API Routes for Users entities

See: http://help.isogeo.com/api/complete/index.html

class isogeo_pysdk.api.routes_user.ApiUser(api_client=None)

Bases: object

Routes as methods of Isogeo API used to manipulate users.

create(user=<class 'isogeo_pysdk.models.user.User'>, check_exists=1)

Add a new user to Isogeo.

Parameters:
  • user (class) – User model object to create
  • check_exists (bool) – check if a user already exists:
  • 0 = no check
  • 1 = compare email [DEFAULT]
Return type:User
delete(user)

Delete an user.

Parameters:user (class) – User model object to be deteled
Return type:User
get(user_id, include='_abilities')

Get details about a specific user.

Parameters:
  • user_id (str) – user UUID
  • include (list) – additionnal subresource to include in the response
Return type:

User

listing(self)

Get registered users.

Example:
>>> # get all registered users
>>> users = isogeo.user.listing()
>>> print(len(users))
925
>>> # filter on staff users (as list)
>>> staff = [user for user in users if user.get("staff")]
>>> print(len(staff))
10
>>> # filter on users with an email from isogeo(as list)
>>> users_isogeo = [user for user in users if "@isogeo" in user.get("contact").get("email")]
>>> print(len(users_isogeo))
37
Return type:list
memberships(user_id)

Returns memberships for the specified user.

Parameters:user_id (str) – user UUID
Return type:dict
subscriptions(user, subscription, subscribe)

Subscribe or unsubscribe an user to/from one of the available subscriptions.

Parameters:
  • user (class) – User model object to be updated
  • subscription (str) – subscription (newsletter) targetted. Must be one of: NewReleases | TipsAndTricks
  • subscribe (bool) – subscribe (1) or unsubscribe (0)
Return type:

User

Example:
# retrieve the user
uzer = isogeo.user.get(user_id={user_uuid})

# unsubscribe the user from the newsletter 'TipsAndTricks'
isogeo.user.subscriptions(uzer, "TipsAndTricks", 0)

# subscribe the user to the newsletter 'NewReleases'
isogeo.user.subscriptions(uzer, "TipsAndTricks", 0)
update(user)

Update an user.

Parameters:user (class) – User model object to be updated
Return type:User
Example:
# retrieve the user
uzer = isogeo.user.get(user_id={user_uuid})

# unsubscribe the user from a newsletter
uzer.mailchimp.get("subscriptions")[0]["isInterested"] = False

# update it online
isogeo.user.update(uzer)