This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2010年05月01日 15:22 by meatballhat, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| mkpkg-round-of-pylinting.patch | meatballhat, 2010年05月19日 17:54 | primary patch | ||
| Messages (14) | |||
|---|---|---|---|
| msg104726 - (view) | Author: Dan Buch (meatballhat) | Date: 2010年05月01日 15:22 | |
On first glance, `distutils2.mkpkg` does not reflect the latest and greatest in Python coding standards. I'd like to take a stab at PEP-(7|8)'ing the whole thing, although I know there are other issues open to add features to the module, so I don't want to cause unnecessary merge pains. Thoughts? |
|||
| msg104727 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2010年05月01日 15:34 | |
Pepeightification is ok for things like whitespace that do not break compatibility (don’t waste time doing it manually though, we have automated tools that can be used to reindent the whole of Distutils2). However, renaming classes and functions has to be done with caution, if there’s code out there that depends on the module. Moreover, PEP 8 does not tell everything, e.g. other PEPs describe good practices for doctrings, and a lot of idioms are not covered in PEP 8. Distutils2 also has the constraint of having to stay compatible with Python 2.4. Personally, I also find that the name of the script is misleading. That said, I don’t know the status of mkpkg. If we aim at removing the setup.py script, a utility that helps writing setup.py scripts is doomed to be removed. Or it may be repurposed to write a setup.cfg file. |
|||
| msg104732 - (view) | Author: Dan Buch (meatballhat) | Date: 2010年05月01日 17:28 | |
I probably shouldn't have dropped the PEP8 bomb so much as stated that I feel the module could use some updating. It's my (very much potentially wrong) understanding that `distutils2.mkpkg` isn't considered library code so much as the guts of a script. The reason for my concern about `distutils2.mkpkg` goes something like this: - it is a new addition to the distutils toolkit - if any kind of walkthrough is to be written for using distutils, there's a good chance the `mkpkg` script will be mentioned - curious folks like myself may look at the source code for the script - said curious folks may either be new to Python or new to programming in general - I don't want newcomers getting the wrong idea about Python coding standards I should also mention that I have the same concern(s) about everything in the `Demo` tree of CPython :) Even if `setup.py` files aren't the eventual goal, if they're around for even another 2 years I think the effort is justified. </2cents> |
|||
| msg105172 - (view) | Author: Dan Buch (meatballhat) | Date: 2010年05月06日 23:33 | |
bump. Would it be more helpful if I were to submit a patch, too, or is doing so prior to guidance from the driver (Tarek) frowned upon? |
|||
| msg105173 - (view) | Author: Tarek Ziadé (tarek) * (Python committer) | Date: 2010年05月06日 23:44 | |
I am adding Sean (jafo) who wrote this module. He'll have the best answer :) |
|||
| msg105621 - (view) | Author: Dan Buch (meatballhat) | Date: 2010年05月13日 03:16 | |
I've started work on cleanup of ``mkpkg.py`` per instruction from jafo, am pushing to a branch 'mbh/mkpkg-cleanup' of my distutils2 fork: http://bitbucket.org/meatballhat/distutils2/changeset/be40174c59e2 I'll attach patch(es) when finished :) |
|||
| msg105947 - (view) | Author: Dan Buch (meatballhat) | Date: 2010年05月18日 02:57 | |
The attached mkpkg-round-of-pylinting.patch is known to cleanly apply to tarek's branch @ 541f90ef0636 |
|||
| msg106851 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2010年06月01日 17:56 | |
I’ve started to review your patch but I find it a bid unwieldy to read. Would you mind exporting changesets to patches? I tried to look at your repo, but didn’t know which branch to look at. So, thanks for giving us the occasion of thinking about the patch workflow. Using changesets seems more natural since we use Bitbucket, while OTOH using regular diffs can streamline the history and remove unnecessary details (e.g. I’m not sure we want branch names to clutter the history forever (see http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/ for more info)). Would it be too much of a hassle to provide links or a Mercurial bundle of a set of small changesets? Having different patches would help us separate the non-controversial stuff (whitespace) from the refactoring and improvements. That said, I can offer a few remarks on the patch. - Don’t put editor settings in the files. - Changing "if s in 'yn'" to "if s in ('y', 'n')" is not really an improvement. It’s not more readable to always use tuples or frozensets for membership testing; str has __contains__ for a reason :) - Not sure how your print_ indirection is helpful. - I don’t know how much reST we want in the docstrings: None, some constructs, Sphinx extensions? Don’t worry if there are no replies in a few days, people are pretty busy. I’ll ask about the meta-issues (workflow, reST) on the ML if Tarek doesn’t answer here. Cheers :) |
|||
| msg106870 - (view) | Author: Dan Buch (meatballhat) | Date: 2010年06月02日 00:40 | |
@merwok much thanks for the feedback. After seeing how you're working via bitbucket I've decided to create a fresh fork from tarek and recreate my patch in multiple changesets all within the default branch. I'll update the issue when finished. |
|||
| msg110605 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2010年07月17日 21:37 | |
I’m assigning this bug to myself as part of my work on #8252. Dan, I’ll sort the various fixes in your patch and replay them incrementally. I’ll be pleased to work with you if you have time (find me in #distutils or through email), if you don’t thanks for the starting point, I’ll manage the rest :) I also had an epiphany: Why do we add a script when we have a nice command framework? So when the script is cleaned up, I’ll turn it into a distutils2.command.init command module. |
|||
| msg112036 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2010年07月30日 01:31 | |
I have six changesets that make progressive improvements on cosmetic things, so that the code gets more readable. You can start with http://bitbucket.org/Merwok/distutils2-killsetup/changeset/5e2906cabeab and follow the parent links. The other changes you made include changing the config file (+1, except with a simpler "mkpkg" section name), touching up the input/print code, and improving the helper methods (e.g. using codecs.open, using a simple string template instead of a lot of file.write). I had an illumination: We shouldn’t code input/print things but use the cmd module. That will be my next move, then I’ll look at your other code improvements (they will be a bit hard to spot, since your diff basically rewrites every line so I can’t easily see the changes made inside one function, but I’ll manage). |
|||
| msg112037 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2010年07月30日 01:56 | |
After speaking with a Montreal-Python hacker about my use case and reading the PyMOTW page for cmd, I think that using raw_input and print is actually the way to go. We don’t want the user to enter commands, just to answer questions. |
|||
| msg132857 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2011年04月03日 16:27 | |
FYI, the mkcfg module has seen a lot of change since last summer, some of which have bad style. I still have this bug on my todo list to fix that. |
|||
| msg144279 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2011年09月19日 14:23 | |
> Changing "if s in 'yn'" to "if s in ('y', 'n')" is not really an
> improvement. It’s not more readable to always use tuples or frozensets
> for membership testing; str has __contains__ for a reason :)
Let me eat my words: using "in 'yn'" matches '' and 'yn', which we don’t want. Changed in 10fd0d0895a1.
|
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:00 | admin | set | github: 52837 |
| 2014年03月13日 03:59:55 | eric.araujo | set | status: open -> closed resolution: accepted -> out of date stage: needs patch -> resolved |
| 2011年09月19日 14:23:06 | eric.araujo | set | messages:
+ msg144279 versions: + Python 3.3 |
| 2011年06月09日 22:38:56 | michael.mulich | set | nosy:
+ michael.mulich |
| 2011年04月03日 16:28:08 | eric.araujo | unlink | issue8253 dependencies |
| 2011年04月03日 16:27:14 | eric.araujo | set | messages: + msg132857 |
| 2011年04月03日 16:25:38 | eric.araujo | unlink | issue8252 dependencies |
| 2011年01月23日 01:41:38 | jafo | set | nosy:
- jafo |
| 2010年11月06日 14:34:56 | eric.araujo | unlink | issue8679 dependencies |
| 2010年09月30日 01:54:54 | eric.araujo | link | issue8679 dependencies |
| 2010年09月30日 01:18:32 | eric.araujo | set | versions: + 3rd party, - Python 2.6, Python 2.5, Python 3.1, Python 2.7, Python 3.2 |
| 2010年07月30日 01:56:58 | eric.araujo | set | messages: + msg112037 |
| 2010年07月30日 01:31:06 | eric.araujo | set | messages: + msg112036 |
| 2010年07月18日 00:09:51 | eric.araujo | link | issue8253 dependencies |
| 2010年07月17日 21:37:28 | eric.araujo | set | assignee: tarek -> eric.araujo versions: - Python 3.3 nosy: + titus messages: + msg110605 resolution: accepted stage: needs patch |
| 2010年07月17日 21:30:48 | eric.araujo | link | issue8252 dependencies |
| 2010年06月02日 00:40:03 | meatballhat | set | messages: + msg106870 |
| 2010年06月01日 17:56:49 | eric.araujo | set | messages: + msg106851 |
| 2010年05月19日 17:55:01 | meatballhat | set | files: + mkpkg-round-of-pylinting.patch |
| 2010年05月19日 17:54:43 | meatballhat | set | files: - mkpkg-round-of-pylinting.patch |
| 2010年05月19日 17:49:01 | meatballhat | set | files: - mkpkg-round-of-pylinting.patch |
| 2010年05月19日 17:48:49 | meatballhat | set | files: + mkpkg-round-of-pylinting.patch |
| 2010年05月19日 17:22:24 | meatballhat | set | files: + mkpkg-round-of-pylinting.patch |
| 2010年05月19日 17:21:23 | meatballhat | set | files: - mkpkg-round-of-pylinting.patch |
| 2010年05月18日 02:57:47 | meatballhat | set | messages: + msg105947 |
| 2010年05月18日 02:31:30 | meatballhat | set | files:
+ mkpkg-round-of-pylinting.patch keywords: + patch |
| 2010年05月13日 03:16:19 | meatballhat | set | messages: + msg105621 |
| 2010年05月06日 23:44:31 | tarek | set | nosy:
+ jafo messages: + msg105173 |
| 2010年05月06日 23:33:22 | meatballhat | set | messages: + msg105172 |
| 2010年05月01日 17:28:02 | meatballhat | set | messages: + msg104732 |
| 2010年05月01日 15:34:26 | eric.araujo | set | versions:
- 3rd party nosy: + eric.araujo messages: + msg104727 type: behavior -> |
| 2010年05月01日 15:22:10 | meatballhat | create | |