summaryrefslogtreecommitdiff
path: root/setuptools/command/egg_info.py
diff options
context:
space:
mode:
authorAlex Gr?nholm <alex.gronholm@nextday.fi>2014-06-18 20:31:05 +0300
committerAlex Gr?nholm <alex.gronholm@nextday.fi>2014-06-18 20:31:05 +0300
commit4e10ccc81f2ea4c7c84ef2943c1bc426fc41b8be (patch)
tree5c2db788b9392654ec2a4ed86cdf40108804b46e /setuptools/command/egg_info.py
parent392e4dd95cc78167872174353cff1e881c0b947a (diff)
downloadpython-setuptools-bitbucket-4e10ccc81f2ea4c7c84ef2943c1bc426fc41b8be.tar.gz
Fixed PEP 8 compliancy of the setuptools.command package
Diffstat (limited to 'setuptools/command/egg_info.py')
-rwxr-xr-xsetuptools/command/egg_info.py100
1 files changed, 57 insertions, 43 deletions
diff --git a/setuptools/command/egg_info.py b/setuptools/command/egg_info.py
index 04ed6357..981c7ab7 100755
--- a/setuptools/command/egg_info.py
+++ b/setuptools/command/egg_info.py
@@ -2,21 +2,22 @@
Create a distribution's .egg-info directory and contents"""
+from distutils.filelist import FileList as _FileList
+from distutils.util import convert_path
+from distutils import log
+import distutils.errors
import os
import re
import sys
from setuptools import Command
-import distutils.errors
-from distutils import log
from setuptools.command.sdist import sdist
from setuptools.compat import basestring, PY3, StringIO
from setuptools import svn_utils
-from distutils.util import convert_path
-from distutils.filelist import FileList as _FileList
-from pkg_resources import (parse_requirements, safe_name, parse_version,
- safe_version, yield_lines, EntryPoint, iter_entry_points, to_filename)
from setuptools.command.sdist import walk_revctrl
+from pkg_resources import (
+ parse_requirements, safe_name, parse_version,
+ safe_version, yield_lines, EntryPoint, iter_entry_points, to_filename)
import setuptools.unicode_utils as unicode_utils
@@ -27,11 +28,11 @@ class egg_info(Command):
('egg-base=', 'e', "directory containing .egg-info directories"
" (default: top of the source tree)"),
('tag-svn-revision', 'r',
- "Add subversion revision ID to version number"),
+ "Add subversion revision ID to version number"),
('tag-date', 'd', "Add date stamp (e.g. 20050528) to version number"),
('tag-build=', 'b', "Specify explicit tag to add to version number"),
('no-svn-revision', 'R',
- "Don't add subversion revision ID [default]"),
+ "Don't add subversion revision ID [default]"),
('no-date', 'D', "Don't include date stamp [default]"),
]
@@ -52,6 +53,7 @@ class egg_info(Command):
def save_version_info(self, filename):
from setuptools.command.setopt import edit_config
+
values = dict(
egg_info=dict(
tag_svn_revision=0,
@@ -68,23 +70,25 @@ class egg_info(Command):
try:
list(
- parse_requirements('%s==%s' % (self.egg_name,self.egg_version))
+ parse_requirements('%s==%s' % (self.egg_name,
+ self.egg_version))
)
except ValueError:
raise distutils.errors.DistutilsOptionError(
"Invalid distribution name or version syntax: %s-%s" %
- (self.egg_name,self.egg_version)
+ (self.egg_name, self.egg_version)
)
if self.egg_base is None:
dirs = self.distribution.package_dir
- self.egg_base = (dirs or {}).get('',os.curdir)
+ self.egg_base = (dirs or {}).get('', os.curdir)
self.ensure_dirname('egg_base')
- self.egg_info = to_filename(self.egg_name)+'.egg-info'
+ self.egg_info = to_filename(self.egg_name) + '.egg-info'
if self.egg_base != os.curdir:
self.egg_info = os.path.join(self.egg_base, self.egg_info)
- if '-' in self.egg_name: self.check_broken_egg_info()
+ if '-' in self.egg_name:
+ self.check_broken_egg_info()
# Set package version for the benefit of dumber commands
# (e.g. sdist, bdist_wininst, etc.)
@@ -96,7 +100,7 @@ class egg_info(Command):
# to the version info
#
pd = self.distribution._patched_dist
- if pd is not None and pd.key==self.egg_name.lower():
+ if pd is not None and pd.key == self.egg_name.lower():
pd._version = self.egg_version
pd._parsed_version = parse_version(self.egg_version)
self.distribution._patched_dist = None
@@ -154,7 +158,7 @@ class egg_info(Command):
installer = self.distribution.fetch_build_egg
for ep in iter_entry_points('egg_info.writers'):
writer = ep.load(installer=installer)
- writer(self, ep.name, os.path.join(self.egg_info,ep.name))
+ writer(self, ep.name, os.path.join(self.egg_info, ep.name))
# Get rid of native_libs.txt if it was put there by older bdist_egg
nl = os.path.join(self.egg_info, "native_libs.txt")
@@ -166,12 +170,14 @@ class egg_info(Command):
def tags(self):
version = ''
if self.tag_build:
- version+=self.tag_build
+ version += self.tag_build
if self.tag_svn_revision and (
os.path.exists('.svn') or os.path.exists('PKG-INFO')
- ): version += '-r%s' % self.get_svn_revision()
+ ):
+ version += '-r%s' % self.get_svn_revision()
if self.tag_date:
import time
+
version += time.strftime("-%Y%m%d")
return version
@@ -181,32 +187,33 @@ class egg_info(Command):
def find_sources(self):
"""Generate SOURCES.txt manifest file"""
- manifest_filename = os.path.join(self.egg_info,"SOURCES.txt")
+ manifest_filename = os.path.join(self.egg_info, "SOURCES.txt")
mm = manifest_maker(self.distribution)
mm.manifest = manifest_filename
mm.run()
self.filelist = mm.filelist
def check_broken_egg_info(self):
- bei = self.egg_name+'.egg-info'
+ bei = self.egg_name + '.egg-info'
if self.egg_base != os.curdir:
bei = os.path.join(self.egg_base, bei)
if os.path.exists(bei):
log.warn(
- "-"*78+'\n'
+ "-" * 78 + '\n'
"Note: Your current .egg-info directory has a '-' in its name;"
'\nthis will not work correctly with "setup.py develop".\n\n'
- 'Please rename %s to %s to correct this problem.\n'+'-'*78,
+ 'Please rename %s to %s to correct this problem.\n' + '-' * 78,
bei, self.egg_info
)
self.broken_egg_info = self.egg_info
- self.egg_info = bei # make it work for now
+ self.egg_info = bei # make it work for now
+
class FileList(_FileList):
"""File list that accepts only existing, platform-independent paths"""
def append(self, item):
- if item.endswith('\r'): # Fix older sdists built on Windows
+ if item.endswith('\r'): # Fix older sdists built on Windows
item = item[:-1]
path = convert_path(item)
@@ -229,29 +236,28 @@ class FileList(_FileList):
def _safe_path(self, path):
enc_warn = "'%s' not %s encodable -- skipping"
- #To avoid accidental trans-codings errors, first to unicode
+ # To avoid accidental trans-codings errors, first to unicode
u_path = unicode_utils.filesys_decode(path)
if u_path is None:
log.warn("'%s' in unexpected encoding -- skipping" % path)
return False
- #Must ensure utf-8 encodability
+ # Must ensure utf-8 encodability
utf8_path = unicode_utils.try_encode(u_path, "utf-8")
if utf8_path is None:
log.warn(enc_warn, path, 'utf-8')
return False
try:
- #accept is either way checks out
+ # accept is either way checks out
if os.path.exists(u_path) or os.path.exists(utf8_path):
return True
- #this will catch any encode errors decoding u_path
+ # this will catch any encode errors decoding u_path
except UnicodeEncodeError:
log.warn(enc_warn, path, sys.getfilesystemencoding())
class manifest_maker(sdist):
-
template = "MANIFEST.in"
def initialize_options(self):
@@ -266,7 +272,7 @@ class manifest_maker(sdist):
def run(self):
self.filelist = FileList()
if not os.path.exists(self.manifest):
- self.write_manifest() # it must exist so it'll get in the list
+ self.write_manifest() # it must exist so it'll get in the list
self.filelist.findall()
self.add_defaults()
if os.path.exists(self.template):
@@ -287,12 +293,12 @@ class manifest_maker(sdist):
"""
self.filelist._repair()
- #Now _repairs should encodability, but not unicode
+ # Now _repairs should encodability, but not unicode
files = [self._manifest_normalize(f) for f in self.filelist.files]
msg = "writing manifest file '%s'" % self.manifest
self.execute(write_file, (self.manifest, files), msg)
- def warn(self, msg): # suppress missing-file warnings from sdist
+ def warn(self, msg): # suppress missing-file warnings from sdist
if not msg.startswith("standard file not found:"):
sdist.warn(self, msg)
@@ -314,7 +320,8 @@ class manifest_maker(sdist):
self.filelist.exclude_pattern(None, prefix=build.build_base)
self.filelist.exclude_pattern(None, prefix=base_dir)
sep = re.escape(os.sep)
- self.filelist.exclude_pattern(sep+r'(RCS|CVS|\.svn)'+sep, is_regex=1)
+ self.filelist.exclude_pattern(sep + r'(RCS|CVS|\.svn)' + sep,
+ is_regex=1)
def write_file(filename, contents):
@@ -323,10 +330,10 @@ def write_file(filename, contents):
"""
contents = "\n".join(contents)
- #assuming the contents has been vetted for utf-8 encoding
+ # assuming the contents has been vetted for utf-8 encoding
contents = contents.encode("utf-8")
- with open(filename, "wb") as f: # always write POSIX-style manifest
+ with open(filename, "wb") as f: # always write POSIX-style manifest
f.write(contents)
@@ -343,10 +350,12 @@ def write_pkg_info(cmd, basename, filename):
finally:
metadata.name, metadata.version = oldname, oldver
- safe = getattr(cmd.distribution,'zip_safe',None)
+ safe = getattr(cmd.distribution, 'zip_safe', None)
from setuptools.command import bdist_egg
+
bdist_egg.write_safety_flag(cmd.egg_info, safe)
+
def warn_depends_obsolete(cmd, basename, filename):
if os.path.exists(filename):
log.warn(
@@ -361,6 +370,7 @@ def _write_requirements(stream, reqs):
lines = map(append_cr, lines)
stream.writelines(lines)
+
def write_requirements(cmd, basename, filename):
dist = cmd.distribution
data = StringIO()
@@ -371,48 +381,52 @@ def write_requirements(cmd, basename, filename):
_write_requirements(data, extras_require[extra])
cmd.write_or_delete_file("requirements", filename, data.getvalue())
+
def write_toplevel_names(cmd, basename, filename):
pkgs = dict.fromkeys(
[
- k.split('.',1)[0]
+ k.split('.', 1)[0]
for k in cmd.distribution.iter_distribution_names()
]
)
- cmd.write_file("top-level names", filename, '\n'.join(pkgs)+'\n')
+ cmd.write_file("top-level names", filename, '\n'.join(pkgs) + '\n')
def overwrite_arg(cmd, basename, filename):
write_arg(cmd, basename, filename, True)
+
def write_arg(cmd, basename, filename, force=False):
argname = os.path.splitext(basename)[0]
value = getattr(cmd.distribution, argname, None)
if value is not None:
- value = '\n'.join(value)+'\n'
+ value = '\n'.join(value) + '\n'
cmd.write_or_delete_file(argname, filename, value, force)
+
def write_entries(cmd, basename, filename):
ep = cmd.distribution.entry_points
- if isinstance(ep,basestring) or ep is None:
+ if isinstance(ep, basestring) or ep is None:
data = ep
elif ep is not None:
data = []
for section, contents in sorted(ep.items()):
- if not isinstance(contents,basestring):
+ if not isinstance(contents, basestring):
contents = EntryPoint.parse_group(section, contents)
- contents = '\n'.join(sorted(map(str,contents.values())))
- data.append('[%s]\n%s\n\n' % (section,contents))
+ contents = '\n'.join(sorted(map(str, contents.values())))
+ data.append('[%s]\n%s\n\n' % (section, contents))
data = ''.join(data)
cmd.write_or_delete_file('entry points', filename, data, True)
+
def get_pkg_info_revision():
# See if we can get a -r### off of PKG-INFO, in case this is an sdist of
# a subversion revision
#
if os.path.exists('PKG-INFO'):
- f = open('PKG-INFO','rU')
+ f = open('PKG-INFO', 'rU')
for line in f:
match = re.match(r"Version:.*-r(\d+)\s*$", line)
if match: