def config_test(): test_configs = ([ """ [Locations] log: asdf solutions: asdf workqueue: asdf pid: asdf """, False, "Missing workingdirectory"], ["", False, "Empty config"], [ """ [Locations] log: /asfd workingdirectory: /asdf solutions: /asdf workqueue: /asdf pid: /asdf """, False, "files don't exist"], ) for test in test_configs: testdir = tempfile.mkdtemp() testini = os.path.join(testdir, "fealden.ini") with open(testini, "w") as f: f.write(test[0]) try: fealden = config.getconfig(testini) except config.ConfigError as e: if test[1]: print "BAD - Test: %s, received %s" % (test[2], e.msg) assert False else: assert True else: if test[1]: assert True else: print "BAD - Test %s: Expected ConfigError, but received none" % test[2] assert False finally: shutil.rmtree(testdir)
import web from web import form import os import pickle import subprocess import uuid from fealden import searchserver, util, config try: runtime = config.getconfig() except config.ConfigError: sys.stderr.write("Unrecoverable error, exiting: %s\n" % errormsg) sys.exit() render = web.template.render('templates/', base='layout') urls = ( '/', 'index', '/solution/(.+)', 'solution', '/solution_images/(.+)/(.+)', 'solution_images' ) app = web.application(urls,globals()) myform = form.Form( form.Textbox('recognition',form.notnull, form.regexp('^[ATGC]*$', 'DNA alphabet only: A, T, G, or C'), description="Recognition Sequence", id="recog"), form.Textbox('numfolds_lo', description='Lower bound for number of foldings in a valid solution', value=2, id="numfolds_lo"), form.Textbox('numfolds_hi', description='Upper bound for number of foldings in a valid solution', value=8, id="numfolds_hi"), form.Textbox('maxunknown_percent', description='Max percentage of folds that cannot be categorized', value=.1, id="maxunknown_percent"), form.Textbox('binding_ratio_lo', description='Lower bound for ratio of binding foldings vs. nonbinding foldings', value=.9, id="binding_ratio_lo"), form.Textbox('binding_ratio_hi', description='Upper bound for ratio of binding foldings vs. nonbinding foldings', value=1.1, id="binding_ratio_hi"),