def download(self, engine=None, debug=False): Script.download(self, engine, debug) # structure_plot_year table self.engine.auto_create_table(Table("structure_plot_year"), url=self.urls["structure_plot_year"]) self.engine.insert_data_from_url(self.urls["structure_plot_year"]) # structure_plot_year table self.engine.auto_create_table(Table("plots"), url=self.urls["plots"]) self.engine.insert_data_from_url(self.urls["plots"]) # species table self.engine.download_file(self.urls["species"], "original_MSH_SPECIES_DESCRIPTORS.csv") data_path = self.engine.format_filename("MSH_SPECIES_DESCRIPTORS.csv") old_data = os.path.normpath(self.engine.find_file("original_MSH_SPECIES_DESCRIPTORS.csv")) with open(old_data, 'rU') as infile, open(data_path, 'w')as new_data: for line in infile: line = str(line).encode('utf-8') new_data.write(line) infile.close() new_data.close() self.engine.auto_create_table(Table("species"), filename="MSH_SPECIES_DESCRIPTORS.csv") self.engine.insert_data_from_file(data_path) # species_plot_year tables table = Table("species_plot_year") table.delimiter = ',' table.columns = [ ('record_id', ('pk-auto',)), ('plot_id_year', ('char',)), ('plot_name', ('char',)), ('plot_number', ('int',)), ('year', ('int',)), ('species', ('ct_column',)), ('count', ('ct-double',)) ] table.ct_column = 'species' table.ct_names = ['Abilas', 'Abipro', 'Achmil', 'Achocc', 'Agoaur', 'Agrexa', 'Agrpal', 'Agrsca', 'Alnvir', 'Anamar', 'Antmic', 'Antros', 'Aqifor', 'Arcnev', 'Arnlat', 'Astled', 'Athdis', 'Blespi', 'Brocar', 'Brosit', 'Carmer', 'Carmic', 'Carpac', 'Carpay', 'Carpha', 'Carros', 'Carspe', 'Casmin', 'Chaang', 'Cirarv', 'Cisumb', 'Crycas', 'Danint', 'Descae', 'Elyely', 'Epiana', 'Eriova', 'Eripyr', 'Fesocc', 'Fravir', 'Gencal', 'Hiealb', 'Hiegra', 'Hyprad', 'Junmer', 'Junpar', 'Juncom', 'Leppun', 'Lommar', 'Luepec', 'Luihyp', 'Luplat', 'Luplep', 'Luzpar', 'Maiste', 'Pencar', 'Pencon', 'Penser', 'Phahas', 'Phlalp', 'Phldif', 'Phyemp', 'Pincon', 'Poasec', 'Poldav', 'Polmin', 'Pollon', 'Poljun', 'Popbal', 'Potarg', 'Psemen', 'Raccan', 'Rumace', 'Salsit', 'Saxfer', 'Senspp', 'Sibpro', 'Sorsit', 'Spiden', 'Trispi', 'Tsumer', 'Vacmem', 'Vervir', 'Vioadu', 'Xerten'] self.engine.table = table self.engine.create_table() self.engine.insert_data_from_url(self.urls["species_plot_year"])