def secret_book_part_edit(request,secret_book_part_id=0,template="admin/card/secret_book_part/edit.tpl"): secret_book_part = Card.get_card("SecretBookPart",secret_book_part_id) if request.method == "GET": t_card_list = Card.get_card_all("SecretBook") return render_response(template,t_card_list=t_card_list, secret_book_part=secret_book_part) elif request.method == "POST": form = SecretBookPartForm(request.POST) if form.is_valid(): name = form.cleaned_data['name'] description = form.cleaned_data['description'] is_unlock = form.cleaned_data['is_unlock'] image = form.cleaned_data['image'] rarity = form.cleaned_data['rarity'] t_card_id = form.cleaned_data['t_card_id'] try: secret_book_part.name = name secret_book_part.description = description secret_book_part.is_unlock = is_unlock if image: secret_book_part.image = image secret_book_part.rarity = rarity secret_book_part.t_card_id = t_card_id secret_book_part.save() if secret_book_part: _edit_card(secret_book_part,"SecretBookPart") except Exception,e: if config.debug: print e else: return HttpResponse("<script type='text/javascript'>window.top.right.location.reload();window.top.art.dialog({id:'secret_book_part_edit'}).close();</script>")
def create_ideal_style_card(self): if self.user.heart < User.REQUIREMENT_GET_IDEAL_HEART: raise HeartNotEnoughException() self.user.heart = self.user.heart - User.REQUIREMENT_GET_IDEAL_HEART self.save() if self.user.gender == "M": opposite_gender = "F" else: opposite_gender = "M" partner = User.objects.filter(gender=opposite_gender, school=school, major=major, job=job, personality=personality, region=region, height=height, body_type=body_type, age=age).first() if not partner: self.user.heart = self.user.heart + User.REQUIREMENT_GET_IDEAL_HEART self.save() raise NoPartnerException() print(partner) 1 / 0 card = Card(user=self.user, partner=partner, introduce_date=date.today()) card.save() return card
def shield_list(request,cur_page=1,template="admin/card/shield/list.tpl"): count = Card.get_card_count("Shield") if count != 0: page = int(cur_page) shield_list = Card.get_card_list("Shield",page) p = Paginator(page,count,page_size=config.default_page_size) if shield_list: return render_response(template,request=request,shield_list=shield_list,p=p) return render_response(template,request=None,shield_list=None,p=None)
def general_list(request,cur_page=1,template="admin/card/general/list.tpl"): count = Card.get_card_count("General") if count != 0: page = int(cur_page) general_list = Card.get_card_list("General",page) p = Paginator(page,count,page_size=config.default_page_size) if general_list: return render_response(template,request=request,general_list=general_list,p=p) return render_response(template,request=None,general_list=None,p=None)
def treasure_part_list(request,cur_page=1,template="admin/card/treasure_part/list.tpl"): count = Card.get_card_count("TreasurePart") if count != 0: page = int(cur_page) treasure_part_list = Card.get_card_list("TreasurePart",page) p = Paginator(page,count,page_size=config.default_page_size) if treasure_part_list: return render_response(template,request=request,treasure_part_list=treasure_part_list,p=p) return render_response(template,request=None,treasure_part_list=None,p=None)
def secret_book_part_list(request,cur_page=1,template="admin/card/secret_book_part/list.tpl"): count = Card.get_card_count("SecretBookPart") if count != 0: page = int(cur_page) secret_book_part_list = Card.get_card_list("SecretBookPart",page) p = Paginator(page,count,page_size=config.default_page_size) if secret_book_part_list: return render_response(template,request=request,secret_book_part_list=secret_book_part_list,p=p) return render_response(template,request=None,secret_book_part_list=None,p=None)
def weapon_list(request,cur_page=1,template="admin/card/weapon/list.tpl"): count = Card.get_card_count("Weapon") if count != 0: page = int(cur_page) weapon_list = Card.get_card_list("Weapon",page) p = Paginator(page,count,page_size=config.default_page_size) if weapon_list: return render_response(template,request=request,weapon_list=weapon_list,p=p) return render_response(template,request=None,weapon_list=None,p=None)
def form_valid(self, form): user = self.request.user myuser = user.myuser now = datetime.datetime.now() for item in form.cleaned_data['books']: book = Book.objects.get(id=item) book.is_taken = True book.save() card = Card(books=book, myuser=myuser, when_giving=now) card.save() message = u'You take \"%s\" from library' % book.title messages.success(self.request, message) return super(CardCreateView, self).form_valid(form)
def search_card(request): if request.method == 'POST': form = SearchCardForm(request.POST) if form.is_valid(): search_text = form.cleaned_data['search_text'] # Return the first 10 results (ordered) for the user to choose. # Error if no results are found. cards = Card.freesearch(search_text)[:10] if cards != []: viewing = 'search' return render_to_response( 'cards/index.htm', { 'cards': cards, 'viewing': viewing }, context_instance=RequestContext(request)) form._errors['search_text'] = ErrorList( [u'Cannot find any card with that name']) else: form = SearchCardForm() return render(request, 'search.htm', { 'form': form, }, context_instance=RequestContext(request))
def get(self, request): series = Card.generate_string(4) number = Card.generate_string(12) while Card.objects.filter(series=series, number=number).exists(): series = Card.generate_string(4) number = Card.generate_string(12) Card.objects.create( series=series, number=number, release_date=date.today(), end_date=date.today(), ) return redirect('/')
def fall_cards_update(request,template="admin/card/update_fall_cards.tpl"): if request.method == "GET": return render_response(template) elif request.method == "POST": try: raw_sql = "TRUNCATE TABLE card_card;" Card.objects.raw(raw_sql) card_types = [["General","武将"], ["Weapon","武器"], ["Shield","防具"], ["Treasure","宝物"], ["TreasurePart","碎片"], ["SecretBook","密卷"], ["SecretPart","残卷"]] for card_type in card_types: card_list = Card.get_card_all(card_type[0]) if card_list: for card in card_list: c = Card.objects.create(r_card_id=card.id,type_name=card_type[1], card_type=card_type[0], rarity=card.rarity, card_name=card.name) c.save() except Exception,e: if config.debug: print e else: return HttpResponse("1")
def shield_edit(request,shield_id=0,template="admin/card/shield/edit.tpl"): shield = Card.get_card("Shield",shield_id) if request.method == "GET": return render_response(template,shield=shield) elif request.method == "POST": form = ShieldForm(request.POST) if form.is_valid(): name = form.cleaned_data['name'] rarity = form.cleaned_data['rarity'] description = form.cleaned_data['description'] rebirth_max = form.cleaned_data['rebirth_max'] is_unlock = form.cleaned_data['is_unlock'] image = form.cleaned_data['image'] defence = form.cleaned_data['defence'] try: edit_card = False if (rarity != shield.rarity) or (name != shield.name): edit_card = True shield.name = name shield.rarity = rarity shield.description = description shield.rebirth_max = rebirth_max shield.is_unlock = is_unlock if image: shield.image = image shield.defence = defence shield.save() if edit_card: _edit_card(shield,"Shield") except Exception,e: if config.debug: print e else: return HttpResponse("<script type='text/javascript'>window.top.right.location.reload();window.top.art.dialog({id:'shield_edit'}).close();</script>")
def weapon_edit(request,weapon_id=0,template="admin/card/weapon/edit.tpl"): weapon = Card.get_card("Weapon",weapon_id) if request.method == "GET": return render_response(template,weapon=weapon) elif request.method == "POST": form = WeaponForm(request.POST) if form.is_valid(): name = form.cleaned_data['name'] rarity = form.cleaned_data['rarity'] description = form.cleaned_data['description'] rebirth_max = form.cleaned_data['rebirth_max'] is_unlock = form.cleaned_data['is_unlock'] image = form.cleaned_data['image'] attack = form.cleaned_data['attack'] try: edit_card = False if (rarity != weapon.rarity) or (name != weapon.name): edit_card = True weapon.name = name weapon.rarity = rarity weapon.description = description weapon.attack = attack weapon.rebirth_max = rebirth_max weapon.is_unlock = is_unlock if image: weapon.image = image weapon.save() if edit_card: _edit_card(weapon,"Weapon") except Exception,e: if config.debug: print e else: return HttpResponse("<script type='text/javascript'>window.top.right.location.reload();window.top.art.dialog({id:'weapon_edit'}).close();</script>")
def general_add(request,template="admin/card/general/add.tpl"): group_list = Group.get_all() if request.method == "GET": return render_response(template,group_list=group_list) elif request.method == "POST": form = GeneralForm(request.POST) if form.is_valid(): name = form.cleaned_data['name'] rarity = form.cleaned_data['rarity'] level = form.cleaned_data['level'] group_id = form.cleaned_data['group_id'] description = form.cleaned_data['description'] attack = form.cleaned_data['attack'] defence = form.cleaned_data['defence'] rebirth_max = form.cleaned_data['rebirth_max'] is_unlock = form.cleaned_data['is_unlock'] image = form.cleaned_data['image'] is_add_attack = form.cleaned_data['is_add_attack'] is_for_init = form.cleaned_data['is_for_init'] level_max = Card.get_level_max(rarity, 0); try: general = General.objects.create(name=name,rarity=rarity,level=level, group_id=group_id,description=description,attack=attack, defence=defence,rebirth_max=rebirth_max,is_unlock=is_unlock, level_max=level_max,is_add_attack=is_add_attack, is_for_init=is_for_init,image=image) general.save() _add_card(general,"武将","General") except Exception,e: if config.debug: print e else: return HttpResponse("<script type='text/javascript'>window.top.right.location.reload();window.top.art.dialog({id:'general_add'}).close();</script>")
def card_ajax_list(request,card_type='',template=""): card_list = Card.get_card_all(card_type) json_str = u'<option value="">请选择...</option>' if card_list: for card in card_list: json_str += u'<option value="%s">%s-%s</option>' % (card.id,card.id,card.name) return HttpResponse(json_str)
def secretbook_edit(request,secretbook_id=0,template="admin/card/secretbook/edit.tpl"): secretbook = Card.get_card("SecretBook",secretbook_id) if request.method == "GET": return render_response(template,secretbook=secretbook) elif request.method == "POST": form = SecretBookForm(request.POST) if form.is_valid(): name = form.cleaned_data['name'] rarity = form.cleaned_data['rarity'] description = form.cleaned_data['description'] # add_value_percent = form.cleaned_data['add_value_percent'] attack_add_percent = form.cleaned_data['attack_add_percent'] defence_add_percent = form.cleaned_data['defence_add_percent'] is_unlock = form.cleaned_data['is_unlock'] image = form.cleaned_data['image'] try: edit_card = False if (rarity != secretbook.rarity) or (name != secretbook.name): edit_card = True secretbook.name = name secretbook.rarity = rarity secretbook.description = description secretbook.attack_add_percent = attack_add_percent secretbook.defence_add_percent = defence_add_percent secretbook.is_unlock = is_unlock if image: secretbook.image = image secretbook.save() if edit_card: _edit_card(secretbook,"SecretBook") except Exception,e: if config.debug: print e else: return HttpResponse("<script type='text/javascript'>window.top.right.location.reload();window.top.art.dialog({id:'secretbook_edit'}).close();</script>")
def general_edit(request,general_id=0,template="admin/card/general/edit.tpl"): group_list = Group.get_all() general = Card.get_card("General",general_id) if request.method == "GET": return render_response(template,general=general,group_list=group_list) elif request.method == "POST": form = GeneralForm(request.POST) if form.is_valid(): name = form.cleaned_data['name'] rarity = form.cleaned_data['rarity'] level = form.cleaned_data['level'] group_id = form.cleaned_data['group_id'] description = form.cleaned_data['description'] attack = form.cleaned_data['attack'] defence = form.cleaned_data['defence'] rebirth_max = form.cleaned_data['rebirth_max'] is_unlock = form.cleaned_data['is_unlock'] image = form.cleaned_data['image'] is_add_attack = form.cleaned_data['is_add_attack'] is_for_init = form.cleaned_data['is_for_init'] level_max = Card.get_level_max(rarity, 0); try: edit_card = False if (rarity != general.rarity) or (name != general.name): edit_card = True general.name = name general.rarity = rarity general.level = level general.level_max = level_max general.group_id = group_id general.description = description general.attack = attack general.defence = defence general.rebirth_max = rebirth_max general.is_unlock = is_unlock general.is_for_init = is_for_init if image: general.image = image general.is_add_attack = is_add_attack general.save() if edit_card: _edit_card(general,"General") except Exception,e: if config.debug: print e else: return HttpResponse("<script type='text/javascript'>window.top.right.location.reload();window.top.art.dialog({id:'general_edit'}).close();</script>")
def create(number, month, year, name): number = CardService.validate_number(number) month = CardService.validate_month(month) year = CardService.validate_year(year) name = CardService.validate_name(name) CardService.validate_date(month, year) CardService.check_for_existing(number) card = Card(number=number, month=month, year=year, name=name) try: card.save() except IntegrityError: raise CardServiceException('Card with such number already exists.') return card
def _edit_card(card,card_type): rarity = 1 if card.rarity: rarity = card.rarity c = Card.get_by_card_type_id(card_type, card.id) if c: c.rarity = rarity c.card_name = card.name c.save()
def random_cards_by_class(self, request): """ :param request: which may contain class in query :return: 30 serialized cards whose player_class is [player_class] or CLASS_NEUTRAL. """ player_class = request.GET.get('class', '') player_class = player_class if player_class in CARD_CLASSES else CLASS_NEUTRAL random_cards = Card.get_random_cards(player_class) return Response(CardSerializer(random_cards, many=True).data)
def create_next_card(self): if self.heart < User.REQUIREMENT_GET_NEXT_HEART: raise HeartNotEnoughException() self.heart = self.heart - User.REQUIREMENT_GET_NEXT_HEART self.save() if self.gender == "M": opposite_gender = "F" else: opposite_gender = "M" partner = User.objects.filter(gender=opposite_gender).first() if not partner: self.heart = self.heart + User.REQUIREMENT_GET_NEXT_HEART self.save() raise NoPartnerException() print(partner) 1 / 0 card = Card(user=self, partner=partner, introduce_date=date.today()) card.save() return card
def init(self): c_list = Card.get_mission_fall_cards() if c_list: card_list = [] for c in c_list: card = CardModel(c.r_card_id,c.card_type) card_list.append(card) count = len(card_list) mfc = MisssionFallCard() mfc.count = count mfc.card_list = card_list mfc.dump_data()
def init(self): c_list = Card.get_battle_fall_cards() if c_list: card_list = [] for c in c_list: card = CardModel(c.r_card_id,c.card_type) card_list.append(card) count = len(card_list) bfc = BattleFallCard() bfc.count = count bfc.card_list = card_list bfc.dump_data()
def get_card_json_dict(card,player_on_cards,show_skills=True): r_card = card.r_card image = r_card.image card_type = r_card.get_class_name() baseslot_id = 0 if card.baseslot_id: baseslot_id = card.baseslot_id data_dict = {"id":card.id,"card_type":card_type, "baseslot_id":baseslot_id, "player_card_id":card.id,"name":r_card.name, "description":r_card.description, "level":card.level,"is_level_max": card.is_level_max, "xp":card.xp,"next_xp":card.next_xp, "rarity":r_card.rarity,"rebirth_count":card.rebirth_count, "large_image":Card.get_image(card_type,image,"large"), "small_image":Card.get_image(card_type,image,"small")} # 只有武将显示技能 if card_type == "General": skills_arry = [] if show_skills and player_on_cards: skills_arry = skills_func.get_skills_json_array(r_card,player_on_cards) data_dict.update({"attack":(card.get_all_attack()), "defence":(card.get_all_defence()), "crit":card.treasure_crit,"block":card.treasure_block, "skills":skills_arry}) elif card_type == "Weapon": data_dict.update({"attack":(card.attack)}) elif card_type == "Shield": data_dict.update({"defence":(card.defence)}) elif card_type == "SecretBook": data_dict.update({"attack_add_percent":r_card.attack_add_percent, "defence_add_percent":r_card.defence_add_percent}) elif card_type == "Treasure": data_dict.update({"crit":r_card.crit,"block":r_card.block}) return data_dict
def search_card(request): if request.method == 'POST': form = SearchCardForm(request.POST) if form.is_valid(): search_text = form.cleaned_data['search_text'] # Return the first 10 results (ordered) for the user to choose. # Error if no results are found. cards = Card.freesearch(search_text)[:10] if cards != []: viewing = 'search' return render_to_response('cards/index.htm', {'cards': cards, 'viewing': viewing}, context_instance=RequestContext(request)) form._errors['search_text'] = ErrorList([u'Cannot find any card with that name']) else: form = SearchCardForm() return render(request, 'search.htm', {'form': form,}, context_instance=RequestContext(request))
def _add_card(card,type_name,card_type): rarity = 1 if card.rarity: rarity = card.rarity try: c = Card.get_by_card_type_id(card_type, card.id) # 已经存在 则修改 if c: _edit_card(card,card_type) else: c = Card.objects.create(r_card_id=card.id,type_name=type_name, card_type=card_type,rarity=rarity, card_name=card.name) c.save() except Exception,e: if config.debug: print e
def treasure_part_add(request,template="admin/card/treasure_part/add.tpl"): if request.method == "GET": t_card_list = Card.get_card_all("Treasure") return render_response(template,t_card_list=t_card_list) elif request.method == "POST": form = TreasurePartForm(request.POST) if form.is_valid(): name = form.cleaned_data['name'] description = form.cleaned_data['description'] is_unlock = form.cleaned_data['is_unlock'] image = form.cleaned_data['image'] rarity = form.cleaned_data['rarity'] t_card_id = form.cleaned_data['t_card_id'] try: treasure_part = TreasurePart.objects.create(name=name,description=description,rarity=rarity, image=image,is_unlock=is_unlock,t_card_id=t_card_id) treasure_part.save() _add_card(treasure_part,"碎片","TreasurePart") except Exception,e: if config.debug: print e else: return HttpResponse("<script type='text/javascript'>window.top.right.location.reload();window.top.art.dialog({id:'treasure_part_add'}).close();</script>")
def treasure_edit(request,treasure_id=0,template="admin/card/treasure/edit.tpl"): treasure = Card.get_card("Treasure",treasure_id) if request.method == "GET": return render_response(template,treasure=treasure) elif request.method == "POST": form = TreasureForm(request.POST) if form.is_valid(): name = form.cleaned_data['name'] rarity = form.cleaned_data['rarity'] description = form.cleaned_data['description'] # probability = form.cleaned_data['probability'] crit = form.cleaned_data['crit'] block = form.cleaned_data['block'] is_unlock = form.cleaned_data['is_unlock'] image = form.cleaned_data['image'] try: edit_card = False if (rarity != treasure.rarity) or (name != treasure.name): edit_card = True treasure.name = name treasure.rarity = rarity treasure.description = description # treasure.probability = probability treasure.crit = crit treasure.block = block treasure.is_unlock = is_unlock if image: treasure.image = image treasure.save() if edit_card: _edit_card(treasure,"Treasure") except Exception,e: if config.debug: print e else: return HttpResponse("<script type='text/javascript'>window.top.right.location.reload();window.top.art.dialog({id:'treasure_edit'}).close();</script>")
data['분류'] += '3, ' break for i in oil: if i in data.get('혜택'): data['분류'] += '4, ' break for i in tel: if i in data.get('혜택'): data['분류'] += '5, ' break for i in over: if i in data.get('혜택'): data['분류'] += '6, ' break for i in culture: if i in data.get('혜택'): data['분류'] += '7, ' break data['분류'] = data['분류'].strip() return cards if __name__ == '__main__': result_dict = get_card() for data in result_dict: Card(name=data.get('카드명'), bank=data.get('은행'), benefit=data.get('혜택'), bn=data.get('분류'), af='').save()