Hi., In my api.py file 'g_opt_list' is defined globally 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 Here is the code which gives the error... Let me know exact reason for this Error and how to remove this warning.. 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/" symbols=['(',')','{','}','[',']','.'] 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() --Thanks and bestregards., --Chandra -- http://mail.python.org/mailman/listinfo/python-list