Subversion Repositories SmartDukaan

Rev

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

Rev 203 Rev 238
Line 4... Line 4...
4
@author: gaurav
4
@author: gaurav
5
'''
5
'''
6
from datastore.DataDefinition import * #Phones, init, PhoneItem
6
from datastore.DataDefinition import * #Phones, init, PhoneItem
7
 
7
 
8
from elixir import *
8
from elixir import *
9
from datastore.DataDefinition import infibeam_data
-
 
10
import datetime
9
import datetime
11
 
10
 
12
 
11
 
13
class DataHelper:
12
class DataHelper:
14
    
13
    
15
    def __init__(self):
14
    def __init__(self):
-
 
15
        #init()
-
 
16
        pass
-
 
17
    
-
 
18
    def initxy(self):
16
        init()
19
        init()
-
 
20
        #pass
17
    
21
    
18
    def add_vendor(self,name,url):
22
    def add_vendor(self,name,url):
-
 
23
        try:
-
 
24
            v = Vendor.query.filter_by(name=name)
-
 
25
            v = v.filter_by(url=url).one()
-
 
26
            return
-
 
27
        except:
19
        v = Vendor()
28
            v = Vendor()
20
        v.v_name = name
29
            v.v_name = name
21
        v.v_url = url
30
            v.v_url = url
22
        session.commit() 
31
            session.commit() 
23
        
32
            
24
    def set_all_crawled(self,bval):
33
    def set_all_crawled(self,bval):
25
        for ph in self.get_all_phones():
34
        for ph in self.get_all_phones():
26
            ph.is_crawled = bval
35
            ph.is_crawled = bval
27
            
36
            
28
    def set_crawled(self,url,bval):
37
    def set_crawled(self,url,bval):
Line 39... Line 48...
39
        vi = Vendor.query.all()
48
        vi = Vendor.query.all()
40
        return vi
49
        return vi
41
        
50
        
42
        
51
        
43
    def add_new_phone(self, url, name, source):
52
    def add_new_phone(self, url, name, source):
-
 
53
        try:
-
 
54
            pi = PhoneItem.query.filter_by(name=name)
-
 
55
            pi = pi.filter_by(url=url)
-
 
56
            pi = pi.filter_by(source=source).one()
-
 
57
            return
-
 
58
        except:
44
        pi = PhoneItem()
59
            pi = PhoneItem()
45
        pi.name = name
60
            pi.name = name
46
        pi.url = url
61
            pi.url = url
47
        pi.source = source
62
            pi.source = source
48
        session.commit()
63
            session.commit()
49
        
64
            
50
    def add_price(self,url,price):
65
    def add_price(self,url,price):
-
 
66
        try:
-
 
67
            p = prices.query.filter_by(price=price)
-
 
68
            p = p.filter_by(url=url).one()
-
 
69
            return
-
 
70
        except:
51
        for ph in self.get_all_phones():
71
            for ph in self.get_all_phones():
52
            if ph.url == url:
72
                if ph.url == url:
53
                ph.price = price
73
                    ph.price = price
54
        session.commit()
74
            session.commit()
55
        
75
        
56
    def add_infiphone(self,name,shown_price,final_price):
76
    def add_infiphone(self,name,shown_price,final_price):
-
 
77
        try:
-
 
78
            ai = infibeam_data.query.filter_by(name=name).one()
-
 
79
            return
-
 
80
        except:
57
        ai = infibeam_data()
81
            ai = infibeam_data()
58
        ai.name = name
82
            ai.name = name
59
        ai.shown_price = shown_price
83
            ai.shown_price = shown_price
60
        ai.final_price = final_price
84
            ai.final_price = final_price
61
        session.commit()
85
            session.commit()
62
    
86
        
63
    def add_univervendor(self,name,site):
87
    def add_univervendor(self,name,site):
-
 
88
        try:
-
 
89
            ai = univercell_data.query.filter_by(name=name)
-
 
90
            ai = ai.filter_by(site=site).one()
-
 
91
            return
-
 
92
        except:
64
        ai = univercell_data()
93
            ai = univercell_data()
65
        ai.v_name = name
94
            ai.v_name = name
66
        ai.v_site = site
95
            ai.v_site = site
67
        session.commit()
96
            session.commit()
68
    
97
        
69
    def get_all_univervendors(self):
98
    def get_all_univervendors(self):
70
        vi = univercell_data.query.all()
99
        vi = univercell_data.query.all()
71
        return vi
100
        return vi
72
        
101
        
73
    def add_new_univerphone(self,name,shown_price,final_price):
102
    def add_new_univerphone(self,name,shown_price,final_price):
-
 
103
        try:
-
 
104
            ai = univercell_items.query.filter_by(name=name)
-
 
105
            ai = ai.filter_by(shown_price=shown_price)
-
 
106
            ai = ai.filter_by(final_price=final_price).one()
-
 
107
            return
-
 
108
        except:
74
        ai = univercell_items()
109
            ai = univercell_items()
75
        ai.p_title = name
110
            ai.p_title = name
76
        ai.p_shown_price = shown_price
111
            ai.p_shown_price = shown_price
77
        ai.p_final_price = final_price
112
            ai.p_final_price = final_price
78
        session.commit()
113
            session.commit()
79
        
114
            
80
    def add_ipbasic(self,name,site):
115
    def add_ipbasic(self,name,site):
81
        ai = indiaplaza_data()
116
        try:
82
        ai.v_name = name
117
            ai = indiaplaza_data.query.filter_by(name=name)
83
        ai.v_site = site
118
            ai = ai.filter_by(site=site).one()
84
        session.commit()
119
            return
85
    
120
        except:
86
    def add_mobstoreurl(self,url):
121
            ai = indiaplaza_data()
87
        ai = themobilestoreurls()
122
            ai.v_name = name
88
        ai.url = url
123
            ai.v_site = site
89
        session.commit()
124
            session.commit()
90
        
125
        
-
 
126
    def add_mobstoreurl(self,url):
-
 
127
        try:
-
 
128
            ai = themobilestoreurls.query.filter_by(url=url).one()
-
 
129
            return
-
 
130
        except:
-
 
131
            ai = themobilestoreurls()
-
 
132
            ai.url = url
-
 
133
            session.commit()
-
 
134
            
-
 
135
    def add_pricesbolourl(self,url):
-
 
136
        try:
-
 
137
            ai = pricesbolourls.query.filter_by(url=url).one()
-
 
138
            return
-
 
139
        except:
-
 
140
            ai = pricesbolourls()
-
 
141
            ai.url = url
-
 
142
            session.commit()    
-
 
143
    
-
 
144
    def get_allpricesbolourl(self):
-
 
145
        vi = pricesbolourls.query.all()
-
 
146
        return vi
91
       
147
       
92
    def add_naaptolurl(self,url):
148
    def add_naaptolurl(self,url):
-
 
149
        try:
-
 
150
            n = naaptolurls.query.filter_by(url=url).one()
-
 
151
            return
-
 
152
        except:
93
        ai = naaptolurls()
153
            ai = naaptolurls()
94
        ai.url = url
154
            ai.url = url
95
        session.commit()
155
            session.commit()
96
      
156
      
97
    def add_morenaaptolurl(self,url):
157
    def add_morenaaptolurl(self,url):
-
 
158
        try:
-
 
159
            n = morenaaptolurls.query.filter_by(url=url).one()
-
 
160
            return
-
 
161
        except:
-
 
162
            try:
-
 
163
                n = naaptolurls.query.filter_by(url=url).one()
-
 
164
                return
-
 
165
            except:
98
        ai = morenaaptolurls()
166
                ai = morenaaptolurls()
99
        ai.url = url
167
                ai.url = url
100
        session.commit()        
168
                session.commit()        
101
        
169
        
102
    def get_allmobstoreurls(self):
170
    def get_allmobstoreurls(self):
103
        ai = themobilestoreurls.query.all()
171
        ai = themobilestoreurls.query.all()
104
        return ai
172
        return ai
105
    
173
    
Line 110... Line 178...
110
    def get_allmorenaaptolurls(self):
178
    def get_allmorenaaptolurls(self):
111
        ai = morenaaptolurls.query.all()
179
        ai = morenaaptolurls.query.all()
112
        return ai
180
        return ai
113
    
181
    
114
    def add_new_mobstorephone(self,name,shown_pr,final_pr):
182
    def add_new_mobstorephone(self,name,shown_pr,final_pr):
-
 
183
        try:
-
 
184
            ai = themobilestorephones.query.filter_by(name=name)
-
 
185
            ai = ai.filter_by(shown_price=shown_pr)
-
 
186
            ai = ai.filter_by(final_price=final_pr).one()
-
 
187
            return
-
 
188
        except:    
115
        ai = themobilestorephones()
189
            ai = themobilestorephones()
116
        ai.name = name
190
            ai.name = name
-
 
191
            ai.shown_price = shown_pr
-
 
192
            ai.final_price = final_pr
-
 
193
            session.commit()
-
 
194
            
-
 
195
    def add_new_mobstorephone_new(self,name,shown_pr,final_pr,extra_info):
-
 
196
        try:
-
 
197
            ai = themobilestorephones_new.query.filter_by(name=name).one()
-
 
198
            return
-
 
199
        except:    
-
 
200
            ai = themobilestorephones_new()
-
 
201
            ai.name = name
117
        ai.shown_price = shown_pr
202
            ai.shown_price = shown_pr
118
        ai.final_price = final_pr
203
            ai.final_price = final_pr
-
 
204
            ai.extra_info = extra_info
119
        session.commit()
205
            session.commit()
120
        
206
            
121
    def add_new_naaptolphone(self,name,range):
207
    def add_new_naaptolphone(self,name,range):
122
        temp = name.lower()
208
        temp = name.lower()
123
        if temp.find("null") != -1:
209
        if temp.find("null") != -1:
124
            return
210
            return
125
        for n in self.get_allnaaptolphones(): 
211
        for n in self.get_allnaaptolphones(): 
Line 130... Line 216...
130
        ai.name = name
216
        ai.name = name
131
        ai.range = range
217
        ai.range = range
132
        session.commit()
218
        session.commit()
133
    
219
    
134
    def add_new_ntonlinesp(self,nid,name,price):
220
    def add_new_ntonlinesp(self,nid,name,price):
-
 
221
        try:
-
 
222
            n = ntonlinesp.query.filter_by(nid=nid)
-
 
223
            n = n.filter_by(name=name).one()
-
 
224
            return
-
 
225
        except:    
135
        ai = ntonlinesp()
226
            ai = ntonlinesp()
136
        ai.nid = nid
227
            ai.nid = nid
137
        ai.name = name
228
            ai.name = name
138
        ai.price = price
229
            ai.price = price
139
        session.commit()
230
            session.commit()
140
    
231
        
141
    def add_new_ntofflinesp(self,nid,name,price):
232
    def add_new_ntofflinesp(self,nid,name,price):
-
 
233
        try:
-
 
234
            n = ntofflinesp.query.filter_by(nid=nid)
-
 
235
            n = n.filter_by(name=name).one()
-
 
236
            return
-
 
237
        except:    
142
        ai = ntofflinesp()
238
            ai = ntofflinesp()
143
        ai.nid = nid
239
            ai.nid = nid
144
        ai.name = name
240
            ai.name = name
145
        ai.price = price
241
            ai.price = price
146
        session.commit()
242
            session.commit()
147
        
243
        
148
    def get_naaptolphone(self, name, range):
244
    def get_naaptolphone(self, name, range):
149
        query = naaptolphones.query.filter_by(name=name)
245
        query = naaptolphones.query.filter_by(name=name)
150
        query = query.filter_by(range=range)
246
        query = query.filter_by(range=range)
151
        return query.one()
247
        return query.one()
152
        
248
        
153
 
249
    
154
    def get_allmobstorephones(self):
250
    def get_allmobstorephones(self):
155
        ai = themobilestorephones.query.all()
251
        ai = themobilestorephones.query.all()
156
        return ai
252
        return ai
-
 
253
    
-
 
254
    def get_allmobstorephones_new(self):
-
 
255
        ai = themobilestorephones_new.query.all()
-
 
256
        return ai
-
 
257
    
157
        
258
        
158
    def get_allnaaptolphones(self):
259
    def get_allnaaptolphones(self):
159
        ai = naaptolphones.query.all()
260
        ai = naaptolphones.query.all()
160
        return ai
261
        return ai
161
    
262
    
Line 173... Line 274...
173
    
274
    
174
    def get_ntofflinespbynid(self,nid):
275
    def get_ntofflinespbynid(self,nid):
175
        ai = ntofflinesp.query.filter_by(nid=nid)
276
        ai = ntofflinesp.query.filter_by(nid=nid)
176
        return ai
277
        return ai
177
    
278
    
-
 
279
    def add_babuchakurl(self,url,no_pages):
-
 
280
        try:
-
 
281
            ai = babuchak_urls.query.filter_by(url=url).one()
-
 
282
            return
-
 
283
        except:    
-
 
284
            ai = babuchak_urls()
-
 
285
            ai.url = url
-
 
286
            ai.no_pages = no_pages 
-
 
287
            session.commit()
-
 
288
            
-
 
289
    def get_allbabuchakurls(self):
-
 
290
        ai = babuchak_urls.query.all()
-
 
291
        return ai
-
 
292
    
-
 
293
    def add_babuchakphoneurl(self,url):
-
 
294
        try:
-
 
295
            ai = babuchak_phoneurls.query.filter_by(url=url).one()
-
 
296
            return
-
 
297
        except:    
-
 
298
            ai = babuchak_phoneurls()
-
 
299
            ai.url = url 
-
 
300
            session.commit()
178
            
301
            
-
 
302
    def get_allbabuchakphoneurls(self):
-
 
303
        ai = babuchak_phoneurls.query.all()
-
 
304
        return ai
-
 
305
        
-
 
306
    def add_babuchakphone(self,name,shown_price,final_price):
-
 
307
        try:
-
 
308
            ai = babuchak_phones.query.filter_by(name=name).one()
-
 
309
            return
-
 
310
        except:
-
 
311
            ai = babuchak_phones()
-
 
312
            ai.name = name
-
 
313
            ai.shown_price = shown_price
-
 
314
            ai.final_price = final_price    
-
 
315
            session.commit()
-
 
316
            
-
 
317
    def get_allbabuchakphones(self):
-
 
318
        ai = babuchak_phones.query.all()
-
 
319
        return ai       
-
 
320
                      
179
    def get_all_ipbasic(self):
321
    def get_all_ipbasic(self):
180
        vi = indiaplaza_data.query.all()
322
        vi = indiaplaza_data.query.all()
181
        return vi
323
        return vi
182
        
324
        
183
    def add_ipextra(self,name,shown_price,final_price,guarantee,shipinfo):
325
    def add_ipextra(self,name,shown_price,final_price,guarantee,shipinfo):
-
 
326
        try:
-
 
327
            ai = indiaplaza_items.query.filter_by(p_name=name)
-
 
328
            ai = ai.filter_by(p_shown_price=shown_price)
-
 
329
            ai = ai.filter_by(p_final_price=final_price)
-
 
330
            ai = ai.filter_by(p_guaranteeinfo=guarantee)
-
 
331
            ai = ai.filter_by(p_shipinfo=shipinfo).one()
-
 
332
            return
-
 
333
        except:
184
        ai = indiaplaza_items()
334
            ai = indiaplaza_items()
185
        ai.p_name = name
335
            ai.p_name = name
186
        ai.p_shown_price = shown_price
336
            ai.p_shown_price = shown_price
187
        ai.p_final_price = final_price
337
            ai.p_final_price = final_price
188
        ai.p_guaranteeinfo = guarantee
338
            ai.p_guaranteeinfo = guarantee
189
        ai.p_shipinfo = shipinfo
339
            ai.p_shipinfo = shipinfo
190
        session.commit()
340
            session.commit()
191
        
341
            
192
    def get_all_infibeam_data(self):
342
    def get_all_infibeam_data(self):
193
        phones = infibeam_data.query.all()
343
        phones = infibeam_data.query.all()
194
        return phones
344
        return phones
195
    
345
    
196
    
346
    
Line 257... Line 407...
257
        
407
        
258
    def get_modbyModel(self,model):
408
    def get_modbyModel(self,model):
259
        for m in self.get_all_models():
409
        for m in self.get_all_models():
260
            if m.model == model:
410
            if m.model == model:
261
                return m
411
                return m
-
 
412
            
262
    def get_modbyBrand(self,brand):
413
    def get_modbyBrand(self,brand):
263
        mods = []
414
        mods = []
264
        for m in self.get_all_models():
415
        for m in self.get_all_models():
265
            if m.brand == brand:
416
            if m.brand == brand:
266
                mods.append(m)
417
                mods.append(m)
Line 329... Line 480...
329
        query = prices.query.filter_by(mobile_id=model_id)
480
        query = prices.query.filter_by(mobile_id=model_id)
330
        query = query.filter_by(supplier_id=supplier_id)
481
        query = query.filter_by(supplier_id=supplier_id)
331
        return query.one()
482
        return query.one()
332
    
483
    
333
    def add_gs_info(self,mid,guaranteeinfo,shipinfo):
484
    def add_gs_info(self,mid,guaranteeinfo,shipinfo):
-
 
485
        try:
-
 
486
            gs = guarantee_info.query.filter_by(mid=mid)
-
 
487
            gs = gs.filter_by(guaranteeinfo=guaranteeinfo)
-
 
488
            gs = gs.filter_by(shipinfo=shipinfo).one()
-
 
489
            return
-
 
490
        except:
334
        gs = guarantee_info()
491
            gs = guarantee_info()
335
        gs.mid = mid
492
            gs.mid = mid
336
        gs.guaranteeinfo = guaranteeinfo 
493
            gs.guaranteeinfo = guaranteeinfo 
337
        gs.shipinfo = shipinfo
494
            gs.shipinfo = shipinfo
338
        session.commit() 
495
            session.commit() 
339
    
496
        
340
    def get_all_gs_info(self):
497
    def get_all_gs_info(self):
341
        gsi = guarantee_info.query.all()
498
        gsi = guarantee_info.query.all()
342
        return gsi
499
        return gsi
343
    
500
    
344
    def get_gs_bymid(self,mid):
501
    def get_gs_bymid(self,mid):
345
        gsi = guarantee_info.query.filter_by(mid=mid).one()
502
        gsi = guarantee_info.query.filter_by(mid=mid).one()
346
        return gsi
503
        return gsi
347
        
504
        
-
 
505
    def set_extra_vars(self,var,val,desc):    
-
 
506
        try:
-
 
507
            tm = extra_vars.query.filter_by(var=var).one()
-
 
508
            tm.val = val
-
 
509
            tm.desc = desc
-
 
510
        except:
-
 
511
            tm = extra_vars()
-
 
512
            tm.var = var
-
 
513
            tm.val = val
-
 
514
            tm.desc = desc       
348
        
515
        
-
 
516
    def get_extra_vars(self,var):
-
 
517
        try:
-
 
518
            #print "in try"
-
 
519
            tm = extra_vars.query.filter_by(var=var).one()
-
 
520
        except:
-
 
521
            #print "in except"
-
 
522
            tm = "EMPTY"
-
 
523
        return tm.val
-
 
524
    
349
if __name__ == "__main__":
525
if __name__ == "__main__":
350
    datastore = DataHelper()
526
    datastore = DataHelper()
351
    datastore.get_infibeam_csv()
527
    datastore.get_infibeam_csv()
352
528