def get_single_context(num): chart = ChartDTO() catalogueDB = repo.get_latest_catalogue() catalogue = service_converters.catalogueDB_2_catalogueDTO(catalogueDB) if catalogueDB.chart_set.filter(number=num).exists(): chartDB = catalogueDB.chart_set.get(number=num) chart = service_converters.chartDB_2_chartDTO(chartDB) return chart
def generate_geojson_single_chart(num): geojson = '' catalogue = repo.get_latest_catalogue() if Chart.objects.using(DB_SNC).filter(catalogue=catalogue, number=num).exists(): chartDB = Chart.objects.using(DB_SNC).get(catalogue=catalogue, number=num) print(chartDB) chart = service_converters.chartDB_2_chartDTO(chartDB) geojson = generate_geojson([chart]) return geojson
def get_charts(nums): charts = [] catalogueDB = repo.get_latest_catalogue() catalogue = service_converters.catalogueDB_2_catalogueDTO(catalogueDB) for num in nums: if catalogueDB.chart_set.filter(number=num).exists(): chartDB = catalogueDB.chart_set.get(number=num) chart = service_converters.chartDB_2_chartDTO(chartDB) charts.append(chart) # print(charts[0]) # print(charts[0].polygons) return charts
def find_charts(nums): charts = [] catalogueDB = get_latest_catalogue() # catalogue = service_converters.catalogueDB_2_catalogueDTO(catalogueDB) if len(nums) == 0: nums = range(1, 3) for num in nums: if catalogueDB.chart_set.filter(number=num).exists(): chartDB = catalogueDB.chart_set.get(number=num) chart = service_converters.chartDB_2_chartDTO(chartDB) charts.append(chart) return charts
def generate_geojson_and_save_db_single_charts(nums): catalogue = repo.get_latest_catalogue() processed = [] if len(nums) == 0: chartsDB = catalogue.chart_set.all() for chartDB in chartsDB: chart = service_converters.chartDB_2_chartDTO(chartDB) gjson = generate_geojson([chart]) geojson = Geojson() geojson.type = 'single' geojson.chart_number = chartDB.number geojson.json = gjson geojson.catalogue = catalogue geojson.cat_id = catalogue.id geojson.ready = True geojson.save(using=DB_SNC) processed.append(chartDB.number) else: for num in nums: if Chart.objects.using(DB_SNC).filter(catalogue=catalogue, number=num).exists(): chartDB = Chart.objects.using(DB_SNC).get(catalogue=catalogue, number=num) chart = service_converters.chartDB_2_chartDTO(chartDB) gjson = generate_geojson([chart]) geojson = Geojson() geojson.type = 'single' geojson.chart_number = num geojson.json = gjson geojson.catalogue = catalogue geojson.cat_id = catalogue.id geojson.ready = True geojson.save(using=DB_SNC) processed.append(num) return 'generated and saved in DB geojson for charts: ' + str(range)
def print_chart_detail(): catalogue = get_latest_catalogue() if catalogue != '': chartsDB = Chart.objects.using(DB_SNC).filter(catalogue=catalogue.id, number='1006') for ch in chartsDB: chart = service_converters.chartDB_2_chartDTO(ch) print('\n') print('chart number----------------') print(chart.number) print(chart.title) print(chart.scale) print(chart.status) print(chart.status_date) print(chart.folio) print(chart.cat_number) print('chart polygons----------------') print(chart.polygons) if len(chart.polygons) > 0: print(len(chart.polygons)) print(chart.polygons[0].positions[0].lat) print(chart.polygons[0].positions[0].lon) print('panels----------------') print(chart.panels) if len(chart.panels) > 0: print(chart.panels[0].polygons) print(chart.panels[0].polygons[0].positions[0].lat) print(chart.panels[0].polygons[0].positions[0].lon) print('notices----------------') print(chart.notices) if len(chart.notices) > 0: print(chart.notices[0].week) else: print('no catalogue loaded')
def get_search_multiple_context(nums): catalogueDB = repo.get_latest_catalogue() catalogue = service_converters.catalogueDB_2_catalogueDTO(catalogueDB) # print(nums) charts = [] if len(nums) > 0 and len(nums) <= 15: for num in nums: if catalogueDB.chart_set.filter(number=num).exists(): chartDB = catalogueDB.chart_set.get(number=num) chart = service_converters.chartDB_2_chartDTO(chartDB) charts.append(chart) context = { 'catalogue': catalogue, 'charts': charts, 'search_multi_ok': 'Found ' + str(len(charts)) + ' chart(s)' } elif len(nums) > 15: nums_str = '' for n in nums: nums_str = nums_str + str(n) + ', ' context = { 'catalogue': catalogue, 'charts': charts, 'search_multi_ok': '', 'search_multi_error': 'Maximum allowed number of charts is 15.', 'search_multi_error1': 'You searched for ' + str(len(nums)) + ' charts.', 'search_multi_error2': nums_str } else: nums_str = '' for n in nums: nums_str = nums_str + ', ' + str(n) context = { 'catalogue': catalogue, 'charts': charts, 'search_multi_ok': '', 'search_multi_error': 'No charts found for search term: ' + '\'' + nums_str + '\'' } ctx = {**get_index_context(), **context, **get_chs_catalogue_info_context()} return ctx