Beispiel #1
0
def link_documents_bundles_with_journals(
    journal_path: str, issue_path: str, output_path: str
):
    """Busca pelo relacionamento entre periódicos e fascículos a partir
    de arquivos JSON extraídos de uma base MST. O resultado é escrito
    em um arquivo JSON contendo um objeto (dict) com identificadores de
    periócios como chaves e arrays de ids das issues que compõe o
    periódico"""

    journals_bundles = {}
    extract_isis.create_output_dir(output_path)

    journals_as_json = reading.read_json_file(journal_path)
    issues_as_json = reading.read_json_file(issue_path)
    journals = conversion.conversion_journals_to_kernel(journals_as_json)
    issues = conversion.conversion_issues_to_xylose(issues_as_json)
    issues = filter_issues(issues)

    for journal in journals:
        journals_bundles[journal["id"]] = find_documents_bundles(journal, issues)

    with open(output_path, "w") as output:
        output.write(json.dumps(journals_bundles, indent=4, sort_keys=True))
 def test_should_not_find_bundles_for_journal(self):
     self.issue_json["v35"] = [{"_": "0001-3714X"}]
     issues = [Issue({"issue": self.issue_json})]
     journal_issues = find_documents_bundles(SAMPLE_KERNEL_JOURNAL, issues)
     self.assertListEqual([], journal_issues)
 def test_should_link_journal_and_issues(self):
     issues = [Issue({"issue": self.issue_json})]
     journal_issues = find_documents_bundles(SAMPLE_KERNEL_JOURNAL, issues)
     self.assertEqual([SAMPLE_ISSUES_KERNEL[0]["id"]], journal_issues)