#!/usr/bin/env python # -*- Mode: python -*- # Copyright (C) 2001-2019 Artifex Software, Inc. # All Rights Reserved. # # This software is provided AS-IS with no warranty, either express or # implied. # # This software is distributed under license and may not be copied, # modified or distributed except as expressly authorized under the terms # of the license contained in the file LICENSE in this distribution. # # Refer to licensing information at http://www.artifex.com or contact # Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, # CA 94945, U.S.A., +1(415)492-9861, for further information. # # # revert_baseline # # this script updates the testdata database with a new baseline sum # for all versions of file . use this when you've accidentally # updated a baseline you shouldn't have. import gstestgs import gsconf import gssum import gsparamsets import rasterdb import anydbm import time import os, sys import string import gsutil def make_entry(ifile, device, dpi, band): ofile = "%s.%s.%d.%d" % (ifile, device, dpi, band) print "reverting entry: " + ofile + "...", sys.stdout.flush() gs = gstestgs.Ghostscript() gs.command = gsconf.baselinegs gs.infile = gsconf.comparefiledir + ifile gs.outfile = ofile gs.device = device gs.dpi = dpi gs.band = band if gs.process(): try: if gsconf.log_baseline: log = open(gsconf.log_baseline, "a") log.write(time.ctime() + " " + ifile + " reverted\n") log.close() gssum.add_file(ofile) rasterdb.put_file(ofile) os.unlink(ofile) print "done." except OSError: print "no output produced." else: print "error." f = os.path.basename(sys.argv[1]) if gsutil.check_extension(f): for params in gsparamsets.testparamsets: make_entry(f, params.device, params.resolution, params.banding)