Rev 442 | Rev 477 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
'''Created on 13-Sep-2010@author: rajveer'''from elixir import *import datetimeclass Provider(Entity):id = Field(Integer, primary_key=True, autoincrement=True)name = Field(String(100))awb = OneToMany("AWB")class AWB(Entity):id = Field(Integer, primary_key=True, autoincrement=True)awb_number = Field(String(100))is_available = Field(Boolean)provider = ManyToOne("Provider")#shipment = OneToOne("Shipment", inverse="awb")class ShipmentUpdate(Entity):id = Field(Integer, primary_key=True, autoincrement=True)pin = Field(String(20))timestamp = Field(DateTime)description = Field(String(100))#awb = ManyToOne("AWB")shipment = ManyToOne("Shipment")class Shipment(Entity):id = Field(Integer, primary_key=True, autoincrement=True)warehouse_name = Field(String(100))awb = Field(String(100))origin = Field(String(100))destination = Field(String(100))timestamp = Field(DateTime)recepient_name = Field(String(100))recepient_address = Field(String(200))recepient_pincode = Field(String(20))recepient_phone = Field(String(20))shipment_weight = Field(String(20))shipment_contents = Field(String(100))status_message = Field(String(100))#awb = ManyToOne("AWB")shipment_update = OneToMany("ShipmentUpdate")class DeliveryEstimate(Entity):destination_pin = Field(String(20), primary_key=True)warehouse_id = Field(Integer)delivery_time = Field(Integer)provider = ManyToOne("Provider", primary_key=True)'''struct Shipment{1:string warehouse_id,2:string awb,3:string origin,4:string destination,5:i64 timestamp,6:string recepient_name,7:string recepient_address,8:string recepient_pincode,9:string recepient_phone,10:string shipment_weight,11:string shipment_contents}'''def initialize():metadata.bind = "sqlite:///logistics.sqlite" #need to read it from configserver.metadata.bind.echo = Truesetup_all(True)if __name__=="__main__":initialize()