This method checks the location or station code following the
“@” at the beginning of the page
header line. If the parent compiler has a .location attribute that is not None,
we expect that location's location code; otherwise we expect
the parent compiler's .station code.
# - - - P a g e H e a d e r . c h e c k S i t e - - -
# @staticmethod
def checkSite ( compiler, scan, rawSite ):
"""Verify correct location or station code.
[ (compiler is a BaseCompiler object) and
(scan is a Scan object) and
(rawSite is a string) ->
if (compiler.location is not None) and
(rawSite matches compiler.location.locCode, case
insensitive) ->
return True
else if (compiler.location is None) and
(rawSite matches compiler.station.staNo) ->
return True
else ->
Log() +:= error message
return False ]
"""
#-- 1 --
if compiler.location is None:
if ( compiler.station.staNo != rawSite ):
scan.error ( "Wrong staation code '%s': expecting "
"'%s'" % (rawSite, compiler.station.staNo) )
return False
else:
return True
else:
if ( compiler.location.locCode.upper() !=
rawSite.upper() ):
scan.error ( "Wrong location code '%s': expecting "
"'%s'" % (rawSite, compiler.location.locCode) )
return False
else:
return True
checkSite = staticmethod ( checkSite )