From b054af5817aed2be88ed6ba856a86423e18edc09 Mon Sep 17 00:00:00 2001 From: xoviat Date: Wed, 6 Sep 2017 15:21:36 -0500 Subject: dist_info: implement command --- setuptools/command/dist_info.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 setuptools/command/dist_info.py (limited to 'setuptools/command/dist_info.py') diff --git a/setuptools/command/dist_info.py b/setuptools/command/dist_info.py new file mode 100644 index 00000000..c8dc659b --- /dev/null +++ b/setuptools/command/dist_info.py @@ -0,0 +1,37 @@ +""" +Create a dist_info directory +As defined in the wheel specification +""" + +import os +import shutil + +from distutils.core import Command + + +class dist_info(Command): + + description = 'create a .dist-info directory' + + user_options = [ + ('egg-base=', 'e', "directory containing .egg-info directories" + " (default: top of the source tree)"), + ] + + def initialize_options(self): + self.egg_base = None + + def finalize_options(self): + pass + + def run(self): + egg_info = self.get_finalized_command('egg_info') + egg_info.run() + dist_info_dir = egg_info.egg_info[:-len('.egg-info')] + '.dist-info' + + bdist_wheel = self.get_finalized_command('bdist_wheel') + bdist_wheel.egg2dist(egg_info.egg_info, dist_info_dir) + + if self.egg_base: + shutil.move(dist_info_dir, os.path.join( + self.egg_base, dist_info_dir)) -- cgit v1.2.1 From 60270c2422caa7ed2b33a327c63a85395f7c23a8 Mon Sep 17 00:00:00 2001 From: xoviat Date: Fri, 13 Oct 2017 16:02:38 -0500 Subject: commands: dist_info: say something! The dist_info command did not say anything like other commands did. This gives some more helpful information. --- setuptools/command/dist_info.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'setuptools/command/dist_info.py') diff --git a/setuptools/command/dist_info.py b/setuptools/command/dist_info.py index c8dc659b..c6c6dacb 100644 --- a/setuptools/command/dist_info.py +++ b/setuptools/command/dist_info.py @@ -7,6 +7,7 @@ import os import shutil from distutils.core import Command +from distutils import log class dist_info(Command): @@ -28,10 +29,12 @@ class dist_info(Command): egg_info = self.get_finalized_command('egg_info') egg_info.run() dist_info_dir = egg_info.egg_info[:-len('.egg-info')] + '.dist-info' + log.info("creating '{}'".format(os.path.abspath(dist_info_dir))) bdist_wheel = self.get_finalized_command('bdist_wheel') bdist_wheel.egg2dist(egg_info.egg_info, dist_info_dir) if self.egg_base: - shutil.move(dist_info_dir, os.path.join( - self.egg_base, dist_info_dir)) + destination = os.path.join(self.egg_base, dist_info_dir) + log.info("creating '{}'".format(os.path.abspath(destination))) + shutil.move(dist_info_dir, destination) -- cgit v1.2.1 From e2e15d52473c52071d331b415bcf949f8e848a22 Mon Sep 17 00:00:00 2001 From: xoviat Date: Sun, 15 Oct 2017 12:53:22 -0500 Subject: dist_info: create the egg_info in the same location This change is a small simplification that simply creates the egg_info directory in the egg_base location; it's a minor cleanup that results in some read and it helps with read-only directories (the egg_info directory is uncontrollable). --- setuptools/command/dist_info.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'setuptools/command/dist_info.py') diff --git a/setuptools/command/dist_info.py b/setuptools/command/dist_info.py index c6c6dacb..28b88c88 100644 --- a/setuptools/command/dist_info.py +++ b/setuptools/command/dist_info.py @@ -4,7 +4,6 @@ As defined in the wheel specification """ import os -import shutil from distutils.core import Command from distutils import log @@ -27,14 +26,10 @@ class dist_info(Command): def run(self): egg_info = self.get_finalized_command('egg_info') + egg_info.egg_base = self.egg_base egg_info.run() dist_info_dir = egg_info.egg_info[:-len('.egg-info')] + '.dist-info' log.info("creating '{}'".format(os.path.abspath(dist_info_dir))) bdist_wheel = self.get_finalized_command('bdist_wheel') bdist_wheel.egg2dist(egg_info.egg_info, dist_info_dir) - - if self.egg_base: - destination = os.path.join(self.egg_base, dist_info_dir) - log.info("creating '{}'".format(os.path.abspath(destination))) - shutil.move(dist_info_dir, destination) -- cgit v1.2.1 From 0e6c4aae4fac818bacefa4bcc7a378944299af86 Mon Sep 17 00:00:00 2001 From: xoviat Date: Sun, 15 Oct 2017 13:10:49 -0500 Subject: dist_info: re-finalize the egg_info options --- setuptools/command/dist_info.py | 1 + 1 file changed, 1 insertion(+) (limited to 'setuptools/command/dist_info.py') diff --git a/setuptools/command/dist_info.py b/setuptools/command/dist_info.py index 28b88c88..c45258fa 100644 --- a/setuptools/command/dist_info.py +++ b/setuptools/command/dist_info.py @@ -27,6 +27,7 @@ class dist_info(Command): def run(self): egg_info = self.get_finalized_command('egg_info') egg_info.egg_base = self.egg_base + egg_info.finalize_options() egg_info.run() dist_info_dir = egg_info.egg_info[:-len('.egg-info')] + '.dist-info' log.info("creating '{}'".format(os.path.abspath(dist_info_dir))) -- cgit v1.2.1