def authenticate(self, username=None, password=None): try: f = urllib2.urlopen(self.minecraft_login_url, urllib.urlencode([('user',username),('password',password),('version',self.minecraft_version)])) except: return None ret = f.readline().strip(); valid = ret != "Bad login" if valid: items = ret.split(':') if ret == "User not premium": uname = username else: uname = items[2] try: user = User.objects.get(username=uname) #user.set_password(password) except User.DoesNotExist: user = User(username=uname,password="******") user.save() if ret != "User not premium": try: token = user.authtoken except AuthToken.DoesNotExist: token = AuthToken(user=user) token.download_ticket = items[1] token.session_id = items[3] token.latest_version = items[0] token.save() return user return None