def main():
    if len(sys.argv) < 2:
        print >> sys.stderr, "scriptfile not specified."
        sys.exit(2)
    elif not os.path.isfile(sys.argv[1]):
        print >> sys.stderr, "Cannot read %r" % sys.argv[1]
        sys.exit(2)
    scriptfile = sys.argv[1]
    scriptbase = os.path.basename(scriptfile)
    del sys.argv[1]
    box = PdfFitSandbox()
    try:
        box.loadscript(scriptfile)
    except:
        exc_type, exc_value, exc_tb = sys.exc_info()
        import traceback
        for filename, lineno, fnc, line in traceback.extract_tb(exc_tb):
            if os.path.basename(filename) != scriptbase:
                continue
            print >> sys.stderr, "%s:%i:%s" % (scriptfile, lineno, line)
        print >> sys.stderr, exc_value
        sys.exit(1)
    # make sure reading from stderr will not hang, see
    # http://www.python.org/doc/current/lib/popen2-flow-control.html
    os.close(sys.stderr.fileno())
    # all is ready, dump it
    sys.stdout.write(safeCPickleDumps(box.allfits()))
    return
 def setUp(self):
     from diffpy.pdfgui.control.pdffitsandbox import PdfFitSandbox
     self.box = PdfFitSandbox()
     return