Warning when doubly linked list is defined gloablly

chand chandra.bangalore at gmail.com
Mon Sep 5 13:37:31 CEST 2005


Hi All..,


Sorry for mailing the code which does't even compile !!

Please find below the code which compiles. Please let me know how to
resolve this warning message..!!
SyntaxWarning: name 'g_opt_list' is used prior to global declaration


import os,sys,re,string,math
from xml.dom import minidom, Node
from Layer import Layer
from LMessage import *
from Param import *
from Message import *
#from message_mapping import *
#from protocol_mapping import *
#from symbol_mapping import *
#from opt_list_mapping import *
g_del_opt_list =[[],[],[],[],[],[],[]]
sflag = 0
index=0
del_index=0
radflag = 0
depth = 0
xmlflag = 0
opt_param_list = []
del_opt_param_list = []
#g_opt_list = []
MTAS_HOME="/home/chandras/XML_FILES/"
SIG_STANDARD_HOME = "/home/chandras/SIGNALLING_STANDARD/ANSI_SS7/"
reverse_symbols=['<','>','~']
layers=['MTP3','SCCP','IOS','CDTAPM2','CDTAPC2','ISUP','IS-41D-SQA']
GUI_API_COMMAND_LIST = [
                        "NEW",
                        "ADD_OPTIONAL_PARAM",
                        "DELETE_OPTIONAL_PARAM",
                        "DELETE_LAYER",
                        "RENAME"
                        ]

BASE2 = "01"
BASE10 = "0123456789"
BASE16 = "0123456789ABCDEF"

Message_obj = Message()
filename =""
buffer = []
#LIST = []
def Process_GUI_Command(arg):
        global Message_obj
        global filename
        print "### COMMAND ###", arg[0]
        save_fd = os.dup(1)
        if arg[0] ==  "DELETE_OPTIONAL_PARAM":
                out_file = file('/tmp/te6.txt', 'w+')
        elif arg[0] ==  "ADD_OPTIONAL_PARAM":
                out_file = file('/tmp/te3.txt', 'w+')
        else :
                out_file = file('/tmp/te.txt', 'w+')
        os.dup2(out_file.fileno(), sys.stdout.fileno())

        if      arg[0]  ==  "NEW" :
                global g_opt_list
                Message_obj = Message()
                layerList = listLayers("ANSI_Layers")
                layerList = str(layerList)
                layerList = layerList.replace(",","")
                for i in range(0,len(g_opt_list)):
                        g_opt_list[i] = []
                os.dup2(save_fd, 1)
                return layerList

        elif    arg[0]  ==   "ADD_OPTIONAL_PARAM" :
                global g_opt_list
                global layers
                global index
                message_name = ""
                layer_name   = arg[1]
                #print "Layer Name", layer_name
                for layer in layers:
                        if layer == layer_name:
                                if
OPT_LIST_MAPPING.has_key(layer_name):
                                        index =
OPT_LIST_MAPPING[layer_name]
                                        break

                if arg[2] != 'Null':
                        optional_parameter_name =
str(arg[2]).replace("+",",")
                        for symbol in reverse_symbols:
                                if symbol in optional_parameter_name:
                                        if
SYMBOL_REVERSE_MAPPING.has_key(symbol):
                                                old_symbol =
SYMBOL_REVERSE_MAPPING[symbol]
                                                optional_parameter_name
= optional_parameter_name.replace(symbol,old_symbol)

                        Message_obj.AddParam(message_name,layer_name,
optional_parameter_name )
                else : optional_parameter_name= 'Null'

                add_delete_flag = 0

                param_name = optional_parameter_name
                show_opts(layer_name,add_delete_flag,param_name)
                if int(add_delete_flag) == 0:
                        add_delete_flag = 0
                        if  optional_parameter_name != "Null":
                                optList =
Message_obj.showOptionalParameters(layer_name,add_delete_flag,optional_parameter_name)

g_opt_list[int(index)].append(optional_parameter_name)
                                for i in g_opt_list[int(index)]:
                                        if
g_opt_list[int(index)].count(i) == 1:
                                                optList =
Message_obj.showOptionalParameters(layer_name,add_delete_flag,i)

displayoptparams(optList,layer_name,0,"Null")
                                i= "Null"
                                optional_parameter_name = "Null"
                        add_delete_flag = 1
                os.dup2(save_fd, 1)

        else:
                print "Invalid Option"


def  show_opts(layer_name,add_delete_flag,param_name):
        global index
        global g_opt_list
        #param_name = "Null"
        List =
Message_obj.showOptionalParameters(layer_name,add_delete_flag,"Null")
        if (len(List)== 0)  :
                return "None"

displayoptparams(List,layer_name,add_delete_flag,Message_obj._message_name)
        if param_name == 'Null':
                for i in g_opt_list[int(index)]:
                        if g_opt_list[int(index)].count(i) == 1:
                                optList =
Message_obj.showOptionalParameters(layer_name,add_delete_flag,i)

displayoptparams(optList,layer_name,0,"Null")
                add_delete_flag = 1
                return "None"



def main():

        #choice = sys.argv[1]
        print "####### choice ",
        #Process_GUI_Command("NEW")
        #list=CMSR.showOptionalParameters("SCCP",0)
        #CMSR.saveXMLfile("CMSR2.xml","CMSR")

if __name__ == '__main__':
    main()






















































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































chand wrote:
> Hi.,
>
> In my api.py file 'g_opt_list' is defined globally
> g_opt_list =[[],[],[],[],[],[],[]]
>
> I am using this global list in the fucntion
>
> def function ():
>     gloabl g_opt_list
>
> when I run the py file, I am getting the Following Error
>
> SyntaxWarning: name 'g_opt_list' is used prior to global declaration
>
> Please let me know how to remove this error
> 
> --BestRegars.,
> --Chandra




More information about the Python-list mailing list