Add early exit to message template check if it hasn't changed.
parent
d3a9d6a6ce
commit
6e97ead181
|
|
@ -5,10 +5,10 @@ include(Python)
|
|||
macro (check_message_template _target)
|
||||
add_custom_command(
|
||||
TARGET ${_target}
|
||||
POST_BUILD
|
||||
PRE_LINK
|
||||
COMMAND ${PYTHON_EXECUTABLE}
|
||||
ARGS ${SCRIPTS_DIR}/template_verifier.py
|
||||
--mode=development --cache_master
|
||||
COMMENT "Verifying message template"
|
||||
--mode=development --cache_master ${TEMPLATE_VERIFIER_OPTIONS}
|
||||
COMMENT "Verifying message template - See http://wiki.secondlife.com/wiki/Template_verifier.py"
|
||||
)
|
||||
endmacro (check_message_template)
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@ add_indra_lib_path()
|
|||
import optparse
|
||||
import os
|
||||
import urllib
|
||||
import hashlib
|
||||
|
||||
from indra.ipc import compatibility
|
||||
from indra.ipc import tokenstream
|
||||
|
|
@ -233,6 +234,9 @@ http://wiki.secondlife.com/wiki/Template_verifier.py
|
|||
parser.add_option(
|
||||
'-c', '--cache_master', action='store_true', dest='cache_master',
|
||||
default=False, help="""Set to true to attempt use local cached copy of the master template.""")
|
||||
parser.add_option(
|
||||
'-f', '--force', action='store_true', dest='force_verification',
|
||||
default=False, help="""Set to true to skip the sha_1 check and force template verification.""")
|
||||
|
||||
options, args = parser.parse_args(sysargs)
|
||||
|
||||
|
|
@ -269,8 +273,18 @@ http://wiki.secondlife.com/wiki/Template_verifier.py
|
|||
print "current:", current_filename
|
||||
current_url = 'file://%s' % current_filename
|
||||
|
||||
# retrieve the contents of the local template and check for syntax
|
||||
# retrieve the contents of the local template
|
||||
current = fetch(current_url)
|
||||
hexdigest = hashlib.sha1(current).hexdigest()
|
||||
if not options.force_verification:
|
||||
# Early exist if the template hasn't changed.
|
||||
sha_url = "%s.sha1" % current_url
|
||||
current_sha = fetch(sha_url)
|
||||
if hexdigest == current_sha:
|
||||
print "Message template SHA_1 has not changed."
|
||||
sys.exit(0)
|
||||
|
||||
# and check for syntax
|
||||
current_parsed = llmessage.parseTemplateString(current)
|
||||
|
||||
if options.cache_master:
|
||||
|
|
@ -301,6 +315,12 @@ http://wiki.secondlife.com/wiki/Template_verifier.py
|
|||
|
||||
if acceptable:
|
||||
explain("--- PASS ---", compat)
|
||||
if options.force_verification == False:
|
||||
print "Updating sha1 to %s" % hexdigest
|
||||
sha_filename = "%s.sha1" % current_filename
|
||||
sha_file = open(sha_filename, 'w')
|
||||
sha_file.write(hexdigest)
|
||||
sha_file.close()
|
||||
else:
|
||||
explain("*** FAIL ***", compat)
|
||||
return 1
|
||||
|
|
|
|||
Loading…
Reference in New Issue