Ionut Flavius Pogacian
Ionut Flavius Pogacian

Reputation: 4811

mongoDB: python code issue

could it be the wrong bottle version?

I lookeed in the sessionDAO file provided by the admins, and they do it the same as i do it;

the code:

def __init__(self, db):
        self.db = db
        self.users = self.db.users
        self.SECRET = 'verysecret'

says:

[1] connect to the blog db [2] select the users collection

and in the login code i have:

def validate_login(self, username, password):

        user = None
        try:
            # XXX HW 2.3 Students Work Here
            # you will need to retrieve right document from the users collection.

            password = self.make_pw_hash(password)
                    user = self.users.find({"_id":username,"password":password})

I know self, username and password; it should be a simple find by document, as i wrote it; I now see that there might be a indentation problem, wich i can see it only on stackoverflow, in notepad++ it's not there;

and:

def add_user(self, username, password, email):
            password_hash = self.make_pw_hash(password)

            user = {'_id': username, 'password': password_hash}
            if email != "":
                user['email'] = email

            try:
                # XXX HW 2.3 Students work here
                # You need to insert the user into the users collection.
                # Don't over think this one, it's a straight forward insert.

                self.users.insert(user)

I know self, username, password and email;

The document is prepared by default: user = {'_id': username, 'password': password_hash}

It should be a simple insert: self.users.insert(user)

Upvotes: 1

Views: 1994

Answers (2)

Hernan Ramirez
Hernan Ramirez

Reputation: 645

Change the line

user = self.users.find({"_id":username,"password":password}) to

user = self.users.find_one({"_id":username})

Upvotes: 0

000
000

Reputation: 27247

Whenever you make any change to the source code, you need to restart the server for those changes to take effect.

Upvotes: 1

Related Questions