def resolve_imports(self, resolve=False): """ Look over our list of imports and tokenize / parse any that haven't already been parsed """ self.resolve = resolve # Cyclic imports are kind of painful in Python import parsing.Parser as Parser for path in self.imports: if self.imports[path] is None: sub, base = self.basepath subbed_path = path.replace(self.basepath[0], self.basepath[1]) subbed_path = os.path.normpath(subbed_path) new_ontology = Parser.parse_file(subbed_path, sub, base, resolve) new_ontology.basepath = self.basepath self.imports[path] = new_ontology
def convert_all_clif_files(folder, output, resolve, loc=default_dir, prefix=default_prefix): tempfolder = Filemgt.read_config('converters', 'tempfolder') ignores = [tempfolder] cl_ending = Filemgt.read_config('cl', 'ending') logging.getLogger(__name__).info("Traversing folder " + folder) for directory, subdirs, files in os.walk(folder): if any(ignore in directory for ignore in ignores): pass else: for single_file in files: if single_file.endswith(cl_ending): file = os.path.join(directory, single_file) logging.getLogger(__name__).info("Found CL file " + file) ontology = Parser.parse_file(file, prefix, loc, resolve) convert_single_clif_file(ontology, output, resolve, loc, prefix)
'--file', type=str, help='Clif file', required=True) parser.add_argument('-n', '--noresolve', action="store_false", help='Prevent from automatically resolving imports', default=True) parser.add_argument('--loc', type=str, help='Path to directory containing ontology files', default=default_dir) parser.add_argument( '--prefix', type=str, help='String to replace with basepath found in imports', default=default_prefix) args = parser.parse_args() path = os.path.normpath(os.path.join(args.loc, args.file)) ontology = Parser.parse_file(args.file, args.prefix, args.loc, args.noresolve) if not (os.path.isfile(path)): logging.getLogger(__name__).error( "Attempted to check consistency of non-existent file: " + path) else: ontology.check_consistency(resolve=not (args.noresolve))