<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/flake8.git/src/flake8, branch bug/179</title>
<subtitle>gitlab.com: pycqa/flake8.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/flake8.git/'/>
<entry>
<title>Set-up default attributes for FlakesChecker</title>
<updated>2016-08-03T21:48:39+00:00</updated>
<author>
<name>Ian Cordasco</name>
<email>graffatcolmingov@gmail.com</email>
</author>
<published>2016-07-27T13:50:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/flake8.git/commit/?id=240609edd48f12d6746ce9fba72593663e076af7'/>
<id>240609edd48f12d6746ce9fba72593663e076af7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Serialize Checkers PluginTypeManager to a dict</title>
<updated>2016-08-03T21:48:39+00:00</updated>
<author>
<name>Ian Cordasco</name>
<email>graffatcolmingov@gmail.com</email>
</author>
<published>2016-07-27T13:15:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/flake8.git/commit/?id=e14d0e6352efcf78d33c896a425ddc41405acd02'/>
<id>e14d0e6352efcf78d33c896a425ddc41405acd02</id>
<content type='text'>
It seems likely that the multiprocessing module on Windows is not
capable of serializing an object with the structure that we have and
preserving the attributes we dynamically set on plugins (like the
FlakesChecker). To avoid issues like this with all plugins (although
we have only found this on Windows with the FlakesChecker), let's try
serializing the Checkers PluginTypeManager to a dictionary so that the
only object that a Queue is really trying to serialize/deserialize is
the FlakesChecker itself.

Related to #179
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It seems likely that the multiprocessing module on Windows is not
capable of serializing an object with the structure that we have and
preserving the attributes we dynamically set on plugins (like the
FlakesChecker). To avoid issues like this with all plugins (although
we have only found this on Windows with the FlakesChecker), let's try
serializing the Checkers PluginTypeManager to a dictionary so that the
only object that a Queue is really trying to serialize/deserialize is
the FlakesChecker itself.

Related to #179
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump version for v3.0.3</title>
<updated>2016-07-30T11:58:42+00:00</updated>
<author>
<name>Ian Cordasco</name>
<email>graffatcolmingov@gmail.com</email>
</author>
<published>2016-07-30T11:58:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/flake8.git/commit/?id=0b861e31ef16d299e02af4c676f4b8c960e54e40'/>
<id>0b861e31ef16d299e02af4c676f4b8c960e54e40</id>
<content type='text'>
Update release date as well
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update release date as well
</pre>
</div>
</content>
</entry>
<entry>
<title>Reset Application.formatter attribute in init_report</title>
<updated>2016-07-30T11:42:34+00:00</updated>
<author>
<name>Ian Cordasco</name>
<email>graffatcolmingov@gmail.com</email>
</author>
<published>2016-07-30T11:42:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/flake8.git/commit/?id=22650e50866c4669cab01bf1933db2b87d28249d'/>
<id>22650e50866c4669cab01bf1933db2b87d28249d</id>
<content type='text'>
For our Legacy API users, StyleGuide.init_report should reset the
formatter attribute before calling Application.make_formatter().

Closes #200
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For our Legacy API users, StyleGuide.init_report should reset the
formatter attribute before calling Application.make_formatter().

Closes #200
</pre>
</div>
</content>
</entry>
<entry>
<title>Re-allow for relative paths for exclude</title>
<updated>2016-07-30T00:27:06+00:00</updated>
<author>
<name>Ian Cordasco</name>
<email>graffatcolmingov@gmail.com</email>
</author>
<published>2016-07-30T00:27:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/flake8.git/commit/?id=63f5f15068ed7031b4375168392ca64a856083b6'/>
<id>63f5f15068ed7031b4375168392ca64a856083b6</id>
<content type='text'>
Previously, all testing was done from the directory in which the
configuration file lived, so this bug went unnoticed. However, if you
run Flake8 against its own source from a directory above, you would
notice that the patterns in the exclude config value in tox.ini were
ignored. This is because we (like any reasonable person) are using
relative paths. The path is relative, however, to the directory in
which the configuration file was located. So we keep track of which
directory that is and use that to normalize the paths in the config
file.

Yes, there is an unrelated change to our tox.ini in this commit as
well. ;-)

Closes #194
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, all testing was done from the directory in which the
configuration file lived, so this bug went unnoticed. However, if you
run Flake8 against its own source from a directory above, you would
notice that the patterns in the exclude config value in tox.ini were
ignored. This is because we (like any reasonable person) are using
relative paths. The path is relative, however, to the directory in
which the configuration file was located. So we keep track of which
directory that is and use that to normalize the paths in the config
file.

Yes, there is an unrelated change to our tox.ini in this commit as
well. ;-)

Closes #194
</pre>
</div>
</content>
</entry>
<entry>
<title>Open our output file in append mode always</title>
<updated>2016-07-29T23:14:14+00:00</updated>
<author>
<name>Ian Cordasco</name>
<email>graffatcolmingov@gmail.com</email>
</author>
<published>2016-07-29T22:18:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/flake8.git/commit/?id=e93aad6043f870d04648e7e0af983248ec60c9ef'/>
<id>e93aad6043f870d04648e7e0af983248ec60c9ef</id>
<content type='text'>
This avoid overwriting portions of our log output when using Flake8
in verbose mode.

Closes #193
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This avoid overwriting portions of our log output when using Flake8
in verbose mode.

Closes #193
</pre>
</div>
</content>
</entry>
<entry>
<title>Report errors when run via setuptools.</title>
<updated>2016-07-29T17:18:57+00:00</updated>
<author>
<name>Alex Wood</name>
<email>awood@redhat.com</email>
</author>
<published>2016-07-29T17:12:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/flake8.git/commit/?id=f4a91f938f7608d7a985f1fd19e05ba6d056f8e6'/>
<id>f4a91f938f7608d7a985f1fd19e05ba6d056f8e6</id>
<content type='text'>
Closes #199
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #199
</pre>
</div>
</content>
</entry>
<entry>
<title>Diable multiprocessing behaviour on Windows</title>
<updated>2016-07-29T12:04:37+00:00</updated>
<author>
<name>Ian Cordasco</name>
<email>graffatcolmingov@gmail.com</email>
</author>
<published>2016-07-29T11:49:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/flake8.git/commit/?id=429d8a196e1ad7317b195b07f0f6a06027d4476f'/>
<id>429d8a196e1ad7317b195b07f0f6a06027d4476f</id>
<content type='text'>
Due to https://bugs.python.org/issue27649, we cannot continue to
expect multiprocessing to work as we expect and document it on Windows.
As such, we are going to revert back to our previous behaviour of
disabling it across all versions of Python on Windows to provide the
default expected behaviour of Flake8 on that Operating System.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Due to https://bugs.python.org/issue27649, we cannot continue to
expect multiprocessing to work as we expect and document it on Windows.
As such, we are going to revert back to our previous behaviour of
disabling it across all versions of Python on Windows to provide the
default expected behaviour of Flake8 on that Operating System.
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow plugins that are on by default to be ignored</title>
<updated>2016-07-29T00:28:13+00:00</updated>
<author>
<name>Ian Cordasco</name>
<email>graffatcolmingov@gmail.com</email>
</author>
<published>2016-07-29T00:24:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/flake8.git/commit/?id=c670217c24db25ad3cab699f6394372a94777379'/>
<id>c670217c24db25ad3cab699f6394372a94777379</id>
<content type='text'>
Previously, to ensure that plugins on by default were reported, we
added them to the select list. This means that ignoring them became
impossible. To accomodate our reporting logic and a user's ability
to ignore, we need to keep our select and extended select lists
separated.

This allows us to have a better understanding of who is selecting what,
where, and how and make our decision as to whether or not an error
should be reported more wisely.

Closes #195
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, to ensure that plugins on by default were reported, we
added them to the select list. This means that ignoring them became
impossible. To accomodate our reporting logic and a user's ability
to ignore, we need to keep our select and extended select lists
separated.

This allows us to have a better understanding of who is selecting what,
where, and how and make our decision as to whether or not an error
should be reported more wisely.

Closes #195
</pre>
</div>
</content>
</entry>
<entry>
<title>Raise exception when entry_point not callable</title>
<updated>2016-07-28T18:49:58+00:00</updated>
<author>
<name>Marc Abramowitz</name>
<email>marc@marc-abramowitz.com</email>
</author>
<published>2016-07-28T18:49:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/flake8.git/commit/?id=d234f22e09209d586501a9f8cbd03873aedeba62'/>
<id>d234f22e09209d586501a9f8cbd03873aedeba62</id>
<content type='text'>
E.g.:

```
$ .tox/flake8/bin/flake8 mobileweb
Traceback (most recent call last):
  File ".tox/flake8/bin/flake8", line 9, in &lt;module&gt;
    load_entry_point('flake8', 'console_scripts', 'flake8')()
  File "/Users/marca/dev/git-repos/flake8/src/flake8/main/cli.py", line 16, in main
    app.run(argv)
  File "/Users/marca/dev/git-repos/flake8/src/flake8/main/application.py", line 316, in run
    self._run(argv)
  File "/Users/marca/dev/git-repos/flake8/src/flake8/main/application.py", line 299, in _run
    self.initialize(argv)
  File "/Users/marca/dev/git-repos/flake8/src/flake8/main/application.py", line 289, in initialize
    self.find_plugins()
  File "/Users/marca/dev/git-repos/flake8/src/flake8/main/application.py", line 143, in find_plugins
    self.check_plugins.load_plugins()
  File "/Users/marca/dev/git-repos/flake8/src/flake8/plugins/manager.py", line 375, in load_plugins
    plugins = list(self.manager.map(load_plugin))
  File "/Users/marca/dev/git-repos/flake8/src/flake8/plugins/manager.py", line 267, in map
    yield func(self.plugins[name], *args, **kwargs)
  File "/Users/marca/dev/git-repos/flake8/src/flake8/plugins/manager.py", line 373, in load_plugin
    return plugin.load_plugin()
  File "/Users/marca/dev/git-repos/flake8/src/flake8/plugins/manager.py", line 173, in load_plugin
    raise failed_to_load
flake8.exceptions.FailedToLoadPlugin: Flake8 failed to load plugin "P999" due to Plugin &lt;module 'teamcity.flake8_plugin' from '/Users/marca/dev/git-repos/teamcity-messages/teamcity/flake8_plugin.pyc'&gt; is not a callable. It might be written for an older version of flake8 and might not work with this version.
```

This is nicer than the previous behavior of raising an obscure `PicklingError` and then hanging.

```
$ .tox/flake8/bin/flake8 mobileweb
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/queues.py", line 268, in _feed
    send(obj)
PicklingError: Can't pickle &lt;type 'module'&gt;: attribute lookup __builtin__.module failed
```

See #164
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
E.g.:

```
$ .tox/flake8/bin/flake8 mobileweb
Traceback (most recent call last):
  File ".tox/flake8/bin/flake8", line 9, in &lt;module&gt;
    load_entry_point('flake8', 'console_scripts', 'flake8')()
  File "/Users/marca/dev/git-repos/flake8/src/flake8/main/cli.py", line 16, in main
    app.run(argv)
  File "/Users/marca/dev/git-repos/flake8/src/flake8/main/application.py", line 316, in run
    self._run(argv)
  File "/Users/marca/dev/git-repos/flake8/src/flake8/main/application.py", line 299, in _run
    self.initialize(argv)
  File "/Users/marca/dev/git-repos/flake8/src/flake8/main/application.py", line 289, in initialize
    self.find_plugins()
  File "/Users/marca/dev/git-repos/flake8/src/flake8/main/application.py", line 143, in find_plugins
    self.check_plugins.load_plugins()
  File "/Users/marca/dev/git-repos/flake8/src/flake8/plugins/manager.py", line 375, in load_plugins
    plugins = list(self.manager.map(load_plugin))
  File "/Users/marca/dev/git-repos/flake8/src/flake8/plugins/manager.py", line 267, in map
    yield func(self.plugins[name], *args, **kwargs)
  File "/Users/marca/dev/git-repos/flake8/src/flake8/plugins/manager.py", line 373, in load_plugin
    return plugin.load_plugin()
  File "/Users/marca/dev/git-repos/flake8/src/flake8/plugins/manager.py", line 173, in load_plugin
    raise failed_to_load
flake8.exceptions.FailedToLoadPlugin: Flake8 failed to load plugin "P999" due to Plugin &lt;module 'teamcity.flake8_plugin' from '/Users/marca/dev/git-repos/teamcity-messages/teamcity/flake8_plugin.pyc'&gt; is not a callable. It might be written for an older version of flake8 and might not work with this version.
```

This is nicer than the previous behavior of raising an obscure `PicklingError` and then hanging.

```
$ .tox/flake8/bin/flake8 mobileweb
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/queues.py", line 268, in _feed
    send(obj)
PicklingError: Can't pickle &lt;type 'module'&gt;: attribute lookup __builtin__.module failed
```

See #164
</pre>
</div>
</content>
</entry>
</feed>
