[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#816192: RFS: proselint/0.3.5-1 [ITP] -- A prose linter



another issue

proselint -t
Traceback (most recent call last):
File "/usr/bin/proselint", line 9, in <module>
load_entry_point('proselint==0.5.3', 'console_scripts', 'proselint')()
File "/usr/lib/python3/dist-packages/click/core.py", line 716, in __call__
return self.main(*args, **kwargs)
File "/usr/lib/python3/dist-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/usr/lib/python3/dist-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python3/dist-packages/click/core.py", line 534, in invoke
return callback(*args, **kwargs)
File "/usr/lib/python3/dist-packages/proselint/tools.py", line 35, in wrapped
f(*args, **kwargs)
File "/usr/lib/python3/dist-packages/proselint/command_line.py", line 179, in proselint
click.echo(timing_test())
File "/usr/lib/python3/dist-packages/proselint/command_line.py", line 102, in timing_test
for file in os.listdir(corpus_path):
FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/corpora/0.1.0'


g.





Il Sabato 9 Aprile 2016 20:03, Gianfranco Costamagna <costamagnagianfranco@yahoo.it> ha scritto:
Hi,

I took the liberty to bump std-version and commit something on git and sponsor the package.

one side note:
I removed the team membership and put yourself as uploader.
DPMT is not appropriate anymore, instead PAPT might be more appropriate.

One side note: it doesn't run on a clean pbuilder environment.
proselint 
Traceback (most recent call last):
File "/usr/bin/proselint", line 5, in <module>
from pkg_resources import load_entry_point
ImportError: No module named 'pkg_resources'



after installing python3-pkg-resources everything went well.

So, please fix the above issue (in a -2 version), and consider
moving your git repo somewhere else.

In case you don't agree with my commits, just tell me and I'll ask
ftpmasters to remove it from new queue.

cheers,

G.



Il Venerdì 8 Aprile 2016 20:09, Víctor Cuadrado Juan <me@viccuad.me> ha scritto:
retitle 816192 RFS: proselint/0.3.5-1 [ITP] -- A prose linter
tags 816192 - moreinfo
retitle 816149 ITP: proselint -- Command-line prose linter utility

thanks


On 05/04/16 21:58, Gianfranco Costamagna wrote:
> let me know if you are still interested.

I am :). I intend to help upstream beat the codebase to shape, but have
not had much time for this lately. Reporting status:


On 05/04/16 21:58, Gianfranco Costamagna wrote:
> Hi, do you plan to fix the stuff already reviewed, also please fix lintian
> X: python3-proselint: library-package-name-for-application
usr/bin/proselint
> I think proselint is a better name

On 06/03/16 09:59, Paul Wise wrote:
> I'm not sure you need separate Python 2 and Python 3 packages. Are
> there any users of the proselint Python module apart from the
> proselint command-line tool? If not I would just create a proselint
> binary package that uses Python 3.

Fixed. Moved to a python3's proselint. New repo: (deleted the old one)
https://anonscm.debian.org/cgit/python-modules/packages/proselint.git


On 06/03/16 09:59, Paul Wise wrote:
> I can't find a copy of the BSD license grant in the upstream tarball
> at all

Fixed upstream.
https://github.com/amperser/proselint/issues/343


> The upstream test system assumes proselint is installed instead of
> testing the code in the source tree.

In progress at upstream:
https://github.com/amperser/proselint/issues/345


> The proselint command when installed prints a lot of exceptions.

Fixed upstream.
https://github.com/amperser/proselint/issues/238


> It would be great if upstream would sign their releases using OpenPGP.
>
> https://wiki.debian.org/debian/watch#Cryptographic_signature_verification
>
https://help.riseup.net/en/security/message-security/openpgp/best-practices

In progress on upstream
https://github.com/amperser/proselint/issues/414


> If you decide on a proselint package, it should be Section: text, not
> Section: python.

Fixed.


> I would suggest to forward the manual page upstream. If they want to
> have the manual page automatically generated, the options I know of
> include sphinx and sphinxcontrib-autoprogram or
> python3-sphinx-argparse.
> Upstream may want to add shell completion, which can be done
> automatically using python3-argcomplete.
>

In progress at upstream.
https://github.com/amperser/proselint/issues/396


> I'm seeing a disturbing amount of calls to subprocess functions with
> shell=True or where equivalent Python functions could be used, please
> send upstream a patch to avoid using subprocess or call functions from
> it without using shell=True. Forking subprocesses is more expensive
> than handling it in Python and using shell=True can be potentially
> dangerous so it is a bad habit to get into even if it is safe where
> used in proselint (if it is not, they need to issue some security
> advisories). The Process Identifier Preservation Society will thank
> you!

In progress at upstream.
https://github.com/amperser/proselint/issues/395


> Please add some upstream metadata:
https://wiki.debian.org/UpstreamMetadata

In progress. I want to do this, plus DEP-11.


> Automatic checks:
>
> build:
>
> I: pybuild base:184: cd
> /build/python-proselint-0.3.5/.pybuild/pythonX.Y_2.7/build; python2.7
> -m unittest discover -v
> /bin/sh: 1: proselint: not found

In progress at upstream.
https://github.com/amperser/proselint/issues/345


> check-all-the-things:
>
> $ cme check dpkg
> ...
> Warning in 'control source Build-Depends:2' value 'python-all (>=
> 2.6.6-3~)': unnecessary versioned dependency: python-all >= 2.6.6-3~.
> Debian has squeeze -> 2.6.6-3+squeeze7; wheezy -> 2.7.3-4+deb7u1;
> jessie-kfreebsd -> 2.7.9-1; jessie -> 2.7.9-1; stretch -> 2.7.11-1;
> sid -> 2.7.11-1;
>
> $ codespell --quiet-level=3
> ./proselint/command_line.py:148: intialization ==> initialization
> <more, not sure if they are deliberate or not>
>
> # check if these can be switched to https://
> $ grep -rF http: .

I'm afraid that can't be done programatically, I tried to do some at
the links broke.


> $ grep -riE 'fixme|todo|hack|xxx|broken' .
> ./proselint/checks/garner/needless_variants.py: # ["password",
> ["passcode"]], # FIXME
> ./proselint/checks/wallace/uncomparables.py: ("more",
> "possible") # FIXME

Those are already listed on upstream's issues about literary style.


> $ find -type d \( -iname .bzr -o -iname .git -o -iname .hg -o -iname
> .svn -o -iname CVS -o -iname RCS -o -iname SCCS -o -iname _MTN -o
> -iname _darcs -o -iname .pc -o -iname .cabal-sandbox -o -iname .cdv -o
> -iname .metadata -o -iname CMakeFiles -o -iname _build -o -iname
> _sgbak -o -iname autom4te.cache -o -iname blib -o -iname cover_db -o
> -iname node_modules -o -iname '~.dep' -o -iname '~.dot' -o -iname
> '~.nib' -o -iname '~.plst' \) -prune -o -type f ! \( -iname '*.bak' -o
> -iname '*.swp' -o -iname '#.*' -o -iname '#*#' -o -iname 'core.*' -o
> -iname '*~' -o -iname '*.gif' -o -iname '*.jpg' -o -iname '*.jpeg' -o
> -iname '*.png' -o -iname '*.min.js' -o -iname '*.js.map' -o -iname
> '*.js.min' -o -iname '*.min.css' -o -iname '*.css.map' -o -iname
> '*.css.min' \) -exec spellintian --picky {} +
> ./tests/test_garner_dates.py: uneeded -> unneeded
> ./proselint/demo.md: preceeding -> preceding
> ./proselint/demo.md: latin -> Latin
> ./proselint/checks/pinker/metadiscourse.py: preceeding -> preceding
> ./proselint/command_line.py: intialization -> initialization

Those need to be there for the linter.


> $ find -type f -iname '*.py' -exec pylint
> --msg-template='{path}:{line}:{column}: [{category}:{symbol}] {obj}:
> {msg}' --reports=n {} +
> <lots>

Those allow for indenting and reading the code better, given the large
number of entries.


> $ find -type f -iname '*.py' -exec pep8 --ignore W191 {} +
> <lots more of these 3 warnings>
> ./proselint/checks/norris/denizen_labels.py:39:23: E241 multiple
> spaces after ','
> ./proselint/tools.py:211:41: E226 missing whitespace around arithmetic
operator
> ./proselint/tools.py:211:46: E226 missing whitespace around arithmetic
operator
>

Almost all are E241 (adding multiple spaces to square the list on
checks). I'm happy with the current state. The rest are rules not
unanimously accepted, and PEP8 does not enforce them.
https://github.com/amperser/proselint/issues/416


Cheers,


-- 
Víctor Cuadrado Juan          me@viccuad.me

PGP key ID: 4096R: 0xA2591E231E251F36
Key fingerprint: E3C5 114C 0C5B 4C49 BA03  0991 A259 1E23 1E25 1F36
My signed E-Mails are trustworthy.


Reply to: