#!/usr/bin/env python2.2 # -*- Mode: python -*- # Copyright (C) 2001 Artifex Software Inc. # # 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. # # For more information about licensing, please refer to # http://www.ghostscript.com/licensing/. For information on # commercial licensing, go to http://www.artifex.com/licensing/ or # contact Artifex Software, Inc., 101 Lucas Valley Road #110, # San Rafael, CA 94903, U.S.A., +1(415)492-9861. # $Id: revert_pdfbaseline,v 1.8.2.1 2003/12/12 22:08:08 giles Exp $ # # revert_pdfbaseline # # 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 def make_pdfcompare_entry(ifile, device, dpi, band): ofile = "%s.pdf.%s.%d.%d" % (ifile, device, dpi, band) print "reverting entry: " + ofile + "...", sys.stdout.flush() gs = gstestgs.Ghostscript() gs.log_stdout = gsconf.log_stdout gs.log_stderr = gsconf.log_stderr gs.command = gsconf.baselinegs gs.infile = gsconf.comparefiledir + ifile gs.dpi = dpi gs.band = band # make file->PDF tfile = ofile + ".pdf" gs.outfile = tfile gs.device = 'pdfwrite' gs.dpi = None if not gs.process(): print "error." return gs.infile = tfile gs.outfile = ofile gs.device = device gs.dpi = dpi if gs.process(): try: if gsconf.log_baseline: log = open(gsconf.log_baseline, "a") log.write(time.ctime() + " " + ifile + " reverted (pdfwrite)\n") log.close() gssum.add_file(ofile) rasterdb.put_file(ofile) os.unlink(tfile) os.unlink(ofile) print "done." except OSError: print "no output produced." else: print "error." f = os.path.basename(sys.argv[1]) if f[-3:] == '.ps' or f[-4:] == '.pdf' or f[-4:] == '.eps': for params in gsparamsets.testparamsets: make_pdfcompare_entry(f, params.device, params.resolution, params.banding)