Rev 203 | Rev 264 | 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 *import datetimeclass DataHelper:def __init__(self):#init()passdef initxy(self):init()#passdef add_vendor(self,name,url):try:v = Vendor.query.filter_by(name=name)v = v.filter_by(url=url).one()returnexcept: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):try:pi = PhoneItem.query.filter_by(name=name)pi = pi.filter_by(url=url)pi = pi.filter_by(source=source).one()returnexcept:pi = PhoneItem()pi.name = namepi.url = urlpi.source = sourcesession.commit()def add_price(self,url,price):try:p = prices.query.filter_by(price=price)p = p.filter_by(url=url).one()returnexcept:for ph in self.get_all_phones():if ph.url == url:ph.price = pricesession.commit()def add_infiphone(self,name,shown_price,final_price):try:ai = infibeam_data.query.filter_by(name=name).one()returnexcept:ai = infibeam_data()ai.name = nameai.shown_price = shown_priceai.final_price = final_pricesession.commit()def add_univervendor(self,name,site):try:ai = univercell_data.query.filter_by(name=name)ai = ai.filter_by(site=site).one()returnexcept: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):try:ai = univercell_items.query.filter_by(name=name)ai = ai.filter_by(shown_price=shown_price)ai = ai.filter_by(final_price=final_price).one()returnexcept:ai = univercell_items()ai.p_title = nameai.p_shown_price = shown_priceai.p_final_price = final_pricesession.commit()def add_ipbasic(self,name,site):try:ai = indiaplaza_data.query.filter_by(name=name)ai = ai.filter_by(site=site).one()returnexcept:ai = indiaplaza_data()ai.v_name = nameai.v_site = sitesession.commit()def add_mobstoreurl(self,url):try:ai = themobilestoreurls.query.filter_by(url=url).one()returnexcept:ai = themobilestoreurls()ai.url = urlsession.commit()def add_pricesbolourl(self,url):try:ai = pricesbolourls.query.filter_by(url=url).one()returnexcept:ai = pricesbolourls()ai.url = urlsession.commit()def get_allpricesbolourl(self):vi = pricesbolourls.query.all()return videf add_naaptolurl(self,url):try:n = naaptolurls.query.filter_by(url=url).one()returnexcept:ai = naaptolurls()ai.url = urlsession.commit()def add_morenaaptolurl(self,url):try:n = morenaaptolurls.query.filter_by(url=url).one()returnexcept:try:n = naaptolurls.query.filter_by(url=url).one()returnexcept: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):try:ai = themobilestorephones.query.filter_by(name=name)ai = ai.filter_by(shown_price=shown_pr)ai = ai.filter_by(final_price=final_pr).one()returnexcept:ai = themobilestorephones()ai.name = nameai.shown_price = shown_prai.final_price = final_prsession.commit()def add_new_mobstorephone_new(self,name,shown_pr,final_pr,extra_info):try:ai = themobilestorephones_new.query.filter_by(name=name).one()returnexcept:ai = themobilestorephones_new()ai.name = nameai.shown_price = shown_prai.final_price = final_prai.extra_info = extra_infosession.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):try:n = ntonlinesp.query.filter_by(nid=nid)n = n.filter_by(name=name).one()returnexcept:ai = ntonlinesp()ai.nid = nidai.name = nameai.price = pricesession.commit()def add_new_ntofflinesp(self,nid,name,price):try:n = ntofflinesp.query.filter_by(nid=nid)n = n.filter_by(name=name).one()returnexcept: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_allmobstorephones_new(self):ai = themobilestorephones_new.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 add_babuchakurl(self,url,no_pages):try:ai = babuchak_urls.query.filter_by(url=url).one()returnexcept:ai = babuchak_urls()ai.url = urlai.no_pages = no_pagessession.commit()def get_allbabuchakurls(self):ai = babuchak_urls.query.all()return aidef add_babuchakphoneurl(self,url):try:ai = babuchak_phoneurls.query.filter_by(url=url).one()returnexcept:ai = babuchak_phoneurls()ai.url = urlsession.commit()def get_allbabuchakphoneurls(self):ai = babuchak_phoneurls.query.all()return aidef add_babuchakphone(self,name,shown_price,final_price):try:ai = babuchak_phones.query.filter_by(name=name).one()returnexcept:ai = babuchak_phones()ai.name = nameai.shown_price = shown_priceai.final_price = final_pricesession.commit()def get_allbabuchakphones(self):ai = babuchak_phones.query.all()return aidef get_all_ipbasic(self):vi = indiaplaza_data.query.all()return videf add_ipextra(self,name,shown_price,final_price,guarantee,shipinfo):try:ai = indiaplaza_items.query.filter_by(p_name=name)ai = ai.filter_by(p_shown_price=shown_price)ai = ai.filter_by(p_final_price=final_price)ai = ai.filter_by(p_guaranteeinfo=guarantee)ai = ai.filter_by(p_shipinfo=shipinfo).one()returnexcept: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):try:gs = guarantee_info.query.filter_by(mid=mid)gs = gs.filter_by(guaranteeinfo=guaranteeinfo)gs = gs.filter_by(shipinfo=shipinfo).one()returnexcept: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 gsidef set_extra_vars(self,var,val,desc):try:tm = extra_vars.query.filter_by(var=var).one()tm.val = valtm.desc = descexcept:tm = extra_vars()tm.var = vartm.val = valtm.desc = descdef get_extra_vars(self,var):try:#print "in try"tm = extra_vars.query.filter_by(var=var).one()except:#print "in except"tm = "EMPTY"return tm.valif __name__ == "__main__":datastore = DataHelper()datastore.get_infibeam_csv()