コード例 #1
0
ファイル: datasource.py プロジェクト: vprusa/cf-ui
    def validate_datasource_list(self):
        nav= NavigationTree(self.web_session)
        nav.navigate_to_middleware_datasources_view()

        haw= hawkular_api(self.web_session)
        tab = table(self.web_session)
        dataDb = db(self.web_session)

        datasource_api = self.hawkular_api.get_hawkular_datasources()
        datasource_ui = table(self.web_session).get_middleware_datasources_table()
        datasource_db = db(self.web_session).get_datasources()
        assert len(datasource_db) == len(datasource_ui) == len(datasource_api), "Datasource length match"

        for data_ui in datasource_ui:
            datasource_name = data_ui.get('Datasource Name')
            data_api = self.ui_utils.find_row_in_list(datasource_api, 'Name', datasource_name)

            assert data_api, "Datasource Name {} not found".format(datasource_name)
            assert (datasource_name == data_api.get("Name")), \
                "Datasource Name mismatch ui:{}, hawk:{}".format(datasource_name, data_api.get("Name"))
            self.web_session.logger.info(
                "UI Datasource name is: {}, and Hawkular datasource is: {} ".format(datasource_name,
                                                                                    data_api.get("Name")))

        return True
コード例 #2
0
ファイル: topology.py プロジェクト: Hawkular-QE/cf-ui
    def validate_middleware_container_entities(self):
        self.web_session.logger.info("Validate that Topology View expected Containers")
        self.__navigate_to_topology__()

        self.__display_names__(select=True)

        entity_name = self.entities.get('containers')
        assert self.ui_utils.isTextOnPage(entity_name), "{} not found".format(self.entities.get('containers'))

        # Select "Containers Entities"
        self.__select_entities_view__(entity_name, 'hawkular-services')

        ## Compair DB and UI until there is a way to determine Container list via Hawkular-API

        containers_db = db(self.web_session).get_container_servers()
        containers_el = self.web_driver.find_elements_by_class_name('Container')

        assert len(containers_db) == len(containers_el)
        for el in containers_el:
            name = el.text.split()[1]
            foundIt = False
            for container in containers_db:
                if name in container.get('feed'):
                    foundIt = True
                    break

            assert foundIt, "Container {} not found in DB Container list.".format(name)

        return True
コード例 #3
0
ファイル: topology.py プロジェクト: Hawkular-QE/cf-ui
 def __init__(self, web_session):
     self.web_session = web_session
     self.web_driver = web_session.web_driver
     self.ui_utils = ui_utils(self.web_session)
     self.hawkular_api = hawkular_api(self.web_session)
     self.db = db(self.web_session)
     self.appliance_version = self.web_session.appliance_version
コード例 #4
0
ファイル: datasource.py プロジェクト: gbaufake/cf-ui
    def validate_datasource_list(self):
        navigate(self.web_session).get(
            "{}/middleware_datasource/show_list".format(
                self.web_session.MIQ_URL))

        datasource_api = self.hawkular_api.get_hawkular_datasources()
        datasource_ui = self.ui_utils.get_list_table()
        datasource_db = db(self.web_session).get_datasources()
        #assert len(datasource_db) == len(datasource_ui) == len(datasource_api), "Datasource length match"
        assert len(datasource_db) == len(
            datasource_ui), "Datasource length match"

        for data_ui in datasource_ui:
            datasource_name = data_ui.get('Datasource Name')
            data_api = self.ui_utils.find_row_in_list(datasource_api, 'Name',
                                                      datasource_name)

            assert data_api, "Datasource Name {} not found".format(
                datasource_name)
            assert (datasource_name == data_api.get("Name")), \
                "Datasource Name mismatch ui:{}, hawk:{}".format(datasource_name, data_api.get("Name"))
            self.web_session.logger.info(
                "UI Datasource name is: {}, and Hawkular datasource is: {} ".
                format(datasource_name, data_api.get("Name")))

        return True
コード例 #5
0
ファイル: topology.py プロジェクト: gbaufake/cf-ui
    def validate_middleware_container_entities(self):
        self.web_session.logger.info(
            "Validate that Topology View expected Containers")
        self.__navigate_to_topology__()

        self.__display_names__(select=True)

        entity_name = self.entities.get('containers')
        assert self.ui_utils.isTextOnPage(entity_name), "{} not found".format(
            self.entities.get('containers'))

        # Select "Containers Entities"
        self.__select_entities_view__(entity_name, 'hawkular-services')

        ## Compair DB and UI until there is a way to determine Container list via Hawkular-API

        containers_db = db(self.web_session).get_container_servers()
        containers_el = self.web_driver.find_elements_by_class_name(
            'Container')

        assert len(containers_db) == len(containers_el)
        for el in containers_el:
            name = el.text.split()[1]
            foundIt = False
            for container in containers_db:
                if name in container.get('feed'):
                    foundIt = True
                    break

            assert foundIt, "Container {} not found in DB Container list.".format(
                name)

        return True
コード例 #6
0
ファイル: topology.py プロジェクト: gbaufake/cf-ui
 def __init__(self, web_session):
     self.web_session = web_session
     self.web_driver = web_session.web_driver
     self.ui_utils = ui_utils(self.web_session)
     self.hawkular_api = hawkular_api(self.web_session)
     self.db = db(self.web_session)
     self.appliance_version = self.web_session.appliance_version
コード例 #7
0
ファイル: topology.py プロジェクト: gbaufake/cf-ui
    def validate_middleware_servers_entities(self):

        # Validate that each Server Name is displayed in Topology:
        # 1) get Servers list (from Servers view)
        # 2) Enable Display Names
        # 3) Enable Middleware Servers entities (by validating whether 1st Server Name in Servers-List is displayed)
        # 4) Validate that each Server in Servers-List is displayed

        self.web_session.logger.info(
            "Validate that Topology View expected Servers")

        servers_list = db(self.web_session).get_servers()
        assert servers_list, "No servers found."

        self.__navigate_to_topology__()
        self.ui_utils.adjust_screen_resolution(1400, 1050)

        self.__display_names__(select=True)

        # Select "Middleware Servers"
        self.__select_entities_view__(self.entities.get('servers'),
                                      servers_list[0].get('name'))

        for server in servers_list:
            name = server.get('name')
            assert self.ui_utils.waitForTextOnPage(
                name, 5), "Server not found in Topology: {}".format(name)

        return True
コード例 #8
0
 def createCityCoupon(self, parkName, cityCouponName):
     """创建城市劵"""
     parkCodeSql = "select parkCode from tbl_device_parking where name ='" + parkName + "'"
     parkCode = db().select(parkCodeSql)
     self.url = "/openydt/api/v2/createCityOperationCouponTemplate"
     json_data = {
         "parkCodeList": [parkCode],
         "couponTemplate": {
             "wxAppid": "wxbc0f049b70707054",
             "name": cityCouponName,
             "totalNum": 10,
             "couponType": 1,
             "faceValue": 1.00,
             "useRuleFrom": 0,
             "useRuleTo": 1000,
             "couponRule": "",
             "useParkingFee": "",
             "isCover": 1,
             "maxCoverNum": 3,
             "validFrom": SA().get_today_data() + " 00:00:00",
             "validTo":
             SA().cal_get_day(strType="%Y-%m-%d", days=365) + " 23:59:59",
             "validTime": 360,
             "billUseType": 0,
             "remark": "创建城市运营模板劵--金额扣减券_正常"
         }
     }
     re = self.post(self.openYDT_api, json=json_data)
     return re
コード例 #9
0
ファイル: topology.py プロジェクト: Hawkular-QE/cf-ui
    def validate_middleware_servers_entities(self):

        # Validate that each Server Name is displayed in Topology:
        # 1) get Servers list (from Servers view)
        # 2) Enable Display Names
        # 3) Enable Middleware Servers entities (by validating whether 1st Server Name in Servers-List is displayed)
        # 4) Validate that each Server in Servers-List is displayed

        self.web_session.logger.info("Validate that Topology View expected Servers")

        servers_list = db(self.web_session).get_servers()
        assert servers_list, "No servers found."

        self.__navigate_to_topology__()
        self.ui_utils.adjust_screen_resolution(1400, 1050)

        self.__display_names__(select=True)

        # Select "Middleware Servers"
        self.__select_entities_view__(self.entities.get('servers'), servers_list[0].get('name'))

        for server in servers_list:
            name = server.get('name')
            assert self.ui_utils.waitForTextOnPage(name, 5), "Server not found in Topology: {}".format(name)

        return True
コード例 #10
0
    def add_mm_openshift_provider(self, delete_if_provider_present=True, port=None, validate_provider=True):
        self.provider_name = self.web_session.OPENSHIFT_PROVIDER_NAME
        self.host_name = self.web_session.OPENSHIFT_HOSTNAME
        self.port = self.web_session.OPENSHIFT_PORT if port == None else port
        self.openshift_user = self.web_session.OPENSHIFT_USERNAME
        self.openshift_token= self.openshift_utils.get_token()
        ui_utils(self.web_session).sleep(2)

        # Check if any provider already exist. If exist, first delete all the providers and then add a provider.

        if db(self.web_session).is_container_provider_present(self.web_session.OPENSHIFT_PROVIDER_NAME):
            self.web_session.logger.info("Container Provider already exist.")
            return
        else:
            self.web_session.logger.info("Adding openshift Middleware Provider to ManageIQ instance")

        navigate(self.web_session).get("{}//ems_container/show_list".format(self.web_session.MIQ_URL))
        assert ui_utils(self.web_session).waitForTextOnPage("Containers Providers", 15)

        self.web_driver.find_element_by_xpath("//button[@title='Configuration']").click()
        self.ui_utils.waitForElementOnPage(By.XPATH,"//a[@title='Add a new Containers Provider']", 5)
        elem_add_new_provider = self.web_driver.find_element_by_xpath("//a[@title='Add a new Containers Provider']")
        elem_add_new_provider.click()
        self.web_driver.implicitly_wait(15)
        assert ui_utils(self.web_session).waitForTextOnPage("Add New Containers Provider", 50)
        ui_utils(self.web_session).sleep(2)

        self.web_session.logger.info("The appliance version in use is: {} ".format(self.web_session.appliance_version))

        self.submit_provider_form_cfme(validate_provider)
        self.verify_add_provider_success()
コード例 #11
0
ファイル: policies.py プロジェクト: Hawkular-QE/cf-ui
    def add_middleware_control_policy(self, policy_name, product_name, delete_policy=False, assignment_events=None):
        self.web_session.logger.info('Add Policy: "{}", Product Name: "{}"'.format(policy_name, product_name))

        if db(self.web_session).is_policy_present(policy_name):
            if delete_policy:
                if not self.delete_middleware_control_policy(policy_name):
                    return False
            else:
                self.web_session.logger.info('Policy "{}" already exists.'.format(policy_name))
                return True

        self.navigate_to_middleware_server_control_policies()

        # Add the policy

        self.web_driver.find_element_by_xpath('//*[@title="Configuration"]').click()
        self.ui_utils.sleep(2)
        el = self.web_driver.find_element_by_xpath('//*[@title="Add a New Middleware Server Control Policy"]')
        #self.ui_utils.wait_until_element_displayed(mw_el, 10)
        el.click()
        assert self.ui_utils.waitForTextOnPage("Notes", 15)

        # Fill out form
        self.web_driver.find_element_by_id("description").send_keys(policy_name)
        self.web_driver.find_element_by_xpath("//span[contains(.,'Choose')]").click()
        el = self.web_driver.find_element_by_xpath("//span[contains(.,'Field')]")
        assert self.ui_utils.wait_until_element_displayed(el, 10)
        el.click()
        self.ui_utils.sleep(2)
        self.web_driver.find_elements_by_xpath(".//*[contains(text(), 'Choose') and not (ancestor::*[contains( @ style, 'display: none')])]")[3].click()

        el = self.web_driver.find_element_by_xpath("//*[contains(text(),'Middleware Server : Product')]")
        self.ui_utils.wait_until_element_displayed(el, 10)
        el.click()
        self.ui_utils.sleep(2)
        el = self.web_driver.find_element_by_xpath('//*[@id="exp_atom_editor_div"]/fieldset/div[4]/button/span[1]')
        assert self.ui_utils.wait_until_element_displayed(el, 10)
        el.click()
        el = self.web_driver.find_element_by_xpath("//*[contains(text(),'INCLUDES')]")
        assert self.ui_utils.wait_until_element_displayed(el, 10)
        el.click()
        self.ui_utils.sleep(2)
        el = self.web_driver.find_element_by_id('chosen_value')
        assert self.ui_utils.wait_until_element_displayed(el, 10)
        el.send_keys(product_name)

        # Click on Check box
        el = self.web_driver.find_element_by_xpath('//*[@title="Commit expression element changes"]').click()
        assert self.ui_utils.waitForTextOnPage('Middleware Server : Product INCLUDES "{}"'.format(product_name), 10)

        # Add Policy
        self.web_driver.find_element_by_xpath('//*[@title="Add"]').click()
        assert self.ui_utils.waitForTextOnPage('Policy "{}" was added'.format(policy_name), 10)

        # Assign Policy Events
        if assignment_events:
            self.assign_middleware_policy_events(policy_name, assignment_events)

        return True
コード例 #12
0
ファイル: servers.py プロジェクト: vprusa/cf-ui
    def __init__(self, web_session):
        self.web_session = web_session
        self.web_driver = web_session.web_driver
        self.ui_utils = ui_utils(self.web_session)
        self.hawkular_api = hawkular_api(self.web_session)

        try:
            self.db = db(self.web_session)
        except Exception, e:
            self.web_session.logger.warning("Unable to connecto to database. {}".format(e))
コード例 #13
0
ファイル: providers.py プロジェクト: Hawkular-QE/cf-ui
    def does_provider_exist(self):
        self.web_session.logger.info("Checking if provider exists")

        # For performance reasons, check if the provider is present via DB
        providers = db(self.web_session).get_providers()
        provider = ui_utils(self.web_session).find_row_in_list(providers, 'name', self.web_session.HAWKULAR_PROVIDER_NAME)
        if provider:
            return True
        else:
            self.web_session.logger.info("Middleware Provider does not exist.")
            return False
コード例 #14
0
ファイル: views.py プロジェクト: xeviar/admin
def submit(request):
    if request.method == "POST":
        request_data = request.POST["request_data"]
        print request_data
        request_data = json.loads(base64.b64decode(request_data.encode('unicode-escape').decode()))
        print request_data
        type_id = request_data[0]
        nid     = request_data[1]
        param1  = request_data[2]
        param2  =  request_data[3]
        param3  =  request_data[4]
        param4  =  request_data[5]
        desc    =  request_data[6]

        #print desc, MySQLdb.escape_string(unicode(desc).encode('utf8'))

        #Process nid
        first_char = nid[0]
        if first_char == "A":
            nid_value = int("0x88080001",16)
        elif first_char == "B":
            nid_value = int("0x880A0001",16)
        elif first_char == "C":
            nid_value = int("0x880B0001",16)

        if "D" in nid:
            nid_value += int("0x00100000",16)
        if "E" in nid:
            nid_value += int("0x00200000",16)
        if "F" in nid:
            nid_value += int("0x00400000",16)


        #Check data
        param1 = param1.split(" ")[1]
        if len(param3) >=256 or len(param4) >= 256 or len(desc)>=256:
            return HttpResponse("Bad_Data param3:%s bytes param4:%sbytes desc:%sbytes" % (len(param3), len(param4), len(desc)))

        test_db = db(IP)
        sql = [u"""replace into im_db.im_notify_config_tab values(%s,%s,%s,%s,%s,%s,%s)""".encode("utf8") , [str(type_id).encode("utf8"),
                                                                                                          str(nid_value).encode("utf8"),
                                                                                                          param1.encode("utf8"),
                                                                                                          param2.encode("utf8"),
                                                                                                          param3.encode("utf8"),
                                                                                                          param4.encode("utf8"),
                                                                                                          desc.encode("utf8")
                                                                                                          ]]
        #sql = sql.encode("utf8")

        #print sql
        test_db.run_sql(sql, param = True)
        test_db.commit()

        return HttpResponse("Done")
コード例 #15
0
ファイル: domains.py プロジェクト: gbaufake/cf-ui
    def __init__(self, web_session):
        self.web_session = web_session
        self.web_driver = web_session.web_driver
        self.ui_utils = ui_utils(self.web_session)
        self.hawkular_api = hawkular_api(self.web_session)

        try:
            self.db = db(self.web_session)
        except Exception, e:
            self.web_session.logger.warning(
                "Unable to connecto to database. {}".format(e))
コード例 #16
0
ファイル: providers.py プロジェクト: gbaufake/cf-ui
    def does_provider_exist(self):
        self.web_session.logger.info("Checking if provider exists")

        # For performance reasons, check if the provider is present via DB
        providers = db(self.web_session).get_providers()
        provider = ui_utils(self.web_session).find_row_in_list(
            providers, 'name', self.web_session.HAWKULAR_PROVIDER_NAME)
        if provider:
            return True
        else:
            return False
コード例 #17
0
ファイル: policies.py プロジェクト: Hawkular-QE/cf-ui
    def delete_middleware_control_policy(self, policy_name, navigate=True):
        self.web_session.logger.info('Delete Policy: "{}"'.format(policy_name))

        if not db(self.web_session).is_policy_present(policy_name):
            self.web_session.logger.warning('Policy "{}" does not exists.'.format(policy_name))
            return False

        if navigate:
            self.navigate_to_middleware_server_control_policies(policy_name=policy_name)

        self.web_driver.find_element_by_xpath('//*[@title="Configuration"]').click()
        self.ui_utils.sleep(1)
        try:
            self.web_driver.find_element_by_xpath('//*[@title="Delete this Middleware Server Policy"]').click()
            self.ui_utils.accept_alert(10)
        except Exception, e:
            try:
                self.web_driver.find_element_by_xpath(
                    '//*[@title="Policies that belong to Profiles can not be deleted"]')
                self.web_session.logger.error('Policy "{}" - Policies that belong to Profiles can not be deleted'.format(policy_name))
                return False
            except Exception, e:
                assert False, 'Policy "{}" not found'.format(policy_name)
コード例 #18
0
ファイル: test_topology.py プロジェクト: Hawkular-QE/cf-ui
def test_cfui_container_entities(web_session):
    if not db(web_session).is_container_provider_present(web_session.OPENSHIFT_PROVIDER_NAME):
        pytest.skip("Skip test - No Container Provider found.")
    assert topology(web_session).validate_middleware_container_entities()
コード例 #19
0
def test_cfui_db_deployments(web_session):
    rows = db(web_session).get_deployments()
    assert rows
    for row in rows:
        print "name: ", row.get('name')
コード例 #20
0
def test_cfui_db_servers(web_session):
    rows = db(web_session).get_servers()
    assert rows
    for row in rows:
        print "product: ", row.get('product')
コード例 #21
0
def test_cfui_db_datasources(web_session):
    rows = db(web_session).get_datasources()
    assert rows
    for row in rows:
        print "name: ", row.get('name')
コード例 #22
0
ファイル: test_topology.py プロジェクト: gbaufake/cf-ui
def test_cfui_container_entities(web_session):
    if not db(web_session).is_container_provider_present(
            web_session.OPENSHIFT_PROVIDER_NAME):
        pytest.skip("Skip test - No Container Provider found.")
    assert topology(web_session).validate_middleware_container_entities()
コード例 #23
0
ファイル: test_db.py プロジェクト: Hawkular-QE/cf-ui
def test_cfui_db_servers(web_session):
    rows = db(web_session).get_servers()
    assert rows
    for row in rows:
        print "product: ", row.get('product')
コード例 #24
0
ファイル: test_db.py プロジェクト: Hawkular-QE/cf-ui
def test_cfui_db_domains(web_session):
    rows = db(web_session).get_domains()
    assert rows
    for row in rows:
        print "name: ", row.get('name')
コード例 #25
0
ファイル: messagings.py プロジェクト: gbaufake/cf-ui
 def __init__(self, web_session):
     self.web_session = web_session
     self.ui_utils = ui_utils(self.web_session)
     self.hawkular_api = hawkular_api(self.web_session)
     self.db = db(self.web_session)
コード例 #26
0
 def initDb(self):
     # 初始化 db
     if not self._db:
         self._db = db.db()
     return True
コード例 #27
0
ファイル: deployments.py プロジェクト: Hawkular-QE/cf-ui
 def __init__(self, web_session):
     self.web_session = web_session
     self.ui_utils = ui_utils(self.web_session)
     self.hawkular_api = hawkular_api(self.web_session)
     self.db = db(self.web_session)
コード例 #28
0
ファイル: views.py プロジェクト: xeviar/admin
def view_existing(request):
    if request.method == "GET":

        if "type" in request.GET:
            type_id = request.GET["type"]

        test_db = db(IP)
        sql = """select column_name from information_schema.columns where table_schema = "im_db" and table_name =  "im_notify_config_tab" order by ordinal_position; """
        sql_result = test_db.run_sql(sql)

        display_keys = []
        parameter_string = ""
        first_time = True
        for item in sql_result:
            display_keys.append(item[0])
            if first_time == True:
                parameter_string += "`%s`" % (item[0] )
                first_time = False
            else:
                parameter_string += "," + "`%s`" % (item[0] )

        #sql = "set names latin1"
        #test_db.run_sql(sql)
        sql = "select %s from im_db.im_notify_config_tab" % (parameter_string)
        if "type" in request.GET:
            sql += " where type = %s" % (type_id)


        game_id_dict = {0:"None", 4097 :"lan", 16385:"war3", 16386:"dota", 16387:"aoe", 16388:"bf", 16389:"cod4", 16390:"cs1.6", 16391:"l4d", 16392:"ra", 16393:"sc", 16394:"kf",                             
                                    16395:"sanguo", 16396:"nobu", 16397:"ddtank", 32769:"HoN", 32771 :"LoLSAM", 32773:"BlackShot", 32774:"LoLPH", 32775:"LoLTW", 32777:"texas", 32779:"7Hero",                            
                                    32781:"WinTexas", 32782:"HoNCIS", 32783:"PerfectWorld", 32784:"LDJ", 32785:"MstarTW", 32786:"LoLTH", 32787:"LoLVN", 32788:"PWEN", 32789:"DNF",                                        
                                    32790:"PBTH", 32791:"ZSG", 32792:"FO3TH", 32793:"FO3", 32794:"FO3VN", 32795:"FO3ID", 32796:"VHT", 32797:"Mstar", 32798:"HoNCN", 32799:"LoLID",                                        
                                    32800:"HoNTR", 32801:"ELSPH", 32802:"POE", 32803:"PB", 32804:"AVATW", 32805:"FCTW", 32811:"PBPH"}

        game_name_list = ["%s %s"%(game_id_dict[key],key) for key in game_id_dict.keys()]

        display_items = []
        if "type" not in request.GET or type_id != "new":
            sql_result = test_db.run_sql(sql)

            for item in sql_result:                                                                                                                                                                                           
                item_dict = dict()                                                                                                                                                                                            
                for i in range(len(display_keys)):                                                                                                                                                                            
                    if display_keys[i] in [ "param4", "param3", "desc"]:                                                                                                                                                      
                        item_dict[display_keys[i]] = unicode(item[i]).encode('latin-1')                                                                                                                                       
                    elif display_keys[i] == "nid":#nid => abcde                                                                                                                                                               
                        result = ""                                                                                                                                                                                           
                        nid = item[i]                                                                                                                                                                                         
                        nid_hex = hex(nid)                                                                                                                                                                                    
                        base   = nid_hex[5]                                                                                                                                                                                   
                        option = nid_hex[4]                                                                                                                                                                                   
                        print option
                        if base == "8":                                                                                                                                                                                       
                            result = "A"                                                                                                                                                                                      
                        elif base == "a":                                                                                                                                                                                     
                            result = "B"                                                                                                                                                                                      
                        elif base == "b":                                                                                                                                                                                     
                            result = "C"                                                                                                                                                                                      
                                                                                                                                                                                                                          
                        if option == "1":                                                                                                                                                                                     
                            result += "D"                                                                                                                                                                                     
                        elif option == "2":                                                                                                                                                                                   
                            result += "E"                                                                                                                                                                                     
                        elif option == "3":                                                                                                                                                                                   
                            result += "DE"                                                                                                                                                                                    
                        elif option == "4":                                                                                                                                                                                   
                            result += "F"                                                                                                                                                                                    
                        elif option == "5":                                                                                                                                                                                   
                            result += "DF"                                                                                                                                                                                    
                        elif option == "6":                                                                                                                                                                                   
                            result += "EF"                                                                                                                                                                                    
                        elif option == "7":                                                                                                                                                                                   
                            result += "DEF"                                                                                                                                                                                    
                        item_dict[display_keys[i]] = result                                                                                                                                                                   
                    elif display_keys[i] == "param1":#gameid => game name                                                                                                                                                     
                    #game_id_dict = {0:"None", 4097 :"lan", 16385:"war3", 16386:"dota", 16387:"aoe", 16388:"bf", 16389:"cod4", 16390:"cs1.6", 16391:"l4d", 16392:"ra", 16393:"sc", 16394:"kf", 
                    #                16395:"sanguo", 16396:"nobu", 16397:"ddtank", 32769:"HoN", 32771 :"LoLSAM", 32773:"BlackShot", 32774:"LoLPH", 32775:"LoLTW", 32777:"texas", 32779:"7Hero", 
                    #                32781:"WinTexas", 32782:"HoNCIS", 32783:"PerfectWorld", 32784:"LDJ", 32785:"MstarTW", 32786:"LoLTH", 32787:"LoLVN", 32788:"PWEN", 32789:"DNF", 
                    #                32790:"PBTH", 32791:"ZSG", 32792:"FO3TH", 32793:"FO3", 32794:"FO3VN", 32795:"FO3ID", 32796:"VHT", 32797:"Mstar", 32798:"HoNCN", 32799:"LoLID", 
                    #                32800:"HoNTR", 32801:"ELSPH", 32802:"POE"}
                    #game_name_list = ["%s %s"%(game_id_dict[key],key) for key in game_id_dict.keys()]                    
                        current_game_name = game_id_dict[item[i]] + " " + str(item[i])                                                                                                                                        
                        item_dict[display_keys[i]] = current_game_name                                                                                                                                                        
                    else:                                                                                                                                                                                                     
                        item_dict[display_keys[i]] = item[i]           
                display_items.append(item_dict)  
        else:#get the next available type id
             sql = "select max(type) + 1 from im_db.im_notify_config_tab"
             sql_result = test_db.run_sql(sql, one_row = True)
             new_type_id = sql_result[0]
             display_items  =  [{"type": new_type_id, "nid": "C", "param1": 0 , "param2": "0", "param3": """url, if need '%', use '%%' instead""", "param4": """content, if need display '%', use '%%' instead. the text in {} will be displayed in highlight.""","desc": "",}]
             current_game_name = "None"

        #print display_items
    
        if "type" in request.GET:#Modify page
            return render_to_response('notify_configure_app/modify_existing.html', {"notice": notice, "display_keys":display_keys , "display_items":display_items, "game_name_list":game_name_list, "current_game_name":current_game_name})
        else:#Summary page
            return render_to_response('notify_configure_app/view_existing.html', {"notice": notice, "display_keys":display_keys , "display_items":display_items})