Subversion Repositories SmartDukaan

Rev

Rev 13974 | Rev 14186 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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()