def __init__(self, clan, string: str=''): from my_coding import my_encode, my_decode """ :type string: str :param string:str to initialize a history item instance """ self.clan = clan if string: str_list = string.split('\n') self.date = str_list[0] self.name = str_list[1] self.kuni = str_list[2] self.ninsuu = int(str_list[3]) temp = str_list[4].split(' ') self.kekka = (int(temp[0]), int(temp[1])) self.percent = (int(temp[2]), int(temp[3])) if len(temp) == 4 else (0, 0) self.mikata = [] self.teki = [] for i in range(self.ninsuu): temp = str_list[5 + i] self.mikata.append(clan[temp[0:-2]]) self.mikata[i].hslv[self.date]= my_decode(temp[-2]) self.teki.append(my_decode(temp[-1])) self.rekishi = [] for temp in str_list[5+self.ninsuu:-1]: item = HistoryUnit(temp[0], my_decode(temp[1]), my_decode(temp[2]), int(temp[3]), int(temp[4:]), self.ninsuu) self.rekishi.append(item) else: self.clear()
def __init__(self, clan, string: str=''): from my_coding import my_encode, my_decode """ :type string: str :param string: string to initial a donate item instance """ self.donateList = [] self.clan = clan if string: str_list = string.split('\n') self.date = str_list[0] for temp0 in str_list[1:-1]: temp1 = temp0.split(' ') unit = DonateUnit(temp1[0], int(temp1[1])) if len(temp1[2]): temp2 = temp1[2].split('|') if len(temp2[0]): attack = filter(None, temp2[0].split('+')) for item in attack: percent, donate = item[5:].split('-') unit.attack.append(DonateAD(my_decode(item[0]), my_decode(item[1]), my_decode(item[2]), my_decode(item[3]), int(item[4]), int(percent), int(donate))) if len(temp2[1]): defend = filter(None, temp2[1].split('+')) for item in defend: percent, donate = item[5:].split('-') unit.defend.append(DonateAD(my_decode(item[0]), my_decode(item[1]), my_decode(item[2]), my_decode(item[3]), int(item[4]), int(percent), int(donate))) self.donateList.append(unit)