Example #1
0
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>")
Example #2
0
 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
Example #3
0
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)
Example #4
0
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)
Example #5
0
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)
Example #6
0
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)
Example #7
0
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)
Example #8
0
 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)
Example #9
0
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))
Example #10
0
    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('/')
Example #11
0
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")
Example #12
0
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>")
Example #13
0
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>")
Example #14
0
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>")
Example #15
0
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)
Example #16
0
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>")
Example #17
0
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>")
Example #18
0
    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
Example #19
0
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()
Example #20
0
    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)
Example #21
0
    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
Example #22
0
File: obj.py Project: codinl/mydj
 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()
Example #23
0
File: obj.py Project: codinl/mydj
 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()
Example #24
0
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

    
    
Example #25
0
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))
Example #26
0
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
Example #27
0
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>")
Example #28
0
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>")
Example #29
0
                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()