<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
im trying to create a class user<br>
so that <br>
<br>
i can do <br>
<br>
r=User(1)<br>
<br>
<br>
r._user.keys()<br>
['rating', 'last_name', 'pageviews', 'ip', 'number_polls', 'site',
'myrand', 'hotmail', 'number_activities', 'skype', 'id', 'city',
'rawpassword', 'number_useraudios', 'zip', 'number_votes',
'last_login', 'number_userpics', 'music', 'email', 'number_pages',
'username', 'number_posts', 'hash', 'number_comments',
'number_pictures', 'first_name', 'yahoo', 'groups', 'heroes',
'favoritestuff', 'number_usermessages_sent', 'vanity', 'interests',
'television', 'number_uservideos', 'created', 'dob', 'gender',
'number_friends', 'liketomeet', 'htmlcodes', 'aim', 'movies',
'password', 'books', 'profilepic', 'number_usermessages',
'email_subscribe', 'number_communities']<br>
<br>
so i want this to become<br>
<br>
r.rating<br>
r.last_name<br>
r.pageviews and so on<br>
r.username<br>
r.photos()<br>
and so on<br>
<br>
but <br>
<br>
<b><font color="#000099">i want to set the keys of the user row as the
keys of User self<br>
but i m not sure how to do it<br>
<br>
        for i in self._user.keys():<br>
            self[i]=self._user[i]<br>
<br>
gives an error<br>
Traceback (most recent call last):<br>
  File "<stdin>", line 1, in <module><br>
  File "api.py", line 40, in __init__<br>
    self[i]=self._user[i]<br>
AttributeError: instance has no attribute '__setitem__'</font><br>
</b>
<br>
<pre><font color="#009900">You can do something like

  self.update(_user)
</font></pre>
<font color="#009900">doesnt work either<br>
Traceback (most recent call last):<br>
  File "<stdin>", line 1, in <module><br>
  File "api.py", line 39, in __init__<br>
    self.update(self._user)<br>
AttributeError: user instance has no attribute 'update'</font><br>
<br>
Any thoughts on how to set this?<br>
<br>
class User:<br>
    """user object<br>
    """<br>
<br>
    def __init__(self, id):<br>
        self._id = id<br>
        self._user=db.query('select * from users where
id=$id',vars=locals())<br>
        if not self._user:<br>
            self._validuser=False<br>
            self._username=''<br>
            self._firstname=''<br>
            self._lastname=''<br>
            self._dob=''<br>
            self._gender=''<br>
            self._sex=''<br>
        else:<br>
            self._user=self._user[0]<br>
            self._validuser=True<br>
        self._username=self._user.username<br>
        self._firstname=self._user.first_name<br>
        self._lastname=self._user.last_name<br>
        self._dob=self._user.dob<br>
        self._gender=self._user.gender<br>
        self._sex=self._user.gender<br>
        for i in self._user.keys():<br>
            self[i]=self._user[i]<br>
    def userrow(self):<br>
        return db.query('select * from users where
id=$self._id',vars=locals())[0]<br>
    def photos(self):<br>
        return db.query('select pic,id, username from userpics where
user_id=$self._id',vars=locals())<br>
<br>
<br>
</body>
</html>