Subversion Repositories SmartDukaan

Rev

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

Rev 7103 Rev 7134
Line 990... Line 990...
990
    except:
990
    except:
991
        return False
991
        return False
992
 
992
 
993
 
993
 
994
def send_product_notifications():
994
def send_product_notifications():
995
    product_notifications = ProductNotification.query.all()
995
    product_notifications = ProductNotification.query.order_by(ProductNotification.addedOn).all()
-
 
996
    itemcountmap = {}
-
 
997
    itemstatusmap = {}
996
    for product_notification in product_notifications:
998
    for product_notification in product_notifications:
997
        item = product_notification.item
999
        item = product_notification.item
-
 
1000
        if itemcountmap.has_key(item.id):
-
 
1001
            itemcountmap[item.id] = itemcountmap.get(item.id) + 1
-
 
1002
        else:
998
        client = InventoryClient().get_client()
1003
            client = InventoryClient().get_client()
999
        availability = client.getItemAvailabilityAtLocation(item.id, sourceId)[4]
1004
            availability = client.getItemAvailabilityAtLocation(item.id, sourceId)[4]
1000
        if item.status == status.ACTIVE and (not item.risky or availability > 0):
1005
            if item.status == status.ACTIVE and (not item.risky or availability > 0):        
-
 
1006
                itemstatusmap[item.id] = True
-
 
1007
            else:
-
 
1008
                itemstatusmap[item.id] = False
-
 
1009
            itemcountmap[item.id] = 1
-
 
1010
        if itemcountmap[item.id] > 1000:
-
 
1011
            continue
-
 
1012
        
-
 
1013
        if itemstatusmap[item.id]:
1001
            __enque_product_notification_email(product_notification.email, __get_product_name(item) , product_notification.addedOn, __get_product_url(item), item.id)
1014
            __enque_product_notification_email(product_notification.email, __get_product_name(item) , product_notification.addedOn, __get_product_url(item), item.id)
1002
            product_notification.delete()
1015
            product_notification.delete()
1003
    session.commit()
1016
    session.commit()
1004
    return True
1017
    return True
1005
   
1018