| 15689 |
kshitij.so |
1 |
#!/usr/bin/python
|
|
|
2 |
# coding: ascii
|
|
|
3 |
from elixir import *
|
|
|
4 |
from shop2020.model.v1.catalog.impl import DataService
|
|
|
5 |
from shop2020.model.v1.catalog.impl.DataService import Amazonlisted
|
|
|
6 |
from shop2020.model.v1.catalog.script import AmazonAsyncScraper
|
|
|
7 |
from shop2020.config.client.ConfigClient import ConfigClient
|
|
|
8 |
|
|
|
9 |
config_client = ConfigClient()
|
|
|
10 |
host = config_client.get_property('staging_hostname')
|
|
|
11 |
|
|
|
12 |
amScraper = AmazonAsyncScraper.Products("AKIAII3SGRXBJDPCHSGQ", "B92xTbNBTYygbGs98w01nFQUhbec1pNCkCsKVfpg", "AF6E3O0VE0X4D")
|
|
|
13 |
marketplaceid = "A21TJRUUN4KGV"
|
|
|
14 |
DataService.initialize(db_hostname=host)
|
|
|
15 |
|
|
|
16 |
def run():
|
|
|
17 |
exceptionList = []
|
|
|
18 |
amazonItems = session.query(Amazonlisted).all()
|
|
|
19 |
for amazonItem in amazonItems:
|
|
|
20 |
skus = []
|
|
|
21 |
skus.append(str(amazonItem.itemId))
|
|
|
22 |
try:
|
|
|
23 |
productAttr = amScraper.get_product_attributes_for_sku(marketplaceid, skus)
|
|
|
24 |
print "productAttr ",productAttr
|
|
|
25 |
if productAttr is None:
|
|
|
26 |
raise
|
|
|
27 |
except:
|
|
|
28 |
exceptionList.append(amazonItem.itemId)
|
|
|
29 |
continue
|
|
|
30 |
amazonItem.packagingHeight = productAttr.get('height')
|
|
|
31 |
amazonItem.packagingLength = productAttr.get('length')
|
|
|
32 |
amazonItem.packagingWidth = productAttr.get('width')
|
|
|
33 |
amazonItem.packagingWeight = productAttr.get('weight')
|
|
|
34 |
session.commit()
|
|
|
35 |
|
|
|
36 |
for itemId in exceptionList:
|
|
|
37 |
print itemId
|
|
|
38 |
|
|
|
39 |
|
|
|
40 |
|
|
|
41 |
|
|
|
42 |
def main():
|
|
|
43 |
try:
|
|
|
44 |
run()
|
|
|
45 |
finally:
|
|
|
46 |
session.close()
|
|
|
47 |
|
|
|
48 |
if __name__=='__main__':
|
|
|
49 |
main()
|