Ejemplo n.º 1
0
 def _create_meta(self, visit_name, site_code):
     # TODO: use the download.utils.SiteVisitDatasheetWriter to write the metadata
     wb = Workbook()
     mapping = DATASHEET_META_MAPPING
     meta_ws = wb.active
     # rewrite the sheet name in case of the 'Sheet' selection.
     meta_ws.title = mapping.sheet_name
     col_headers = [util_model.get_field_verbose_name(Visit, 'name'),
                    util_model.get_field_verbose_name(Site, 'site_code')]
     # write column headers
     top_cell = meta_ws.cell(row=mapping.top_left_row, column=mapping.top_left_column)
     writing_direction = mapping.next_col_direction
     util_xls.write_values_from_cell(top_cell, col_headers, writing_direction)
     # write values
     values = [visit_name, site_code]
     top_cell = util_xls.get_cell_neighbour(top_cell, mapping.next_row_direction)
     util_xls.write_values_from_cell(top_cell, values, writing_direction)
     return wb
Ejemplo n.º 2
0
 def _populate_site_characteristics(self):
     # export the site characteristic data from the Site
     mapping = get_mapping_for_model(SiteCharacteristic)
     if mapping is not None:
         row = [
             self.site.underlaying_geology.value if self.site.underlaying_geology else "",
             self.site.closest_water_distance,
             self.site.closest_water_type.value if self.site.closest_water_type else "",
             self.site.landform_pattern.value if self.site.landform_pattern else "",
             self.site.landform_element.value if self.site.landform_element else "",
             self.site.soil_surface_texture.value if self.site.soil_surface_texture else "",
             self.site.soil_colour,
             self.site.comments,
         ]
         ws = util_xls.get_or_create_sheet(self.wb, mapping.sheet_name)
         top_cell = ws.cell(row=mapping.top_left_row, column=mapping.top_left_column)
         start_cell = util_xls.get_cell_neighbour(top_cell, mapping.next_row_direction)
         writing_direction = mapping.next_col_direction
         util_xls.write_values_from_cell(start_cell, row, writing_direction)
Ejemplo n.º 3
0
 def _write_meta(self):
     mapping = DATASHEET_META_MAPPING
     meta_ws = util_xls.get_sheet(self.wb, mapping.sheet_name) or util_xls.get_sheet(self.wb, 'Sheet')
     # rewrite the sheet name in case of the 'Sheet' selection.
     meta_ws.title = mapping.sheet_name
     if meta_ws is None:
         meta_ws = self.wb.create_sheet(0, mapping.sheet_name)
     # write the visit name
     # populate Meta with visit/site details (very rough)
     col_headers = [util_model.get_field_verbose_name(Visit, 'name'),
                    util_model.get_field_verbose_name(Site, 'site_code')]
     # write column headers
     top_cell = meta_ws.cell(row=mapping.top_left_row, column=mapping.top_left_column)
     writing_direction = mapping.next_col_direction
     util_xls.write_values_from_cell(top_cell, col_headers, writing_direction, self.column_header_font)
     # write values
     if self.visit and self.site:
         values = [self.visit.name, self.site.site_code]
         top_cell = util_xls.get_cell_neighbour(top_cell, mapping.next_row_direction)
         util_xls.write_values_from_cell(top_cell, values, writing_direction)
     return meta_ws