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

Reply via email to