On 23/12/2009 19:41, Pierre Rouleau wrote:
2009/12/23 Daniel Harding <dhard...@gmail.com <mailto:dhard...@gmail.com>>
Pierre Rouleau wrote:
>
> However, I wonder why we use a batch file to launch pylint. Why not
> write a python script that would be called pylint.py stored inside
> the Scripts directory? Under Windows, if the .py extension is listed
> in PATHEXT then you can execute a python script simply by typing its
> name. Would it not be simpler?
That would be a simpler implementation, but it would require more work
by the user to use pylint. AFAIK, the Python installer doesn't put
.PY in PATHEXT, so a user wouldn't be able to just invoke 'pylint' out
of the box.
The problem is that the user currently has to edit the batch file
anyways. If the batch file closes the shell as it's the case right
now, nobody can use the current pylint.bat from the shell right out of
the box.
Also, if anyone is using Windows and writing Python code, they got to
know how to run a Python script. They have a choice:
- type "python fullpath\pylint.py arguments"
- Put the fullpath where the script is and place it in the system's
(or the shell's) PATH (and that's already the case for
C:\PythonXX\Scripts), then put .py in PATHEXT and type "pylint
arguments". This is the same for other scripts.
The audience of pylint is supposed to be Python developers. It might
be a good thing that they learn how to set-up PATHEXT to ease their
Windows Python work.
If there is 2 groups of users in Windows, a group that want the exit
code and don't care about pylint closing their shell and another group
that want to use pylint from the command line, there's a problem.
The only other solution I can see (short of finding a decent batch
implementation that will work on *all* versions of Windows supported
by Python) is to create 2 batch files (one with exit, another
without), but that's an ugly solution.
Cheers,
Pierre Rouleau
Could pylint.bat look for a command line parameter to determine which
behaviour is wanted?
The ensuing Python portion of pylint could just ignore this parameter if
it finds it.
If this was acceptable, I'd vote for the default behaviour, ie invoking:
pylint.bat
should be for pylint.bat to call exit with /B (or not call exit at
all?), whereas invoking:
pylint.bat --exitvalue
would call exit(ERRORLEVEL) as currently.
Jonathan Hartley Made of meat. http://tartley.com
tart...@tartley.com +44 7737 062 225 twitter/skype: tartley
_______________________________________________
Python-Projects mailing list
Python-Projects@lists.logilab.org
http://lists.logilab.org/mailman/listinfo/python-projects