Merge "ASM #539 Multiple flag functionality for textdb is not working properly" into asm_14.3.1

Former-commit-id: e8f6419c58 [formerly 8e65a175fc] [formerly 8ebfa3edce] [formerly fdfe97c659 [formerly 8ebfa3edce [formerly 764e268bcccec4a805509a11fbd9c9f4e1860842]]]
Former-commit-id: fdfe97c659
Former-commit-id: 41fb35543dbdb436ebfeb91a8deb193d2c5c92c4 [formerly f70ccec42e]
Former-commit-id: d67d2d9f04
This commit is contained in:
Matthew Howard 2014-09-08 08:23:57 -05:00 committed by Gerrit Code Review
commit a098a1ca4e

View file

@ -1,19 +1,19 @@
##
# This software was developed and / or modified by Raytheon Company,
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
#
# U.S. EXPORT CONTROLLED TECHNICAL DATA
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
#
# U.S. EXPORT CONTROLLED TECHNICAL DATA
# This software product contains export-restricted data whose
# export/transfer/disclosure is restricted by U.S. law. Dissemination
# to non-U.S. persons whether in the United States or abroad requires
# an export license or other authorization.
#
# Contractor Name: Raytheon Company
# Contractor Address: 6825 Pine Street, Suite 340
# Mail Stop B8
# Omaha, NE 68106
# 402.291.0100
#
# Contractor Name: Raytheon Company
# Contractor Address: 6825 Pine Street, Suite 340
# Mail Stop B8
# Omaha, NE 68106
# 402.291.0100
#
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
# further licensing information.
##
@ -59,6 +59,7 @@ import conf.TDBConfig as config
# 12/07/10 7656 cjeanbap Retrieve environment variable.
# 04/07/11 8686 cjeanbap Fixed $ACTION has -i associated
# 05/12/14 16954 kshrestha Added Multiple flag functionality for textdb
# 08/15/14 2926 bclement Fixed hasSubOperations()
##############################################################################
class TextDB:
@ -470,27 +471,21 @@ class TextDB:
sm.execute()
# Determine if command line has sub operations
# Returns true if any flags in self.commands[CL.DEFAULT_KEY]
# are in config.mayJoin
#
# raise:
# propagates any exception received
def __hasSubOperations(self):
for key in self.commands.keys():
for key in self.commands.keys():
if key is CL.DEFAULT_KEY:
subJoins = self.commands.get(key)
length = len(self.commands.get(key))
flags = self.commands.get(key)
#specifically looking for config.flags of subJoins
if length <= 6:
for pos in range(0, length, 2):
value = config.flags.get(subJoins[pos])[0]
try:
config.mayJoin.index(value)
except:
raise CL.ArgError("Invalid command count - JOIN command includes invalid option(s)")
for flag in flags:
configFlag = config.flags.get(flag)
# some flags aren't in configs.flags
if configFlag and configFlag[0] in config.mayJoin:
return True
else:
return False
else:
return False
return False
# Correct the sub operational command line .
#
#