Skip to content

Commit 9a4889f

Browse files
committedNov 13, 2011
[BACKPORT] fix broken Assign projection functionality in GDALTools and
improve handling output file extension
1 parent ec4c635 commit 9a4889f

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed
 

‎python/plugins/GdalTools/tools/doProjection.py

+22-11
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,6 @@ def __init__( self, iface ):
4141
self.connect( self.batchCheck, SIGNAL( "stateChanged( int )" ), self.switchToolMode )
4242
self.connect( self.recurseCheck, SIGNAL( "stateChanged( int )" ), self.enableRecurse )
4343

44-
#QObject.disconnect( self.base.buttonBox.button( QDialogButtonBox.Ok ), SIGNAL( "clicked()" ), self.onRun )
45-
#QObject.connect( self.base.buttonBox.button( QDialogButtonBox.Ok ), SIGNAL( "clicked()" ), self.checkLayer )
46-
4744
def switchToolMode( self ):
4845
self.setCommandViewerEnabled( not self.batchCheck.isChecked() )
4946
self.progressBar.setVisible( self.batchCheck.isChecked() )
@@ -102,11 +99,32 @@ def getArguments( self ):
10299
inputFn = self.getInputFileName()
103100
arguments << inputFn
104101
self.tempFile = QString( inputFn )
102+
self.needOverwrite = False
105103
if not self.tempFile.isEmpty():
106-
self.tempFile = self.tempFile.replace( QRegExp( "\.[a-zA-Z]{2,4}$" ), ".tif" ).append( ".tmp" )
104+
if self.tempFile.toLower().contains( QRegExp( "\.tif{1,2}" ) ):
105+
self.tempFile = self.tempFile.replace( QRegExp( "\.[a-zA-Z]{2,4}$" ), ".tif" ).append( ".tmp" )
106+
self.needOverwrite = True
107+
else:
108+
self.tempFile = self.tempFile.replace( QRegExp( "\.[a-zA-Z]{2,4}$" ), ".tif" )
107109
arguments << self.tempFile
108110
return arguments
109111

112+
def finished( self ):
113+
outFn = self.getOutputFileName()
114+
if self.needOverwrite:
115+
oldFile = QFile( outFn )
116+
newFile = QFile( self.tempFile )
117+
if oldFile.remove():
118+
newFile.rename( outFn )
119+
120+
fileInfo = QFileInfo( outFn )
121+
if fileInfo.exists():
122+
if self.base.loadCheckBox.isChecked():
123+
self.addLayerIntoCanvas( fileInfo )
124+
QMessageBox.information( self, self.tr( "Finished" ), self.tr( "Processing completed." ) )
125+
else:
126+
QMessageBox.warning( self, self.tr( "Warning" ), self.tr( "%1 not created." ).arg( outFn ) )
127+
110128
def getInputFileName(self):
111129
return self.inSelector.filename()
112130

@@ -149,10 +167,3 @@ def updateProgress(self, index, total):
149167
self.progressBar.setValue(index + 1)
150168
else:
151169
self.progressBar.setValue(0)
152-
153-
def finished( self ):
154-
oldFile = QFile( self.getInputFileName() )
155-
newFile = QFile( self.tempFile )
156-
if oldFile.remove():
157-
newFile.rename( self.getInputFileName() )
158-

0 commit comments

Comments
 (0)
Please sign in to comment.