Esempio n. 1
0
from Trax.Algo.Calculations.Core.CalculationsScript import BaseCalculationsScript
from Trax.Algo.Calculations.Core.DataProvider import KEngineDataProvider, Output
from Trax.Utils.Conf.Configuration import Config
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer

from Projects.CCKH_SAND.KPIGenerator import CCKH_SANDGenerator

__author__ = 'Nimrod'


class CCKH_SANDCalculations(BaseCalculationsScript):
    def run_project_calculations(self):
        self.timer.start()
        CCKH_SANDGenerator(self.data_provider, self.output).main_function()
        self.timer.stop('KPIGenerator.run_project_calculations')


if __name__ == '__main__':
    LoggerInitializer.init('cckh calculations')
    Config.init()
    project_name = 'cckh-sand'
    data_provider = KEngineDataProvider(project_name)
    # session = 'BAD33A37-A17D-493F-B5A8-112D947062D1'
    session = 'ff0d57ad-a7ed-46ca-9488-1d28f4682500'
    # session = 'f073ac15-3121-4c86-bb59-cc6dc6b6e4b5'
    data_provider.load_session_data(session)
    output = Output()
    CCKH_SANDCalculations(data_provider, output).run_project_calculations()
from Trax.Algo.Calculations.Core.DataProvider import KEngineDataProvider, Output
from Trax.Utils.Conf.Configuration import Config
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer
from Projects.INBEVMX_SAND.Calculations import Calculations

if __name__ == '__main__':
    LoggerInitializer.init('inbevmx-sand calculations')
    Config.init()
    project_name = 'inbevmx-sand'
    data_provider = KEngineDataProvider(project_name)
    list_sessions = [
        'fe01d68e-a6b5-4ba2-bdf5-a5aa7d47eb40',
        "FC8C65F2-5DE5-4440-9B91-FF9EF6CB302B",
        "2ecbf3fa-59b9-46bf-86b8-2b11fe49d4e9",
        "ffcecdd2-7eda-446b-af6e-cee7628b89ed",
        "6b4fc678-1f82-45c7-a1d3-3bf85ea4c013",
        "fac755c5-c53b-40f3-832d-62c13cacec1e",
        "113ad721-6fae-4f13-ab64-19e00304abef"

        # 'ffbeae34-949f-457d-99ac-6b99260ac743',
        # 'fb5ca6e2-5f9f-4fec-8f2d-c9e6a3536219',
        # '15E6D6FD-FC45-4703-8A99-D33C805FAC41',
        # 'ffd0da53-6fd6-418f-b06d-f5cbff735750',
        # 'fff20792-6a60-4a13-bb00-879a308c1ea6',
        # 'ffbbcecc-5862-4e47-80ef-230f4ba97f8d',
        # 'c14c74c6-d507-4681-ac77-9c1dfd9b8c3b',
        # 'fff20792-6a60-4a13-bb00-879a308c1ea6',
        # '341a9b53-65ad-43b6-9fe0-2ae56fcbe9bd',
        # '6a19080f-9741-4760-85fb-22a5e774d13b'
    ]
    output = Output()
Esempio n. 3
0
from Trax.Algo.Calculations.Core.Constants import Keys, Fields, SCENE_ITEM_FACTS_COLUMNS


def save_scene_item_facts_to_data_provider(data_provider, output):
    scene_item_facts_obj = output.get_facts()
    if scene_item_facts_obj:
        scene_item_facts = scene_item_facts_obj[Keys.SCENE_ITEM_FACTS][Keys.SCENE_ITEM_FACTS].fact_df
    else:
        scene_item_facts = pd.DataFrame(columns=SCENE_ITEM_FACTS_COLUMNS)
    scene_item_facts.rename(columns={Fields.PRODUCT_FK: 'item_id',
                                     Fields.SCENE_FK: 'scene_id'}, inplace=True)
    data_provider.set_scene_item_facts(scene_item_facts)


if __name__ == '__main__':
    LoggerInitializer.init('Sinoth Scene Calculations')
    Config.init()
    project_name = 'sinoth-sand'
    # RUN for scene level KPIs
    session_scene_map = OrderedDict([
        ('12076D1D-FA3C-443C-951E-B4D0FBB80213', ['3825280F-A1A7-41A5-B90C-AA205A9A6D1E']),
        ('3EFA8C57-0FEB-4CFD-A819-2521D8082DFE', ['24F335D0-648C-41C2-A60D-C26D82641928']),
        ('4E5AA82E-C063-4B92-8C48-FA12761B6560', ['9ACBDCC5-24D4-4C0A-AB89-9B6219D8FE28']),
        ('56C336BB-9797-4C8F-AC1C-D18E40218404', ['3DEC7521-93F1-4888-9631-4C4808932C30']),
        ('BC981670-1F6B-485A-8695-A1FE552B07AE', ['2DADAFAE-7526-4AAE-A901-1AA623EA0BB9']),
        ('F3AAC28E-87C9-4276-9390-BD579B13A64A', ['4902F86D-7FEF-40D2-B08A-4C87D3D708B1'])
    ])

    for session, scenes in session_scene_map.iteritems():
        for e_scene in scenes:
            print "\n"
    scene_item_facts_obj = output.get_facts()
    if scene_item_facts_obj:
        scene_item_facts = scene_item_facts_obj[Keys.SCENE_ITEM_FACTS][
            Keys.SCENE_ITEM_FACTS].fact_df
    else:
        scene_item_facts = pd.DataFrame(columns=SCENE_ITEM_FACTS_COLUMNS)
    scene_item_facts.rename(columns={
        Fields.PRODUCT_FK: 'item_id',
        Fields.SCENE_FK: 'scene_id'
    },
                            inplace=True)
    data_provider.set_scene_item_facts(scene_item_facts)


if __name__ == '__main__':
    LoggerInitializer.init('psapac-sand3 Scene Calculations')
    Config.init()
    project_name = 'psapac-sand3'
    # RUN for scene level KPIs
    session_scene_map = OrderedDict([
        # ('FCEF707B-E6F9-4341-B6CA-77938320E2FD', ['D8C75D44-ECC9-4F64-B783-2E1286E76D1E']),
        # ('941B1EFF-D760-4CBA-BDDC-6C687222ABFD', ['27D6C1DA-529A-4122-83E5-61D55745F9FB',
        #                                           'BC173A23-1332-4AAB-A37D-0FA500B4FCC0',
        #                                           ]),
        # ('B91B9EEC-30EF-42D0-A6A0-959744194A24', ['F31B96D0-6C73-460C-BE31-DA04A64D41B7',
        #                                           ]),
        # ('4DEA13CF-FFD8-4CB6-89AE-A97E964A0B5B', [
        #     # '0A772895-1439-4871-9983-48E227E58C56',
        #     #                                       '8481E773-8D91-41E2-97F6-D297C8593311',
        #                                           '007812DD-5195-4DB5-85A9-A6315454C798',
        #                                           '1D6F0339-988D-4A9B-8935-13FCD93762D2',
from Trax.Algo.Calculations.Core.DataProvider import KEngineDataProvider, Output
from Trax.Utils.Conf.Configuration import Config
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer
from Projects.HEINEKENMX.Calculations import Calculations

if __name__ == '__main__':
    LoggerInitializer.init('heinekenmx calculations')
    Config.init()
    project_name = 'heinekenmx'
    data_provider = KEngineDataProvider(project_name)
    session_list = [  # '4c325225-d5f4-45b9-a658-45f4e65d7268',
        'ef547b01-1d76-4297-82cd-47eb7546af20'
    ]
    for session in session_list:
        data_provider.load_session_data(session)
        output = Output()
        Calculations(data_provider, output).run_project_calculations()
Esempio n. 6
0
from Trax.Algo.Calculations.Core.DataProvider import KEngineDataProvider, Output
from Trax.Utils.Conf.Configuration import Config
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer
from Projects.INBEVTRADMX.Calculations import INBEVTRADMXCalculations

if __name__ == '__main__':
    LoggerInitializer.init('inbevtradmx calculations')
    Config.init()
    project_name = 'inbevtradmx'
    data_provider = KEngineDataProvider(project_name)
    sessions = [
        # 'ffffb22d-93e6-4b28-9ae3-788c7449fdd6',
        # 'fffcf114-9584-4526-b0d2-efeeccf519b8',
        # 'fff7c1b3-62ea-488e-9541-38458ce53c81',
        # 'ffe38f10-2f22-4458-b805-ab1c4dbb3872',
        # 'ffd80fd1-a3d1-4114-98b9-111f3da7dce1',
        # 'ffd62bba-96c4-48b2-b8f5-8ef309614013',
        # 'ffc43897-cabe-4635-a284-c0867f42bddc',
        # 'ffc3f7ec-b47a-4ad6-a5b0-c0e5d5369c00',
        # 'ffa06992-4650-4cc1-bc37-9bf7c4efbdef',
        # 'ff693125-5a76-49f6-8b94-05748fb01b55',
        # 'ff5c2502-d67a-42fc-b934-207411862e97',
        # 'ff5bc377-04b8-4419-90bc-4a74d894b8f5',
        # 'ff391525-762c-475d-90a7-3eed05f34a40',
        # 'ff354a09-a766-419a-96d8-6aaa8fad2c98',
        # 'fedacc33-e947-426f-ad52-78741461ed51',
        # 'f7fc132d-ccfd-4cb3-8820-ad9b0248ccb9',
        # 'f63b661d-bd5f-4100-8ae4-c3346ee5f268',
        # 'f30b62b5-1ff7-4c64-a73e-d0f87c457b2c',
        # 'f3003b62-cfb6-4da8-8a0e-5e340cabfcdf',
        # 'ebfd93ad-597d-469d-b7a0-4d091e21d060',
Esempio n. 7
0
from Trax.Algo.Calculations.Core.DataProvider import KEngineDataProvider, Output
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer
from Projects.BEIERSDORFZA.Calculations import Calculations
from Trax.Utils.Conf.Configuration import Config

if __name__ == '__main__':
    LoggerInitializer.init('beiersdorfza calculations')
    Config.init()
    project_name = 'beiersdorfza'
    data_provider = KEngineDataProvider(project_name)
    session_list = ['']
    for session in session_list:
        data_provider.load_session_data(session)
        output = Output()
        Calculations(data_provider, output).run_project_calculations()
from Projects.CCUSLIVEDEMO.LiveSessionKpis.Calculation import CalculateKpi
from Projects.CCUSLIVEDEMO.Utils.KPIToolBox import CCUSLiveDemoToolBox
__author__ = 'limorc'


class Calculations(BaseCalculationsScript):
    def run_project_calculations(self):
        """  This function is activated during regular data provider"""
        self.timer.start()
        CCUSLiveDemoToolBox(self.data_provider, self.output).main_calculation()
        self.timer.stop('KPIGenerator.run_project_calculations')
        pass


if __name__ == '__main__':
    LoggerInitializer.init('ccuslivesdemo calculations')
    Config.init()
    project_name = 'ccuslivedemo'
    session = '0c2decfc-8d2f-4b22-b9d0-8e2e97c9557b'
    data_provider = KEngineSessionDataProviderLive(project_name, None, None)
    data_provider.load_session_data('4647a9e5-84c6-4c77-9a2f-11e62000f70a', [])
    # session = 'f90529ec-6ff4-4481-970a-546e0030a41b'
    # data_provider = KEngineSessionDataProviderLive(project_name, None, None)
    # data_provider.load_session_data('f90529ec-6ff4-4481-970a-546e0030a41b', [14049726])

    # data provider in server does the kpis loading automatically . locally need to add it
    # data_provider.load_kpis_hierarchy(lambda x: x.loc[(x['calculation_stage'] == 'LIVE')
    #                                                   & (x['live_session_relevance'] == 1)].copy(),
    #                                   'session')
    output = Output()
from Trax.Algo.Calculations.Core.DataProvider import KEngineDataProvider, Output
from Trax.Utils.Conf.Configuration import Config
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer
from Projects.CCANZ_SAND.Calculations import Calculations

if __name__ == '__main__':
    LoggerInitializer.init('ccanz-sand calculations')
    Config.init()
    project_name = 'ccanz-sand'
    data_provider = KEngineDataProvider(project_name)

    session = '6368C810-77DB-4C2D-BD56-F62A0AE0CF60'

    data_provider.load_session_data(session)
    output = Output()
    Calculations(data_provider, output).run_project_calculations()
from Trax.Algo.Calculations.Core.DataProvider import KEngineDataProvider, Output
from Trax.Utils.Conf.Configuration import Config
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer
from Projects.JRIJP.Calculations import Calculations

if __name__ == '__main__':
    LoggerInitializer.init('jrijp calculations')
    Config.init()
    project_name = 'jrijp'
    data_provider = KEngineDataProvider(project_name)

    sessions = [
        '89AA44E0-A864-4DCA-8EAC-3B5D5AB89CDE',
        '73589EF1-3EE6-4151-911F-AD0A5B90A593'
    ]

    for session in sessions:
        print "Running for {}".format(session)
        data_provider.load_session_data(session)
        output = Output()
        Calculations(data_provider, output).run_project_calculations()
Esempio n. 11
0
from Trax.Algo.Calculations.Core.DataProvider import KEngineDataProvider, Output
from Trax.Utils.Conf.Configuration import Config
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer
from Trax.Utils.Logging.Logger import Log
from Projects.SINOTH.Calculations import Calculations

if __name__ == '__main__':
    project_name = 'sinoth'
    LoggerInitializer.init('{} Local Calculations'.format(
        project_name.upper()))
    Config.init()
    data_provider = KEngineDataProvider(project_name)
    sessions = [
        'fdf3e395-236a-4afe-a036-7bb72c872ee9',
    ]
    for session in sessions:
        Log.info("Running for session >>>> {}".format(session))
        data_provider.load_session_data(session)
        output = Output()
        Calculations(data_provider, output).run_project_calculations()
Esempio n. 12
0
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer

from Projects.NESTLEUK.KPIGenerator import NESTLEUKGenerator

__author__ = 'uri'


class NESTLEUKCalculations(BaseCalculationsScript):
    def run_project_calculations(self):
        self.timer.start()
        NESTLEUKGenerator(self.data_provider, self.output).main_function()
        self.timer.stop('KPIGenerator.run_project_calculations')


if __name__ == '__main__':
    LoggerInitializer.init('nestleuk calculations')
    Config.init()
    project_name = 'nestleuk'
    data_provider = KEngineDataProvider(project_name)
    sessions = [
        # 'b49172fa-6218-48b4-a71c-18c9b77805d5',
        # '6fd29e1f-b3ed-440d-9ee4-930baf2397ee',
        # '0be4cec3-1347-4862-bbdf-da79a74a4d4d',
        # '6b2cfaf7-4340-4199-bbea-adba649dcd62',
        # 'f73da15b-9282-432d-a917-c8bc4395c05d',
        # '4c460dde-60fd-4673-8890-669ee9a64dba',
        # 'b7e9d169-9da8-4fd2-b3a3-4a30edb81897',
        # '2f6fade3-c497-4ff1-afe4-528066a9d3fc'
        'f73da15b-9282-432d-a917-c8bc4395c05d'
    ]
    for session in sessions:
Esempio n. 13
0
    def commit_to_db(self):
        self.rds_conn.connect_rds()
        cur = self.rds_conn.db.cursor()
        kpis_sum = len(self.queries)
        count_for_show = 0
        for query in self.queries:
            # try:
            print query
            cur.execute(query)
            count_for_show += 1
            if count_for_show % 10 == 0:
                print 'There are {} / {}'.format(count_for_show, kpis_sum)
        self.rds_conn.db.commit()
        self.rds_conn.disconnect_rds()


if __name__ == '__main__':
    Config.init()
    LoggerInitializer.init('New BATRU Template')
    project_name = 'batru'
    kpi_names = [
        # FOR P1: there is a black line "self.tools.upload_store_assortment_file(P1_PATH)". We only need to paste
        # the template in Data/StoreAssortment.csv, activate this line and run it.
        BATRUConst.P4_SET_NAME,
        # BATRUConst.SK_SET_NAME,
        # BATRUConst.SAS_SET_NAME,
    ]
    for kpi_name in kpi_names:
        template = BATRUNewTemplate(project_name, kpi_name)
        template.handle_update()
Esempio n. 14
0
from Trax.Algo.Calculations.Core.DataProvider import KEngineDataProvider, Output
from Trax.Utils.Conf.Configuration import Config
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer
from Projects.CARLSBRGHK.Calculations import Calculations

if __name__ == '__main__':
    LoggerInitializer.init('carlsberg calculations')
    Config.init()
    project_name = 'carlsbrghk'
    data_provider = KEngineDataProvider(project_name)
    sessions = [
        'FFD25EE4-2C94-4D98-B192-466E12286C49'  # general 0 error
        # 'B6FB5E83-BBBF-4988-A60D-2A5B62EA8CC5',
        # '8BD94E57-821B-4C0B-91A0-F6DD3DBF8413',  # no scenes
        # 'B6FB5E83-BBBF-4988-A60D-2A5B62EA8CC5',
        # 'CC70B248-8C82-42F7-B3C5-C6A61B2B06AE',  # prev - B6FB5E83-BBBF-4988-A60D-2A5B62EA8CC5
        # '17AB12D2-3D49-4846-8088-5CBB5C78D86E',  # prev - CC70B248-8C82-42F7-B3C5-C6A61B2B06AE
        # '64CC70E0-3454-459B-8817-2BC78EDC4256',  # prev - 17AB12D2-3D49-4846-8088-5CBB5C78D86E
        # 'B5A1D8EF-9A15-4B17-94C3-868CAC29FF0F',  # prev no scenes - 64CC70E0-3454-459B-8817-2BC78EDC4256
        # '4DAFCE77-82FA-4A51-B2D3-AD24D561237E',  # 0 msl cooler
    ]
    for session in sessions:
        print("Running for {}".format(session))
        data_provider.load_session_data(session)
        output = Output()
        Calculations(data_provider, output).run_project_calculations()
Esempio n. 15
0
from Projects.BATMX_SAND.Calculations import Calculations
from Projects.BATMX_SAND.SceneKpis.SceneCalculations import SceneCalculations


def save_scene_item_facts_to_data_provider(data_provider, output):
    scene_item_facts_obj = output.get_facts()
    if scene_item_facts_obj:
        scene_item_facts = scene_item_facts_obj[Keys.SCENE_ITEM_FACTS][Keys.SCENE_ITEM_FACTS].fact_df
    else:
        scene_item_facts = pd.DataFrame(columns=SCENE_ITEM_FACTS_COLUMNS)
    scene_item_facts.rename(columns={Fields.PRODUCT_FK: 'item_id', Fields.SCENE_FK: 'scene_id'}, inplace=True)
    data_provider.set_scene_item_facts(scene_item_facts)


if __name__ == '__main__':
    LoggerInitializer.init('googlejp calculations')
    Config.init()
    project_name = 'batmx'
    sessions = ['EDBC9D00-B7B9-4277-96DC-555BA459E2B3']
    for session in sessions:
        data_provider = KEngineDataProvider(project_name)
        data_provider.load_session_data(session)
        # scif = data_provider['scene_item_facts']
        # scenes = scif['scene_id'].unique().tolist()
        #
        # # scenes = [392]
        #
        # for scene in scenes:
        #     print('scene')
        #     data_provider = KEngineDataProvider(project_name)
        #     data_provider.load_scene_data(session, scene)
Esempio n. 16
0
from Trax.Algo.Calculations.Core.DataProvider import KEngineDataProvider, Output
from Trax.Utils.Conf.Configuration import Config
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer
from Projects.CCLIBERTYUS.Calculations import CCLIBERTYUSCalculations
from Projects.CCLIBERTYUS.MSC.KPIToolBox import MSCToolBox
from KPIUtils_v2.DB.CommonV2 import Common

if __name__ == '__main__':
    LoggerInitializer.init('ccbottlersus calculations')
    Config.init()
    project_name = 'cclibertyus'

    # MSC
    sessions = [
        'FC51FAC6-4EBB-4C9B-AC1B-F72052442DDE',
        'E79B5B80-BAA2-4FA0-8C1F-594269B39457',
        'E86F80DE-62C2-44AB-9949-80E520BCB3B2',
        'F05079E5-11C4-4289-B5AE-5B8205594E15',
        'dc322cc1-bfb7-4f2b-a6c3-c4c33a12b077'
    ]
    # Liberty
    sessions = [
        'fe6e86a5-e96c-4ed1-b285-689ee8da393c',
        'FAB57A4E-4814-4B74-A521-53A003864D06',
        'BE9F0199-17B6-4A11-BA97-97751FE6EE0E',
        'f6c0247d-64b4-4d11-8e0b-f7616316c08f'
    ]

    for session in sessions:
        print('***********************************************************************************')
        print('_______________________ {} ____________________'.format(session))
    def validate(self):
        result = True
        if not self.check_start_date_and_end_date():
            result = False
        if not self.check_column_names():
            result = False
        if not self.check_allowed_values():
            result = False
        if not self.check_db_values():
            result = False
        if not self.check_entity_values("entity_1_type", 'entity_1_values'):
            result = False
        if not self.check_entity_values("entity_2_type", 'entity_2_values'):
            result = False
        if not self.check_entity_values("others", 'include_other_ean_codes'):
            result = False

        return result


if __name__ == "__main__":
    LoggerInitializer.init("KEngine")
    Config.init()
    project_name = "lionjp"
    a = KPITemplateValidater(project_name)
    if a.validate():
        Log.info("Template Validation check - Completed")
    else:
        Log.warning("Template Validation check - Failed")
Esempio n. 18
0
from Projects.PS1_SAND.Calculations import DIAGEOTWCalculations
from Trax.Algo.Calculations.Core.DataProvider import KEngineDataProvider, Output
from Trax.Utils.Conf.Configuration import Config
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer

if __name__ == '__main__':
    LoggerInitializer.init('ps1-sand calculations')
    Config.init()
    project_name = 'ps1-sand'
    data_provider = KEngineDataProvider(project_name)
    session = '70b69c85-61a6-4ce4-ad60-f0d174ced645'
    data_provider.load_session_data(session)
    output = Output()
    DIAGEOTWCalculations(data_provider, output).run_project_calculations()
Esempio n. 19
0
from Trax.Algo.Calculations.Core.DataProvider import KEngineDataProvider, Output
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer
from Projects.TNUVAILV2.Calculations import Calculations
from Trax.Utils.Conf.Configuration import Config

if __name__ == '__main__':
    LoggerInitializer.init('tnuvailv2 calculations')
    Config.init()
    project_name = 'tnuvailv2'
    data_provider = KEngineDataProvider(project_name)
    sessions = ['ff346ca2-c34f-4800-9079-b3765b632ed3']
    for session in sessions:
        data_provider.load_session_data(session)
        output = Output()
        Calculations(data_provider, output).run_project_calculations()
    scene_item_facts_obj = output.get_facts()
    if scene_item_facts_obj:
        scene_item_facts = scene_item_facts_obj[Keys.SCENE_ITEM_FACTS][
            Keys.SCENE_ITEM_FACTS].fact_df
    else:
        scene_item_facts = pd.DataFrame(columns=SCENE_ITEM_FACTS_COLUMNS)
    scene_item_facts.rename(columns={
        Fields.PRODUCT_FK: 'item_id',
        Fields.SCENE_FK: 'scene_id'
    },
                            inplace=True)
    data_provider.set_scene_item_facts(scene_item_facts)


if __name__ == '__main__':
    LoggerInitializer.init('diageoie calculations')
    Config.init()
    project_name = 'diageouk-sand'
    data_provider = KEngineDataProvider(project_name)
    session = 'A0A6BE37-49EF-4600-8E4C-3C442DD681B1'
    data_provider.load_session_data(session)
    output = Output()
    DIAGEOUK_SANDCalculations(data_provider, output).run_project_calculations()
    # scenes = data_provider.scenes_info.scene_fk.tolist()
    # for scene in scenes:
    #     data_provider.load_scene_data(session, scene)
    #     output = VanillaOutput()
    #     SceneVanillaCalculations(data_provider, output).run_project_calculations()
    #     save_scene_item_facts_to_data_provider(data_provider, output)
    #     DIAGEOUK_SANDSceneToolBox(data_provider).calculate_kpis()
    'C682A0F1-0694-40DF-B20C-E5A3E5900E9D',
    'E3426DF8-D8C5-450B-B3CD-654632021BD2',
    'C6ED7E88-2BC3-43C1-ACB9-56CEA107B2D0',
    'CDBABE17-0037-42FC-B70D-B953CC51452B',
    'D2705A22-A0CB-4A47-A0BB-AC1CD2641E0F',
    'D67FEBA2-FF93-4E51-9123-1F6449755DA8',
    'D9CB0EB0-66C1-498D-845D-8E4DE9734C83',
    'E53B015A-F074-45ED-A909-CC8BDD7C52B4',
    'E570D596-3A60-4D89-92A5-F71C481C16DA'
]

sessions = ['FCE90A66-4CD9-4D30-9C26-A6524075F1A5']

sessions = [
    '12B013B2-5D65-4E1A-A6E6-8A6671BC1796',
    '55FDFE67-4D52-43F2-A7B7-14BC730FB618',
    '96F40321-CDB4-4523-B81B-2CA837121223'
]

sessions = ['E6D6A011-5C7F-4C0E-BC50-CE6C6CE850EE']

if __name__ == '__main__':
    LoggerInitializer.init('diageobeerus calculations')
    Config.init()
    project_name = 'diageobeerus'
    data_provider = KEngineDataProvider(project_name)
    for session in sessions:
        data_provider.load_session_data(session)
        output = Output()
        Calculations(data_provider, output).run_project_calculations()
from Trax.Algo.Calculations.Core.DataProvider import KEngineDataProvider, Output
from Trax.Utils.Conf.Configuration import Config
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer
from Projects.GSKSG.Calculations import Calculations
from Trax.Algo.Calculations.Core.LiveSessionDataProvider import KEngineSessionDataProviderLive
from Projects.GSKSG.LiveSessionKpis.Calculation import CalculateKpi

if __name__ == '__main__':
    LoggerInitializer.init('gsksg calculations')
    Config.init()
    project_name = 'gsksg'
    # data_provider = KEngineDataProvider(project_name)
    # session = '2a3a70b4-31df-4090-9e14-3b4775fdf0a6'
    # session = 'fdae28d2-6e49-45d2-b357-cd9ca7a13de6'
    # data_provider.load_session_data(session)
    # output = Output()
    # Calculations(data_provider, output).run_project_calculations()

    live_data_provider = KEngineSessionDataProviderLive(
        project_name, None, None)
    live_data_provider.load_session_data(
        '5ACFEC51-0A7B-4669-9FBB-6B88975AD3AF', [])
    # session = 'f90529ec-6ff4-4481-970a-546e0030a41b'
    # data_provider = KEngineSessionDataProviderLive(project_name, None, None)
    # data_provider.load_session_data('f90529ec-6ff4-4481-970a-546e0030a41b', [14049726])

    # data provider in server does the kpis loading automatically . locally need to add it
    # data_provider.load_kpis_hierarchy(lambda x: x.loc[(x['calculation_stage'] == 'LIVE')
    #                                                   & (x['live_session_relevance'] == 1)].copy(),
    #                                   'session')
    output = Output()
# -*- coding: utf-8 -*-
import os
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer
from KPIUtils.Utils.Validators.Template.TemplateValidator import TemplateValidator


def templateValidator():
    # pay attention if there any number column in template like product en please put string in the last column
    project_name = 'pngjp'
    helper_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), '',
                               'helper.xlsx')
    file_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), '',
                             'Template.xlsx')
    validate_file_path = '/home/Shani/Desktop/PNGJP/pngjp.xlsx'
    validation_object = TemplateValidator(project_name, helper_path, file_path,
                                          validate_file_path)
    validation_object.run()


if __name__ == '__main__':
    LoggerInitializer.init('start template validate')
    templateValidator()
Esempio n. 24
0
            if scene_counter + number_of_scenes >= NUMBER_OF_SCENES_LIMIT:
                batch_file.writelines(batch_sessions)
                batch_file.close()
                print 'File {}: {} sessions'.format(
                    BATCH_FILE + str(batch_number) + '.csv', session_counter)

                batch_number += 1
                scene_counter = 0
                session_counter = 0
                batch_sessions = []
                batch_file = open(BATCH_FILE + str(batch_number) + '.csv',
                                  'w+')

            batch_sessions.append(session_uid + '\n')
            scene_counter += number_of_scenes
            session_counter += 1
            total_counter += 1

        batch_file.writelines(batch_sessions)
        batch_file.close()
        print 'File {}: {} sessions'.format(BATCH_FILE + str(batch_number),
                                            session_counter)
        print 'Total: {} sessions'.format(total_counter)


if __name__ == '__main__':
    LoggerInitializer.init('Run Session Batches')
    Config.init()
    session_batches_run = CCRU_SANDSessionBatches(PROJECT)
    session_batches_run.run_it()
                (LIVE_SCENE_TOOLBOX_FILE_NAME, LIVE_SCENE_TOOLBOX_SCRIPT))
            files_to_create[''].append(
                (LIVE_SCENE_GENERATOR_FILE_NAME, LIVE_SCENE_GENERATOR_SCRIPT))
            files_to_create['LiveSceneKpis'] = [
                (LIVE_SCENE_CALCULATIONS_FILE_NAME,
                 LIVE_SCENE_CALCULATIONS_SCRIPT)
            ]
        if self.trax_live_session:
            files_to_create['Utils'].append(
                (LIVE_SESSION_TOOLBOX_FILE_NAME, LIVE_SESSION_TOOLBOX_SCRIPT))
            files_to_create[''].append((LIVE_SESSION_GENERATOR_FILE_NAME,
                                        LIVE_SESSION_GENERATOR_SCRIPT))
            files_to_create['LiveSessionKpis'] = [
                (LIVE_SESSION_CALCULATIONS_FILE_NAME,
                 LIVE_SESSION_CALCULATIONS_SCRIPT)
            ]

        return files_to_create


if __name__ == '__main__':
    try:
        LoggerInitializer.init('new_project')
        Config.init(app_name='new_project_new')
        project = 'sanofikz-sand'
        Log.info("project name : " + project)
        new = CreateKPIProject(project)
        new.create_new_project()
        Log.info('project {} was created successfully'.format(project))
    except Exception as e:
        Log.warning(str(e))
from Trax.Algo.Calculations.Core.DataProvider import KEngineDataProvider, Output
from Trax.Utils.Conf.Configuration import Config
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer
from Projects.HENKELUS.Calculations import Calculations


if __name__ == '__main__':
    LoggerInitializer.init('henkelus calculations')
    Config.init()
    project_name = 'henkelus'
    data_provider = KEngineDataProvider(project_name)
    session_list = [
        'ffa5e905-538e-427f-8275-8bf240fe35e0',
        '74d11cd7-e945-497a-bbe9-02c847cddac8',
        'fce93069-4b83-4842-9416-66dda5eb2e12',
        # "be04d3a9-e4ee-4ea8-b7c7-4ed2c39f4548",
        #             '23388796-e888-497b-bcbe-efe3d95f286d',
                    'a8e1b893-e0cc-475b-8537-f459bdc21f4d',
                    '7128148f-08e7-4c9f-9373-1c1a21be3e96',
                    # 'c59fb6c0-8727-44d6-af62-98c195baa74a',
                    # 'dc6b9147-70ba-4f60-bb0d-9231dab2fd1f'

                    # 'fd6ee83a-a166-4957-98ac-c28e698413ac',
                    # '59cb4616-8d1c-46c1-9805-99f148e4ffc4',
                    # '16e7e121-ae67-4e50-9e14-159f9dcb4d73',
                    # 'fc4260f6-2e84-41d8-aba7-26bef28f2072',
                    # '9f14f081-bb7c-4623-ba93-d8571c4698fc',
                    # 'd4b24e75-35fa-4c48-9fb7-6252f5ad5df3',
                    # 'e5cac33d-d1c2-4c37-8029-30a60e04908f',
                    # 'e75f5f09-9861-45aa-b6bd-ccd89b20b72d',
    scene_item_facts_obj = output.get_facts()
    if scene_item_facts_obj:
        scene_item_facts = scene_item_facts_obj[Keys.SCENE_ITEM_FACTS][
            Keys.SCENE_ITEM_FACTS].fact_df
    else:
        scene_item_facts = pd.DataFrame(columns=SCENE_ITEM_FACTS_COLUMNS)
    scene_item_facts.rename(columns={
        Fields.PRODUCT_FK: 'item_id',
        Fields.SCENE_FK: 'scene_id'
    },
                            inplace=True)
    data_provider.set_scene_item_facts(scene_item_facts)


if __name__ == '__main__':
    LoggerInitializer.init('GOOGLEMX calculations')
    Config.init()
    project_name = 'googlemx-sand'

    # all sessions still in new status
    sessions = [
        ('f8612b45-d30c-44ab-927d-6c69a7ffc561', [309692, 309708]),
        ('fb53ffc9-108d-4078-b62f-de3fcf85d7ce', [315570, 315592]),
        ('fbf0cc96-ca77-40dc-a650-d9f60c463760', [308474, 308487]),
        ('fc7a4ac1-9196-4b08-a12b-f7310e234195', [308659, 308690]),
        ('fe6b9adc-06a7-4175-8965-3da4d13f0501', [308842, 308856]),
        ('fef13067-48ea-4595-90bf-ba83513c7774', [316576, 316607]),
        ('fff926b6-60c5-40d5-b8ce-2540e10a8664',
         [309563, 309570, 309639, 309645]),
    ]
from Projects.SANOFICN.Calculations import SANOFICNCalculations
from Trax.Algo.Calculations.Core.DataProvider import KEngineDataProvider, Output
from Trax.Utils.Conf.Configuration import Config
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer

if __name__ == '__main__':
    LoggerInitializer.init('sanoficn calculations')
    Config.init()
    project_name = 'sanoficn'
    data_provider = KEngineDataProvider(project_name)
    session = "A5B576AC-3DEC-4F7A-8217-30D3D4473BC5"
    data_provider.load_session_data(session)
    output = Output()
    SANOFICNCalculations(data_provider, output).run_project_calculations()
Esempio n. 29
0
from Trax.Algo.Calculations.Core.DataProvider import KEngineDataProvider, Output
from Trax.Utils.Conf.Configuration import Config
from Trax.Cloud.Services.Connector.Logger import LoggerInitializer
from Projects.MARSRU_PROD.Calculations import MARSRU_PRODCalculations

if __name__ == '__main__':
    Config.init()
    LoggerInitializer.init('KEngine')
    project_name = 'marsru-prod'
    session_uids = ['13e916af-61bf-4d22-88b2-d2657bb72964']
    data_provider = KEngineDataProvider(project_name)
    output = Output()
    for session in session_uids:
        print session
        data_provider.load_session_data(session)
        MARSRU_PRODCalculations(data_provider,
                                output).run_project_calculations()
    #                                               391100, 391102, 391104, 391106, 391108]),
    # ])
    # for session, scenes in session_scene_map.iteritems():
    #     for e_scene in scenes:
    #         print "\n"
    #         data_provider = KEngineDataProvider(project_name)
    #         Log.info("**********************************")
    #         Log.info('*** Starting session: {sess}: scene: {scene}. ***'.format(sess=session, scene=e_scene))
    #         Log.info("**********************************")
    #         data_provider.load_scene_data(session, e_scene)
    #         SceneCalculations(data_provider).calculate_kpis()

    # SESSION LEVEL LOCAL CALC -- WATCH THE IMPORTS ADDED BELOW
    from Trax.Algo.Calculations.Core.DataProvider import Output
    from Projects.TWEGAU.Calculations import Calculations
    LoggerInitializer.init('twegau calculations')
    data_provider = KEngineDataProvider(project_name)
    sessions = [
        "000E4051-2111-4220-9991-3D3FA1102540",  # store number 1 => '556032'
        "00B36414-40EE-4F43-A277-D17969F88567",  # store number 1 => '604644'
        "03CA5819-063C-452D-9F14-99370BCE9279",  # store number 1 => '602949'
        "04899E1E-8714-433D-A9AA-8B665412E75B",  # store number 1 => '523570'
        "0510B1BD-409A-4ACD-A406-7BFD9C4F7897",  # store number 1 => '519567'
        "094AE49F-81AD-4E37-A247-F9F0641BFBDF",  # store number 1 => '516121'
        "0A14CB41-C8DA-458F-A6D9-630FEE94EE84",  # store number 1 => '603147'
        "0CE8A970-A014-457C-AF5D-81387D0688F7",  # store number 1 => '556032'
        "0D09EC05-AC0F-4538-A293-10F5A501B9AB",  # store number 1 => '522119'
        "109E18B6-BDE5-48D9-892B-B6D5C6085F8B",  # store number 1 => '505620'
    ]

    for session in sessions: