@classmethod
	def fromAccountLine(cls, line):
		line = line.split()
		if len(line) < 8: return

		try:
			username = line[0]
			password = line[1]
			access = line[2]
			uid = line[3]
			last_login = int(line[4])
			last_ip = line[5]
			register_date = int(line[6])
			country = line[7]
			# mapgrades = ' '.join(line[8:]) # no longer used
			account_id = line[8]
			
			permissions = int((access[-3:] or '0'), 2)
			ingame_time = int((access[-23:-3] or '0'), 2)
			agreement = (len(access) >= 24 and access[-24] == '1')
			bot = (len(access) >= 25 and access[-25] == '1')

			if permissions and not agreement: access = 'agreement'
			elif permissions == 3: access = 'admin'
			elif permissions == 2: access = 'mod'
			elif permissions == 1: access = 'user'
			else: access = 'disabled'
		
			return cls(username, password, ingame_time, bot, access, uid, last_login, last_ip, register_date, country, account_id)
		except:
			print 'Error reading user:', line
dataset/ETHPy150Open lunixbochs/uberserver/tasserver/LegacyUsers.py/User.fromAccountLine/original