Subversion Repositories SmartDukaan

Rev

Rev 150 | Rev 203 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

'''
Created on 12-May-2010

@author: gaurav
'''

from elixir import *

class PhoneItem(Entity):
    url = Field(String(1000))
    name = Field(String(50))
    price = Field(Integer)
    source = Field(String(100))
    is_crawled = Field(Boolean)
    phones = ManyToOne("Phones")
    
    def __repr__(self):
        return "%s %s" %(self.url, self.name)
    
class Phones(Entity):
    vendor = Field(String(100))
    base_url = Field(String(1000))
    items = OneToMany("PhoneItem")
   
class Vendor(Entity):
    v_name = Field(String(100))
    v_url = Field(String(1000))

class infibeam_data(Entity):
    name = Field(String(100))
    shown_price = Field(Integer)
    final_price = Field(Integer)

class univercell_data(Entity):    
    v_name = Field(String(100))
    v_site = Field(String(1000))
    
class univercell_items(Entity):    
    p_title = Field(String(100))
    p_shown_price = Field(Integer)
    p_final_price = Field(Integer)
 
class indiaplaza_data(Entity):    
    v_name = Field(String(100))
    v_site = Field(String(1000))
    
class indiaplaza_items(Entity): 
    p_name = Field(String(100))   
    p_shown_price = Field(Integer)
    p_final_price = Field(Integer)
    p_guaranteeinfo = Field(String(100))
    p_shipinfo = Field(String(100))
    
class themobilestoreurls(Entity):
    url = Field(String(1000))
    
class themobilestorephones(Entity):
    name = Field(String(100))
    shown_price = Field(Integer)
    final_price = Field(Integer)

class naaptolurls(Entity):
    url = Field(String(1000))   

class morenaaptolurls(Entity):
    url = Field(String(1000)) 
    
class naaptolphones(Entity):      
    name = Field(String(100))
    range = Field(String(100))
    
class ntonlinesp(Entity):
    nid = Field(Integer)
    name = Field(String(100))
    price = Field(Integer)
    
class ntofflinesp(Entity):
    nid = Field(Integer)
    name = Field(String(100))
    price = Field(Integer)

            
class suppliers(Entity):
    name = Field(String(100))
    site = Field(String(100))
    last_crawled = Field(DATE(100))
    
class models(Entity):
    brand = Field(String(100))
    model = Field(String(100))
    
class guarantee_info(Entity):
    mid = Field(Integer)
    guaranteeinfo = Field(String(100))
    shipinfo = Field(String(100))
    
  
class prices(Entity):
    supplier_id = Field(Integer)
    mobile_id = Field(Integer)
    quoted_price = Field(Integer)  
    final_price = Field(Integer)
    extra_info = Field(String(1000))
        
def init():
    #metadata.bind = "sqlite:///phones.sqlite"
    metadata.bind = "mysql://root@localhost/phonecrawler"
    metadata.bind.echo = True
    setup_all(True)
    pass
 

if __name__ == "__main__":
   init()