Sha256: 7f899801d1dd2bd01b44bc1879c4626a2e8a523a2964366233e6ee150c985101
Contents?: true
Size: 1.08 KB
Versions: 5
Compression:
Stored size: 1.08 KB
Contents
require 'json' require 'httparty' module LicenseFinder class Pip GET_DEPENDENCIES_PY = <<-PYTHON.gsub(/\n+/, ";") from pip.util import get_installed_distributions dists = [(x.project_name, x.version, x.location) for x in get_installed_distributions()] dists = ["[\\\"{0}\\\", \\\"{1}\\\", \\\"{2}\\\"]".format(*dist) for dist in dists] print "[" + ",".join(dists) + "]" PYTHON def self.current_packages output = `python -c '#{GET_DEPENDENCIES_PY}'` JSON(output).map do |(name, version, install_dir)| PipPackage.new( name, version, File.join(install_dir, name), pypi_def(name, version) ) end end def self.active? requirements_path.exist? end private def self.requirements_path Pathname.new('requirements.txt') end def self.pypi_def(name, version) response = HTTParty.get("https://pypi.python.org/pypi/#{name}/#{version}/json") if response.code == 200 JSON.parse(response.body).fetch("info", {}) else {} end end end end
Version data entries
5 entries across 5 versions & 1 rubygems