Create a Python User() class that both creates new users and modifies existing users

Posted by ensnare on Stack Overflow See other posts from Stack Overflow or by ensnare
Published on 2010-03-26T08:32:50Z Indexed on 2010/03/26 8:43 UTC
Read the original article Hit count: 398

I'm trying to figure out the best way to create a class that can modify and create new users all in one. This is what I'm thinking:

class User(object):

    def __init__(self,user_id):
      if user_id == -1
          self.new_user = True
      else:
          self.new_user = False

          #fetch all records from db about user_id
          self._populateUser() 

    def commit(self):
        if self.new_user:
            #Do INSERTs
        else:
            #Do UPDATEs

    def delete(self):
        if self.new_user == False:
            return False

        #Delete user code here

    def _populate(self):
        #Query self.user_id from database and
        #set all instance variables, e.g.
        #self.name = row['name']

    def getFullName(self):
        return self.name

#Create a new user
>>u = User()
>>u.name = 'Jason Martinez'
>>u.password = 'linebreak'
>>u.commit()
>>print u.getFullName()
>>Jason Martinez

#Update existing user
>>u = User(43)
>>u.name = 'New Name Here'
>>u.commit()
>>print u.getFullName()
>>New Name Here

Is this a logical and clean way to do this? Is there a better way?

Thanks.

© Stack Overflow or respective owner

Related posts about python

Related posts about oop