def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import DBSession, \ Theme, LayerGroup, Interface, LayerInternalWMS TestPoint.__table__.create(bind=DBSession.bind, checkfirst=True) main = Interface(name=u"main") layer_wms_1 = LayerInternalWMS(name=u"__test_layer_time_1", public=True) layer_wms_1.layer = "test_wmstime" layer_wms_1.time_mode = "single" layer_wms_1.interfaces = [main] layer_wms_2 = LayerInternalWMS(name=u"__test_layer_time_2", public=True) layer_wms_2.layer = "test_wmstime2" layer_wms_2.time_mode = "single" layer_wms_2.interfaces = [main] layer_wms_group = LayerInternalWMS(name=u"__test_layer_time_group", public=True) layer_wms_group.layer = "test_wmstimegroup" layer_wms_group.time_mode = "range" layer_wms_group.time_widget = "datepicker" layer_wms_group.interfaces = [main] layer_group_1 = LayerGroup(name=u"__test_layer_group_1") layer_group_1.children = [layer_wms_1, layer_wms_2] layer_group_2 = LayerGroup(name=u"__test_layer_group_2") layer_group_2.children = [layer_wms_1] layer_group_3 = LayerGroup(name=u"__test_layer_group_3") layer_group_3.children = [layer_wms_1, layer_wms_2, layer_wms_group] layer_group_4 = LayerGroup(name=u"__test_layer_group_4") layer_group_4.children = [layer_wms_group] theme = Theme(name=u"__test_theme") theme.interfaces = [main] theme.children = [ layer_group_1, layer_group_2, layer_group_3, layer_group_4 ] DBSession.add_all([theme]) transaction.commit()
def layer_v1tov2(session, layer): # pragma: nocover from c2cgeoportal.models import LayerInternalWMS, LayerExternalWMS, LayerWMTS, \ LayergroupTreeitem, WMTSDimension if layer.layer_type == "internal WMS": new_layer = LayerInternalWMS() elif layer.layer_type == "external WMS": new_layer = LayerExternalWMS() elif layer.layer_type == "WMTS": new_layer = LayerWMTS() new_layer.name = layer.name new_layer.public = layer.public new_layer.geo_table = layer.geo_table new_layer.interfaces = layer.interfaces for link in layer.parents_relation: new_link = LayergroupTreeitem() new_link.ordering = link.ordering new_link.treegroup_id = link.treegroup_id new_link.item = new_layer if layer.layer_type[-4:] == " WMS": new_layer.layer = layer.name new_layer.image_type = layer.image_type new_layer.style = layer.style new_layer.time_mode = layer.time_mode new_layer.time_widget = layer.time_widget if layer.layer_type == "external WMS": new_layer.url = layer.url new_layer.is_single_tile = layer.is_single_tile elif layer.layer_type == "WMTS": new_layer.url = layer.url new_layer.layer = layer.name new_layer.style = layer.style new_layer.matrix_set = layer.matrix_set new_layer.image_type = layer.image_type if layer.dimensions is not None: dimensions = loads(layer.dimensions) for name, value in dimensions.items(): session.add(WMTSDimension(name, value, new_layer)) layer_add_ui_metadata(layer, new_layer, session) session.add(new_layer)