99
1010using CKAN . Configuration ;
1111using CKAN . IO ;
12- using CKAN . Versioning ;
1312
1413namespace CKAN . CmdLine
1514{
@@ -134,33 +133,6 @@ public int RunCommand(CKAN.GameInstance instance, object raw_options)
134133 user . RaiseMessage ( "" ) ;
135134 done = true ;
136135 }
137- catch ( DependenciesNotSatisfiedKraken ex )
138- {
139- user . RaiseError ( "{0}" , ex . Message ) ;
140- user . RaiseMessage ( Properties . Resources . InstallTryAgain ) ;
141- return Exit . ERROR ;
142- }
143- catch ( ModuleNotFoundKraken ex )
144- {
145- if ( ex . version == null )
146- {
147- user . RaiseError ( Properties . Resources . InstallUnversionedDependencyNotSatisfied ,
148- ex . module , instance . game . ShortName ) ;
149- }
150- else
151- {
152- user . RaiseError ( Properties . Resources . InstallVersionedDependencyNotSatisfied ,
153- ex . module , ex . version , instance . game . ShortName ) ;
154- }
155- user . RaiseMessage ( Properties . Resources . InstallTryAgain ) ;
156- return Exit . ERROR ;
157- }
158- catch ( BadMetadataKraken ex )
159- {
160- user . RaiseError ( Properties . Resources . InstallBadMetadata ,
161- ex . module ? . ToString ( ) ?? "" , ex . Message ) ;
162- return Exit . ERROR ;
163- }
164136 catch ( TooManyModsProvideKraken ex )
165137 {
166138 // Request the user selects one of the mods
@@ -169,9 +141,9 @@ public int RunCommand(CKAN.GameInstance instance, object raw_options)
169141 {
170142 result = user . RaiseSelectionDialog (
171143 ex . Message ,
172- ex . modules
173- . Select ( m => string . Format ( "{0} ({1})" , m . identifier , m . name ) )
174- . ToArray ( ) ) ;
144+ ex . modules . Select ( m => string . Format ( "{0} ({1})" ,
145+ m . identifier , m . name ) )
146+ . ToArray ( ) ) ;
175147 }
176148 catch ( Kraken e )
177149 {
@@ -189,72 +161,35 @@ public int RunCommand(CKAN.GameInstance instance, object raw_options)
189161 modules . Add ( ex . modules [ result ] ) ;
190162 // DON'T return so we can loop around and try again
191163 }
192- catch ( FileExistsKraken ex )
193- {
194- if ( ex . owningModule != null )
195- {
196- user . RaiseError ( Properties . Resources . InstallFileConflictOwned ,
197- ex . filename , ex . installingModule ? . ToString ( ) ?? "" , ex . owningModule ,
198- Meta . GetVersion ( VersionFormat . Full ) ) ;
199- }
200- else
201- {
202- user . RaiseError ( Properties . Resources . InstallFileConflictUnowned ,
203- ex . installingModule ? . ToString ( ) ?? "" , ex . filename ) ;
204- }
205-
206- user . RaiseMessage ( Properties . Resources . InstallGamedataReturned , instance . game . PrimaryModDirectoryRelative ) ;
207- return Exit . ERROR ;
208- }
209- catch ( InconsistentKraken ex )
210- {
211- user . RaiseError ( "{0}" , ex . Message ) ;
212- user . RaiseMessage ( Properties . Resources . InstallCancelled ) ;
213- return Exit . ERROR ;
214- }
215164 catch ( CancelledActionKraken k )
216165 {
217- user . RaiseError ( Properties . Resources . InstallAborted , k . Message ) ;
218- return Exit . ERROR ;
219- }
220- catch ( MissingCertificateKraken kraken )
221- {
222- // Another very pretty kraken.
223- user . RaiseError ( "{0}" , kraken . ToString ( ) ) ;
166+ user . RaiseError ( Properties . Resources . InstallAborted ,
167+ k . Message ) ;
224168 return Exit . ERROR ;
225169 }
226170 catch ( RequestThrottledKraken kraken )
227171 {
228172 user . RaiseError ( "{0}" , kraken . Message ) ;
229- user . RaiseMessage ( Properties . Resources . InstallTryAuthToken , kraken . infoUrl ) ;
173+ user . RaiseMessage ( Properties . Resources . InstallTryAuthToken ,
174+ kraken . infoUrl ) ;
230175 return Exit . ERROR ;
231176 }
232- catch ( DownloadErrorsKraken )
233- {
234- user . RaiseError ( Properties . Resources . InstallDownloadFailed ) ;
235- return Exit . ERROR ;
236- }
237- catch ( ModuleDownloadErrorsKraken kraken )
238- {
239- user . RaiseError ( "{0}" , kraken . ToString ( ) ) ;
240- return Exit . ERROR ;
241- }
242- catch ( DirectoryNotFoundKraken kraken )
177+ catch ( Kraken kraken )
243178 {
179+ // Show nice message for mod problems
244180 user . RaiseError ( "{0}" , kraken . Message ) ;
181+ user . RaiseMessage ( "{0}" , kraken switch
182+ {
183+ DependenciesNotSatisfiedKraken or ModuleNotFoundKraken => Properties . Resources . InstallTryAgain ,
184+ _ => Properties . Resources . InstallCancelled ,
185+ } ) ;
245186 return Exit . ERROR ;
246187 }
247- catch ( ModuleIsDLCKraken kraken )
188+ catch ( Exception exc )
248189 {
249- user . RaiseError ( Properties . Resources . InstallDLC , kraken . module . name ) ;
250- var res = kraken ? . module ? . resources ;
251- var storePagesMsg = new Uri ? [ ] { res ? . store , res ? . steamstore }
252- . OfType < Uri > ( )
253- . Aggregate ( "" , ( a , b ) => $ "{ a } \r \n - { b } ") ;
254- if ( ! string . IsNullOrEmpty ( storePagesMsg ) )
255- {
256- user . RaiseMessage ( Properties . Resources . InstallDLCStorePage , storePagesMsg ) ;
257- }
190+ // Show stack trace for code problems
191+ user . RaiseError ( "{0}" , exc . ToString ( ) ) ;
192+ user . RaiseMessage ( Properties . Resources . InstallCancelled ) ;
258193 return Exit . ERROR ;
259194 }
260195 }
0 commit comments