def test_stage_rest_should_contain_stages4(self): Stage.store_stage_json(settings.STAGE_JSON) stage1 = Stage(level=4, name=u"守門人的意思", stamina=40, battles=10, reward=0, experience=5000) client = Client() response = client.get('/stages/') stages_json = json.loads(response.content) stage4_json = stages_json[3] stage2 = Stage(level=stage4_json['level'], name=stage4_json['name'], stamina=stage4_json['stamina'],\ battles=stage4_json['battles'], reward=stage4_json['reward'], experience=stage4_json['experience']) self.assertEqual(stage1, stage2)
def main(): sjs = json.load(open('stages.json', 'r')) from stages.models import Stage # For every stage name in the list for sj in sjs: # if the stage is present already, do nothing if Stage.objects.filter(city='delhi').filter(mtc_name=sj): continue new_stage = Stage() new_stage.display_name = sj new_stage.city = 'delhi' new_stage.mtc_name = sj # Save the stage new_stage.save()
def main(): sjs = json.load(open('stages.json', 'r')) from stages.models import Stage for s in Stage.objects.filter(city=CITY): s.city = CITY + '_old' s.save() # For every stage name in the list for sj in sjs: try: s = Stage.objects.get(city__contains=CITY, mtc_name = sj) s_old = Stage() s_old.display_name = s.display_name s_old.city = s.city s_old.mtc_name = s.mtc_name s_old.save() except Stage.DoesNotExist: s = Stage() s.display_name = sj.title() s.city = CITY s.mtc_name = sj # Save the stage s.save()
def main(): rjs = json.load(open('routes_detail.json', 'r')) from routes.models import Route, RouteStage from stages.models import Stage # For every route number in the dictionary for rj in rjs: # if the route is present already, edit it if not Route.objects.filter(city='delhi').filter(mtc_name=rj): new_route = Route() else: new_route = Route.objects.filter(city='delhi').get(mtc_name=rj) # Add/Reset details of the route new_route.display_name = rj new_route.city = 'delhi' new_route.mtc_name = rj new_route.types = "O" #FIXME: Classify routes under appropriate types new_route.fare = -1 #TODO: Scrape fare data new_route.time = -1 #TODO: Scrape time data new_route.slug = slugify(rj) # Add new/existing stage object as route's start stage try: sstage = rjs[rj][0] ssobj = Stage.objects.filter(city='delhi').get(mtc_name=sstage) except Stage.DoesNotExist: ssobj = Stage() ssobj.mtc_name = sstage ssobj.display_name = sstage ssobj.city = 'delhi' ssobj.save() new_route.start = ssobj # Add new/existing stage object as route's end stage try: estage = rjs[rj][-1] esobj = Stage.objects.filter(city='delhi').get(mtc_name=estage) except Stage.DoesNotExist: esobj = Stage() esobj.mtc_name = estage esobj.display_name = estage esobj.city = 'delhi' esobj.save() new_route.end = esobj # Save the route new_route.save() # Add RouteStage object for every stage in route sequence = 100 for stage in rjs[rj]: # Get or create stage object try: sobj = Stage.objects.filter(city='delhi').get(mtc_name=stage) except Stage.DoesNotExist: sobj = Stage() sobj.mtc_name = stage sobj.display_name = stage sobj.city = 'delhi' sobj.save() # Get or create RouteStage object try: rs = RouteStage.objects.filter(route=new_route).get( stage__display_name=stage) except RouteStage.DoesNotExist: rs = RouteStage() rs = RouteStage() rs.route = new_route rs.stage = sobj rs.sequence = sequence rs.save() # Increment sequence of stage sequence += 100
dest.save() for rl in src.routelinks.all(): rl.stage = dest rl.save() for sr in src.start_for_routes.all(): sr.start = dest sr.save() for er in src.end_for_routes.all(): er.end = dest er.save() from stages.models import Stage if len(sys.argv) != 3: print "Usage: python %s <stageid1> <stageid2>" % sys.argv[0] st1 = Stage.objects.get(id=int(sys.argv[1])) st2 = Stage.objects.get(id=int(sys.argv[2])) temp = Stage() temp.display_name = 'Delete me' temp.city = 'wonderland' temp.save() copy_stage(temp, st1) copy_stage(st1, st2) copy_stage(st2, temp) temp.delete()
def main(): rjs = json.load(open('routes_detail.json', 'r')) from routes.models import Route, RouteStage from stages.models import Stage # For every route number in the dictionary for rj in rjs: # if the route is present already, edit it if not Route.objects.filter(city='delhi').filter(mtc_name=rj): new_route = Route() else: new_route = Route.objects.filter(city='delhi').get(mtc_name=rj) # Add/Reset details of the route new_route.display_name = rj new_route.city = 'delhi' new_route.mtc_name = rj new_route.types = "O" #FIXME: Classify routes under appropriate types new_route.fare = -1 #TODO: Scrape fare data new_route.time = -1 #TODO: Scrape time data new_route.slug = slugify(rj) # Add new/existing stage object as route's start stage try: sstage = rjs[rj][0] ssobj = Stage.objects.filter(city='delhi').get(mtc_name=sstage) except Stage.DoesNotExist: ssobj = Stage() ssobj.mtc_name = sstage ssobj.display_name = sstage ssobj.city = 'delhi' ssobj.save() new_route.start = ssobj # Add new/existing stage object as route's end stage try: estage = rjs[rj][-1] esobj = Stage.objects.filter(city='delhi').get(mtc_name=estage) except Stage.DoesNotExist: esobj = Stage() esobj.mtc_name = estage esobj.display_name = estage esobj.city = 'delhi' esobj.save() new_route.end = esobj # Save the route new_route.save() # Add RouteStage object for every stage in route sequence = 100 for stage in rjs[rj]: # Get or create stage object try: sobj = Stage.objects.filter(city='delhi').get(mtc_name=stage) except Stage.DoesNotExist: sobj = Stage() sobj.mtc_name = stage sobj.display_name = stage sobj.city = 'delhi' sobj.save() # Get or create RouteStage object try: rs = RouteStage.objects.filter(route=new_route).get(stage__display_name=stage) except RouteStage.DoesNotExist: rs = RouteStage() rs = RouteStage() rs.route = new_route rs.stage = sobj rs.sequence = sequence rs.save() # Increment sequence of stage sequence += 100
def main(): rds = json.load(open('routes_detail.json', 'r')) from routes.models import Route, RouteStage, ROUTE_TYPE_MAPPING from stages.models import Stage for r in Route.objects.filter(city=CITY): r.city = CITY + '_old' r.save() # For every route number in the dictionary for mtc_name in rds: display_name, slug = resolve_route_name(mtc_name) rd = rds[mtc_name] if rd["source"] is None or rd["destination"] is None or len(rd["stages"]) == 0: #print "Route %s skipped (Reason: Incomplete)" % mtc_name continue # Skipping Incomplete routes service_type = rd["service_type"] s_type = MTC_TYPE_REVERSE_MAP[service_type] # if the route is present already, edit it if not Route.objects.filter(city=CITY).filter(slug=slug): r = Route() else: r = Route.objects.filter(city=CITY).get(slug=slug) # Add/Reset details of the route r.display_name = display_name r.city = CITY r.mtc_name = mtc_name if r.types is None or r.types == "": r.types = s_type elif s_type not in r.types.split(','): r.types = r.types + "," + s_type r.fare = -1 #TODO: Remove fare data r.time = -1 #TODO: Remove time data r.slug = slugify(slug) # Add new/existing stage object as route's start stage sstage = rd["source"] try: ssobj = Stage.objects.get(city=CITY, mtc_name = sstage) except Stage.DoesNotExist: ssobj = Stage() ssobj.display_name = sstage.title() ssobj.city = CITY ssobj.mtc_name = sstage ssobj.save() r.start = ssobj # Add new/existing stage object as route's end stage estage = rd["destination"] try: esobj = Stage.objects.get(city=CITY, mtc_name = estage) except Stage.DoesNotExist: esobj = Stage() esobj.display_name = estage.title() esobj.city = CITY esobj.mtc_name = estage esobj.save() r.end = esobj # Save the route r.save() # Add RouteStage object for every stage in route sequence = 100 for stage in rd["stages"]: # Get or create stage object try: sobj = Stage.objects.get(city=CITY, mtc_name = stage) except Stage.DoesNotExist: sobj = Stage() sobj.display_name = stage.title() sobj.city = CITY sobj.mtc_name = stage sobj.save() # Get or create RouteStage object try: rs = RouteStage.objects.filter(route=r).get(stage=sobj) except RouteStage.DoesNotExist: rs = RouteStage() rs.route = r rs.stage = sobj rs.sequence = sequence rs.save() # Increment sequence of stage sequence += 100
def test_db_should_have_stage4(self): Stage.store_stage_json(settings.STAGE_JSON) stage = Stage.objects.get(name='守門人的意思') self.assertIsNotNone(stage)
def test_json_stage4_should_be_model_stage4(self): stage = Stage(level=4, name="守門人的意思", stamina=40, battles=10, reward=0, experience=5000) stage_json = [{"level": 4, "name": "守門人的意思", "attribute": ["水", "火", "暗"], \ "stamina": 40, "battles": 10, "reward": 0, "experience": 5000}] stages = Stage.transform_json(stage_json) self.assertEqual(stage, stages[0])
def test_json_with_wrong_format_should_not_create_model(self): stage_json = [{"level": 4}] stages = Stage.transform_json(stage_json) self.assertEqual(0, len(stages))
dest.city = src.city dest.save() for rl in src.routelinks.all(): rl.stage = dest rl.save() for sr in src.start_for_routes.all(): sr.start = dest sr.save() for er in src.end_for_routes.all(): er.end = dest er.save() from stages.models import Stage if len(sys.argv) != 3: print "Usage: python %s <stageid1> <stageid2>" % sys.argv[0] st1 = Stage.objects.get(id=int(sys.argv[1])) st2 = Stage.objects.get(id=int(sys.argv[2])) temp = Stage() temp.display_name = 'Delete me' temp.city = 'wonderland' temp.save() copy_stage(temp, st1) copy_stage(st1, st2) copy_stage(st2, temp) temp.delete()
def main(): rds = json.load(open('routes_detail.json', 'r')) from routes.models import Route, RouteStage, ROUTE_TYPE_MAPPING from stages.models import Stage for r in Route.objects.filter(city=CITY): r.city = CITY + '_old' r.save() # For every route number in the dictionary for mtc_name in rds: display_name, slug = resolve_route_name(mtc_name) rd = rds[mtc_name] if rd["source"] is None or rd["destination"] is None or len( rd["stages"]) == 0: #print "Route %s skipped (Reason: Incomplete)" % mtc_name continue # Skipping Incomplete routes service_type = rd["service_type"] s_type = MTC_TYPE_REVERSE_MAP[service_type] # if the route is present already, edit it if not Route.objects.filter(city=CITY).filter(slug=slug): r = Route() else: r = Route.objects.filter(city=CITY).get(slug=slug) # Add/Reset details of the route r.display_name = display_name r.city = CITY r.mtc_name = mtc_name if r.types is None or r.types == "": r.types = s_type elif s_type not in r.types.split(','): r.types = r.types + "," + s_type r.fare = -1 #TODO: Remove fare data r.time = -1 #TODO: Remove time data r.slug = slugify(slug) # Add new/existing stage object as route's start stage sstage = rd["source"] try: ssobj = Stage.objects.get(city=CITY, mtc_name=sstage) except Stage.DoesNotExist: ssobj = Stage() ssobj.display_name = sstage.title() ssobj.city = CITY ssobj.mtc_name = sstage ssobj.save() r.start = ssobj # Add new/existing stage object as route's end stage estage = rd["destination"] try: esobj = Stage.objects.get(city=CITY, mtc_name=estage) except Stage.DoesNotExist: esobj = Stage() esobj.display_name = estage.title() esobj.city = CITY esobj.mtc_name = estage esobj.save() r.end = esobj # Save the route r.save() # Add RouteStage object for every stage in route sequence = 100 for stage in rd["stages"]: # Get or create stage object try: sobj = Stage.objects.get(city=CITY, mtc_name=stage) except Stage.DoesNotExist: sobj = Stage() sobj.display_name = stage.title() sobj.city = CITY sobj.mtc_name = stage sobj.save() # Get or create RouteStage object try: rs = RouteStage.objects.filter(route=r).get(stage=sobj) except RouteStage.DoesNotExist: rs = RouteStage() rs.route = r rs.stage = sobj rs.sequence = sequence rs.save() # Increment sequence of stage sequence += 100