mirror of
				https://github.com/python/cpython.git
				synced 2025-10-27 08:46:53 +00:00 
			
		
		
		
	Added 'grok_environment_error()' function to deal with the various
forms that IOError and OSError can take (taken from core.py).
This commit is contained in:
		
							parent
							
								
									039accfb2c
								
							
						
					
					
						commit
						e905513be0
					
				
					 1 changed files with 20 additions and 0 deletions
				
			
		|  | @ -154,3 +154,23 @@ def subst_vars (str, local_vars): | ||||||
| # subst_vars () | # subst_vars () | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | def grok_environment_error (exc, prefix="error: "): | ||||||
|  |     """Generate a useful error message from an EnvironmentError (IOError or | ||||||
|  |     OSError) exception object.  Handles Python 1.5.1 and 1.5.2 styles, and | ||||||
|  |     does what it can to deal with exception objects that don't have a | ||||||
|  |     filename (which happens when the error is due to a two-file operation, | ||||||
|  |     such as 'rename()' or 'link()'.  Returns the error message as a string | ||||||
|  |     prefixed with 'prefix'. | ||||||
|  |     """ | ||||||
|  |     # check for Python 1.5.2-style {IO,OS}Error exception objects | ||||||
|  |     if hasattr (exc, 'filename') and hasattr (exc, 'strerror'): | ||||||
|  |         if exc.filename: | ||||||
|  |             error = prefix + "%s: %s" % (exc.filename, exc.strerror) | ||||||
|  |         else: | ||||||
|  |             # two-argument functions in posix module don't | ||||||
|  |             # include the filename in the exception object! | ||||||
|  |             error = prefix + "%s" % exc.strerror | ||||||
|  |     else: | ||||||
|  |         error = prefix + str(exc[-1]) | ||||||
|  | 
 | ||||||
|  |     return error | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Greg Ward
						Greg Ward