| 
									
										
										
										
											2014-03-07 18:03:54 +00:00
										 |  |  | require "utils.rb" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module Language | 
					
						
							|  |  |  |   module Python | 
					
						
							|  |  |  |     def self.major_minor_version python | 
					
						
							|  |  |  |       version = /\d\.\d/.match `#{python} --version 2>&1` | 
					
						
							|  |  |  |       return unless version | 
					
						
							|  |  |  |       Version.new(version.to_s) | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def self.each_python build, &block | 
					
						
							|  |  |  |       original_pythonpath = ENV["PYTHONPATH"] | 
					
						
							|  |  |  |       ["python", "python3"].each do |python| | 
					
						
							|  |  |  |         next if build.without? python | 
					
						
							|  |  |  |         version = self.major_minor_version python | 
					
						
							| 
									
										
										
										
											2014-06-22 15:00:15 -05:00
										 |  |  |         ENV["PYTHONPATH"] = if Formulary.factory(python).installed? | 
					
						
							| 
									
										
										
										
											2014-03-07 18:03:54 +00:00
										 |  |  |           nil | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |           "#{HOMEBREW_PREFIX}/lib/python#{version}/site-packages" | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |         block.call python, version if block | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |       ENV["PYTHONPATH"] = original_pythonpath | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |