Exemple #1
0
def test_MetadataRegion_get_all_as_dataframe():
    MetadataRegion.clear_all()
    m = MetadataRegion("Germany", "w")
    # assert os.path.exists(MetadataStorageLocation)

    m['html'] = "html-pfad"
    m['ipynb'] = "ipynb-pfad"

    m = MetadataRegion("UK", "w")
    m['html'] = "html-path"
    m['ipynb'] = "ipynb-path"

    ref = pd.DataFrame({
        'html': {
            'UK': 'html-path',
            "Germany": 'html-pfad'
        },
        'ipynb': {
            'UK': 'ipynb-path',
            "Germany": 'ipynb-pfad'
        }
    })
    actual = MetadataRegion.get_all_as_dataframe()

    # We want to run this line:
    # assert ref.equals(actual)
    # but need to sort the table to be sure rows are in the
    # same order:
    assert ref.sort_index().equals(actual.sort_index())
Exemple #2
0
def test_MetadataRegion_updated():
    m = MetadataRegion("Test", "w")
    assert m.last_updated_hours_ago() == math.inf

    m.mark_as_updated()
    # should be faster than a second
    assert m.last_updated_hours_ago()*3600 < 1
    assert m.last_updated_hours_ago() > 0

    time.sleep(1)
    assert m.last_updated_hours_ago()*3600 > 0.5

    m2 = MetadataRegion("Test")
    assert m.last_updated_hours_ago()*3600 > 0.5
    assert m.last_updated_hours_ago()*3600 < 2.0

    # calling last_updated adds this key
    assert list(m.keys()) == ["__last_modified__"]
Exemple #3
0
def test_MetadataRegion_basics():
    m = MetadataRegion("Germany", "w")
    # assert os.path.exists(MetadataStorageLocation)

    m['html'] = "html-pfad"
    m['ipynb'] = "ipynb-pfad"

    m = MetadataRegion("UK", "w")
    m['html'] = "html-path"

    m = MetadataRegion("Germany")
    assert m['html'] == "html-pfad"
    assert m['ipynb'] == "ipynb-pfad"
    assert sorted(m.keys()) == sorted(["html", "ipynb"])

    assert m.as_dict() == {'html': 'html-pfad', 'ipynb': 'ipynb-pfad'}

    m = MetadataRegion("UK")
    assert m['html'] == "html-path"
    with pytest.raises(KeyError):
        m['missing-key'] 
Exemple #4
0
def test_MetadataRegion_get_regions():
    MetadataRegion.clear_all()

    m = MetadataRegion("Germany", "w")
    # assert os.path.exists(MetadataStorageLocation)

    m['html'] = "html-pfad"
    m['ipynb'] = "ipynb-pfad"

    m = MetadataRegion("UK", "w")
    m['html'] = "html-path"

    assert sorted(MetadataRegion.get_all()) == ["Germany", "UK"]

    MetadataRegion.clear_all()

    assert sorted(MetadataRegion.get_all()) == []
Exemple #5
0
    def metadata_regions(self) -> DataFrame:
        regions_all = MetadataRegion.get_all_as_dataframe()

        if self.Reporter.category == "all-regions":
            selected_regions = regions_all
        else:
            selected_regions = regions_all[regions_all["category"] ==
                                           self.Reporter.category]

        #  TODO : Not correct as regions actually returns the regions stored in
        #  the metadata, not the regions to be analysed. This should be
        #  clarified later on.
        # if self.debug:
        #     selected_regions = selected_regions[:10]

        return selected_regions