Closed merwok closed 10 years ago
In code working with instances of packaging.database.Distribution, it’s bothersome to have to use '%r %s' % (dist.name, dist.version) all the time. It is also not good-looking in 2.x, where we get u'name'. I think it would be best to implement a __str__ method on the class and just use %s everywhere, for example in pysetup list and pysetup search. More sophisticated clients that want to display projects in a GUI can still access dist.name, dist.version and other attributes.
I’ve insisted on using %r for project names and paths to avoid ambiguities with trailing spaces and such hard-to-catch things. For logging output, we have to pass pure strings, but for direct console printing we could use ANSI escape sequences to display projects’ names in bold for example.
New changeset ff44594dd3c0 by Guillaume Pratte in branch 'default': bpo-13166: Implement __str__ on Distribution and EggInfoDistribution, use for pysetup list, pysetup graph and installation log http://hg.python.org/distutils2/rev/ff44594dd3c0
64b0bf5e0596 reverted the changes to d2.depgraph; more tests need to be added first to make sure the new output is still valid DOT.
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields: ```python assignee = 'https://github.com/merwok' closed_at =
created_at =
labels = []
title = 'Implement packaging.database.*Distribution.__str__'
updated_at =
user = 'https://github.com/merwok'
```
bugs.python.org fields:
```python
activity =
actor = 'eric.araujo'
assignee = 'eric.araujo'
closed = True
closed_date =
closer = 'eric.araujo'
components = ['Distutils2']
creation =
creator = 'eric.araujo'
dependencies = []
files = []
hgrepos = []
issue_num = 13166
keywords = []
message_count = 3.0
messages = ['145463', '160800', '160896']
nosy_count = 4.0
nosy_names = ['tarek', 'eric.araujo', 'alexis', 'python-dev']
pr_nums = []
priority = 'normal'
resolution = 'out of date'
stage = 'resolved'
status = 'closed'
superseder = None
type = None
url = 'https://bugs.python.org/issue13166'
versions = ['3rd party', 'Python 3.3']
```