Subversion Repositories SmartDukaan

Rev

Rev 94 | Rev 103 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 94 Rev 100
Line 13... Line 13...
13
 
13
 
14
class Category(Entity):
14
class Category(Entity):
15
    '''
15
    '''
16
    This class represents the catalog. 
16
    This class represents the catalog. 
17
    '''
17
    '''
18
 #   id = Field(Integer)
18
    id = Field(Integer, primary_key=True)
19
    name = Field(String(30))
19
    name = Field(String(30))
20
    isRoot = Field(Integer)
20
    isRoot = Field(Integer)
21
    addedOn = Field(DateTime)
21
    addedOn = Field(DateTime)
22
    items = OneToMany('Item')
22
    items = OneToMany('Item')
23
    children = OneToMany('Category', inverse='parent')
23
    children = OneToMany('Category', inverse='parent')
Line 26... Line 26...
26
    def __repr__(self):
26
    def __repr__(self):
27
        return "<id>%id </id>"%(self.id)
27
        return "<id>%id </id>"%(self.id)
28
 
28
 
29
 
29
 
30
class Vendor(Entity):
30
class Vendor(Entity):
31
    id = Field(Integer)
31
    id = Field(Integer, primary_key=True)
32
    name = Field(String(30))
32
    name = Field(String(30))
33
    warehouses = ManyToMany('Warehouse')
33
    warehouses = ManyToMany('Warehouse')
34
    def __repr__(self):
34
    def __repr__(self):
35
        return "<Vendor>%s</Vendor>" %(self.name)
35
        return "<Vendor>%s</Vendor>" %(self.name)
36
 
36
 
37
    
37
    
38
class Warehouse(Entity):
38
class Warehouse(Entity):
39
    id = Field(Integer)
39
    id = Field(Integer, primary_key=True)
40
    location = Field(String(20))
40
    location = Field(String(20))
41
    vendors = ManyToMany('Vendor')
41
    vendors = ManyToMany('Vendor')
42
    inventory = OneToMany('CurrentInventorySnapshot')
42
    inventory = OneToMany('CurrentInventorySnapshot')
43
    inventoryHistory = OneToMany('ItemInventoryHistory')
43
    inventoryHistory = OneToMany('ItemInventoryHistory')
44
    
44
    
45
    def __repr__(self):
45
    def __repr__(self):
46
        return "<warehouse>%s</warehouse>" %(self.location)
46
        return "<warehouse>%s</warehouse>" %(self.location)
47
 
47
 
48
 
48
 
49
class Item(Entity):
49
class Item(Entity):
50
    id = Field(Integer)
50
    id = Field(Integer, primary_key=True)
51
    name = Field(String(20))
51
    name = Field(String(20))
52
    currentInventory = OneToMany('CurrentInventorySnapshot')
52
    currentInventory = OneToMany('CurrentInventorySnapshot')
53
    inventoryHistory = OneToMany('ItemInventoryHistory')
53
    inventoryHistory = OneToMany('ItemInventoryHistory')
54
    category = ManyToOne("Category")
54
    category = ManyToOne("Category")
55
    def __repr__(self):
55
    def __repr__(self):
Line 71... Line 71...
71
            warehouses.append(warehouse)
71
            warehouses.append(warehouse)
72
        return warehouses
72
        return warehouses
73
    
73
    
74
 
74
 
75
class CurrentInventorySnapshot(Entity):
75
class CurrentInventorySnapshot(Entity):
76
    id = Field(Integer)
76
    id = Field(Integer, primary_key=True)
77
    checkedOn = Field(DateTime, default=datetime.datetime)
77
    checkedOn = Field(DateTime, default=datetime.datetime)
78
    availibility = Field(Integer)
78
    availibility = Field(Integer)
79
    item = ManyToOne("Item")
79
    item = ManyToOne("Item")
80
    warehouse = ManyToOne("Warehouse")
80
    warehouse = ManyToOne("Warehouse")
81
    
81
    
Line 85... Line 85...
85
#===============================================================================
85
#===============================================================================
86
# This is just a placeholder, will be using naveen's code for this.
86
# This is just a placeholder, will be using naveen's code for this.
87
#===============================================================================
87
#===============================================================================
88
    
88
    
89
class ItemAttribs(Entity):
89
class ItemAttribs(Entity):
90
    id = Field(Integer)
90
    id = Field(Integer, primary_key=True)
91
    def __repr__(self):
91
    def __repr__(self):
92
        pass
92
        pass
93
    
93
    
94
 
94
 
95
class ItemInventoryHistory(Entity):
95
class ItemInventoryHistory(Entity):
96
    id = Field(Integer)    
96
    id = Field(Integer, primary_key=True)    
97
    timestamp = Field(DateTime, default=datetime.datetime.now())
97
    timestamp = Field(DateTime, default=datetime.datetime.now())
98
    availibility = Field(Integer)
98
    availibility = Field(Integer)
99
    item = ManyToOne("Item")
99
    item = ManyToOne("Item")
100
    warehouse = ManyToOne("Warehouse")
100
    warehouse = ManyToOne("Warehouse")
101
    
101
    
102
    def __repr__(self):
102
    def __repr__(self):
103
        pass
103
        pass
104
    
104
    
105
 
105
 
106
def initialize():
106
def initialize():
107
    metadata.bind = "sqlite:///movies.sqlite"
107
    metadata.bind = "sqlite:///catalog.sqlite"
108
    metadata.bind.echo = True
108
    metadata.bind.echo = True
109
    
109
    
110
    setup_all(True)
110
    setup_all(True)