37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | # encoding: utf-8 | ||
|  | """
 | ||
|  | Utilities for version comparison | ||
|  | 
 | ||
|  | It is a bit ridiculous that we need these. | ||
|  | """
 | ||
|  | 
 | ||
|  | #----------------------------------------------------------------------------- | ||
|  | #  Copyright (C) 2013  The yap_ipython Development Team | ||
|  | # | ||
|  | #  Distributed under the terms of the BSD License.  The full license is in | ||
|  | #  the file COPYING, distributed as part of this software. | ||
|  | #----------------------------------------------------------------------------- | ||
|  | 
 | ||
|  | #----------------------------------------------------------------------------- | ||
|  | # Imports | ||
|  | #----------------------------------------------------------------------------- | ||
|  | 
 | ||
|  | from distutils.version import LooseVersion | ||
|  | 
 | ||
|  | #----------------------------------------------------------------------------- | ||
|  | # Code | ||
|  | #----------------------------------------------------------------------------- | ||
|  | 
 | ||
|  | def check_version(v, check): | ||
|  |     """check version string v >= check
 | ||
|  | 
 | ||
|  |     If dev/prerelease tags result in TypeError for string-number comparison, | ||
|  |     it is assumed that the dependency is satisfied. | ||
|  |     Users on dev branches are responsible for keeping their own packages up to date. | ||
|  |     """
 | ||
|  |     try: | ||
|  |         return LooseVersion(v) >= LooseVersion(check) | ||
|  |     except TypeError: | ||
|  |         return True | ||
|  | 
 |