From 669e62ca668255b179d93644101fd4e534f02bcb Mon Sep 17 00:00:00 2001 From: Jarl Stefansson Date: Tue, 5 Nov 2013 10:44:38 -0500 Subject: Improve python version and virtualenv version facts --- lib/facter/system_python_version.rb | 19 +++++++++++++++++++ lib/facter/virtualenv_version.rb | 6 +++--- 2 files changed, 22 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/facter/system_python_version.rb b/lib/facter/system_python_version.rb index 099104f..6df6ae4 100644 --- a/lib/facter/system_python_version.rb +++ b/lib/facter/system_python_version.rb @@ -1,7 +1,26 @@ +# Make python versions available as facts +# In lists default python and system python versions require 'puppet' pkg = Puppet::Type.type(:package).new(:name => "python") + Facter.add("system_python_version") do setcode do /^(\d+\.\d+\.\d+).*$/.match(pkg.retrieve[pkg.property(:ensure)])[1] end end + +Facter.add("python_version") do + has_weight 100 + setcode do + /^.*(\d+\.\d+\.\d+)$/.match(Facter::Util::Resolution.exec('python -V'))[1] + end +end + +Facter.add("python_version") do + has_weight 50 + setcode do + if pkg.retrieve[pkg.property(:ensure)] != 'purged' + /^.*(\d+\.\d+\.\d+).*$/.match(pkg.retrieve[pkg.property(:ensure)])[1] + end + end +end diff --git a/lib/facter/virtualenv_version.rb b/lib/facter/virtualenv_version.rb index 327b2ca..c923b09 100644 --- a/lib/facter/virtualenv_version.rb +++ b/lib/facter/virtualenv_version.rb @@ -1,5 +1,5 @@ -# Show the virtualenv version -# works with virualenv loaded and without, pip installed and package installed +# Make virtualenv version available as a fact +# Works with virualenv loaded and without, pip installed and package installed require 'puppet' pkg = Puppet::Type.type(:package).new(:name => "virtualenv") Facter.add("virtualenv_version") do @@ -10,7 +10,7 @@ Facter.add("virtualenv_version") do end Facter.add("virtualenv_version") do - has_eight 50 + has_weight 50 setcode do if pkg.retrieve[pkg.property(:ensure)] != 'purged' /^.*(\d+\.\d+\.\d+).*$/.match(pkg.retrieve[pkg.property(:ensure)])[1] -- cgit v1.2.3