Subversion Repositories SmartDukaan

Rev

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

Rev 8915 Rev 9155
Line 19... Line 19...
19
    OOSTracker, EntityTag, ItemInsurerMapping, Insurer, Banner, BannerMap, \
19
    OOSTracker, EntityTag, ItemInsurerMapping, Insurer, Banner, BannerMap, \
20
    FreebieItem, BrandInfo, Amazonlisted, StorePricing, ItemVatMaster, \
20
    FreebieItem, BrandInfo, Amazonlisted, StorePricing, ItemVatMaster, \
21
    PageViewEvents, CartEvents, EbayItem, BannerUriMapping, Campaign, SnapdealItem
21
    PageViewEvents, CartEvents, EbayItem, BannerUriMapping, Campaign, SnapdealItem
22
from shop2020.thriftpy.model.v1.catalog.ttypes import status, ItemShippingInfo, \
22
from shop2020.thriftpy.model.v1.catalog.ttypes import status, ItemShippingInfo, \
23
    ItemType, PremiumType, FreebieItem as t_FreebieItem, \
23
    ItemType, PremiumType, FreebieItem as t_FreebieItem, \
24
    StorePricing as tStorePricing, CatalogServiceException
24
    StorePricing as tStorePricing, CatalogServiceException, \
-
 
25
    BannerType
25
from shop2020.thriftpy.model.v1.inventory.ttypes import \
26
from shop2020.thriftpy.model.v1.inventory.ttypes import \
26
    InventoryServiceException, IgnoredInventoryUpdateItems
27
    InventoryServiceException, IgnoredInventoryUpdateItems
27
from shop2020.utils import EmailAttachmentSender
28
from shop2020.utils import EmailAttachmentSender
28
from shop2020.utils.EmailAttachmentSender import mail
29
from shop2020.utils.EmailAttachmentSender import mail
29
from shop2020.utils.Utils import to_py_date, log_risky_flag
30
from shop2020.utils.Utils import to_py_date, log_risky_flag
Line 1401... Line 1402...
1401
    session.commit()
1402
    session.commit()
1402
    return True
1403
    return True
1403
 
1404
 
1404
def add_banner(bannerCongregate):
1405
def add_banner(bannerCongregate):
1405
    banner = bannerCongregate.banner
1406
    banner = bannerCongregate.banner
-
 
1407
    antecedent = bannerCongregate.antecedent
1406
    t_bannerMaps = bannerCongregate.bannerMaps
1408
    t_bannerMaps = bannerCongregate.bannerMaps
1407
    t_bannerUriMappings = bannerCongregate.bannerUriMappings
1409
    t_bannerUriMappings = bannerCongregate.bannerUriMappings
1408
    if banner.oldBanner is not None :
1410
    try:
1409
        delete_banner(banner.oldBanner)
-
 
1410
    banner_details=Banner()
1411
        banner_details=Banner()
1411
    banner_details.bannerName=banner.bannerName
1412
        banner_details.bannerName=banner.bannerName
1412
    banner_details.imageName=banner.imageName
1413
        banner_details.imageName=banner.imageName
1413
    banner_details.link=banner.link
1414
        banner_details.link=banner.link
1414
    banner_details.hasMap=banner.hasMap
1415
        banner_details.hasMap=banner.hasMap
1415
    banner_details.priority = banner.priority
1416
        banner_details.priority = banner.priority
-
 
1417
        banner_details.bannerType = banner.bannerType
1416
    session.commit()
1418
        session.commit()
-
 
1419
    except:
-
 
1420
        return
-
 
1421
    if antecedent.bannerName is not None :
-
 
1422
        delete_banner(antecedent.bannerName,antecedent.bannerType)
1417
    add_banner_map(t_bannerMaps)
1423
    add_banner_map(t_bannerMaps,banner.bannerType)
1418
    add_banner_uri(t_bannerUriMappings)
1424
    add_banner_uri(t_bannerUriMappings,banner.bannerType)
1419
 
1425
 
1420
def get_all_banners():
1426
def get_all_banners():
1421
    return session.query(Banner).all()
1427
    return session.query(Banner).all()
1422
 
1428
 
1423
def delete_banner(name):
1429
def delete_banner(name,bType):
1424
    try:
1430
    try:
1425
        session.query(Banner.bannerName).filter_by(bannerName=name).delete()
1431
        session.query(Banner.bannerName).filter_by(bannerName=name).filter_by(bannerType=bType).delete()
1426
        session.commit()
1432
        session.commit()
1427
        delete_banner_map(name)
1433
        delete_banner_map(name,bType)
1428
        delete_uri_mapping(name)
1434
        delete_uri_mapping(name,bType)
1429
        return True
1435
        return True
1430
    except:
1436
    except:
1431
        return False
1437
        return False
1432
 
1438
 
1433
def get_banner_details(name):
1439
def get_banner_details(name,bType):
1434
    banner = Banner.get_by(bannerName=name)
1440
    banner = session.query(Banner).filter(Banner.bannerName==name).filter(Banner.bannerType==bType).one()
1435
    return banner  
1441
    return banner  
1436
 
1442
 
1437
def get_active_banners():
1443
def get_active_banners():
1438
    bannerUriMap = {}
1444
    bannerUriMap = {}
-
 
1445
    bannerType = [1,2]
1439
    all_active = session.query(BannerUriMapping,Banner).filter(BannerUriMapping.isActive==True).filter(BannerUriMapping.bannerName==Banner.bannerName).order_by(desc(Banner.priority)).all()
1446
    all_active = session.query(BannerUriMapping,Banner).filter(BannerUriMapping.bannerType.in_(bannerType)).filter(BannerUriMapping.isActive==True).filter(BannerUriMapping.bannerName==Banner.bannerName).filter(BannerUriMapping.bannerType==Banner.bannerType).order_by(desc(Banner.priority)).all()
1440
    for bannerUriMapping in all_active:
1447
    for bannerUriMapping in all_active:
1441
        bannerObj = []
1448
        bannerObj = []
-
 
1449
        if (bannerUriMapping[0].bannerType == BannerType.SIDE_BANNER):
-
 
1450
            if 'side-banner' in bannerUriMap:
-
 
1451
                for obj in bannerUriMap['side-banner']:
-
 
1452
                    bannerObj.append(obj)
-
 
1453
            bannerObj.append(get_banner_details(bannerUriMapping[0].bannerName,bannerUriMapping[0].bannerType))
-
 
1454
            bannerUriMap['side-banner'] = bannerObj
-
 
1455
            continue
1442
        if bannerUriMapping[0].uri not in bannerUriMap:
1456
        if bannerUriMapping[0].uri not in bannerUriMap:
1443
            bannerObj.append(Banner.get_by(bannerName=bannerUriMapping[0].bannerName))
1457
            bannerObj.append(get_banner_details(bannerUriMapping[0].bannerName,bannerUriMapping[0].bannerType))
1444
            bannerUriMap[bannerUriMapping[0].uri] = bannerObj
1458
            bannerUriMap[bannerUriMapping[0].uri] = bannerObj
1445
        else:
1459
        else:
1446
            for obj in bannerUriMap[bannerUriMapping[0].uri]:
1460
            for obj in bannerUriMap[bannerUriMapping[0].uri]:
1447
                bannerObj.append(obj)
1461
                bannerObj.append(obj)
1448
            bannerObj.append(Banner.get_by(bannerName=bannerUriMapping[0].bannerName))
1462
            bannerObj.append(get_banner_details(bannerUriMapping[0].bannerName,bannerUriMapping[0].bannerType))
1449
            bannerUriMap[bannerUriMapping[0].uri] = bannerObj
1463
            bannerUriMap[bannerUriMapping[0].uri] = bannerObj
1450
    return bannerUriMap
1464
    return bannerUriMap
1451
        
1465
        
1452
 
1466
 
1453
def add_banner_map(bannerMaps):
1467
def add_banner_map(bannerMaps,bannerType):
1454
    try:
1468
    try:
1455
        for bannerMap in bannerMaps:
1469
        for bannerMap in bannerMaps:
1456
            banner_map_details=BannerMap()
1470
            banner_map_details=BannerMap()
1457
            banner_map_details.bannerName=bannerMap.bannerName
1471
            banner_map_details.bannerName=bannerMap.bannerName
1458
            banner_map_details.mapLink=bannerMap.mapLink
1472
            banner_map_details.mapLink=bannerMap.mapLink
1459
            banner_map_details.coordinates=bannerMap.coordinates
1473
            banner_map_details.coordinates=bannerMap.coordinates
-
 
1474
            banner_map_details.bannerType = bannerType
1460
            session.commit()
1475
            session.commit()
1461
        return True
1476
        return True
1462
    except:
1477
    except:
1463
        return False
1478
        return False
1464
    
1479
    
1465
 
1480
 
1466
def delete_banner_map(name):
1481
def delete_banner_map(name,bType):
1467
    try:
1482
    try:
1468
        session.query(BannerMap.bannerName).filter_by(bannerName=name).delete()
1483
        session.query(BannerMap.bannerName).filter_by(bannerName=name).filter_by(bannerType=bType).delete()
1469
        session.commit()
1484
        session.commit()
1470
        return True
1485
        return True
1471
    except:
1486
    except:
1472
        return False
1487
        return False
1473
 
1488
 
1474
def delete_uri_mapping(name):
1489
def delete_uri_mapping(name,bType):
1475
    try:
1490
    try:
1476
        session.query(BannerUriMapping.bannerName).filter_by(bannerName=name).delete()
1491
        session.query(BannerUriMapping.bannerName).filter_by(bannerName=name).filter_by(bannerType=bType).delete()
1477
        session.commit()
1492
        session.commit()
1478
    except:
1493
    except:
1479
        return False
1494
        return False
1480
 
1495
 
1481
def get_banner_map_details(name):
1496
def get_banner_map_details(name,bType):
1482
    query= session.query(BannerMap)
1497
    query= session.query(BannerMap)
1483
    return query.filter_by(bannerName=name).all()
1498
    return query.filter_by(bannerName=name).filter_by(bannerType=bType).all()
1484
 
1499
 
1485
def update_banner(banner):
1500
def update_banner(banner):
1486
    banner_details = Banner.get_by(bannerName=banner.bannerName)
1501
    banner_details = Banner.get_by(bannerName=banner.bannerName)
1487
    try:
1502
    try:
1488
        if banner_details is not None:
1503
        if banner_details is not None:
Line 1495... Line 1510...
1495
        else:
1510
        else:
1496
            return False
1511
            return False
1497
    except:
1512
    except:
1498
        return False
1513
        return False
1499
 
1514
 
1500
def add_banner_uri(bannerUriMappings):
1515
def add_banner_uri(bannerUriMappings,bannerType):
1501
    for bannerUriMapping in bannerUriMappings:
1516
    for bannerUriMapping in bannerUriMappings:
1502
        banner_uri = BannerUriMapping()
1517
        banner_uri = BannerUriMapping()
1503
        banner_uri.bannerName = bannerUriMapping.bannerName
1518
        banner_uri.bannerName = bannerUriMapping.bannerName
1504
        banner_uri.uri = bannerUriMapping.uri
1519
        banner_uri.uri = bannerUriMapping.uri
1505
        banner_uri.isActive = bannerUriMapping.isActive
1520
        banner_uri.isActive = bannerUriMapping.isActive
-
 
1521
        banner_uri.bannerType = bannerType
1506
        session.commit()
1522
        session.commit()
1507
 
1523
 
1508
def get_uri_mapping(name):
1524
def get_uri_mapping(name,bType):
1509
    query= session.query(BannerUriMapping)
1525
    query= session.query(BannerUriMapping)
1510
    return query.filter_by(bannerName=name).all()
1526
    return query.filter_by(bannerName=name).filter_by(bannerType=bType).all()
1511
 
1527
 
1512
def add_campaign(campaign):
1528
def add_campaign(campaign):
1513
    new_campaign = Campaign()
1529
    new_campaign = Campaign()
1514
    new_campaign.campaignName = campaign.campaignName
1530
    new_campaign.campaignName = campaign.campaignName
1515
    new_campaign.imageName = campaign.imageName
1531
    new_campaign.imageName = campaign.imageName
Line 1519... Line 1535...
1519
    query= session.query(Campaign)
1535
    query= session.query(Campaign)
1520
    return query.filter_by(campaignName=name).all()
1536
    return query.filter_by(campaignName=name).all()
1521
 
1537
 
1522
def delete_campaign(campaign_id):
1538
def delete_campaign(campaign_id):
1523
    campaign = Campaign.get_by(id = campaign_id)
1539
    campaign = Campaign.get_by(id = campaign_id)
1524
    print "****"
-
 
1525
    print campaign
-
 
1526
    if campaign is not None:
1540
    if campaign is not None:
1527
        campaign.delete()
1541
        campaign.delete()
1528
        session.commit()
1542
        session.commit()
1529
 
1543
 
1530
def get_all_campaigns():
1544
def get_all_campaigns():
1531
    return session.query(distinct(Campaign.campaignName)).all()
1545
    return session.query(distinct(Campaign.campaignName)).all()
1532
 
1546
 
-
 
1547
def get_active_banners_for_mobile_site():
-
 
1548
    bannerType = [3]
-
 
1549
    bannerMap = {}
-
 
1550
    all_active = session.query(BannerUriMapping,Banner).filter(BannerUriMapping.bannerType.in_(bannerType)).filter(BannerUriMapping.isActive==True).filter(BannerUriMapping.bannerName==Banner.bannerName).filter(BannerUriMapping.bannerType==Banner.bannerType).order_by(desc(Banner.priority)).all()
-
 
1551
    for bannerUriMapping in all_active:
-
 
1552
        bannerObj = []
-
 
1553
        if bannerUriMapping[0].uri not in bannerMap:
-
 
1554
            bannerObj.append(get_banner_details(bannerUriMapping[0].bannerName,bannerUriMapping[0].bannerType))
-
 
1555
            bannerMap[bannerUriMapping[0].uri] = bannerObj
-
 
1556
        else:
-
 
1557
            for obj in bannerMap[bannerUriMapping[0].uri]:
-
 
1558
                bannerObj.append(obj)
-
 
1559
            bannerObj.append(get_banner_details(bannerUriMapping[0].bannerName,bannerUriMapping[0].bannerType))
-
 
1560
            bannerMap[bannerUriMapping[0].uri] = bannerObj
-
 
1561
    return bannerMap
-
 
1562
 
-
 
1563
 
1533
  
1564
  
1534
def get_all_tags ():
1565
def get_all_tags ():
1535
    return [tuple[0] for tuple in session.query(EntityTag.tag).distinct().all()]
1566
    return [tuple[0] for tuple in session.query(EntityTag.tag).distinct().all()]
1536
 
1567
 
1537
def get_all_entities_by_tag_name(displayName):
1568
def get_all_entities_by_tag_name(displayName):