Hi Terry..,
Here is the code which gives the error...
Let me know exact reason for this Error
import os,sys,re,strin g,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_mappin g import *
from symbol_mapping import *
from opt_list_mappin g import *
g_del_opt_list =[[],[],[],[],[],[],[]]
sflag = 0
index=0
del_index=0
radflag = 0
depth = 0
xmlflag = 0
opt_param_list = []
del_opt_param_l ist = []
#g_opt_list = []
MTAS_HOME="/home/chandras/XML_FILES/"
SIG_STANDARD_HO ME = "/home/chandras/SIGNALLING_STAN DARD/ANSI_SS7/"
symbols=['(',')','{','}' ,'[',']','.']
reverse_symbols =['<','>','~']
layers=['MTP3','SCCP',' IOS','CDTAPM2', 'CDTAPC2','ISUP ','IS-41D-SQA']
GUI_API_COMMAND _LIST = [
"NEW",
"ADD_OPTIONAL_P ARAM",
"DELETE_OPTIONA L_PARAM",
"DELETE_LAY ER",
"RENAME"
]
BASE2 = "01"
BASE10 = "0123456789 "
BASE16 = "0123456789ABCD EF"
Message_obj = Message()
filename =""
buffer = []
#LIST = []
def Process_GUI_Com mand(arg):
global Message_obj
global filename
print "### COMMAND ###", arg[0]
save_fd = os.dup(1)
if arg[0] == "DELETE_OPTIONA L_PARAM":
out_file = file('/tmp/te6.txt', 'w+')
elif arg[0] == "ADD_OPTIONAL_P ARAM":
out_file = file('/tmp/te3.txt', 'w+')
else :
out_file = file('/tmp/te.txt', 'w+')
os.dup2(out_fil e.fileno(), sys.stdout.file no())
if arg[0] == "NEW" :
global g_opt_list
Message_obj = Message()
layerList = listLayers("ANS I_Layers")
layerList = str(layerList)
layerList = layerList.repla ce(",","")
for i in range(0,len(g_o pt_list)):
g_opt_list[i] = []
os.dup2(save_fd , 1)
return layerList
elif arg[0] == "ADD_OPTIONAL_P ARAM" :
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_MAPPIN G.has_key(layer _name):
index = OPT_LIST_MAPPIN G[layer_name]
break
if arg[2] != 'Null':
optional_parame ter_name = str(arg[2]).replace("+"," ,")
for symbol in reverse_symbols :
if symbol in optional_parame ter_name:
if SYMBOL_REVERSE_ MAPPING.has_key (symbol):
old_symbol = SYMBOL_REVERSE_ MAPPING[symbol]
optional_parame ter_name =
optional_parame ter_name.replac e(symbol,old_sy mbol)
Message_obj.Add Param(message_n ame,layer_name,
optional_parame ter_name )
else : optional_parame ter_name= 'Null'
add_delete_flag = 0
param_name = optional_parame ter_name
show_opts(layer _name,add_delet e_flag,param_na me)
if int(add_delete_ flag) == 0:
add_delete_flag = 0
if optional_parame ter_name != "Null":
optList =
Message_obj.sho wOptionalParame ters(layer_name ,add_delete_fla g,optional_para meter_name)
g_opt_list[int(index)].append(optiona l_parameter_nam e)
for i in g_opt_list[int(index)]:
if g_opt_list[int(index)].count(i) == 1:
optList =
Message_obj.sho wOptionalParame ters(layer_name ,add_delete_fla g,i)
displayoptparam s(optList,layer _name,0,"Null")
i= "Null"
optional_parame ter_name = "Null"
add_delete_flag = 1
os.dup2(save_fd , 1)
else:
print "Invalid Option"
def show_opts(layer _name,add_delet e_flag,param_na me):
global index
global g_opt_list
#param_name = "Null"
List =
Message_obj.sho wOptionalParame ters(layer_name ,add_delete_fla g,"Null")
if (len(List)== 0) :
return "None"
displayoptparam s(List,layer_na me,add_delete_f lag,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.sho wOptionalParame ters(layer_name ,add_delete_fla g,i)
displayoptparam s(optList,layer _name,0,"Null")
add_delete_flag = 1
return "None"
def main():
#choice = sys.argv[1]
print "####### choice ",
#Process_GUI_Co mmand("NEW")
#list=CMSR.show OptionalParamet ers("SCCP",0)
#CMSR.saveXMLfi le("CMSR2.xml", "CMSR")
if __name__ == '__main__':
main()
--Thanks and bestregards.,
--Chandra
Terry Reedy wrote:
"chand" <ch************ ***@gmail.com> wrote in message
news:11******** **************@ g14g2000cwa.goo glegroups.com.. . 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