Hi Terry..,
Here is the code which gives the error...
Let me know exact reason for this Error
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
= []
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
Terry said:
chand said:
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
To expand slightly on previous answers:
1. Write a *minimal* file that gives you the error. This means that
removing any statement ceases to give you the error. This may answer your
questions.
2. If still puzzled, post again. But cut and paste that *exact* file and
also the *full* error traceback.
Terry J. Reedy