34
34
import httplib
35
35
import json
36
36
import inspect
37
+ from stchong .model import con , cursor
37
38
__all__ = ['RootController' ]
38
39
class RootController (BaseController ):
39
40
secc = SecureController ()
@@ -2550,10 +2551,14 @@ def moveMap(uid):
2550
2551
2551
2552
kind = user .nobility + 1
2552
2553
2553
- maps = DBSession .query (Map ).filter_by (map_kind = kind ).filter (Map .num < mapKind [kind ]).all ()
2554
- for m in maps :
2555
- empty = DBSession .query (EmptyCastal .gid , EmptyCastal .attribute ).filter_by (mid = m .mapid ).order_by (EmptyCastal .gid ).all ()
2556
- cities = DBSession .query (warMap .gridid ).filter_by (mapid = m .mapid ).order_by (warMap .gridid ).all ()
2554
+ #maps = DBSession.query(Map).filter_by(map_kind=kind).filter(Map.num < mapKind[kind]).all()
2555
+ mapNum = 'select mid, num from (select mid, (num1+num2) as num from (select mapid, map_kind, count(*) as num1 from warMap group by mapid) as temp1, (select mid, count(*) as num2 from emptyCastal group by mid) as temp2 where mapid = mid and map_kind = ' + str (kind )+ ') as temp where num < ' + str (mapKind [kind ])
2556
+ cursor .execute (mapNum )
2557
+ mapNum = cursor .fetchall ()
2558
+ #print mapNum
2559
+ for m in mapNum :
2560
+ empty = DBSession .query (EmptyCastal .gid , EmptyCastal .attribute ).filter_by (mid = m [0 ]).order_by (EmptyCastal .gid ).all ()
2561
+ cities = DBSession .query (warMap .gridid ).filter_by (mapid = m [0 ]).order_by (warMap .gridid ).all ()
2557
2562
if len (empty ) > len (cities ) or user .nobility < EmptyMapLev :
2558
2563
print "just insert me"
2559
2564
gids = []
@@ -2562,13 +2567,13 @@ def moveMap(uid):
2562
2567
for c in cities :
2563
2568
gids .append (c [0 ])
2564
2569
gids .sort ()
2565
- m . num += 1
2570
+ #m[1] += 1
2566
2571
myGid = getGid (gids , kind )
2567
- myMap .mapid = m . mapid
2572
+ myMap .mapid = m [ 0 ]
2568
2573
myMap .gridid = myGid [0 ]
2569
2574
myMap .map_kind += 1
2570
- return [myGid [0 ], m . mapid ]
2571
- elif m . num < (mapKind [kind ]- 1 ):
2575
+ return [myGid [0 ], m [ 0 ] ]
2576
+ elif m [ 1 ] < (mapKind [kind ]- 1 ):
2572
2577
print "insert me and empty"
2573
2578
gids = []
2574
2579
levs = []
@@ -2579,16 +2584,16 @@ def moveMap(uid):
2579
2584
gids .append (c [0 ])
2580
2585
gids .sort ()
2581
2586
myGid = getGid (gids , kind )
2582
- myMap .mapid = m . mapid
2587
+ myMap .mapid = m [ 0 ]
2583
2588
myMap .gridid = myGid [0 ]
2584
2589
myMap .map_kind += 1
2585
- m . num += 2
2590
+ #m[1] += 2
2586
2591
if user .nobility >= EmptyMapLev :
2587
2592
rand = randEmptyLev (levs )
2588
- emptyCastal = EmptyCastal (uid = - 1 , mid = m . mapid , gid = myGid [1 ], attribute = rand , inf = EmptyLev [rand ][0 ], cav = EmptyLev [rand ][1 ])
2593
+ emptyCastal = EmptyCastal (uid = - 1 , mid = m [ 0 ] , gid = myGid [1 ], attribute = rand , inf = EmptyLev [rand ][0 ], cav = EmptyLev [rand ][1 ])
2589
2594
DBSession .add (emptyCastal )
2590
2595
2591
- return [myGid [0 ], m . mapid ]
2596
+ return [myGid [0 ], m [ 0 ] ]
2592
2597
print "create new map to insert me and empty"
2593
2598
2594
2599
rand = random .randint (0 , mapKind [kind ]- 1 )
0 commit comments