def exportVersionDiffs(commita, commitb = None): layers = {} if commitb is None: commitb = commita commita = commita.parent layernames = commita.repo.difftreestats(commita, commitb).keys() name = "%s_%s" % (commita.id[:8], commitb.id[:8]) for layername in layernames: layers[layername] = [] filepath = os.path.join(tempFolder(), "diff_%s_%s_before.shp" % (layername, name)) try: if not os.path.exists(filepath): commita.repo.exportdiffs(commita, commitb, layername, filepath, True, True) beforeLayer = loadLayerNoCrsDialog(filepath, layername + "_[%s][before]" % name, "ogr") beforeLayer.setReadOnly(True) vectorType = beforeLayer.geometryType() styleBefore, _ = styles[vectorType] beforeLayer.loadNamedStyle(styleBefore) layers[layername].append(beforeLayer) except GeoGigException: layers[layername].append(None) try: filepath = os.path.join(tempFolder(), "diff_%s_%s_after.shp" % (layername, name)) if not os.path.exists(filepath): commitb.repo.exportdiffs(commita, commitb, layername, filepath, False, True) afterLayer = loadLayerNoCrsDialog(filepath, layername + "_[%s][after]" % name, "ogr") afterLayer.setReadOnly(True) vectorType = afterLayer.geometryType() _, styleAfter = styles[vectorType] afterLayer.loadNamedStyle(styleAfter) layers[layername].append(afterLayer) except GeoGigException: layers[layername].append(None) return layers
def exportAndLoadVersion(commit): trees = commit.root.trees layers = [] for tree in trees: filepath = os.path.join(tempFolder(), "%s_%s.shp" % (tree.path, commit.commitid)) if not os.path.exists(filepath): commit.repo.exportshp(commit.commitid, tree.path, filepath) layer = loadLayerNoCrsDialog(filepath, tree.path + "_[%s]" % commit.commitid[:8], "ogr") layer.setReadOnly(True) layers.append(layer) QgsMapLayerRegistry.instance().addMapLayers(layers)
def exportVersionDiffs(commita, commitb=None): layers = {} if commitb is None: commitb = commita commita = commita.parent layernames = commita.repo.difftreestats(commita, commitb).keys() name = "%s_%s" % (commita.id[:8], commitb.id[:8]) for layername in layernames: layers[layername] = [] filepath = os.path.join(tempFolder(), "diff_%s_%s_before.shp" % (layername, name)) try: if not os.path.exists(filepath): commita.repo.exportdiffs(commita, commitb, layername, filepath, True, True, "utf-8") beforeLayer = loadLayerNoCrsDialog( filepath, layername + "_[%s][before]" % name, "ogr") beforeLayer.setReadOnly(True) vectorType = beforeLayer.geometryType() styleBefore, _ = styles[vectorType] beforeLayer.loadNamedStyle(styleBefore) layers[layername].append(beforeLayer) except GeoGigException: layers[layername].append(None) try: filepath = os.path.join(tempFolder(), "diff_%s_%s_after.shp" % (layername, name)) if not os.path.exists(filepath): commitb.repo.exportdiffs(commita, commitb, layername, filepath, False, True, "utf-8") afterLayer = loadLayerNoCrsDialog( filepath, layername + "_[%s][after]" % name, "ogr") afterLayer.setReadOnly(True) vectorType = afterLayer.geometryType() _, styleAfter = styles[vectorType] afterLayer.loadNamedStyle(styleAfter) layers[layername].append(afterLayer) except GeoGigException: layers[layername].append(None) return layers
def exportAndLoadVersion(commit): trees = commit.root.trees layers = [] for tree in trees: filepath = os.path.join(tempFolder(), "%s_%s.shp" % (tree.path, commit.commitid)) if not os.path.exists(filepath): commit.repo.exportshp(commit.commitid, tree.path, filepath, "utf-8") layer = loadLayerNoCrsDialog(filepath, tree.path + "_[%s]" % commit.commitid[:8], "ogr") layer.setReadOnly(True) layers.append(layer) QgsMapLayerRegistry.instance().addMapLayers(layers)