Subversion Repositories SmartDukaan

Rev

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

Rev 14862 Rev 15702
Line 1878... Line 1878...
1878
def get_all_amazon_listed_items():
1878
def get_all_amazon_listed_items():
1879
    return session.query(Amazonlisted).all()
1879
    return session.query(Amazonlisted).all()
1880
 
1880
 
1881
def get_amazon_item_details(amazonItemId):
1881
def get_amazon_item_details(amazonItemId):
1882
    amazonlisted = Amazonlisted.get_by(itemId=amazonItemId)
1882
    amazonlisted = Amazonlisted.get_by(itemId=amazonItemId)
1883
    fbaPromo, fbbPromo, fbgPromo = __get_amazon_promotion_attributes_for_item(amazonItemId)
1883
    fbaPromo, fbbPromo, fbgPromo, fbdPromo = __get_amazon_promotion_attributes_for_item(amazonItemId)
1884
    return amazonlisted, fbaPromo, fbbPromo, fbgPromo
1884
    return amazonlisted, fbaPromo, fbbPromo, fbgPromo, fbdPromo
1885
 
1885
 
1886
 
1886
 
1887
def update_amazon_item_details(amazonlisted):
1887
def update_amazon_item_details(amazonlisted):
1888
    amazon_listed = Amazonlisted.get_by(itemId = amazonlisted.itemid)
1888
    amazon_listed = Amazonlisted.get_by(itemId = amazonlisted.itemid)
1889
    amazon_listed.isFba=amazonlisted.isFba
1889
    amazon_listed.isFba=amazonlisted.isFba
1890
    amazon_listed.isFbb=amazonlisted.isFbb
1890
    amazon_listed.isFbb=amazonlisted.isFbb
1891
    amazon_listed.isFbg=amazonlisted.isFbg
1891
    amazon_listed.isFbg=amazonlisted.isFbg
-
 
1892
    amazon_listed.isFbd=amazonlisted.isFbd
1892
    amazon_listed.isNonFba=amazonlisted.isNonFba
1893
    amazon_listed.isNonFba=amazonlisted.isNonFba
1893
    amazon_listed.isInventoryOverride=amazonlisted.isInventoryOverride
1894
    amazon_listed.isInventoryOverride=amazonlisted.isInventoryOverride
1894
    amazon_listed.handlingTime=amazonlisted.handlingTime
1895
    amazon_listed.handlingTime=amazonlisted.handlingTime
1895
    amazon_listed.isCustomTime=amazonlisted.isCustomTime
1896
    amazon_listed.isCustomTime=amazonlisted.isCustomTime
1896
    amazon_listed.taxCode=amazonlisted.taxCode
1897
    amazon_listed.taxCode=amazonlisted.taxCode
1897
    amazon_listed.fbbtaxCode=amazonlisted.fbbtaxCode
1898
    amazon_listed.fbbtaxCode=amazonlisted.fbbtaxCode
1898
    amazon_listed.fbgtaxCode=amazonlisted.fbgtaxCode
1899
    amazon_listed.fbgtaxCode=amazonlisted.fbgtaxCode
-
 
1900
    amazon_listed.fbdtaxCode=amazonlisted.fbdtaxCode
1899
    if (amazon_listed.sellingPrice != amazonlisted.sellingPrice) and amazonlisted.sellingPrice > 0:
1901
    if (amazon_listed.sellingPrice != amazonlisted.sellingPrice) and amazonlisted.sellingPrice > 0:
1900
        amazon_listed.mfnPriceLastUpdatedOn = datetime.datetime.now()
1902
        amazon_listed.mfnPriceLastUpdatedOn = datetime.datetime.now()
1901
        amazon_listed.sellingPrice=amazonlisted.sellingPrice
1903
        amazon_listed.sellingPrice=amazonlisted.sellingPrice
1902
    if (amazon_listed.fbaPrice != amazonlisted.fbaPrice) and amazonlisted.fbaPrice > 0:
1904
    if (amazon_listed.fbaPrice != amazonlisted.fbaPrice) and amazonlisted.fbaPrice > 0:
1903
        amazon_listed.fbaPriceLastUpdatedOn = datetime.datetime.now()
1905
        amazon_listed.fbaPriceLastUpdatedOn = datetime.datetime.now()
Line 1906... Line 1908...
1906
        amazon_listed.fbbPriceLastUpdatedOn = datetime.datetime.now()
1908
        amazon_listed.fbbPriceLastUpdatedOn = datetime.datetime.now()
1907
        amazon_listed.fbbPrice=amazonlisted.fbbPrice
1909
        amazon_listed.fbbPrice=amazonlisted.fbbPrice
1908
    if (amazon_listed.fbgPrice != amazonlisted.fbgPrice) and amazonlisted.fbgPrice > 0:
1910
    if (amazon_listed.fbgPrice != amazonlisted.fbgPrice) and amazonlisted.fbgPrice > 0:
1909
        amazon_listed.fbgPriceLastUpdatedOn = datetime.datetime.now()
1911
        amazon_listed.fbgPriceLastUpdatedOn = datetime.datetime.now()
1910
        amazon_listed.fbgPrice=amazonlisted.fbgPrice
1912
        amazon_listed.fbgPrice=amazonlisted.fbgPrice
-
 
1913
    if (amazon_listed.fbdPrice != amazonlisted.fbdPrice) and amazonlisted.fbdPrice > 0:
-
 
1914
        amazon_listed.fbdPriceLastUpdatedOn = datetime.datetime.now()
-
 
1915
        amazon_listed.fbdPrice=amazonlisted.fbdPrice
1911
    amazon_listed.suppressMfnPriceUpdate=amazonlisted.suppressMfnPriceUpdate
1916
    amazon_listed.suppressMfnPriceUpdate=amazonlisted.suppressMfnPriceUpdate
1912
    amazon_listed.suppressFbaPriceUpdate=amazonlisted.suppressFbaPriceUpdate
1917
    amazon_listed.suppressFbaPriceUpdate=amazonlisted.suppressFbaPriceUpdate
1913
    amazon_listed.suppressFbbPriceUpdate=amazonlisted.suppressFbbPriceUpdate
1918
    amazon_listed.suppressFbbPriceUpdate=amazonlisted.suppressFbbPriceUpdate
1914
    amazon_listed.suppressFbgPriceUpdate=amazonlisted.suppressFbgPriceUpdate
1919
    amazon_listed.suppressFbgPriceUpdate=amazonlisted.suppressFbgPriceUpdate
-
 
1920
    amazon_listed.suppressFbdPriceUpdate=amazonlisted.suppressFbdPriceUpdate
1915
    amazon_listed.overrrideWanlc = amazonlisted.overrrideWanlc
1921
    amazon_listed.overrrideWanlc = amazonlisted.overrrideWanlc
1916
    amazon_listed.exceptionalWanlc = amazonlisted.exceptionalWanlc
1922
    amazon_listed.exceptionalWanlc = amazonlisted.exceptionalWanlc
1917
    amazon_listed.autoDecrement = amazonlisted.autoDecrement
1923
    amazon_listed.autoDecrement = amazonlisted.autoDecrement
1918
    amazon_listed.autoIncrement = amazonlisted.autoIncrement
1924
    amazon_listed.autoIncrement = amazonlisted.autoIncrement
1919
    amazon_listed.autoFavourite = amazonlisted.autoFavourite
1925
    amazon_listed.autoFavourite = amazonlisted.autoFavourite
Line 1926... Line 1932...
1926
        amazon_listed.fbbPromoPrice = amazonlisted.fbbPromoPrice
1932
        amazon_listed.fbbPromoPrice = amazonlisted.fbbPromoPrice
1927
        amazon_listed.fbbPriceLastUpdatedOn = datetime.datetime.now()
1933
        amazon_listed.fbbPriceLastUpdatedOn = datetime.datetime.now()
1928
    if amazon_listed.fbgPromoPrice != amazonlisted.fbgPromoPrice and amazonlisted.fbgPromoPrice > 0:
1934
    if amazon_listed.fbgPromoPrice != amazonlisted.fbgPromoPrice and amazonlisted.fbgPromoPrice > 0:
1929
        amazon_listed.fbgPromoPrice = amazonlisted.fbgPromoPrice
1935
        amazon_listed.fbgPromoPrice = amazonlisted.fbgPromoPrice
1930
        amazon_listed.fbgPriceLastUpdatedOn = datetime.datetime.now()
1936
        amazon_listed.fbgPriceLastUpdatedOn = datetime.datetime.now()
-
 
1937
    if amazon_listed.fbdPromoPrice != amazonlisted.fbdPromoPrice and amazonlisted.fbdPromoPrice > 0:
-
 
1938
        amazon_listed.fbdPromoPrice = amazonlisted.fbdPromoPrice
-
 
1939
        amazon_listed.fbdPriceLastUpdatedOn = datetime.datetime.now()
1931
    session.commit()
1940
    session.commit()
1932
   
1941
   
1933
def add_amazon_item(amazonlisted):
1942
def add_amazon_item(amazonlisted):
1934
    if (not amazonlisted) or (not amazonlisted.itemid) or (not amazonlisted.asin):
1943
    if (not amazonlisted) or (not amazonlisted.itemid) or (not amazonlisted.asin):
1935
        return
1944
        return
Line 1994... Line 2003...
1994
            amazon_item.fbbPriceLastUpdatedOnSc = datetime.datetime.now()
2003
            amazon_item.fbbPriceLastUpdatedOnSc = datetime.datetime.now()
1995
            amazon_item.fbbPriceLastUpdatedOn = datetime.datetime.now()
2004
            amazon_item.fbbPriceLastUpdatedOn = datetime.datetime.now()
1996
        amazon_item.isFbb = False
2005
        amazon_item.isFbb = False
1997
        amazon_item.suppressFbbPriceUpdate = False
2006
        amazon_item.suppressFbbPriceUpdate = False
1998
        if amazonlisted.fbgPrice: 
2007
        if amazonlisted.fbgPrice: 
1999
            amazon_item.fbgPrice = amazonlisted.fbbPrice 
2008
            amazon_item.fbgPrice = amazonlisted.fbgPrice 
2000
            amazon_item.fbgPriceLastUpdatedOnSc = datetime.datetime.now()
2009
            amazon_item.fbgPriceLastUpdatedOnSc = datetime.datetime.now()
2001
            amazon_item.fbgPriceLastUpdatedOn = datetime.datetime.now()
2010
            amazon_item.fbgPriceLastUpdatedOn = datetime.datetime.now()
2002
        amazon_item.isFbg = False
2011
        amazon_item.isFbg = False
2003
        amazon_item.suppressFbgPriceUpdate = False
2012
        amazon_item.suppressFbgPriceUpdate = False
-
 
2013
        if amazonlisted.fbdPrice: 
-
 
2014
            amazon_item.fbdPrice = amazonlisted.fbdPrice 
-
 
2015
            amazon_item.fbdPriceLastUpdatedOnSc = datetime.datetime.now()
-
 
2016
            amazon_item.fbdPriceLastUpdatedOn = datetime.datetime.now()
-
 
2017
        amazon_item.isFbd = False
-
 
2018
        amazon_item.suppressFbdPriceUpdate = False
2004
        amazon_item.autoDecrement = True
2019
        amazon_item.autoDecrement = True
2005
        amazon_item.autoIncrement = True
2020
        amazon_item.autoIncrement = True
2006
 
2021
 
2007
    elif (amazonItem.asin!=amazonlisted.asin):
2022
    elif (amazonItem.asin!=amazonlisted.asin):
2008
        if amazonlisted.asin:
2023
        if amazonlisted.asin:
Line 2132... Line 2147...
2132
        session.commit()
2147
        session.commit()
2133
        return True
2148
        return True
2134
    elif (feedType=='FbbListingFeed'):
2149
    elif (feedType=='FbbListingFeed'):
2135
        for sku in skuList:
2150
        for sku in skuList:
2136
            amazonItem = Amazonlisted.get_by(itemId=sku)
2151
            amazonItem = Amazonlisted.get_by(itemId=sku)
2137
            amazonItem.fbbListedOn = to_py_date(timestamp) 
2152
            amazonItem.fbbListedOn = to_py_date(timestamp)
-
 
2153
            amazonItem.isFbb = True 
-
 
2154
        session.commit()
-
 
2155
        return True
-
 
2156
    elif (feedType=='FbdListingFeed'):
-
 
2157
        for sku in skuList:
-
 
2158
            amazonItem = Amazonlisted.get_by(itemId=sku)
-
 
2159
            amazonItem.isFbd = True 
2138
        session.commit()
2160
        session.commit()
2139
        return True
2161
        return True
2140
    else:
2162
    else:
2141
        return False
2163
        return False
2142
    
2164
    
Line 2864... Line 2886...
2864
 
2886
 
2865
def get_marketplace_history(source,offset,itemId):
2887
def get_marketplace_history(source,offset,itemId):
2866
    return session.query(MarketPlaceHistory).filter(MarketPlaceHistory.item_id==itemId).filter(MarketPlaceHistory.source==source).filter(or_(MarketPlaceHistory.toGroup==True,MarketPlaceHistory.toGroup==None)).order_by(desc(MarketPlaceHistory.timestamp)).limit(11).offset(offset).all()
2888
    return session.query(MarketPlaceHistory).filter(MarketPlaceHistory.item_id==itemId).filter(MarketPlaceHistory.source==source).filter(or_(MarketPlaceHistory.toGroup==True,MarketPlaceHistory.toGroup==None)).order_by(desc(MarketPlaceHistory.timestamp)).limit(11).offset(offset).all()
2867
 
2889
 
2868
def get_all_fbb_listed_items():
2890
def get_all_fbb_listed_items():
2869
    return Amazonlisted.query.filter(Amazonlisted.isFbb==False).filter(Amazonlisted.fbbListedOn==None).filter(Amazonlisted.fbbtaxCode!=None).all()
2891
    return Amazonlisted.query.filter(Amazonlisted.isFbb==False).filter(or_(Amazonlisted.fbdtaxCode!=None,Amazonlisted.fbdtaxCode!="")).all()
2870
 
2892
 
2871
def get_all_fbb_pricing_items():
2893
def get_all_fbb_pricing_items():
2872
    #Removing fbbListedOn from query.Will have to fix this.(2014-10-17)
2894
    #Removing fbbListedOn from query.Will have to fix this.(2014-10-17)
2873
    #return Amazonlisted.query.filter(Amazonlisted.isFbb==True).filter(Amazonlisted.suppressFbbPriceUpdate==False).filter(Amazonlisted.fbbListedOn != None).all()
2895
    #return Amazonlisted.query.filter(Amazonlisted.isFbb==True).filter(Amazonlisted.suppressFbbPriceUpdate==False).filter(Amazonlisted.fbbListedOn != None).all()
2874
    return Amazonlisted.query.filter(Amazonlisted.isFbb==True).filter(Amazonlisted.suppressFbbPriceUpdate==False).all()
2896
    return Amazonlisted.query.filter(Amazonlisted.isFbb==True).filter(Amazonlisted.suppressFbbPriceUpdate==False).all()
Line 3054... Line 3076...
3054
            stateId = 1
3076
            stateId = 1
3055
        elif amazonSku.startswith('FBB'):
3077
        elif amazonSku.startswith('FBB'):
3056
            stateId = 2
3078
            stateId = 2
3057
        elif amazonSku.startswith('FBG'):
3079
        elif amazonSku.startswith('FBG'):
3058
            stateId = 3
3080
            stateId = 3
-
 
3081
        elif amazonSku.startswith('FBD'):
-
 
3082
            stateId = 0
3059
        else:
3083
        else:
3060
            notAdded.append(amazonSku)
3084
            notAdded.append(amazonSku)
3061
            continue
3085
            continue
3062
        amazonItem = get_amazon_item_details(int(amazonSku[3:]))
3086
        amazonItem = get_amazon_item_details(int(amazonSku[3:]))
3063
        if amazonItem[0] is None:
3087
        if amazonItem[0] is None:
Line 3083... Line 3107...
3083
            elif d_amazonPromotion.stateId == 2:
3107
            elif d_amazonPromotion.stateId == 2:
3084
                amazonItem[0].fbbPromoPrice =  amazonPromotion.salePrice
3108
                amazonItem[0].fbbPromoPrice =  amazonPromotion.salePrice
3085
                amazonItem[0].fbbPromoStartDate = to_py_date(amazonPromotion.startDate)
3109
                amazonItem[0].fbbPromoStartDate = to_py_date(amazonPromotion.startDate)
3086
                amazonItem[0].fbbPromoEndDate =  to_py_date(amazonPromotion.endDate)
3110
                amazonItem[0].fbbPromoEndDate =  to_py_date(amazonPromotion.endDate)
3087
                amazonItem[0].fbbPromoActive = False
3111
                amazonItem[0].fbbPromoActive = False
3088
            else:
3112
            elif d_amazonPromotion.stateId == 3:
3089
                amazonItem[0].fbgPromoPrice =  amazonPromotion.salePrice
3113
                amazonItem[0].fbgPromoPrice =  amazonPromotion.salePrice
3090
                amazonItem[0].fbgPromoStartDate = to_py_date(amazonPromotion.startDate)
3114
                amazonItem[0].fbgPromoStartDate = to_py_date(amazonPromotion.startDate)
3091
                amazonItem[0].fbgPromoEndDate =  to_py_date(amazonPromotion.endDate)
3115
                amazonItem[0].fbgPromoEndDate =  to_py_date(amazonPromotion.endDate)
3092
                amazonItem[0].fbgPromoActive = False
3116
                amazonItem[0].fbgPromoActive = False
-
 
3117
            else:
-
 
3118
                amazonItem[0].fbdPromoPrice =  amazonPromotion.salePrice
-
 
3119
                amazonItem[0].fbdPromoStartDate = to_py_date(amazonPromotion.startDate)
-
 
3120
                amazonItem[0].fbdPromoEndDate =  to_py_date(amazonPromotion.endDate)
-
 
3121
                amazonItem[0].fbdPromoActive = False
3093
        else:
3122
        else:
3094
            d_amazonPromotion.promotionActive = True
3123
            d_amazonPromotion.promotionActive = True
3095
    session.commit()
3124
    session.commit()
3096
    return notAdded
3125
    return notAdded
3097
 
3126
 
Line 3139... Line 3168...
3139
            amazonItem = get_amazon_item_details(int(amp.sku[3:]))
3168
            amazonItem = get_amazon_item_details(int(amp.sku[3:]))
3140
            if amp.stateId == 1:
3169
            if amp.stateId == 1:
3141
                amazonItem[0].fbaPromotionActive = True
3170
                amazonItem[0].fbaPromotionActive = True
3142
            elif amp.stateId == 2:
3171
            elif amp.stateId == 2:
3143
                amazonItem[0].fbbPromotionActive = True
3172
                amazonItem[0].fbbPromotionActive = True
3144
            else:
3173
            elif amp.stateId == 3:
3145
                amazonItem[0].fbgPromotionActive = True
3174
                amazonItem[0].fbgPromotionActive = True
-
 
3175
            else:
-
 
3176
                amazonItem[0].fbdPromotionActive = True
3146
    session.commit()
3177
    session.commit()
3147
    return True
3178
    return True
3148
 
3179
 
3149
def check_services(map_lines):
3180
def check_services(map_lines):
3150
    for key in map_lines.keys():
3181
    for key in map_lines.keys():
Line 3162... Line 3193...
3162
def __get_amazon_promotion_attributes_for_item(item_id):
3193
def __get_amazon_promotion_attributes_for_item(item_id):
3163
    timestamp = datetime.datetime.now()
3194
    timestamp = datetime.datetime.now()
3164
    fbaPromo = AmazonPromotion.query.filter(AmazonPromotion.sku=='FBA'+str(item_id)).filter(AmazonPromotion.startDate<=timestamp).filter(AmazonPromotion.endDate>=timestamp).filter(AmazonPromotion.updatedOnMarketplace>to_py_date(0)).order_by(desc(AmazonPromotion.updatedOnMarketplace)).limit(1).all()
3195
    fbaPromo = AmazonPromotion.query.filter(AmazonPromotion.sku=='FBA'+str(item_id)).filter(AmazonPromotion.startDate<=timestamp).filter(AmazonPromotion.endDate>=timestamp).filter(AmazonPromotion.updatedOnMarketplace>to_py_date(0)).order_by(desc(AmazonPromotion.updatedOnMarketplace)).limit(1).all()
3165
    fbbPromo = AmazonPromotion.query.filter(AmazonPromotion.sku=='FBB'+str(item_id)).filter(AmazonPromotion.startDate<=timestamp).filter(AmazonPromotion.endDate>=timestamp).filter(AmazonPromotion.updatedOnMarketplace>to_py_date(0)).order_by(desc(AmazonPromotion.updatedOnMarketplace)).limit(1).all()
3196
    fbbPromo = AmazonPromotion.query.filter(AmazonPromotion.sku=='FBB'+str(item_id)).filter(AmazonPromotion.startDate<=timestamp).filter(AmazonPromotion.endDate>=timestamp).filter(AmazonPromotion.updatedOnMarketplace>to_py_date(0)).order_by(desc(AmazonPromotion.updatedOnMarketplace)).limit(1).all()
3166
    fbgPromo = AmazonPromotion.query.filter(AmazonPromotion.sku=='FBG'+str(item_id)).filter(AmazonPromotion.startDate<=timestamp).filter(AmazonPromotion.endDate>=timestamp).filter(AmazonPromotion.updatedOnMarketplace>to_py_date(0)).order_by(desc(AmazonPromotion.updatedOnMarketplace)).limit(1).all()
3197
    fbgPromo = AmazonPromotion.query.filter(AmazonPromotion.sku=='FBG'+str(item_id)).filter(AmazonPromotion.startDate<=timestamp).filter(AmazonPromotion.endDate>=timestamp).filter(AmazonPromotion.updatedOnMarketplace>to_py_date(0)).order_by(desc(AmazonPromotion.updatedOnMarketplace)).limit(1).all()
3167
    return fbaPromo, fbbPromo, fbgPromo
3198
    fbdPromo = AmazonPromotion.query.filter(AmazonPromotion.sku=='FBD'+str(item_id)).filter(AmazonPromotion.startDate<=timestamp).filter(AmazonPromotion.endDate>=timestamp).filter(AmazonPromotion.updatedOnMarketplace>to_py_date(0)).order_by(desc(AmazonPromotion.updatedOnMarketplace)).limit(1).all()
-
 
3199
    return fbaPromo, fbbPromo, fbgPromo, fbdPromo
3168
 
3200
 
3169
def get_ex_affiliate_item_info():
3201
def get_ex_affiliate_item_info():
3170
        query = session.query(ExclusiveAffiliateItemInfo, OutboundAffiliateMaster.name).join((OutboundAffiliateMaster, ExclusiveAffiliateItemInfo.affiliateId==OutboundAffiliateMaster.id)).filter(ExclusiveAffiliateItemInfo.isActive == True).all()
3202
        query = session.query(ExclusiveAffiliateItemInfo, OutboundAffiliateMaster.name).join((OutboundAffiliateMaster, ExclusiveAffiliateItemInfo.affiliateId==OutboundAffiliateMaster.id)).filter(ExclusiveAffiliateItemInfo.isActive == True).all()
3171
        close_session()
3203
        close_session()
3172
        map = {}
3204
        map = {}
Line 3221... Line 3253...
3221
                d_item = item
3253
                d_item = item
3222
                break
3254
                break
3223
            else:
3255
            else:
3224
                d_item = item
3256
                d_item = item
3225
    return d_item
3257
    return d_item
-
 
3258
 
-
 
3259
def get_all_items_to_list_on_fbd():
-
 
3260
    return Amazonlisted.query.filter(Amazonlisted.isFbd==False).filter(or_(Amazonlisted.fbdtaxCode!=None,Amazonlisted.fbdtaxCode!="")).all()
-
 
3261
 
-
 
3262
def get_all_fbd_listed_items():
-
 
3263
    return Amazonlisted.query.filter(Amazonlisted.isFbd==True).all()
-
 
3264
 
-
 
3265
if __name__=='__main__':
-
 
3266
    DataService.initialize()
-
 
3267
    get_all_items_to_list_on_fbd()
3226
3268