summaryrefslogtreecommitdiff
path: root/server/piztor/import.py
diff options
context:
space:
mode:
Diffstat (limited to 'server/piztor/import.py')
-rw-r--r--server/piztor/import.py51
1 files changed, 38 insertions, 13 deletions
diff --git a/server/piztor/import.py b/server/piztor/import.py
index 4896325..f5228e7 100644
--- a/server/piztor/import.py
+++ b/server/piztor/import.py
@@ -2,32 +2,49 @@ from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from model import *
-path = "root:helloworld@localhost/piztor"
+path = "root:helloworld@localhost/piztor2"
class UserData:
- def __init__(self, username, password, comp_id, sec_no, sex):
+ def __init__(self, username, nickname, password, comp_no, sec_no, sex, sub):
self.username = username
+ self.nickname = nickname
self.password = password
- self.comp_id = int(comp_id)
+ self.comp_no = int(comp_no)
self.sec_no = int(sec_no)
- self.sex = sex
+ self.sex = int(sex)
+ self.sub = sub
def create_database():
engine = create_engine('mysql://' + path, echo = True)
Base.metadata.drop_all(engine)
Base.metadata.create_all(engine)
+def find_or_create_group(comp_no, sec_no, session):
+ gid = UserModel.to_gid(comp_no, sec_no)
+ q = session.query(GroupInfo).filter(GroupInfo.id == gid)
+ entry = None
+ entry = q.first()
+ if not entry:
+ entry = GroupInfo(gid = gid)
+ return entry
+
+
def import_user_data(data):
engine = create_engine('mysql://' + path, echo = True)
Session = sessionmaker(bind = engine)
session = Session()
+
for user in data:
um = UserModel(username = user.username,
- comp_id = user.comp_id,
- sec_no = user.sec_no,
- sec_id = user.comp_id * 256 + user.sec_no,
- sex = user.sex)
- print um.sec_id
+ nickname = user.nickname,
+ sex = user.sex,
+ comp_no = user.comp_no,
+ sec_no = user.sec_no)
+
+ for cn, sn in user.sub:
+ print cn, sn
+ g = find_or_create_group(int(cn), int(sn), session)
+ um.sub.append(g)
um.auth = UserAuth(user.password)
um.location = LocationInfo(lat = 0, lng = 0)
session.add(um)
@@ -45,11 +62,19 @@ if __name__ == '__main__':
while True:
line = f.readline().split()
if len(line) == 0: break
+ line2 = f.readline().split()
+ idx = 0
+ sub = list()
+ while idx < len(line2):
+ sub.append((line2[idx], line2[idx + 1]))
+ idx += 2
data.append(UserData(username = line[0],
- password = line[1],
- comp_id = line[2],
- sec_no = line[3],
- sex = line[4]))
+ nickname = line[1],
+ password = line[2],
+ comp_no = line[3],
+ sec_no = line[4],
+ sex = line[5], sub = sub))
+
create_database()
import_user_data(data)