示例#1
0
def list_pilots(request):
    names_list=request.POST["names"]
    #names_list=re.sub(r"&#\w\w;","  ",names_list)
    #names_list=names_list.rstrip()
    s=names_list.replace("\r\n","  ")
    names_list=s.split("  ")
    print "names list",names_list
    t=[]
    for name in names_list:
        if not name: continue
        d={}
        d["name"]=name
        if get_pilot_from_db(d):
            """TODO add kills attackers to search
            """
            t.append(d)
            continue
        else:
            """
        id1=0
        pilots_list=pilot.objects.filter(name__iexact=name)
        #pilot.objects.filter(pk=0).delete()
        if len(pilots_list)==1:
            id1=pilots_list[0].id
            d["name"]=pilots_list[0].name
            c=pilots_list[0].corp
            if c:
                print c.name,c.id
                d["corp_name"]=c.name
                d["corp_id"]=c.id
                """
        
        #else:
            pilots_list=character_id.get_id_by_pilot_name(name)
            for i1 in pilots_list:
                if i1["name"].upper()== name.upper():
                    id1=int(i1["characterID"])
                    d["name"]=i1["name"]
                    if int(id1):
                        pilot(name=i1["name"],id=id1).save()
                        d["id"]=id1
                        t.append(d)
                    break
            
        """            
        if int(id1):
            d["id"]=id1
            t.append(d) """
    for i in t:
        print i["name"],i["id"]
    names_list=t
    if names_list :
        return render(request,"analizer/pilots_list.html",{"pilots":names_list,
                                                           })
        return HttpResponse(" Yon in pilots list stub")
    else:
        return render(request,"analizer/index.html",{"error_message":
                                                     "Absent pilots names",
                                                     })
示例#2
0
文件: json2db.py 项目: despair1/zk_dj
def add_json2db(kills_data,pilot_id=None,corp_id=None):
    if not pilot_id and not corp_id : return
    if pilot_id:
        t=pilot.objects.get(id=pilot_id).cached
        if not t:
            def check_x_update_time(kill):
                return True
        else:
            def check_x_update_time(kill,x=t):
                return kill["killTime"]>t
    b_pilots={}
    for p in pilot.objects.all():
        b_pilots[p.id]=p
    s_pilots=[]
    b_corps={}
    for c in corp.objects.all():
        b_corps[c.id]=c
    s_corps=[]
    ac=0
    for k in kills_data:
        if not check_x_update_time(k):
            break
        if not kill.objects.filter(killID=k["killID"]).exists():
            pid=int(k["victim"]["characterID"])
            if pid in b_pilots:
                p=b_pilots[pid]
            else:
                p=pilot(id=k["victim"]["characterID"],
                      name=k["victim"]["characterName"],)
                s_pilots.append(p)
                b_pilots[pid]=p
            cid=int(k["victim"]["corporationID"])
            if cid in b_corps:
                c=b_corps[cid]
            else:             
                c=corp(id=k["victim"]["corporationID"],
                     name=k["victim"]["corporationName"],)
                s_corps.append(c)
                b_corps[cid]=c
            """
            if int(k["victim"]["allianceID"]):
                a=alli(allianceID=k["victim"]["allianceID"],
                       allianceName=k["victim"]["allianceName"],)
                a.save()
            else:
                a=None
            p.save()
            c.save()
            """
            a=None
            #my_datetime = timezone.make_aware(k["killTime"], timezone.get_current_timezone())
            kk=kill(killID=k["killID"],
                    killTime=k["killTime"],
                    solarSystemID=k["solarSystemID"],
                    corporationName=k["victim"]["corporationName"],
                    characterName=k["victim"]["characterName"],
                    allianceName=k["victim"]["allianceName"],
                    corporationID=c,
                    allianceID=a,
                    characterID=p,
                    )
            kk.save()

            for a in k["attackers"]:
                """
                p=pilot(id=a["characterID"],
                      name=a["characterName"],)
                c=corp(id=a["corporationID"],
                     name=a["corporationName"],)
                p.save()
                c.save()
                if int(a["allianceID"]):
                    al=alli(allianceID=a["allianceID"],
                           allianceName=a["allianceName"],)
                    al.save()
                else:
                    al=None
                 """
                ac+=1
                pid=int(a["characterID"])
                if pid in b_pilots:
                    p=b_pilots[pid]
                else:
                    p=pilot(id=a["characterID"],
                          name=a["characterName"],)
                    s_pilots.append(p)
                    b_pilots[pid]=p
                cid=int(a["corporationID"])
                if cid in b_corps:
                    c=b_corps[cid]
                else:             
                    c=corp(id=a["corporationID"],
                         name=a["corporationName"],)
                    s_corps.append(c)
                    b_corps[cid]=c
                al=None
                
                aa=attacker(corporationID=c,
                            allianceID=al,
                            characterID=p,
                            killID=kk,
                            securityStatus=a["securityStatus"],
                            weaponTypeID=a["weaponTypeID"],
                            finalBlow=a["finalBlow"],
                            shipTypeID=a["shipTypeID"],
                            corporationName=a["corporationName"],
                            characterName=a["characterName"],
                            allianceName=a["allianceName"],
                            )

                aa.save()
    pilot.objects.bulk_create(s_pilots)
    corp.objects.bulk_create(s_corps)
    print "ac ",ac