Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
                        '--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))