Bläddra i källkod

Fixes in the profile uploader. Some new data included.

Iñigo Valentin 6 år sedan
förälder
incheckning
c6945b0155

+ 3 - 1
application/API/v2/bin/upload_profile.py

@@ -355,13 +355,15 @@ def parseUnits(db, data):
         exp_gained = mon["exp_gained"]
         exp_gain_rate = mon["exp_gain_rate"]
         costume = mon["costume_master_id"]
+        attribute = -1; # TODO: Attribute?
         source = mon["source"]
         create_time = mon["create_time"]
+        homunculus = mon["homunculus"]
         homunculus_name = mon["homunculus_name"]
         lock = 0
         if id in lock_list:
             lock = 1
-        insert(db, "unit", (uid, id, building, monster, level, stars, hp, attack, defense, speed, crit_rate, crit_damage, resistance, accuracy, experience, exp_gained, exp_gain_rate, costume, source, create_time, homunculus_name, lock))
+        insert(db, "unit", (uid, id, building, monster, level, stars, hp, attack, defense, speed, crit_rate, crit_damage, resistance, accuracy, experience, exp_gained, exp_gain_rate, costume, attribute, source, create_time, homunculus, homunculus_name, lock))
         for skill in mon["skills"]:
             skill_id = skill[0]
             skill_level = skill[1]

+ 1 - 0
application/API/v2/upload_profile.php

@@ -62,6 +62,7 @@
         $out = [];
         $ret = 0;
         try{
+error_log ($cmd);
             exec($cmd, $out, $ret);
         }
         catch(Exception $e) {

+ 8 - 1
application/action/login.php

@@ -26,20 +26,26 @@
         global $db;
 
         if (!isset($_POST['uname'], $_POST['password'])){
+error_log("-1");
             return -1;
         }
         $uname = SQLite3::escapeString($_POST['uname']);
         if (strlen($uname) == 0){
+error_log("-2");
             return -2;
         }
         $password = SQLite3::escapeString($_POST['password']);
         if (strlen($password) == 0){
+error_log("-3");
             return -3;
         }
         $password = hash('sha256', $password);
-        $q = $db->query("SELECT uid FROM player WHERE upper(name) = upper('$uname') AND password = '$password';");
+error_log("SELECT uid FROM player WHERE upper(name) = upper('$uname') AND password = '$password';");
+        $q = $db->query("SELECT uid FROM player;");
         $r = $q->fetchArray(SQLITE3_ASSOC);
+error_log("RET ID: " . $r["uid"]);
         if (!$r){
+error_log("-4");
             return -4;
         }
         $uid = $r["uid"];
@@ -50,6 +56,7 @@
         $_SESSION['uid'] = $uid;
         header("Location: /$uid/");
         die();
+error_log("0");
         return 0;
     }
 ?>

BIN
application/sw.sqlite


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 251 - 252
install_data/install_base.sql


+ 2 - 1
install_data/install_data.sql

@@ -153,7 +153,8 @@ CREATE TABLE rune_craft(
     quality INT NOT NULL REFERENCES k_quality(id),
     rune INT NOT NULL REFERENCES k_rune_set(id),
     stat INT NOT NULL REFERENCES k_rune_stat(id),
-    value INT NOT NULL CHECK(value >= 0)
+    value INT NOT NULL CHECK(value >= 0),
+    amount INT NOT NULL CHECK(amount >= 0)
 );
 CREATE TABLE run_party(
     run INT NOT NULL REFERENCES run(id),

+ 83 - 0
parser/parse.py

@@ -0,0 +1,83 @@
+#!/usr/bin/python3
+
+import urllib3
+import sys
+import os
+import requests
+
+
+urls = [
+  'http://summonerswar.wikia.com/wiki/Fire_Monsters',
+  'http://summonerswar.wikia.com/wiki/Water_Monsters',
+  'http://summonerswar.wikia.com/wiki/Wind_Monsters',
+  'http://summonerswar.wikia.com/wiki/Light_Monsters',
+  'http://summonerswar.wikia.com/wiki/Dark_Monsters'
+]
+http = urllib3.PoolManager()
+fsql = open('data.sql', 'w')
+fget = open('img.sh', 'w')
+id = 1;
+
+for url in urls:
+    page = http.request('GET', url).data.decode('utf-8')
+    page = page[page.index('</th></tr>'):]
+    element = url[url.rfind('/') + 1:url.rfind('_')]
+
+    while '</td></tr>' in page:
+        
+        murl = 'http://summonerswar.wikia.com/' + page[page.index('a href="') + 8:page.index('"', page.index('a href="') + 8)]
+        print(murl)
+        page = page[page.index('</td></tr>') + 1:]
+
+        '''page = page[page.index('<td style="text-align:center;">') + 1:]
+        monster = page[:page.index('</tr>') + 5]
+        name = monster[monster.index('title="') + 7:monster.index(' (', monster.index('title="') + 8)]
+        monster = monster[monster.index('"', monster.index('title="') + 8):]
+        img = monster[monster.index('data-src="') + 10:monster.index('"', monster.index('data-src="') + 11)]
+        monster = monster[monster.index('<td style="text-align:center;">') + 1:]
+        monster = monster[monster.index('<td style="text-align:center;">') + 1:]
+        tpe = monster[monster.index('>') + 1:monster.index('\n')]
+        monster = monster[monster.index('<td style="text-align:center;">') + 1:]
+        monster = monster[monster.index('<td style="text-align:center;">') + 1:]
+        hp = monster[monster.index('>') + 1:monster.index('\n')]
+        monster = monster[monster.index('<td style="text-align:center;">') + 1:]
+        atk = monster[monster.index('>') + 1:monster.index('\n')]
+        monster = monster[monster.index('<td style="text-align:center;">') + 1:]
+        df = monster[monster.index('>') + 1:monster.index('\n')]
+        monster = monster[monster.index('<td style="text-align:center;">') + 1:]
+        spd = monster[monster.index('>') + 1:monster.index('\n')]
+        print("NAME:    " + name)
+        print("ELEMENT: " + element)
+        print("IMG:     " + img)
+        print("TYPE:    " + tpe)
+        print("HP:      " + hp)
+        print("ATK:     " + atk)
+        print("DEF:     " + df)
+        print("SPD:     " + spd)
+        sys.exit("DEBUG EXIT")
+
+        
+
+        element = monster[monster.index('"element">') + 10:monster.index('<', monster.index('"element">'))]
+        print("ELEMENT: " + element)
+        monster = monster[monster.index('<', monster.index('"element">')):]
+
+        name = monster[monster.index('<h3>') + 4:monster.index('</h3>')]
+        print("NAME: " + name)
+        monster = monster[monster.index('</h3>'):]
+
+        img_aw = monster[monster.index('data-src="', monster.index('icon')) + 10:monster.index('"', monster.index('data-src="', monster.index('icon')) + 11)]
+        print("IMAGE (AW): " + img_aw)
+        monster = monster[monster.index('"', monster.index('data-src="', monster.index('icon')) + 11):]
+
+        name_aw = monster[monster.index('>', monster.index('"name"')) + 1:monster.index('<', monster.index('"name"'))]
+        print("NAME (AW): " + name_aw)
+        monster = monster[monster.index('<', monster.index('"name"')):]
+
+        print("wget " + img + " -O monster/" + "{:04d}".format(id) + ".png", file=fget)
+        print("wget " + img_aw + " -O monster/awaken/" + "{:04d}".format(id) + ".png", file=fget)
+        print("INSERT INTO monster (id, name, name_aw, element, stars, base) VALUES (" + str(id) + ", '" + name + "', '" + name_aw + "', '" + element + "', " + str(star) + ", null);", file=fsql)
+
+        id = id + 1
+        #sys.exit("DEBUG EXIT")
+        '''

Vissa filer visades inte eftersom för många filer har ändrats