Ejemplo n.º 1
0
def make_dataset(country, language):
    """
    Construct a dataset instance for the provided country and language codes.

    Only kept for backwards-compatibility with older monument classes.
    """
    from Monument import Dataset
    from CzCs import CzCs
    from AtDe import AtDe
    from DkBygningDa import DkBygningDa
    from DkFortidsDa import DkFortidsDa
    from EeEt import EeEt
    from HuHu import HuHu
    from IeEn import IeEn
    from NoNo import NoNo
    from PlPl import PlPl
    from PtPt import PtPt
    from SeArbetslSv import SeArbetslSv
    from SeBbrSv import SeBbrSv
    from SeShipSv import SeShipSv
    from ZaEn import ZaEn
    SPECIFIC_TABLES = {
        "monuments_se-ship_(sv)": {
            "class": SeShipSv,
            "data_files": {
                "functions": "se-ship_(sv)_functions.json"
            }
        },
        "monuments_cz_(cs)": {
            "class": CzCs,
            "data_files": {}
        },
        "monuments_hu_(hu)": {
            "class": HuHu,
            "data_files": {}
        },
        "monuments_pt_(pt)": {
            "class": PtPt,
            "data_files": {}
        },
        "monuments_ie_(en)": {
            "class": IeEn,
            "data_files": {
                "counties": "ireland_counties.json"
            }
        },
        "monuments_za_(en)": {
            "class": ZaEn,
            "data_files": {}
        },
        "monuments_at_(de)": {
            "class": AtDe,
            "data_files": {
                "municipalities": "austria_municipalities.json"
            },
            "lookup_downloads": {
                "types": "at_(de)/types"
            }
        },
        "monuments_dk-bygninger_(da)": {
            "class": DkBygningDa,
            "data_files": {},
            "subclass_downloads": {
                "settlement": "Q486972"
            }
        },
        "monuments_pl_(pl)": {
            "class": PlPl,
            "data_files": {
                "settlements": "poland_settlements.json"
            }
        },
        "monuments_dk-fortidsminder_(da)": {
            "class": DkFortidsDa,
            "data_files": {
                "types": "dk-fortidsminder_(da)_types.json",
                "municipalities": "denmark_municipalities.json"
            }
        },
        "monuments_no_(no)": {
            "class": NoNo,
            "data_files": {}
        },
        "monuments_se-bbr_(sv)": {
            "class": SeBbrSv,
            "data_files": {
                "functions": "se-bbr_(sv)_functions.json",
                "settlements": "sweden_settlements.json"
            }
        },
        "monuments_ee_(et)": {
            "class": EeEt,
            "data_files": {
                "counties": "estonia_counties.json"
            }
        },
        "monuments_se-arbetsl_(sv)": {
            "class": SeArbetslSv,
            "data_files": {
                "municipalities": "sweden_municipalities.json",
                "types": "se-arbetsl_(sv)_types.json",
                "settlements": "sweden_settlements.json"
            }
        }
    }
    specific_table_name = utils.get_specific_table_name(country, language)
    specific_table = None
    if specific_table_name in SPECIFIC_TABLES:
        specific_table = SPECIFIC_TABLES[specific_table_name]
    else:
        print("No class defined for {0}.".format(specific_table_name))
        exit()

    dataset = Dataset(country, language, specific_table["class"])
    dataset.data_files = specific_table.get("data_files")
    dataset.lookup_downloads = specific_table.get("lookup_downloads")
    dataset.subclass_downloads = specific_table.get("subclass_downloads")

    return dataset
Ejemplo n.º 2
0
                    "inception", utils.package_time({"year": inception}))

    def set_monuments_all_id(self):
        """Map monuments_all ID to fields in this table."""
        self.monuments_all_id = "{!s}-{!s}-{!s}".format(
            self.kommunenr, self.ejendomsnr, self.bygningsnr)

    def __init__(self, db_row_dict, mapping, data_files, existing):
        Monument.__init__(self, db_row_dict, mapping, data_files, existing)
        self.set_monuments_all_id()
        self.update_labels()
        self.exists("da")
        self.set_commonscat()
        self.set_image("billede")
        self.set_coords(("lat", "lon"))
        self.set_adm_location()
        self.set_location()
        self.set_sagsnr()
        self.set_address()
        self.set_inception()
        self.exists_with_prop(mapping)
        self.print_wd()


if __name__ == "__main__":
    """Point of entrance for importer."""
    args = importer.handle_args()
    dataset = Dataset("dk-bygninger", "da", DkBygningDa)
    dataset.subclass_downloads = {"settlement": "Q486972"}
    importer.main(args, dataset)