def build_config(path): "Tries to build the config dictionary for the given path" try: config = parsing.initial(getabspath(path)) except: logger.exception( "Error parsing gbk: %r", getabspath(path, raise_on_missing=False)) raise parsing.detect_format(config) for k in VALID_KEYS: v = request.args.get(k) if v: nv = parsing.number(v) config[k] = v if nv is None else nv parsing.endBase(config) parsing.mycoplasma(config) # fixup nucleotides list if 'nucleotides' in request.args: config['nucleotides'] = request.args.getlist('nucleotides') for key in MAGIC_PARAMS: if key in request.args: config[key] = request.args[key] return config
def detect_format(config): parsing.detect_format(config) assert config['format'] ddnafile = path(config['ddna']) assert ddnafile.exists() assert config['length'] == ddnafile.size assert ddnafile.open('r').read(14) == 'CAAATTGCGCTACA'