| 13828 |
kshitij.so |
1 |
import pysolr
|
|
|
2 |
import json
|
|
|
3 |
import pymongo
|
|
|
4 |
|
|
|
5 |
con=None
|
|
|
6 |
|
|
|
7 |
categoryMap = {3:'Mobiles',5:'Tablets'}
|
|
|
8 |
SOURCE_MAP = {'AMAZON':1,'FLIPKART':2,'SNAPDEAL':3,'SAHOLIC':4}
|
|
|
9 |
xstr = lambda s: s or ""
|
|
|
10 |
|
|
|
11 |
class __SkuInfo:
|
|
|
12 |
|
| 13931 |
kshitij.so |
13 |
def __init__(self, id, skuBundleId, brand, model_name, source_product_name, category_id, category, available_price, mrp, in_stock, \
|
| 13985 |
kshitij.so |
14 |
source_id, store, title, thumbnail, priceUpdatedOn):
|
| 13828 |
kshitij.so |
15 |
self.id = id
|
|
|
16 |
self.skuBundleId = skuBundleId
|
|
|
17 |
self.brand = brand
|
|
|
18 |
self.model_name = model_name
|
| 13931 |
kshitij.so |
19 |
self.source_product_name = source_product_name
|
| 13828 |
kshitij.so |
20 |
self.category_id = category_id
|
|
|
21 |
self.category = category
|
|
|
22 |
self.available_price = available_price
|
|
|
23 |
self.mrp = mrp
|
|
|
24 |
self.in_stock = in_stock
|
|
|
25 |
self.source_id = source_id
|
|
|
26 |
self.store = store
|
|
|
27 |
self.title= title
|
|
|
28 |
self.thumbnail = thumbnail
|
| 13985 |
kshitij.so |
29 |
self.priceUpdatedOn = priceUpdatedOn
|
| 13828 |
kshitij.so |
30 |
|
|
|
31 |
|
|
|
32 |
solr = pysolr.Solr("http://104.200.25.40:8080/solr/", timeout=10)
|
|
|
33 |
|
|
|
34 |
def pushData():
|
|
|
35 |
l = []
|
|
|
36 |
items = get_mongo_connection().Catalog.MasterData.find({'source_id' : { "$in": SOURCE_MAP.values() } })
|
|
|
37 |
print items.count()
|
|
|
38 |
for item in items:
|
|
|
39 |
title = xstr(item['brand'])+" "+xstr(item['model_name'])
|
| 13974 |
kshitij.so |
40 |
s_info = __SkuInfo(str(item['_id']),int(item['skuBundleId']),(item['brand']),(item['model_name']),(item['source_product_name']),int(item['category_id']),categoryMap.get(item['category_id']),float(item['available_price']),float(item['mrp']),item['in_stock'], \
|
| 13985 |
kshitij.so |
41 |
int(item['source_id']),(item['source']),title,(item['thumbnail']), long(item['priceUpdatedOn']))
|
| 13828 |
kshitij.so |
42 |
l.append(s_info.__dict__)
|
|
|
43 |
solr.add(l)
|
|
|
44 |
|
|
|
45 |
def get_mongo_connection(host='localhost', port=27017):
|
|
|
46 |
global con
|
|
|
47 |
if con is None:
|
|
|
48 |
print "Establishing connection %s host and port %d" %(host,port)
|
|
|
49 |
try:
|
|
|
50 |
con = pymongo.MongoClient(host, port)
|
|
|
51 |
except Exception, e:
|
|
|
52 |
print e
|
|
|
53 |
return None
|
|
|
54 |
return con
|
|
|
55 |
|
|
|
56 |
def main():
|
|
|
57 |
print "TADA"
|
|
|
58 |
pushData()
|
|
|
59 |
if __name__=='__main__':
|
|
|
60 |
main()
|