def login(self):
if self.options['<STR_LIT>']:<EOL><INDENT>self.client.token = self.options['<STR_LIT>']<EOL>result = self.users.get_user('<STR_LIT>')<EOL><DEDENT>else:<EOL><INDENT>response = self.users.login_user({<EOL>'<STR_LIT>': self.options['<STR_LIT>'],<EOL>'<STR_LIT:password>': self.options['<STR_LIT:password>'],<EOL>'<STR_LIT>': self.options['<STR_LIT>']<EOL>})<EOL>if response.status_code == <NUM_LIT:200>:<EOL><INDENT>self.client.token = response.headers['<STR_LIT>']<EOL>self.client.cookies = response.cookies<EOL><DEDENT>try:<EOL><INDENT>result = response.json()<EOL><DEDENT>except ValueError:<EOL><INDENT>log.debug('<STR_LIT>')<EOL>result = response<EOL><DEDENT><DEDENT>log.debug(result)<EOL>if '<STR_LIT:id>' in result:<EOL><INDENT>self.client.userid = result['<STR_LIT:id>']<EOL><DEDENT>if '<STR_LIT:username>' in result:<EOL><INDENT>self.client.username = result['<STR_LIT:username>']<EOL><DEDENT>return result<EOL>
Logs the user in.

The log in information is saved in the client
        - userid
        - username
        - cookies

:return: The raw response from the request