def bkp_analyze_document(self, xml_filename, package, folder_table_name): generic_document = None json_data = self.xml2json.convert(xml_filename, package.report) if type(json_data) != type({}): package.report.write(' ! ERROR: Invalid JSON ' + xml_filename, False, False, False, json_data) else: img_files = package.return_matching_files(xml_filename, '.jpg') self.json2model.set_data(json_data, xml_filename, package.report) publication_title = self.json2model.publication_title registered = self.registered_titles.return_registered(publication_title, package.report) if registered != None: specific_document, errors, warnings, refcount = self.json2model.return_document(registered, img_files) if specific_document != None: generic_document = Document(specific_document) package.report.write(generic_document.display(), True, False, False) specific_folder = self.all_folders.template(generic_document.folder) if specific_folder.status == 'not_registered': package.report.write("\n" + ' ! WARNING: ' + specific_folder.display() + ' is not registered in ' + folder_table_name + ', but it will be registered provisionally. After being oficially registered, it must be reprocessed.' + "\n" , True, True, True ) print('generic_document.folder toc:') print(generic_document.folder.toc.return_json()) print('specific_folder toc:') print(specific_folder.toc.return_json()) incoherences = self.all_folders.return_incoherences(specific_folder, generic_document.folder) if len(incoherences) > 0: package.report.write(' ! ERROR: There are inconsistencies of data ' + xml_filename, True, True, True) for err in incoherences: package.report.write(err, True, True, True) generic_document.folder = specific_folder #print('generic_document.folder = specific_folder') generic_document.folder.toc.insert(generic_document.section, False) print('generic_document.folder toc:') print(generic_document.folder.toc.return_json()) if generic_document.folder.documents == None: generic_document.folder.documents = Documents() generic_document.folder.documents.insert(generic_document.document, True) return generic_document