Example #1
0
def wrap_member(member, login_alias=None, password=None):
    """
    Return a `ConsumerWrapper` reflecting the given `Member`.
    """
    wrapper = ConsumerWrapper()
    for a in NEO_ATTR:
        getattr(wrapper, "set_%s" % a)(getattr(member, a))
    # Use a login_alias instead if specified
    # member.username.lower() is not guaranteed to be unique
    if login_alias:
        wrapper.set_username(login_alias)

    if password:
        wrapper.set_password(password)

    # assign address
    has_address = False
    for k in ADDRESS_FIELDS:
        if getattr(member, k, None):
            has_address = True
            break
    if has_address:
        wrapper.set_address(member.address, member.city,
                            member.province, member.zipcode, member.country)

    return wrapper