Esempio n. 1
0
    def parseData(pertes, annee):
        file_path = os.path.join('data', 'departement.geojson')
        Tools.download_file(geojson['departement'], file_path)
        RAW_FILE_GEOJSON = None
        with open(file_path, 'r') as f:
            RAW_FILE_GEOJSON = json.loads(''.join(f.readlines()))
        for i in range(len(RAW_FILE_GEOJSON['features'])):
            RAW_FILE_GEOJSON['features'][i]['id'] = RAW_FILE_GEOJSON[
                'features'][i]['properties']['code']

        headers = ['Departement', 'Pertes en ' + str(annee)]
        departementByCode = dict()
        for departement in src.model.departement.Departement.DATA:
            departementByCode[departement.name] = departement.code
        data = dict()
        for region in pertes.keys():
            for dep in pertes[region].keys():
                if dep in departementByCode:
                    departementCode = departementByCode[dep]
                    if (len(str(departementCode)) == 1):
                        departementCode = '0' + str(departementCode)
                    data[str(departementCode)] = pertes[region][dep][annee]
        return headers, data, RAW_FILE_GEOJSON
Esempio n. 2
0
    def set_up(self):
        print('Setting up', self.parent_class)
        if not os.path.isfile(os.path.join(Donnee.DATA_FOLDER,
                                           self.file_name)):
            print('File ' + str(self.file_name) + ' not found on disk.')
            if self.archive_name == 'none':
                print("Directly downloadign file " + str(self.file_name))
                Tools.download_file(
                    self.url, os.path.join(Donnee.DATA_FOLDER, self.file_name))
            else:
                print("Downloading archive " + str(self.archive_name))
                Tools.download_file(self.url, self.archive_name)
                print("Extracting archive " + str(self.file_name))
                Tools.extract_file_from_archive(self.file_name,
                                                self.archive_name,
                                                self.archive_path,
                                                Donnee.DATA_FOLDER)

        f = Tools.open_file(self.file_name, Donnee.DATA_FOLDER,
                            self.archive_name, self.archive_path)

        try:
            self.read_json_data_from_file(f)
            print("Succesfully read data from " + str(self.file_name))
        except:
            print(
                "You don't have the data file ", self.file_name,
                " or this file is corrupted. Do you agree to download this file (Approximative size: ",
                self.size, " ? (yes/no)")
            download = (str(input()).lower() == "yes")
            if not download:
                print("Exiting..")
                exit()
            else:
                Tools.download_file(
                    self.url, os.path.join(Donnee.DATA_FOLDER, self.file_name))
                f = Tools.open_file(
                    os.path.join(Donnee.DATA_FOLDER, self.file_name),
                    self.archive_name, self.archive_path)
                self.read_json_data_from_file(f)
        print('#########################\n')