Subversion Repositories SmartDukaan

Rev

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 *

#flag = False

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 themobilestorephones_new(Entity):
    name = Field(String(100))
    shown_price = Field(Integer)
    final_price = Field(Integer)
    extra_info = Field(String(1000))
 
                 
class extra_vars(Entity):
    var = Field(String(100))    
    val = Field(String(100))
    desc = Field(String(1000))
    
class pricesbolourls(Entity):
    url = Field(String(1000))
    
class pricesbolophones(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 babuchak_urls(Entity):
    url = Field(String(100))
    no_pages = Field(Integer)
            
class babuchak_phoneurls(Entity):
    url = Field(String(100))
    
class babuchak_phones(Entity):
    name = Field(String(100))
    shown_price = Field(Integer)
    final_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()