50 lines
1.1 KiB
Python
50 lines
1.1 KiB
Python
#
|
|
# Copyright 2015 (c) Anna Schumaker
|
|
#
|
|
from . import api
|
|
from . import auth
|
|
|
|
|
|
__USERS = dict()
|
|
|
|
class User:
|
|
def __init__(self, json):
|
|
self.__user = json.get("name", "")
|
|
self.__first = json["profile"].get("first_name", "")
|
|
self.__last = json["profile"].get("last_name", "")
|
|
self.__real = json["profile"].get("real_name", "")
|
|
self.__email = json["profile"].get("email", "")
|
|
|
|
def __str__(self):
|
|
if self.name() == self.__user:
|
|
return self.__user()
|
|
return "%s (%s)" % (self.name(), self.__user)
|
|
|
|
def name(self):
|
|
if self.__real != "":
|
|
return self.__real
|
|
if self.__first == "" and self.__last == "":
|
|
return self.__user
|
|
return ("%s %s" % (self.__first, self.__last)).strip()
|
|
|
|
def user(self):
|
|
return self.__user
|
|
|
|
def email(self):
|
|
return self.__email
|
|
|
|
|
|
|
|
def info(user):
|
|
ret = __USERS.get(user, None)
|
|
if ret:
|
|
return ret
|
|
|
|
ret = api.call("users.info", token = auth.token(), user = user);
|
|
if ret["ok"] == False:
|
|
return None
|
|
|
|
ret = User(ret["user"])
|
|
__USERS[user] = ret
|
|
return ret
|