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 datastore.DataDefinition import * #Phones, init, PhoneItemfrom elixir import *from datastore.DataDefinition import infibeam_dataimport datetimeclass DataHelper:def __init__(self):init()def add_vendor(self,name,url):v = Vendor()v.v_name = namev.v_url = urlsession.commit()def set_all_crawled(self,bval):for ph in self.get_all_phones():ph.is_crawled = bvaldef set_crawled(self,url,bval):for ph in self.get_all_phones():if ph.url == url:ph.is_crawled = bvalsession.commit()def get_all_phones(self):phones = PhoneItem.query.all()return phonesdef get_all_vendors(self):vi = Vendor.query.all()return videf add_new_phone(self, url, name, source):pi = PhoneItem()pi.name = namepi.url = urlpi.source = sourcesession.commit()def add_price(self,url,price):for ph in self.get_all_phones():if ph.url == url:ph.price = pricesession.commit()def add_infiphone(self,name,shown_price,final_price):ai = infibeam_data()ai.name = nameai.shown_price = shown_priceai.final_price = final_pricesession.commit()def add_univervendor(self,name,site):ai = univercell_data()ai.v_name = nameai.v_site = sitesession.commit()def get_all_univervendors(self):vi = univercell_data.query.all()return videf add_new_univerphone(self,name,shown_price,final_price):ai = univercell_items()ai.p_title = nameai.p_shown_price = shown_priceai.p_final_price = final_pricesession.commit()def add_ipbasic(self,name,site):ai = indiaplaza_data()ai.v_name = nameai.v_site = sitesession.commit()def add_mobstoreurl(self,url):ai = themobilestoreurls()ai.url = urlsession.commit()def add_naaptolurl(self,url):ai = naaptolurls()ai.url = urlsession.commit()def add_morenaaptolurl(self,url):ai = morenaaptolurls()ai.url = urlsession.commit()def get_allmobstoreurls(self):ai = themobilestoreurls.query.all()return aidef get_allnaaptolurls(self):ai = naaptolurls.query.all()return aidef get_allmorenaaptolurls(self):ai = morenaaptolurls.query.all()return aidef add_new_mobstorephone(self,name,shown_pr,final_pr):ai = themobilestorephones()ai.name = nameai.shown_price = shown_prai.final_price = final_prsession.commit()def add_new_naaptolphone(self,name,range):temp = name.lower()if temp.find("null") != -1:returnfor n in self.get_allnaaptolphones():if n.name == name:if n.range == range:returnai = naaptolphones()ai.name = nameai.range = rangesession.commit()def add_new_ntonlinesp(self,nid,name,price):ai = ntonlinesp()ai.nid = nidai.name = nameai.price = pricesession.commit()def add_new_ntofflinesp(self,nid,name,price):ai = ntofflinesp()ai.nid = nidai.name = nameai.price = pricesession.commit()def get_naaptolphone(self, name, range):query = naaptolphones.query.filter_by(name=name)query = query.filter_by(range=range)return query.one()def get_allmobstorephones(self):ai = themobilestorephones.query.all()return aidef get_allnaaptolphones(self):ai = naaptolphones.query.all()return aidef get_allntonlinesp(self):ai = ntonlinesp.query.all()return aidef get_allntofflinesp(self):ai = ntofflinesp.query.all()return aidef get_ntonlinespbynid(self,nid):ai = ntonlinesp.query.filter_by(nid=nid)return aidef get_ntofflinespbynid(self,nid):ai = ntofflinesp.query.filter_by(nid=nid)return aidef get_all_ipbasic(self):vi = indiaplaza_data.query.all()return videf add_ipextra(self,name,shown_price,final_price,guarantee,shipinfo):ai = indiaplaza_items()ai.p_name = nameai.p_shown_price = shown_priceai.p_final_price = final_priceai.p_guaranteeinfo = guaranteeai.p_shipinfo = shipinfosession.commit()def get_all_infibeam_data(self):phones = infibeam_data.query.all()return phonesdef get_all_indiaplaza_phones(self):phones = indiaplaza_items.query.all()return phonesdef get_all_univercell_phones(self):phones = univercell_items.query.all()return phonesdef get_infibeam_csv(self):phones = self.get_all_infibeam_phones()print phonesdef get_all_suppliers(self):sup = suppliers.query.all()return supdef get_all_models(self):mod = models.query.all()return moddef get_all_prices(self):pr = prices.query.all()return prdef get_suppId(self,name):for s in self.get_all_suppliers():if s.name == name:return s.iddef get_supp_byId(self,id):for s in self.get_all_suppliers():if s.id == id:return sdef get_supp_byName(self,name):supps = []for s in self.get_all_suppliers():if s.name == name:supps.append(s)return suppsdef get_supp_bySite(self,site):supps = []for s in self.get_all_suppliers():if s.site == site:supps.append(s)return suppsdef get_modId(self,brand,model):for m in self.get_all_models():if m.brand == brand:if m.model == model:return m.iddef get_modbyId(self,id):for m in self.get_all_models():if m.id == id:return mdef get_modbyModel(self,model):for m in self.get_all_models():if m.model == model:return mdef get_modbyBrand(self,brand):mods = []for m in self.get_all_models():if m.brand == brand:mods.append(m)return modsdef get_prbyId(self,id):for p in self.get_all_prices():if p.id == id:return pdef get_prbySid(self,supplier_id):prc = []for p in self.get_all_prices():if p.supplier_id == supplier_id:prc.append(p)return prcdef get_prbyMid(self,mobile_id):prc = []for p in self.get_all_prices():if p.mobile_id == mobile_id:prc.append(p)return prcdef add_supplier(self,name,site):for s in self.get_all_suppliers():if s.name == name:now = datetime.datetime.now()s.last_crawled = str(now)session.commit()returnai = suppliers()ai.name = nameai.site = sitenow = datetime.datetime.now()ai.last_crawled = str(now)session.commit()def add_models(self,brand,model):for m in self.get_all_models():if m.brand == brand:if m.model == model:returnai = models()ai.brand = brandai.model = modelsession.commit()def add_prices(self,mobile_id,supplier_id,quoted_price,final_price,extra_info):for p in self.get_all_prices():if p.mobile_id == mobile_id:if p.supplier_id == supplier_id:if p.extra_info == extra_info:returnai = prices()ai.mobile_id = mobile_idai.supplier_id = supplier_idai.quoted_price = quoted_priceai.final_price = final_priceai.extra_info = extra_infosession.commit()def get_price_by_model(self, model_id, supplier_id):query = prices.query.filter_by(mobile_id=model_id)query = query.filter_by(supplier_id=supplier_id)return query.one()def add_gs_info(self,mid,guaranteeinfo,shipinfo):gs = guarantee_info()gs.mid = midgs.guaranteeinfo = guaranteeinfogs.shipinfo = shipinfosession.commit()def get_all_gs_info(self):gsi = guarantee_info.query.all()return gsidef get_gs_bymid(self,mid):gsi = guarantee_info.query.filter_by(mid=mid).one()return gsiif __name__ == "__main__":datastore = DataHelper()datastore.get_infibeam_csv()