<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/gitlab.git/gitlab, branch fix/parse-cli-objects-camelcase</title>
<subtitle>github.com: gpocentek/python-gitlab.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/'/>
<entry>
<title>test(cli): add more real class scenarios</title>
<updated>2021-03-07T11:04:06+00:00</updated>
<author>
<name>Nejc Habjan</name>
<email>hab.nejc@gmail.com</email>
</author>
<published>2021-03-07T11:04:06+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=faa421dc29cf1d858ec12608fcdd69ccd6c4fc06'/>
<id>faa421dc29cf1d858ec12608fcdd69ccd6c4fc06</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(cli): fix parsing CLI objects to classnames</title>
<updated>2021-03-07T10:58:53+00:00</updated>
<author>
<name>Nejc Habjan</name>
<email>hab.nejc@gmail.com</email>
</author>
<published>2021-02-09T23:32:48+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=f335435f8e2c4a6136388cfdcbc21795071b5810'/>
<id>f335435f8e2c4a6136388cfdcbc21795071b5810</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #1336 from em-/fix/quote-everything</title>
<updated>2021-03-06T23:32:16+00:00</updated>
<author>
<name>Nejc Habjan</name>
<email>hab.nejc@gmail.com</email>
</author>
<published>2021-03-06T23:32:16+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=48fc907403b630f069dfd63fada73f96a8c6e983'/>
<id>48fc907403b630f069dfd63fada73f96a8c6e983</id>
<content type='text'>
fix: handle tags like debian/2%2.6-21 as identifiers</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fix: handle tags like debian/2%2.6-21 as identifiers</pre>
</div>
</content>
</entry>
<entry>
<title>chore: add type-hints for gitlab/mixins.py</title>
<updated>2021-03-06T20:13:50+00:00</updated>
<author>
<name>John L. Villalovos</name>
<email>john@sodarock.com</email>
</author>
<published>2021-02-27T01:10:16+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=baea7215bbbe07c06b2ca0f97a1d3d482668d887'/>
<id>baea7215bbbe07c06b2ca0f97a1d3d482668d887</id>
<content type='text'>
  * Added type-hints for gitlab/mixins.py
  * Changed use of filter with a lambda expression to
    list-comprehension. mypy was not able to understand the previous
    code. Also list-comprehension is better :)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  * Added type-hints for gitlab/mixins.py
  * Changed use of filter with a lambda expression to
    list-comprehension. mypy was not able to understand the previous
    code. Also list-comprehension is better :)
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #1353 from JohnVillalovos/jlvillal/mypy_base</title>
<updated>2021-03-06T19:58:52+00:00</updated>
<author>
<name>Nejc Habjan</name>
<email>hab.nejc@gmail.com</email>
</author>
<published>2021-03-06T19:58:52+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=ebdfec7ee66c1cc64024fe52b2b0821d51779c2a'/>
<id>ebdfec7ee66c1cc64024fe52b2b0821d51779c2a</id>
<content type='text'>
chore: add type hints to gitlab/base.py:RESTManager</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
chore: add type hints to gitlab/base.py:RESTManager</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #1350 from JohnVillalovos/jlvillal/isinstance</title>
<updated>2021-03-06T17:57:08+00:00</updated>
<author>
<name>Nejc Habjan</name>
<email>hab.nejc@gmail.com</email>
</author>
<published>2021-03-06T17:57:08+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=c530f75a3f356e2fc9732c6a3688881e453115e7'/>
<id>c530f75a3f356e2fc9732c6a3688881e453115e7</id>
<content type='text'>
chore: Put assert statements inside 'if TYPE_CHECKING:'</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
chore: Put assert statements inside 'if TYPE_CHECKING:'</pre>
</div>
</content>
</entry>
<entry>
<title>fix: handle tags like debian/2%2.6-21 as identifiers</title>
<updated>2021-03-05T00:04:00+00:00</updated>
<author>
<name>Emanuele Aina</name>
<email>emanuele.aina@collabora.com</email>
</author>
<published>2021-02-25T21:53:11+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=b4dac5ce33843cf52badeb9faf0f7f52f20a9a6a'/>
<id>b4dac5ce33843cf52badeb9faf0f7f52f20a9a6a</id>
<content type='text'>
Git refnames are relatively free-form and can contain all sort for
special characters, not just `/` and `#`, see
http://git-scm.com/docs/git-check-ref-format

In particular, Debian's DEP-14 standard for storing packaging in git
repositories mandates the use of the `%` character in tags in some
cases like `debian/2%2.6-21`.

Unfortunately python-gitlab currently only escapes `/` to `%2F` and in
some cases `#` to `%23`. This means that when using the commit API to
retrieve information about the `debian/2%2.6-21` tag only the slash is
escaped before being inserted in the URL path and the `%` is left
untouched, resulting in something like
`/api/v4/projects/123/repository/commits/debian%2F2%2.6-21`. When
urllib3 seees that it detects the invalid `%` escape and then urlencodes
the whole string, resulting in
`/api/v4/projects/123/repository/commits/debian%252F2%252.6-21`, where
the original `/` got escaped twice and produced `%252F`.

To avoid the issue, fully urlencode identifiers and parameters to avoid
the urllib3 auto-escaping in all cases.

Signed-off-by: Emanuele Aina &lt;emanuele.aina@collabora.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Git refnames are relatively free-form and can contain all sort for
special characters, not just `/` and `#`, see
http://git-scm.com/docs/git-check-ref-format

In particular, Debian's DEP-14 standard for storing packaging in git
repositories mandates the use of the `%` character in tags in some
cases like `debian/2%2.6-21`.

Unfortunately python-gitlab currently only escapes `/` to `%2F` and in
some cases `#` to `%23`. This means that when using the commit API to
retrieve information about the `debian/2%2.6-21` tag only the slash is
escaped before being inserted in the URL path and the `%` is left
untouched, resulting in something like
`/api/v4/projects/123/repository/commits/debian%2F2%2.6-21`. When
urllib3 seees that it detects the invalid `%` escape and then urlencodes
the whole string, resulting in
`/api/v4/projects/123/repository/commits/debian%252F2%252.6-21`, where
the original `/` got escaped twice and produced `%252F`.

To avoid the issue, fully urlencode identifiers and parameters to avoid
the urllib3 auto-escaping in all cases.

Signed-off-by: Emanuele Aina &lt;emanuele.aina@collabora.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: put assert statements inside 'if TYPE_CHECKING:'</title>
<updated>2021-03-02T16:27:32+00:00</updated>
<author>
<name>John L. Villalovos</name>
<email>john@sodarock.com</email>
</author>
<published>2021-03-01T16:47:47+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=b562458f063c6be970f58c733fe01ec786798549'/>
<id>b562458f063c6be970f58c733fe01ec786798549</id>
<content type='text'>
To be safe that we don't assert while running, put the assert
statements, which are used by mypy to check that types are correct,
inside an 'if TYPE_CHECKING:' block.

Also, instead of asserting that the item is a dict, instead assert
that it is not a requests.Response object. Theoretically the JSON
could return as a list or dict, though at this time we are assuming a
dict.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To be safe that we don't assert while running, put the assert
statements, which are used by mypy to check that types are correct,
inside an 'if TYPE_CHECKING:' block.

Also, instead of asserting that the item is a dict, instead assert
that it is not a requests.Response object. Theoretically the JSON
could return as a list or dict, though at this time we are assuming a
dict.
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: add type hints to gitlab/base.py:RESTManager</title>
<updated>2021-03-02T01:57:01+00:00</updated>
<author>
<name>John L. Villalovos</name>
<email>john@sodarock.com</email>
</author>
<published>2021-03-02T01:57:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=9c55593ae6a7308176710665f8bec094d4cadc2e'/>
<id>9c55593ae6a7308176710665f8bec094d4cadc2e</id>
<content type='text'>
Add some additional type hints to gitlab/base.py
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add some additional type hints to gitlab/base.py
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: del 'import *' in gitlab/v4/objects/project_access_tokens.py</title>
<updated>2021-03-01T19:31:14+00:00</updated>
<author>
<name>John L. Villalovos</name>
<email>john@sodarock.com</email>
</author>
<published>2021-03-01T19:31:14+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=9efbe1297d8d32419b8f04c3758ca7c83a95f199'/>
<id>9efbe1297d8d32419b8f04c3758ca7c83a95f199</id>
<content type='text'>
Remove usage of 'import *' in
gitlab/v4/objects/project_access_tokens.py.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove usage of 'import *' in
gitlab/v4/objects/project_access_tokens.py.
</pre>
</div>
</content>
</entry>
</feed>
