https://issues.qgis.org/https://issues.qgis.org/favicon.ico2017-09-22T07:54:23ZQGIS Issue TrackingQGIS Application - Bug report #17180: Atlas crash using pythonhttps://issues.qgis.org/issues/17180?journal_id=823632017-09-22T07:54:23ZGiovanni Manghigiovanni.manghi@gmail.com
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Feedback</i></li></ul><p>This ticket (<a class="issue tracker-1 status-5 priority-5 priority- closed" href="https://issues.qgis.org/issues/17180" title="Atlas crash using python (Closed)">#17180</a>) or this <a class="issue tracker-1 status-5 priority-4 priority- closed" href="https://issues.qgis.org/issues/17181" title="Crash using QgsComposerAttributeTableV2 after setting columns (Closed)">#17181</a> ?</p> QGIS Application - Bug report #17180: Atlas crash using pythonhttps://issues.qgis.org/issues/17180?journal_id=825692017-09-22T08:01:25ZLoïc BARTOLETTI
<ul></ul><p>Both <a class="issue tracker-1 status-5 priority-4 priority- closed" href="https://issues.qgis.org/issues/17181#note-2" title="Crash using QgsComposerAttributeTableV2 after setting columns (Closed)">#17181-2</a></p> QGIS Application - Bug report #17180: Atlas crash using pythonhttps://issues.qgis.org/issues/17180?journal_id=825712017-09-22T08:02:27ZGiovanni Manghigiovanni.manghi@gmail.com
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Open</i></li></ul><p>Please add a description.</p> QGIS Application - Bug report #17180: Atlas crash using pythonhttps://issues.qgis.org/issues/17180?journal_id=827902017-09-22T08:06:55ZLoïc BARTOLETTI
<ul></ul><p>For this issue, when you use an invalid output dir, you don't have a crash but it's return my print debug "exportAsPdf", so I suspect a problem into this method (can't see or produce logs now).</p> QGIS Application - Bug report #17180: Atlas crash using pythonhttps://issues.qgis.org/issues/17180?journal_id=829972017-09-22T08:12:05ZLoïc BARTOLETTI
<ul></ul><p>Since it's not available in Qgis 2, I'm trying to duplicate a composition with pyqgis translating <a href="https://github.com/qgis/QGIS/blob/f0709ae31e46774e872c904cf11032ad266a35fe/src/core/composer/qgslayoutmanager.cpp#L157" class="external">this code</a> from Qgis 3.<br />Duplication is fine, but every time I want to export an atlas of this new composition, qgis crash. Do you have any idea?</p>
<p>Here is a reproductible example of my code (using with python console and a small project):</p>
<pre>
from qgis.PyQt.QtXml import *
from qgis.PyQt.QtGui import *
from qgis.PyQt.QtWidgets import *
from qgis.PyQt.QtCore import *
import os
def saveAsTemplate(composition):
doc = QDomDocument()
composerElem = doc.createElement( "Composer" )
doc.appendChild( composerElem )
composition.writeXML( composerElem, doc )
composition.atlasComposition().writeXML( composerElem, doc )
return doc
def duplicateComposition(composition):
currentDoc = saveAsTemplate(composition)
compositionElem = currentDoc.documentElement().firstChildElement( "Composition" )
if compositionElem.isNull():
print( "selected composer could not be stored as temporary template" )
return None
newComposition = QgsComposition(composition.mapSettings())
if not newComposition.loadFromTemplate(currentDoc):
print( " Cannot load template ")
del newComposition
return None
return newComposition
myComposition = iface.activeComposers()[0].composition()
newComposition = duplicateComposition(myComposition)
atlas = newComposition.atlasComposition()
atlasLayer = iface.activeLayer()
atlas.setCoverageLayer(atlasLayer)
atlas.setPageNameExpression(atlasLayer.name())
atlas.setEnabled( True )
ret = newComposition.setAtlasMode( QgsComposition.ExportAtlas )
if ret is False:
print "Error"
outputDir = "C:/temp/export_atlas"
atlas.beginRender()
print("atlas")
num = atlas.numFeatures()
for i in range(0, num):
ret = atlas.prepareForFeature( i )
if ret is False:
print "prepareForFeatureror"
printer = QPrinter()
printer.setOutputFormat(QPrinter.PdfFormat)
ret = newComposition.exportAsPDF(os.path.join(outputDir, str(i)+".pdf"))
if ret is False:
print "exportAsPDF"
atlas.endRender()
</pre>
<p><a href="https://gis.stackexchange.com/questions/256143/duplicate-composition-with-python-qgis" class="external">Original message</a></p> QGIS Application - Bug report #17180: Atlas crash using pythonhttps://issues.qgis.org/issues/17180?journal_id=832092017-09-28T07:31:14ZJürgen Fischerjef@norbit.de
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-5 priority-4 priority- closed" href="/issues/17181">Bug report #17181</a>: Crash using QgsComposerAttributeTableV2 after setting columns</i> added</li></ul> QGIS Application - Bug report #17180: Atlas crash using pythonhttps://issues.qgis.org/issues/17180?journal_id=832162017-09-28T07:35:39ZDenis Rouzauddenis.rouzaud@gmail.com
<ul><li><strong>Assignee</strong> deleted (<del><i>Denis Rouzaud</i></del>)</li></ul> QGIS Application - Bug report #17180: Atlas crash using pythonhttps://issues.qgis.org/issues/17180?journal_id=872802018-02-22T18:43:45ZGiovanni Manghigiovanni.manghi@gmail.com
<ul><li><strong>Priority</strong> changed from <i>Normal</i> to <i>High</i></li></ul> QGIS Application - Bug report #17180: Atlas crash using pythonhttps://issues.qgis.org/issues/17180?journal_id=983542019-01-20T23:34:30ZJürgen Fischerjef@norbit.de
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Feedback</i></li></ul><p>Please test with QGIS 3.4 - QGIS 2.18 reached it's end of life.</p> QGIS Application - Bug report #17180: Atlas crash using pythonhttps://issues.qgis.org/issues/17180?journal_id=985662019-01-21T09:22:53ZLoïc BARTOLETTI
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Closed</i></li></ul>