def post(self): message_args = add_message_parser.parse_args() # Get block block = Block.query.filter_by(id=message_args['block_id']).first() if not block: abort(404, "Block %d: not found." % id) # Get train with front end on block train = Train.query.filter_by( front_block_id=message_args['block_id']).first() if 'id' not in message_args: highest = Message.query.order_by(Message.id).last() message_id = highest + 1 else: message_id = message_args['id'] message = Message(id=message_id, text=message_args['text']) message.block = block message.train = train db.session.add(message) db.session.commit() return message, 201
def testdb_command(): db.drop_all() db.create_all() block1 = Block(id=1, number=1, line="green", length=100.0, grade=0.5, speedLimit=55, elevation=0.5, cumulative_elevation=0.5, occupancy=False) db.session.add(block1) tcBlock1 = TrackControllerBlock(id=1, occupancy=False, maintenance=False, broken=False) db.session.add(tcBlock1) block2 = Block(id=2, number=2, line="green", length=100.0, grade=1.0, speedLimit=55, elevation=1.0, cumulative_elevation=1.5, occupancy=False) db.session.add(block2) tcBlock2 = TrackControllerBlock(id=2, occupancy=False, maintenance=False, broken=False) db.session.add(tcBlock2) block3 = Block(id=3, number=3, line="green", length=100.0, grade=1.5, speedLimit=55, elevation=1.5, cumulative_elevation=3.0, occupancy=False) db.session.add(block3) tcBlock3 = TrackControllerBlock(id=3, occupancy=False, maintenance=False, broken=False) db.session.add(tcBlock3) switch1 = Switch(id=1, state=False) db.session.add(switch1) block1.switch = switch1 crossing1 = Crossing(id=1, state=False) db.session.add(crossing1) block3.crossing = crossing1 station1 = Station(id=1, name="Station 1") db.session.add(station1) block2.station = station1 light1 = Light(id=1, state=False) db.session.add(light1) light2 = Light(id=2, state=False) db.session.add(light1) switch1.lights.append(light1) switch1.lights.append(light2) # block1.message = "hello" train1 = Train(id=1, name="train1", length=1000.0, width=100.0, height=100.0, mass=1000.0, crewCount=0, passengerCount=0) db.session.add(train1) train1.front_block = block1 # block1.train_id = block1.front_train.id msg1 = Message(id=1, text="50,GO") db.session.add(msg1) msg1.block = block1 msg1.train = train1 msg2 = Message(id=2, text="100,GO") db.session.add(msg2) msg2.block = block2 msg3 = Message(id=3, text="0,STOP") db.session.add(msg3) msg3.block = block3 request = CTCRequest(id=0, type=0, input="") db.session.add(request) db.session.commit() # user1 = User(username='******', password='******') # db.session.add(user1) # # chatroom1 = ChatRoom(name='Super Awesome Chat Room') # db.session.add(chatroom1) # # user1.created_rooms.append(chatroom1) # # message1 = Message(creator=user1.username,text="Hello, there!", chatroom=chatroom1.name) # db.session.add(message1) # db.session.commit() print('Initialized the testing database.')