develop (Myoldmopar) - x86_64-Linux-Ubuntu-18.04-gcc-7.3: OK (1770 of 1770 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.png)


We needed a way to find out which site is the default site when two sites are pointing to one url. Instead of adding a new model that inherits from wagtail Site model and add a field for this, we decided to do a check against the site name for the word main. This way we just need to add the word main in the site name definition. Since developers are the only ones touching the sites, and the fact that we did not want to add more custom models, we chose this route


Hi! This is the friendly automated conda-forge-webservice.

I updated the Github team because of this commit.

- @ericcina was added to conda-forge. Welcome to conda-forge!
  Go to https://github.com/orgs/conda-forge/invitation see your invitation.

You should get push access to this feedstock and CI services.

Feel free to join the community [chat room](https://gitter.im/conda-forge/conda-forge.github.io).

NOTE: Please make sure to not push to the repository directly.
      Use branches in your fork for any changes and send a PR.
      More details [here](https://conda-forge.org/docs/conda-forge_gotchas.html#using-a-fork-vs-a-branch-when-updating-a-recipe)


我觉得没办法在main函数里通过gui来提示用户错误信息。

我们可以假设gui肯定是通过desktop文件里的pkexec来启动的，所以改那个shell脚本就够了。

那如果用户在命令行通过sudo su这样的方式来启动，那么我们可以把错误信息显示在console上，即可以直接 cout 打印出来。

而且判断应该放在 gtk init 之前，刚才看了下gtk有个 gtk-init-check https://developer.gnome.org/gtk3/stable/gtk3-General.html#gtk-init-check

gtk-init-check 可以替换到现在的 gtk_init，然后通过返回值，告诉他有可能是因为wayland的问题而init失败。


упадет исключение, и ты даже не узнаешь об этом


utils/env_wrappers.py confused me.
worker() method has arg env_fn_wrapper which is  inherited  from multiagent.environment.MultiAgentEnv.
while MultiAgentEnv inherited from gym.Env which is a class with abstract method and MultiAgent did not override these method.So in worker() method ,codes below is proper:

def worker(remote, parent_remote, env_fn_wrapper):
    parent_remote.close()
    env = env_fn_wrapper.x()
    while True:
        cmd, data = remote.recv()
        if cmd == 'step':
            ob, reward, done, info = env._step(data)
            if all(done):
                ob = env._reset()
            remote.send((ob, reward, done, info))
        elif cmd == 'reset':
            ob = env._reset()#2019/4/10,change from reset()to_reset()
            remote.send(ob)
        elif cmd == 'reset_task':
            ob = env.reset_task()#does not have this fun
            remote.send(ob)
        elif cmd == 'close':
            remote.close()
            break
        elif cmd == 'get_spaces':
            remote.send((env.observation_space, env.action_space))
        elif cmd == 'get_agent_types':
            if all([hasattr(a, 'adversary') for a in env.agents]):
                remote.send(['adversary' if a.adversary else 'agent' for a in
                             env.agents])
            else:
                remote.send(['agent' for _ in env.agents])
        else:
            raise NotImplementedError


представлять тип в виде строки - такие себе, енамы же существуют


что за хардкод?


для этого есть бины... зачем такой код писать при каждом вызове метода?


Done.


@thebuilder could you open up an issue?


亲，你好。请问可以请教你关于这个小程序的问题吗~~拜托了~


inp文件老是出错，请问与abaqus版本有关吗？还有一些问题想请教，留下我的邮箱：jumpingyu@163.com,一起学习。


Because the current pull request updating all external dependencies in the CMS has not been merged yet.  Until that merges, changes from external repositories (which includes this one) aren't included in the CMS.


@mauritsvanrees Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.vocabularies/4/violations
```
plone/app/vocabularies/actions.py:19:9: B901 blind except: statement
plone/app/vocabularies/actions.py:24:63: C812 missing trailing comma
plone/app/vocabularies/groups.py:51:45: Q000 Remove bad quotes.
plone/app/vocabularies/groups.py:61:11: T000 Todo note found.
plone/app/vocabularies/groups.py:161:19: Q000 Remove bad quotes.
plone/app/vocabularies/groups.py:162:38: Q000 Remove bad quotes.
plone/app/vocabularies/security.py:12:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/security.py:62:26: Q000 Remove bad quotes.
plone/app/vocabularies/security.py:62:39: Q000 Remove bad quotes.
plone/app/vocabularies/security.py:72:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/security.py:131:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:98:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:149:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:189:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:240:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:244:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:245:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:246:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:247:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:248:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:249:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:250:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:251:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:252:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:253:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:254:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:255:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:256:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:257:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:258:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:307:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/testing.py:15:41: C812 missing trailing comma
plone/app/vocabularies/testing.py:18:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/testing.py:21:10: Q000 Remove bad quotes.
plone/app/vocabularies/syndication.py:11:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/syndication.py:13:7: T000 Todo note found.
plone/app/vocabularies/syndication.py:42:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/syndication.py:54:22: Q000 Remove bad quotes.
plone/app/vocabularies/syndication.py:55:33: C812 missing trailing comma
plone/app/vocabularies/syndication.py:60:21: S001 found module formatter
plone/app/vocabularies/syndication.py:65:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/interfaces.py:12:9: Q000 Remove bad quotes.
plone/app/vocabularies/interfaces.py:24:9: Q000 Remove bad quotes.
plone/app/vocabularies/interfaces.py:33:9: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:51:45: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:71:46: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:83:40: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:113:40: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:116:20: C812 missing trailing comma
plone/app/vocabularies/users.py:205:19: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:206:38: Q000 Remove bad quotes.
plone/app/vocabularies/__init__.py:20:13: D001 found directlyProvides( replace it with zope.interface.provider
plone/app/vocabularies/editors.py:9:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/editors.py:54:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/datetimerelated.py:9:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/datetimerelated.py:10:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/datetimerelated.py:42:15: Q000 Remove bad quotes.
plone/app/vocabularies/datetimerelated.py:51:25: C812 missing trailing comma
plone/app/vocabularies/catalog.py:21:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/catalog.py:25:36: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:83:12: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:86:31: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:86:48: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:90:19: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:90:27: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:91:15: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:91:23: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:91:54: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:91:62: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:149:47: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:150:51: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:154:26: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:341:28: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:341:49: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:360:19: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:361:38: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:366:32: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:371:21: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:373:23: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:443:44: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:464:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/catalog.py:519:20: P002 found "hasattr", consider replacing it
plone/app/vocabularies/catalog.py:519:34: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:525:20: P002 found "hasattr", consider replacing it
plone/app/vocabularies/catalog.py:525:34: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:532:16: P002 found "hasattr", consider replacing it
plone/app/vocabularies/catalog.py:532:30: Q000 Remove bad quotes.
plone/app/vocabularies/workflow.py:12:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/workflow.py:71:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:116:11: T000 Todo note found.
plone/app/vocabularies/workflow.py:128:14: C812 missing trailing comma
plone/app/vocabularies/workflow.py:133:33: S001 found module formatter
plone/app/vocabularies/workflow.py:138:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:233:26: Q000 Remove bad quotes.
plone/app/vocabularies/workflow.py:233:26: S001 found module formatter
plone/app/vocabularies/workflow.py:238:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/terms.py:26:24: C812 missing trailing comma
plone/app/vocabularies/terms.py:57:36: C812 missing trailing comma
plone/app/vocabularies/skins.py:9:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/skins.py:64:41: C812 missing trailing comma
plone/app/vocabularies/skins.py:65:22: C812 missing trailing comma
plone/app/vocabularies/skins.py:71:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/tests/base.py:58:16: S001 found module formatter
plone/app/vocabularies/tests/test_vocabularies.py:32:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:38:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:44:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:50:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:56:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:62:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:68:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:74:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:80:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:86:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:92:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:94:10: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:96:1: W391 blank line at end of file
plone/app/vocabularies/tests/test_timezonevocabularies.py:6:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/tests/test_timezonevocabularies.py:18:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:27:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:45:53: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:49:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:62:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:73:56: C812 missing trailing comma
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@vangheem Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.vocabularies/5/violations
```
plone/app/vocabularies/actions.py:19:9: B901 blind except: statement
plone/app/vocabularies/actions.py:24:63: C812 missing trailing comma
plone/app/vocabularies/groups.py:51:45: Q000 Remove bad quotes.
plone/app/vocabularies/groups.py:61:11: T000 Todo note found.
plone/app/vocabularies/groups.py:161:19: Q000 Remove bad quotes.
plone/app/vocabularies/groups.py:162:38: Q000 Remove bad quotes.
plone/app/vocabularies/security.py:12:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/security.py:62:26: Q000 Remove bad quotes.
plone/app/vocabularies/security.py:62:39: Q000 Remove bad quotes.
plone/app/vocabularies/security.py:72:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/security.py:131:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:98:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:149:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:189:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:240:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:244:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:245:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:246:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:247:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:248:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:249:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:250:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:251:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:252:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:253:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:254:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:255:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:256:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:257:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:258:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:307:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/testing.py:15:41: C812 missing trailing comma
plone/app/vocabularies/testing.py:18:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/testing.py:21:10: Q000 Remove bad quotes.
plone/app/vocabularies/syndication.py:11:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/syndication.py:13:7: T000 Todo note found.
plone/app/vocabularies/syndication.py:42:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/syndication.py:54:22: Q000 Remove bad quotes.
plone/app/vocabularies/syndication.py:55:33: C812 missing trailing comma
plone/app/vocabularies/syndication.py:60:21: S001 found module formatter
plone/app/vocabularies/syndication.py:65:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/interfaces.py:12:9: Q000 Remove bad quotes.
plone/app/vocabularies/interfaces.py:24:9: Q000 Remove bad quotes.
plone/app/vocabularies/interfaces.py:33:9: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:51:45: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:71:46: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:83:40: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:113:40: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:116:20: C812 missing trailing comma
plone/app/vocabularies/users.py:205:19: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:206:38: Q000 Remove bad quotes.
plone/app/vocabularies/__init__.py:20:13: D001 found directlyProvides( replace it with zope.interface.provider
plone/app/vocabularies/editors.py:9:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/editors.py:54:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/datetimerelated.py:9:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/datetimerelated.py:10:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/datetimerelated.py:42:15: Q000 Remove bad quotes.
plone/app/vocabularies/datetimerelated.py:51:25: C812 missing trailing comma
plone/app/vocabularies/catalog.py:21:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/catalog.py:25:36: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:83:12: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:86:31: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:86:48: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:90:19: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:90:27: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:91:15: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:91:23: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:91:54: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:91:62: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:149:47: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:150:51: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:154:26: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:341:28: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:341:49: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:360:19: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:361:38: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:366:32: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:371:21: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:373:23: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:443:44: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:464:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/catalog.py:510:20: P002 found "hasattr", consider replacing it
plone/app/vocabularies/catalog.py:510:34: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:516:20: P002 found "hasattr", consider replacing it
plone/app/vocabularies/catalog.py:516:34: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:523:16: P002 found "hasattr", consider replacing it
plone/app/vocabularies/catalog.py:523:30: Q000 Remove bad quotes.
plone/app/vocabularies/workflow.py:12:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/workflow.py:71:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:116:11: T000 Todo note found.
plone/app/vocabularies/workflow.py:128:14: C812 missing trailing comma
plone/app/vocabularies/workflow.py:133:33: S001 found module formatter
plone/app/vocabularies/workflow.py:138:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:233:26: Q000 Remove bad quotes.
plone/app/vocabularies/workflow.py:233:26: S001 found module formatter
plone/app/vocabularies/workflow.py:238:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/terms.py:26:24: C812 missing trailing comma
plone/app/vocabularies/terms.py:57:36: C812 missing trailing comma
plone/app/vocabularies/skins.py:9:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/skins.py:64:41: C812 missing trailing comma
plone/app/vocabularies/skins.py:65:22: C812 missing trailing comma
plone/app/vocabularies/skins.py:71:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/tests/base.py:58:16: S001 found module formatter
plone/app/vocabularies/tests/test_vocabularies.py:32:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:38:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:44:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:50:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:56:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:62:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:68:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:74:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:80:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:86:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:92:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:94:10: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:96:1: W391 blank line at end of file
plone/app/vocabularies/tests/test_timezonevocabularies.py:6:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/tests/test_timezonevocabularies.py:18:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:27:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:45:53: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:49:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:62:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:73:56: C812 missing trailing comma
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


Hadn't run into that one before, but boy, that's dumb. This should work for now.

Are we explicitly planning to support iPads for the initial release?


I'll create a pull request that adds the extra check. 👌


@agitator Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.z3cform/18/violations
```
plone/app/z3cform/inline_validation.py:15:5: C901 'InlineValidationView.__call__' is too complex (15)
plone/app/z3cform/widget.py:12:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:21:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:752:19: T000 Todo note found.
plone/app/z3cform/widget.py:766:47: T000 Todo note found.
plone/app/z3cform/factories.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/factories.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:106:11: T000 Todo note found.
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@vangheem Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.vocabularies/7/violations
```
plone/app/vocabularies/actions.py:25:63: C812 missing trailing comma
plone/app/vocabularies/actions.py:52:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/groups.py:71:11: T000 Todo note found.
plone/app/vocabularies/security.py:73:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/security.py:132:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/security.py:146:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:98:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:149:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:189:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:240:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:307:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/testing.py:15:41: C812 missing trailing comma
plone/app/vocabularies/testing.py:18:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/syndication.py:14:7: T000 Todo note found.
plone/app/vocabularies/syndication.py:43:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/syndication.py:56:33: C812 missing trailing comma
plone/app/vocabularies/syndication.py:68:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/users.py:129:20: C812 missing trailing comma
plone/app/vocabularies/__init__.py:20:13: D001 found directlyProvides( replace it with zope.interface.provider
plone/app/vocabularies/editors.py:25:24: C812 missing trailing comma
plone/app/vocabularies/editors.py:33:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/datetimerelated.py:53:25: C812 missing trailing comma
plone/app/vocabularies/catalog.py:490:14: C812 missing trailing comma
plone/app/vocabularies/catalog.py:546:21: F821 undefined name 'query'
plone/app/vocabularies/catalog.py:631:32: C812 missing trailing comma
plone/app/vocabularies/workflow.py:72:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:117:11: T000 Todo note found.
plone/app/vocabularies/workflow.py:129:14: C812 missing trailing comma
plone/app/vocabularies/workflow.py:139:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:239:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/terms.py:57:24: C812 missing trailing comma
plone/app/vocabularies/terms.py:88:36: C812 missing trailing comma
plone/app/vocabularies/skins.py:65:41: C812 missing trailing comma
plone/app/vocabularies/skins.py:66:22: C812 missing trailing comma
plone/app/vocabularies/skins.py:72:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/tests/test_editors.py:24:54: C812 missing trailing comma
plone/app/vocabularies/tests/test_imagesvocabularies.py:18:50: C812 missing trailing comma
plone/app/vocabularies/tests/test_subjects_under_context.py:43:33: C812 missing trailing comma
plone/app/vocabularies/tests/test_subjects_under_context.py:51:33: C812 missing trailing comma
plone/app/vocabularies/tests/test_subjects_under_context.py:67:51: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:32:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:38:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:44:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:50:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:56:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:62:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:68:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:74:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:80:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:86:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:88:10: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:19:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:28:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:46:53: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:50:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:63:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:74:56: C812 missing trailing comma
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@vangheem Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.vocabularies/10/violations
```
plone/app/vocabularies/actions.py:25:63: C812 missing trailing comma
plone/app/vocabularies/actions.py:52:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/groups.py:71:11: T000 Todo note found.
plone/app/vocabularies/security.py:73:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/security.py:137:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/security.py:151:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:99:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:150:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:190:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:241:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:315:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/testing.py:15:41: C812 missing trailing comma
plone/app/vocabularies/testing.py:18:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/syndication.py:14:7: T000 Todo note found.
plone/app/vocabularies/syndication.py:43:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/syndication.py:56:33: C812 missing trailing comma
plone/app/vocabularies/syndication.py:68:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/interfaces.py:58:1: W391 blank line at end of file
plone/app/vocabularies/users.py:129:20: C812 missing trailing comma
plone/app/vocabularies/principals.py:0:1: C101 Coding magic comment not found
plone/app/vocabularies/principals.py:126:80: E501 line too long (81 > 79 characters)
plone/app/vocabularies/principals.py:130:80: E501 line too long (83 > 79 characters)
plone/app/vocabularies/__init__.py:3:1: I001 isort found an import in the wrong position
plone/app/vocabularies/__init__.py:13:1: E731 do not assign a lambda expression, use a def
plone/app/vocabularies/__init__.py:30:13: D001 found directlyProvides( replace it with zope.interface.provider
plone/app/vocabularies/__init__.py:69:1: W391 blank line at end of file
plone/app/vocabularies/editors.py:25:24: C812 missing trailing comma
plone/app/vocabularies/editors.py:33:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/datetimerelated.py:54:25: C812 missing trailing comma
plone/app/vocabularies/catalog.py:490:14: C812 missing trailing comma
plone/app/vocabularies/catalog.py:630:32: C812 missing trailing comma
plone/app/vocabularies/workflow.py:72:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:117:11: T000 Todo note found.
plone/app/vocabularies/workflow.py:129:14: C812 missing trailing comma
plone/app/vocabularies/workflow.py:139:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:239:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/language.py:112:64: C812 missing trailing comma
plone/app/vocabularies/terms.py:57:24: C812 missing trailing comma
plone/app/vocabularies/terms.py:88:36: C812 missing trailing comma
plone/app/vocabularies/skins.py:65:41: C812 missing trailing comma
plone/app/vocabularies/skins.py:66:22: C812 missing trailing comma
plone/app/vocabularies/skins.py:72:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/tests/test_editors.py:24:54: C812 missing trailing comma
plone/app/vocabularies/tests/test_imagesvocabularies.py:18:50: C812 missing trailing comma
plone/app/vocabularies/tests/test_subjects_under_context.py:43:33: C812 missing trailing comma
plone/app/vocabularies/tests/test_subjects_under_context.py:51:33: C812 missing trailing comma
plone/app/vocabularies/tests/test_subjects_under_context.py:67:51: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:32:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:38:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:44:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:50:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:56:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:62:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:68:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:74:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:80:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:86:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:92:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:94:10: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:19:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:28:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:46:53: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:50:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:63:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:74:56: C812 missing trailing comma
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@esteele Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.vocabularies/11/violations
```
plone/app/vocabularies/security.py:12:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/security.py:62:26: Q000 Remove bad quotes.
plone/app/vocabularies/security.py:62:39: Q000 Remove bad quotes.
plone/app/vocabularies/security.py:72:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/security.py:131:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:98:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:149:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:189:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:240:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:244:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:245:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:246:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:247:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:248:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:249:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:250:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:251:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:252:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:253:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:254:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:255:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:256:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:257:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:258:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:307:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/interfaces.py:12:9: Q000 Remove bad quotes.
plone/app/vocabularies/interfaces.py:24:9: Q000 Remove bad quotes.
plone/app/vocabularies/interfaces.py:33:9: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:51:45: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:71:46: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:83:40: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:113:40: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:116:20: C812 missing trailing comma
plone/app/vocabularies/users.py:205:19: Q000 Remove bad quotes.
plone/app/vocabularies/users.py:206:38: Q000 Remove bad quotes.
plone/app/vocabularies/groups.py:51:45: Q000 Remove bad quotes.
plone/app/vocabularies/groups.py:61:11: T000 Todo note found.
plone/app/vocabularies/groups.py:161:19: Q000 Remove bad quotes.
plone/app/vocabularies/groups.py:162:38: Q000 Remove bad quotes.
plone/app/vocabularies/testing.py:15:41: C812 missing trailing comma
plone/app/vocabularies/testing.py:18:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/testing.py:21:10: Q000 Remove bad quotes.
plone/app/vocabularies/skins.py:9:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/skins.py:64:41: C812 missing trailing comma
plone/app/vocabularies/skins.py:65:22: C812 missing trailing comma
plone/app/vocabularies/skins.py:71:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/editors.py:9:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/editors.py:54:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:12:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/workflow.py:71:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:116:11: T000 Todo note found.
plone/app/vocabularies/workflow.py:128:14: C812 missing trailing comma
plone/app/vocabularies/workflow.py:133:33: S001 found module formatter
plone/app/vocabularies/workflow.py:138:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:233:26: Q000 Remove bad quotes.
plone/app/vocabularies/workflow.py:233:26: S001 found module formatter
plone/app/vocabularies/workflow.py:238:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/terms.py:26:24: C812 missing trailing comma
plone/app/vocabularies/terms.py:57:36: C812 missing trailing comma
plone/app/vocabularies/catalog.py:22:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/catalog.py:26:36: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:84:12: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:87:31: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:87:48: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:91:19: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:91:27: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:92:15: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:92:23: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:92:54: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:92:62: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:150:47: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:151:51: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:155:26: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:342:28: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:342:49: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:361:19: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:362:38: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:367:32: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:372:21: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:374:23: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:444:44: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:465:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/catalog.py:511:20: P002 found "hasattr", consider replacing it
plone/app/vocabularies/catalog.py:511:34: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:517:20: P002 found "hasattr", consider replacing it
plone/app/vocabularies/catalog.py:517:34: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:524:16: P002 found "hasattr", consider replacing it
plone/app/vocabularies/catalog.py:524:30: Q000 Remove bad quotes.
plone/app/vocabularies/catalog.py:588:32: C812 missing trailing comma
plone/app/vocabularies/actions.py:19:9: B901 blind except: statement
plone/app/vocabularies/actions.py:24:63: C812 missing trailing comma
plone/app/vocabularies/images.py:8:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/syndication.py:11:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/syndication.py:13:7: T000 Todo note found.
plone/app/vocabularies/syndication.py:42:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/syndication.py:54:22: Q000 Remove bad quotes.
plone/app/vocabularies/syndication.py:55:33: C812 missing trailing comma
plone/app/vocabularies/syndication.py:60:21: S001 found module formatter
plone/app/vocabularies/syndication.py:65:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/datetimerelated.py:9:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/datetimerelated.py:10:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/datetimerelated.py:42:15: Q000 Remove bad quotes.
plone/app/vocabularies/datetimerelated.py:51:25: C812 missing trailing comma
plone/app/vocabularies/__init__.py:20:13: D001 found directlyProvides( replace it with zope.interface.provider
plone/app/vocabularies/tests/base.py:3:1: I001 isort found an import in the wrong position
plone/app/vocabularies/tests/base.py:4:1: I001 isort found an import in the wrong position
plone/app/vocabularies/tests/base.py:40:1: E303 too many blank lines (3)
plone/app/vocabularies/tests/base.py:82:16: S001 found module formatter
plone/app/vocabularies/tests/base.py:111:5: D001 found implements( replace it with zope.interface.implementer
plone/app/vocabularies/tests/base.py:149:5: D001 found implements( replace it with zope.interface.implementer
plone/app/vocabularies/tests/test_timezonevocabularies.py:6:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/tests/test_timezonevocabularies.py:18:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:27:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:45:53: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:49:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:62:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:73:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_imagesvocabularies.py:3:1: F401 'plone.registry.interfaces.IRegistry' imported but unused
plone/app/vocabularies/tests/test_imagesvocabularies.py:6:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/tests/test_imagesvocabularies.py:18:50: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:32:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:38:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:44:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:50:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:56:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:62:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:68:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:74:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:80:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:86:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:92:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:94:10: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:96:1: W391 blank line at end of file
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@Gagaro Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.vocabularies/9/violations
```
plone/app/vocabularies/security.py:73:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/security.py:132:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/security.py:146:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:99:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:150:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:190:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:241:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:315:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/interfaces.py:58:1: W391 blank line at end of file
plone/app/vocabularies/users.py:129:20: C812 missing trailing comma
plone/app/vocabularies/groups.py:71:11: T000 Todo note found.
plone/app/vocabularies/testing.py:15:41: C812 missing trailing comma
plone/app/vocabularies/testing.py:18:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/skins.py:65:41: C812 missing trailing comma
plone/app/vocabularies/skins.py:66:22: C812 missing trailing comma
plone/app/vocabularies/skins.py:72:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/editors.py:25:24: C812 missing trailing comma
plone/app/vocabularies/editors.py:33:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:72:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:117:11: T000 Todo note found.
plone/app/vocabularies/workflow.py:129:14: C812 missing trailing comma
plone/app/vocabularies/workflow.py:139:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:239:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/terms.py:57:24: C812 missing trailing comma
plone/app/vocabularies/terms.py:88:36: C812 missing trailing comma
plone/app/vocabularies/catalog.py:490:14: C812 missing trailing comma
plone/app/vocabularies/catalog.py:630:32: C812 missing trailing comma
plone/app/vocabularies/actions.py:25:63: C812 missing trailing comma
plone/app/vocabularies/actions.py:52:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/syndication.py:14:7: T000 Todo note found.
plone/app/vocabularies/syndication.py:43:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/syndication.py:56:33: C812 missing trailing comma
plone/app/vocabularies/syndication.py:68:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/datetimerelated.py:54:25: C812 missing trailing comma
plone/app/vocabularies/__init__.py:3:1: I001 isort found an import in the wrong position
plone/app/vocabularies/__init__.py:13:1: E731 do not assign a lambda expression, use a def
plone/app/vocabularies/__init__.py:30:13: D001 found directlyProvides( replace it with zope.interface.provider
plone/app/vocabularies/__init__.py:69:1: W391 blank line at end of file
plone/app/vocabularies/tests/test_editors.py:24:54: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:19:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:28:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:46:53: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:50:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:63:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:74:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_subjects_under_context.py:43:33: C812 missing trailing comma
plone/app/vocabularies/tests/test_subjects_under_context.py:51:33: C812 missing trailing comma
plone/app/vocabularies/tests/test_subjects_under_context.py:67:51: C812 missing trailing comma
plone/app/vocabularies/tests/test_imagesvocabularies.py:18:50: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:32:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:38:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:44:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:50:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:56:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:62:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:68:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:74:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:80:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:86:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:88:10: C812 missing trailing comma
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@ale-rt Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.vocabularies/12/violations
```
plone/app/vocabularies/security.py:19:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/security.py:79:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/security.py:139:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/types.py:14:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/types.py:29:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/types.py:43:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/types.py:60:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/types.py:104:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/types.py:156:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/types.py:197:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/types.py:265:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/interfaces.py:8:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/interfaces.py:13:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/interfaces.py:20:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/interfaces.py:26:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/interfaces.py:36:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/interfaces.py:48:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/interfaces.py:52:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/interfaces.py:55:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/users.py:37:30: C812 missing trailing comma
plone/app/vocabularies/users.py:45:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/users.py:80:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/users.py:128:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/users.py:173:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/users.py:193:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/groups.py:26:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/groups.py:64:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/groups.py:71:11: T000 Todo note found.
plone/app/vocabularies/groups.py:88:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/skins.py:16:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/skins.py:63:75: C812 missing trailing comma
plone/app/vocabularies/skins.py:64:22: C812 missing trailing comma
plone/app/vocabularies/editors.py:23:56: C812 missing trailing comma
plone/app/vocabularies/workflow.py:19:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/workflow.py:75:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/workflow.py:115:11: T000 Todo note found.
plone/app/vocabularies/workflow.py:127:14: C812 missing trailing comma
plone/app/vocabularies/workflow.py:143:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/workflow.py:223:72: C812 missing trailing comma
plone/app/vocabularies/workflow.py:226:70: C812 missing trailing comma
plone/app/vocabularies/language.py:13:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/language.py:63:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/language.py:111:64: C812 missing trailing comma
plone/app/vocabularies/terms.py:23:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/terms.py:32:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/terms.py:44:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/terms.py:57:44: C812 missing trailing comma
plone/app/vocabularies/terms.py:63:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/terms.py:89:26: C812 missing trailing comma
plone/app/vocabularies/terms.py:92:69: C812 missing trailing comma
plone/app/vocabularies/catalog.py:42:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/catalog.py:114:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/catalog.py:171:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/catalog.py:206:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/catalog.py:258:45: C812 missing trailing comma
plone/app/vocabularies/catalog.py:264:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/catalog.py:366:38: C812 missing trailing comma
plone/app/vocabularies/catalog.py:405:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/catalog.py:467:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/catalog.py:486:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/catalog.py:498:14: C812 missing trailing comma
plone/app/vocabularies/catalog.py:591:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/catalog.py:642:32: C812 missing trailing comma
plone/app/vocabularies/catalog.py:649:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/catalog.py:694:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/actions.py:12:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/actions.py:34:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/images.py:17:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/syndication.py:14:7: T000 Todo note found.
plone/app/vocabularies/datetimerelated.py:19:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/datetimerelated.py:33:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/datetimerelated.py:47:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/datetimerelated.py:58:25: C812 missing trailing comma
plone/app/vocabularies/datetimerelated.py:74:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/datetimerelated.py:116:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/datetimerelated.py:158:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/datetimerelated.py:200:17: C812 missing trailing comma
plone/app/vocabularies/datetimerelated.py:206:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/datetimerelated.py:240:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/__init__.py:12:1: E731 do not assign a lambda expression, use a def
plone/app/vocabularies/__init__.py:18:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/__init__.py:29:13: D001 found directlyProvides( replace it with zope.interface.provider
plone/app/vocabularies/__init__.py:48:5: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/__init__.py:58:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/tests/test_editors.py:23:74: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:48:24: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:54:24: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:69:24: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:79:76: C812 missing trailing comma
plone/app/vocabularies/tests/test_subjects_under_context.py:15:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/tests/test_subjects_under_context.py:44:67: C812 missing trailing comma
plone/app/vocabularies/tests/test_subjects_under_context.py:50:67: C812 missing trailing comma
plone/app/vocabularies/tests/test_imagesvocabularies.py:17:70: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:35:36: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:41:36: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:47:36: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:53:36: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:59:36: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:65:36: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:71:36: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:77:36: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:83:36: C812 missing trailing comma
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


Spectre.


I have done this in ddbd5f7a9cfcb32d8af1fa2835ce26342c42392d


logs directory result like this .\models\fullobs_collect_treasure\fct\run1\logs\agent7\attention\head3_entropy
it seems unreasonable.
Besides can you upload a policy network validation script that can load file "model.pt"?


Successfully aliased the URL <https://itberries-frontend-nm0otimls.now.sh> to the following aliases.

* https://itberries-frontend.now.sh
* https://itberries-frontend-git-master.it-berries1.now.sh


I see. Thanks for answering.


Even better! 🙏 thanks a ton!


upload


[R/sls_convolutions.R:178:1:](https://github.com/Giappo/sls/blob/9a3a2b29d46f1967eb6e450c8372766acbef2dfa/R/sls_convolutions.R#L178) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Uses the function DDD::conv to convolve all the processes before the shift and
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sls_convolutions.R:236:1:](https://github.com/Giappo/sls/blob/9a3a2b29d46f1967eb6e450c8372766acbef2dfa/R/sls_convolutions.R#L236) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Uses the function DDD::conv to convolve all the processes before the shift and
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```


TIL TaskItem ctor does unescaping. 🤦♂


Hi! This is the friendly automated conda-forge-webservice.

I updated the Github team because of this commit.

- @ericcina was added to this feedstock maintenance team.

You should get push access to this feedstock and CI services.

Feel free to join the community [chat room](https://gitter.im/conda-forge/conda-forge.github.io).

NOTE: Please make sure to not push to the repository directly.
      Use branches in your fork for any changes and send a PR.
      More details [here](https://conda-forge.org/docs/conda-forge_gotchas.html#using-a-fork-vs-a-branch-when-updating-a-recipe)


Can we do this on write instead of read? That would prevent doing the string scanning on every incremental build.


@jensens Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.vocabularies/13/violations
```
plone/app/vocabularies/actions.py:24:71: C812 missing trailing comma
plone/app/vocabularies/actions.py:50:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/groups.py:87:80: E501 line too long (80 > 79 characters)
plone/app/vocabularies/groups.py:102:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/types.py:99:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:150:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:190:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:241:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:315:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/testing.py:15:41: C812 missing trailing comma
plone/app/vocabularies/testing.py:18:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/syndication.py:13:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/syndication.py:15:7: T000 Todo note found.
plone/app/vocabularies/syndication.py:44:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/syndication.py:57:33: C812 missing trailing comma
plone/app/vocabularies/syndication.py:72:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/interfaces.py:58:1: W391 blank line at end of file
plone/app/vocabularies/users.py:167:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/principals.py:0:1: C101 Coding magic comment not found
plone/app/vocabularies/principals.py:2:1: E265 block comment should start with '# '
plone/app/vocabularies/principals.py:6:1: E265 block comment should start with '# '
plone/app/vocabularies/principals.py:65:29: F821 undefined name 'UsersSource'
plone/app/vocabularies/principals.py:66:30: F821 undefined name 'GroupsSource'
plone/app/vocabularies/principals.py:126:80: E501 line too long (81 > 79 characters)
plone/app/vocabularies/principals.py:130:80: E501 line too long (83 > 79 characters)
plone/app/vocabularies/__init__.py:3:1: I001 isort found an import in the wrong position
plone/app/vocabularies/__init__.py:9:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/__init__.py:11:1: E731 do not assign a lambda expression, use a def
plone/app/vocabularies/__init__.py:28:13: D001 found directlyProvides( replace it with zope.interface.provider
plone/app/vocabularies/__init__.py:67:1: W391 blank line at end of file
plone/app/vocabularies/editors.py:25:24: C812 missing trailing comma
plone/app/vocabularies/editors.py:33:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/datetimerelated.py:54:25: C812 missing trailing comma
plone/app/vocabularies/catalog.py:510:14: C812 missing trailing comma
plone/app/vocabularies/catalog.py:650:32: C812 missing trailing comma
plone/app/vocabularies/workflow.py:76:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:124:11: T000 Todo note found.
plone/app/vocabularies/workflow.py:136:14: C812 missing trailing comma
plone/app/vocabularies/workflow.py:145:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:244:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/language.py:112:64: C812 missing trailing comma
plone/app/vocabularies/terms.py:59:24: C812 missing trailing comma
plone/app/vocabularies/terms.py:90:36: C812 missing trailing comma
plone/app/vocabularies/skins.py:65:41: C812 missing trailing comma
plone/app/vocabularies/skins.py:66:22: C812 missing trailing comma
plone/app/vocabularies/skins.py:72:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/tests/test_editors.py:24:54: C812 missing trailing comma
plone/app/vocabularies/tests/test_imagesvocabularies.py:18:50: C812 missing trailing comma
plone/app/vocabularies/tests/test_subjects_under_context.py:43:33: C812 missing trailing comma
plone/app/vocabularies/tests/test_subjects_under_context.py:51:33: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:43:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:112:40: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:114:10: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:19:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:28:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:46:53: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:50:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:63:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:74:56: C812 missing trailing comma
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@agitator Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.vocabularies/14/violations
```
plone/app/vocabularies/actions.py:24:71: C812 missing trailing comma
plone/app/vocabularies/actions.py:50:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/groups.py:75:11: T000 Todo note found.
plone/app/vocabularies/security.py:17:5: Q000 Remove bad quotes.
plone/app/vocabularies/types.py:99:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:150:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:190:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:241:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:315:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/testing.py:15:41: C812 missing trailing comma
plone/app/vocabularies/testing.py:18:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/syndication.py:16:7: T000 Todo note found.
plone/app/vocabularies/syndication.py:45:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/syndication.py:58:33: C812 missing trailing comma
plone/app/vocabularies/syndication.py:73:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/users.py:18:5: Q000 Remove bad quotes.
plone/app/vocabularies/principals.py:91:70: C812 missing trailing comma
plone/app/vocabularies/principals.py:113:70: C812 missing trailing comma
plone/app/vocabularies/principals.py:117:31: P101 format string does contain unindexed parameters
plone/app/vocabularies/principals.py:227:51: C812 missing trailing comma
plone/app/vocabularies/principals.py:235:62: C812 missing trailing comma
plone/app/vocabularies/principals.py:237:14: C812 missing trailing comma
plone/app/vocabularies/__init__.py:12:1: E731 do not assign a lambda expression, use a def
plone/app/vocabularies/__init__.py:29:13: D001 found directlyProvides( replace it with zope.interface.provider
plone/app/vocabularies/editors.py:25:24: C812 missing trailing comma
plone/app/vocabularies/editors.py:33:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/datetimerelated.py:54:25: C812 missing trailing comma
plone/app/vocabularies/catalog.py:510:14: C812 missing trailing comma
plone/app/vocabularies/catalog.py:650:32: C812 missing trailing comma
plone/app/vocabularies/workflow.py:76:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:124:11: T000 Todo note found.
plone/app/vocabularies/workflow.py:136:14: C812 missing trailing comma
plone/app/vocabularies/workflow.py:145:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:244:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/language.py:112:64: C812 missing trailing comma
plone/app/vocabularies/terms.py:59:24: C812 missing trailing comma
plone/app/vocabularies/terms.py:90:36: C812 missing trailing comma
plone/app/vocabularies/skins.py:65:41: C812 missing trailing comma
plone/app/vocabularies/skins.py:66:22: C812 missing trailing comma
plone/app/vocabularies/skins.py:72:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/tests/test_editors.py:24:54: C812 missing trailing comma
plone/app/vocabularies/tests/test_imagesvocabularies.py:18:50: C812 missing trailing comma
plone/app/vocabularies/tests/test_principals.py:15:45: C812 missing trailing comma
plone/app/vocabularies/tests/test_principals.py:206:69: C812 missing trailing comma
plone/app/vocabularies/tests/test_principals.py:209:69: C812 missing trailing comma
plone/app/vocabularies/tests/test_principals.py:222:73: C812 missing trailing comma
plone/app/vocabularies/tests/test_principals.py:225:73: C812 missing trailing comma
plone/app/vocabularies/tests/test_principals.py:228:67: C812 missing trailing comma
plone/app/vocabularies/tests/test_principals.py:350:80: E501 line too long (82 > 79 characters)
plone/app/vocabularies/tests/test_principals.py:351:80: E501 line too long (82 > 79 characters)
plone/app/vocabularies/tests/test_principals.py:372:77: C812 missing trailing comma
plone/app/vocabularies/tests/test_principals.py:382:80: E501 line too long (82 > 79 characters)
plone/app/vocabularies/tests/test_principals.py:383:80: E501 line too long (82 > 79 characters)
plone/app/vocabularies/tests/test_subjects_under_context.py:43:33: C812 missing trailing comma
plone/app/vocabularies/tests/test_subjects_under_context.py:51:33: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:43:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:108:10: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:19:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:28:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:46:53: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:50:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:63:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:74:56: C812 missing trailing comma
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


I would to know more background of this.. Is there any summary/info, which issue this should solve, what is expected change from user experiance point of view?


Still false / lie. No contain who user visited.


[R/sls_convolutions.R:178:1:](https://github.com/Giappo/sls/blob/c9725049aa718eef14a25707606bee92c883e60c/R/sls_convolutions.R#L178) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Uses the function DDD::conv to convolve all the processes before the shift and
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sls_convolutions.R:236:1:](https://github.com/Giappo/sls/blob/c9725049aa718eef14a25707606bee92c883e60c/R/sls_convolutions.R#L236) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Uses the function DDD::conv to convolve all the processes before the shift and
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```


I attempted to correct it in https://github.com/DandelionSprout/adfilt/commit/c49e9b6d6f6386706e80f4b0e5090d85bcff7dd5, but I'm honestly unsure what you're referring to.


Oh, right... ServerError is basically this:

```
class ServerError:
    """ Generic server error """
    pass
```

Should I make a new PR, or you'll add it yourself?


Deployment failed with the following error:

~~~
Builds rate limit exceeded (32 of 32 remaining). Try again in 60m
~~~


Added in instruction page for the game, more complete.


@ssbarnea can we please default to imperative commit messages as per https://github.com/ansible/molecule/issues/1891?


Successfully aliased the URL <https://distance-learning-lp-ymbqhsfrkl.now.sh> to the following alias.

* https://lp.onlineschool.ru


develop (Myoldmopar) - Win64-Windows-10-VisualStudio-16: OK (1750 of 1750 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.png)


@brejnko Because the OS upgrade yielded several apk changes which caused our CI pipelines to fail. Of course we want to update to Alpine 3.9, but not in a forced way! Until we have time to manually fix all issues, we have to stick to 10.15.2, which is unfortunate.


Hi! This is the friendly automated conda-forge-webservice.

I updated the Github team because of this commit.

- @paugier, @cyrillebonamy were added to this feedstock maintenance team.

You should get push access to this feedstock and CI services.

Feel free to join the community [chat room](https://gitter.im/conda-forge/conda-forge.github.io).

NOTE: Please make sure to not push to the repository directly.
      Use branches in your fork for any changes and send a PR.
      More details [here](https://conda-forge.org/docs/conda-forge_gotchas.html#using-a-fork-vs-a-branch-when-updating-a-recipe)


xxcxbnjhg


qbuf skips.


should be not empty line.


Amazing script @raphielscape also good food for thought. Kudos for writing it, wish I could help out one day.


Many thanks for this correction.
I was a long time trying to install my application in a docker (environment linux / case sensitive)


というかbottombarだけ？？
とりまコメントアウトしときやすね。


Type specification is also needed here.


Successfully aliased the URL <https://whatcolourhoodieiskevinwearingtodaycom-kybftke9c.now.sh> to the following aliases.

* https://whatcolourhoodieiskevinwearingtoday.com
* https://whatcolourhoodieiskevinw-git-master.kevincarrogan.now.sh


客户端首页


3600000=1000*60*60=1h ainult? soovitan 3600000 asemel kirjutada `1000 * 60 * 60 * 3` või hoopis `TimeUnit.HOURS.toMillis(3)`. kuna seda kasutatakse all pool veel, siis võibolla konstandiks muuta


@AdrianBach Should be fine for now -- can generalise to other resource types later.


updating index controller


Deployed at: https://alva-commits-a4ef6.surge.sh


Type specification for 'feature' is also needed here.


Can this be merged to master? Seems stable and I'd like to pull it to the transforms branch.


Type specifications for 'catFeatures' and 'floatFeatures' are also needed here.


`predicate.operator == ComparisonOperator.EQUAL -> ATOMIC_COST`


btw, the reason for the change above is that we need to be able to control building everything that has shared components. You might have no issues when you build in isolation, but we build concurrently for a lot of ARM boxes, so we need to ensure all shared components build the same way.

Kodi is built via a dependency in ./meta-openpli/recipes-openpli/images/openpli-enigma2-feed.bb


develop (Myoldmopar) - x86_64-Linux-Ubuntu-18.04-gcc-7.3-UnitTestsCoverage-Debug: OK (1093 of 1093 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.png) ![Coverage Badge](http://img.shields.io/badge/coverage%20status-41.82%25-green.png)


@AdrianBach Yeah, this should work fine. The `paras` vector modified here will be copied and sent back to R starting around L765 where `SEXP PARAMETERS_NEW;`. Basically, any modifications to `paras` in C here will be transferred to a new output vector which R will use as the updated parameters vector.


Huh? :D


Maybe `from . import function` and `function.execute` instead?


Good thing we have the job farm :)


array -> arrayFeatureExtractor


Deployed at: https://alva-site-commits-a4ef6.surge.sh


The main reason is that it's been around longer than the official App Insights Logger. If the official logger had existed at the time, we would have started there.

@lmolkova and I have been talking about whether we can move some of our behavior off of our custom logger (I'd love to remove some code). We'd still do our own custom Request and Metric logging but rely on the official logger for Traces and Exceptions.


Successfully aliased the URL <https://mattdufeucouk-bf12hv472.now.sh> to the following aliases.

* https://mattdufeu.co.uk
* https://mattdufeucouk-git-master.mattdufeu.now.sh


If we guarantee that everything is a coroutine or a function, it will be cheaper to check `methods[0][0]`.


Used wrong language tag for this commit.
Is [EN] instead of [DE].
Sorry for that.


pada bagian else tidak perlu mengubah state angka


@JustFly1984 Why would you do that? That's why the invariant is in place so you cannot use the hook without Provider in the tree.


This kind of errors should be checked before execution of the first step.


Where's featureVectorizer's fields initialization?


@laurielang there's a typo here in form, and also where does it end? is it inside this div `<div id=navigationBar>`, or outside it? It probs needs to end before this div closes, and you can loose the `action` attribute for now as we have no backend so `form` needs no attributes


@laurielang structure is good here, just note the typo in form!


Is it used in this module?


the `for` attr of a label should correspond to the ID of it's corresponding input area. so the input below would need the id of `assignResponsibility`.


Good Job Dude!


이거 어떻게 안보이게 하는걸까..


@laurielang same as above on this form - fix typo, update IDs of the inputs, and loose the `action` attribute of the form and it'll be good.


@erikcas please update raspy ... Thanks


Successfully aliased the URL <https://security-checklist-kgiqrmzuxo.now.sh> to the following alias.

* https://securitycheckli.st


@laurielang Same comments about the nav apply here as on the addTask page - this form element has a typo and also needs to close


If you have late frames from the decoder you will loose 2 frames because of the broken FIFO order.
With this patch you will loose only the late frame. It will fix the `vidioc_qbuf skip` message in the kernel log.


goal milk!!


Look at the `_wrap.py` module to check methods list for coroutines. I guess it's ok to do it at the end of the function.


Убрать


Where are all the tests? :slightly_smiling_face:


I don't know. Could you?


cleaningShit переименовать


@nuest
I am currently trying to integrate an angular project into our o2r-platform. It will replace the older platform at some point. I managed to get it running outside the platform in a docker container using docker-compose. But I don't know yet, how to integrate it into the platform in order to access the API. If you have some time left on Monday, we could talk about it.


@laurielang the cells in this table should be `td` not `th`. `th` is technically for a header cell and none of these is really a header, they are all just data/content so `td` is the best choice :)


IBM Cloud [toolchain](https://console.bluemix.net/devops/toolchains/8f308599-a1e8-4e52-b800-6204b59e20e2?env_id=ibm%3Ayp%3Aeu-de "TJBotBrowser"): [Delivery Pipeline](https://console.bluemix.net/devops/pipelines/8c1aa64a-c83e-4c46-8b5e-b72834cead74?env_id=ibm%3Ayp%3Aeu-de "TJBotBrowser") deployed [TJBotBrowser](https://github.com/hiqdare/TJBotBrowser/releases/tag/deploy-ibm-yp-eu-de-sae-zurich.ibm.com-dev-20190411-124924 "deploy-ibm-yp-eu-de-sae-zurich.ibm.com-dev-20190411-124924") to [dev](https://console.bluemix.net/apps/259b51d1-bc3a-431a-82b8-433181691c9b?env_id=ibm:yp:eu-de "ibm:yp:eu-de:sae@zurich.ibm.com:dev"), including this commit


все поля должны быть final. я не показывал такого в курсе. что бы загружались данный из контекста.
это не правильно.


@laurielang Same issues here on this page, use `td` and also check your typo above in <form>


@laurielang Yep same here with the typo, action and lack of closing tag!


thank you very much for the heads-up!


const product


PushToV92 (energy-plus) - x86_64-Linux-Ubuntu-18.04-cppcheck-1.82: OK (0 of 0 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png)


const cart


@coinables line 68 ->$Bitmex = with a capital 'b'.


подвешенные переменные. стоит от них избавиться.


лучше создать фильтр и прописывать там настройки.


Thank you! Looking forward to test it, although not sure if my installations suffers for those.


I do, since the executequery will give me an exception, which has a try and catch.


PushToV92 (energy-plus) - x86_64-Linux-Ubuntu-18.04-custom_check: OK (6 of 6 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png)


$bitmex with a capital 'b'.


во всех моделях должны быть методы equals hashCode


Both treeModel and pipeline need description of their input and output features (and input features' names will be different for treeModel depending whether it uses original input or processed after FeatureVectorizer).

I'd create two functions - for treeModel description initialization and for pipeline.

I'd call them - ConfigureTreeModelIO, ConfigurePipelineIO.


I see an improvement but still the wild checker board pattern

![mlx90640-2019-04-11-13-50-57](https://user-images.githubusercontent.com/11855322/55958729-41617580-5c61-11e9-8787-c26f120c3bde.gif)


Yes, a great crutch! Just do it twice :)


That explains so much!


Checking for PropInfo.SetProc <> nil not only prevents regular readonly properties from being read but also those that are objects themselves.

My use case was:

TSubConfig = class
published
  property SomeProp: integer read FSomeProp write FSomeProp;
end;

TMainConfig = class
private
  FSubConfig: TSubConfig;
published
  property SubConfig: TSubConfig read FSubConfig;
end;

There was an entry
[MainConfig\SubConfig]
SomeProp=1

in the INI file which was not read because the property SubConfig was readonly.

It does not really matter, if we read a simple readonly property, because the value will simply not be assigned.


# Specs execution successful
:scroll: [View logs](http://bamboo.comnull)
### Plans updated

Bamboo specs have been successfully imported and the following plans have been updated.

Project | Plan | Build
---|---|---
[Test](http://bamboo.com/browse/TEST) | [Comment test](http://bamboo.com/browse/TEST-CTEST)  | :white_check_mark: [\#1](http://bamboo.com/browse/TEST-CTEST-1)
[New project](http://bamboo.com/browse/NEW) | [Disabled plan](http://bamboo.com/browse/NEW-DISABLED) **disabled** | :white_check_mark: [\#1](http://bamboo.com/browse/NEW-DISABLED-1)

### Deployments updated

Bamboo specs have been successfully imported and the following deployment projects have been updated.

|Deployment project |
----|
[Deployment test](http://bamboo.com/deploy/viewDeploymentProjectVersions.action?id=2162689)|


Huh?


test


end


For GUVI CodeKata


ending


@bradmartin you upped the min target to 26 when it could be 23 as explained in your link.
Can you explain?
I lost support for 15% of my supported devices


@zmwangx just confirm this works fine whenever you get the time.


Why this change is made?
Is it related to splash activity implementation?


It's fine, IMHO.


нужно заменить на if-else-throw.


In addition to the above, I did the following. Please try it.
 25   this.track_prev = null;

378   if (rotation === null) {
379     rotation = this.track_prev;
380 }

384   if (this.track !== null) {
385       this.track_prev = this.track;
386  }


Would this need to take "demote/promote" into account as well?

Or maybe I don't understand the implications here.


any все нужно убрать, чтобы потом не путали


I'm on Android Pie not Oreo (i think I got what you meant, this is the new way of installing apps starting from Oreo and up).
Confirmed to work but you must flash the generated zip (using build.py) again after you manually install the APKs via adb

Works with the latest Magisk 18.1

Just not sure if the following is reported somewhere, the nethunter app crashes whenever I click on the "Check app update" button.

Thanks for your reply!


Remove this console


return sources


`sources` or `sourceList`


same


тут нужно переделать на error(message, e)


Hola,
Cómo podría descargarme el archivo datos_groceries.csv

Tus apuntes son magníficos

Gracias


@matthiasbeyer: I'm wondering... did you actually test this package *at* *all* or did you just bump the version/SHA and push?


We need to return as this is not a function with callback as `onAdded, onRemoved and onUpdated`
`return this.service.listSource(id);`

Also, put this under the `get(id)` function so we can separate functions that has a callback and the others that don't have it.


Line 56-57: bug! :)
Should be
offsetdec = options.offdec
offsetra = options.offra


Undone files


Don't commit this. In production, we will use docker and the dbus will connect it over tcp


remove the spaces: `{}`


I was just confused about you skipping 82 versions, normally you'd increase to 0.0.10 with SemVer. ;)


rejected


It'd be much better to move this `#ifndef - #endif` into the `Conversion.h`... It's a sort of best practice, because it makes "including" easier.


解压密码


So many functions declared in one main.cpp file... Incredible


Deployment failed with the following error:

~~~
Builds rate limit exceeded (0 of 100 remaining). Try again in 24h
~~~


same as https://github.com/CESNET/NEMEA-SIoT/commit/2af7adbaa829ad5d885650c2657eb4d0561f5349#r33139606


have to say, codes are unbelievably tedious...


лох пидр


Okay, this has even failed to build by [`ofborg`](https://github.com/NixOS/nixpkgs/pull/59127/checks?check_run_id=96890894), but was [merged anyway](https://github.com/NixOS/commit/14105fd257cf17d0240185014bc1c13b174dc83d). I wonder whether the `Checks` thingy was not visible enough... @pSub, care to elaborate?


Successfully aliased the URL <https://rsrc-in52o95ub.now.sh> to the following aliases.

* https://rsrc-git-master.kallmanation.now.sh
* https://rsrc.now.sh


a


I just ran into this issue...


Are there any plans to add `launch_template_name` as a supported return value?


Lookin' cool