Skip to content

Commit 9fb4645

Browse files
committed
refactor: remove six dependency
1 parent af8679a commit 9fb4645

File tree

11 files changed

+24
-32
lines changed

11 files changed

+24
-32
lines changed

README.rst

-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ Requirements
3232
python-gitlab depends on:
3333

3434
* `python-requests <http://docs.python-requests.org/en/latest/>`_
35-
* `six <https://six.readthedocs.io/>`_
3635

3736
Install with pip
3837
----------------

docs/ext/docstrings.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import os
44

55
import jinja2
6-
import six
76
import sphinx
87
import sphinx.ext.napoleon as napoleon
98
from sphinx.ext.napoleon.docstring import GoogleDocstring
@@ -25,7 +24,7 @@ def setup(app):
2524

2625
conf = napoleon.Config._config_values
2726

28-
for name, (default, rebuild) in six.iteritems(conf):
27+
for name, (default, rebuild) in conf.items():
2928
app.add_config_value(name, default, rebuild)
3029
return {"version": sphinx.__display_version__, "parallel_read_safe": True}
3130

gitlab/__init__.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import warnings
2424

2525
import requests
26-
import six
2726

2827
import gitlab.config
2928
from gitlab.const import * # noqa
@@ -47,8 +46,8 @@
4746

4847
def _sanitize(value):
4948
if isinstance(value, dict):
50-
return dict((k, _sanitize(v)) for k, v in six.iteritems(value))
51-
if isinstance(value, six.string_types):
49+
return dict((k, _sanitize(v)) for k, v in value.items())
50+
if isinstance(value, str):
5251
return value.replace("/", "%2F")
5352
return value
5453

gitlab/config.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616
# along with this program. If not, see <http://www.gnu.org/licenses/>.
1717

1818
import os
19-
20-
from six.moves import configparser
19+
import configparser
2120

2221
_DEFAULT_FILES = ["/etc/python-gitlab.cfg", os.path.expanduser("~/.python-gitlab.cfg")]
2322

gitlab/tests/test_cli.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import os
2121
import tempfile
2222
import unittest
23+
import io
2324

2425
try:
2526
from contextlib import redirect_stderr # noqa: H302
@@ -34,8 +35,6 @@ def redirect_stderr(new_target):
3435
sys.stderr = old_target
3536

3637

37-
import six
38-
3938
from gitlab import cli
4039
import gitlab.v4.cli
4140

@@ -56,7 +55,7 @@ class TestClass(object):
5655
self.assertEqual("class", cli.cls_to_what(Class))
5756

5857
def test_die(self):
59-
fl = six.StringIO()
58+
fl = io.StringIO()
6059
with redirect_stderr(fl):
6160
with self.assertRaises(SystemExit) as test:
6261
cli.die("foobar")
@@ -83,7 +82,7 @@ def test_parse_value(self):
8382
self.assertEqual(ret, "content")
8483
os.unlink(temp_path)
8584

86-
fl = six.StringIO()
85+
fl = io.StringIO()
8786
with redirect_stderr(fl):
8887
with self.assertRaises(SystemExit) as exc:
8988
cli._parse_value("@/thisfileprobablydoesntexist")

gitlab/tests/test_config.py

+11-11
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import unittest
1919

2020
import mock
21-
import six
21+
import io
2222

2323
from gitlab import config
2424

@@ -80,26 +80,26 @@ def test_missing_config(self, path_exists):
8080
config.GitlabConfigParser("test")
8181

8282
@mock.patch("os.path.exists")
83-
@mock.patch("six.moves.builtins.open")
83+
@mock.patch("builtins.open")
8484
def test_invalid_id(self, m_open, path_exists):
85-
fd = six.StringIO(no_default_config)
85+
fd = io.StringIO(no_default_config)
8686
fd.close = mock.Mock(return_value=None)
8787
m_open.return_value = fd
8888
path_exists.return_value = True
8989
config.GitlabConfigParser("there")
9090
self.assertRaises(config.GitlabIDError, config.GitlabConfigParser)
9191

92-
fd = six.StringIO(valid_config)
92+
fd = io.StringIO(valid_config)
9393
fd.close = mock.Mock(return_value=None)
9494
m_open.return_value = fd
9595
self.assertRaises(
9696
config.GitlabDataError, config.GitlabConfigParser, gitlab_id="not_there"
9797
)
9898

9999
@mock.patch("os.path.exists")
100-
@mock.patch("six.moves.builtins.open")
100+
@mock.patch("builtins.open")
101101
def test_invalid_data(self, m_open, path_exists):
102-
fd = six.StringIO(missing_attr_config)
102+
fd = io.StringIO(missing_attr_config)
103103
fd.close = mock.Mock(return_value=None, side_effect=lambda: fd.seek(0))
104104
m_open.return_value = fd
105105
path_exists.return_value = True
@@ -117,9 +117,9 @@ def test_invalid_data(self, m_open, path_exists):
117117
self.assertEqual("Unsupported per_page number: 200", emgr.exception.args[0])
118118

119119
@mock.patch("os.path.exists")
120-
@mock.patch("six.moves.builtins.open")
120+
@mock.patch("builtins.open")
121121
def test_valid_data(self, m_open, path_exists):
122-
fd = six.StringIO(valid_config)
122+
fd = io.StringIO(valid_config)
123123
fd.close = mock.Mock(return_value=None)
124124
m_open.return_value = fd
125125
path_exists.return_value = True
@@ -133,7 +133,7 @@ def test_valid_data(self, m_open, path_exists):
133133
self.assertEqual(True, cp.ssl_verify)
134134
self.assertIsNone(cp.per_page)
135135

136-
fd = six.StringIO(valid_config)
136+
fd = io.StringIO(valid_config)
137137
fd.close = mock.Mock(return_value=None)
138138
m_open.return_value = fd
139139
cp = config.GitlabConfigParser(gitlab_id="two")
@@ -144,7 +144,7 @@ def test_valid_data(self, m_open, path_exists):
144144
self.assertEqual(10, cp.timeout)
145145
self.assertEqual(False, cp.ssl_verify)
146146

147-
fd = six.StringIO(valid_config)
147+
fd = io.StringIO(valid_config)
148148
fd.close = mock.Mock(return_value=None)
149149
m_open.return_value = fd
150150
cp = config.GitlabConfigParser(gitlab_id="three")
@@ -156,7 +156,7 @@ def test_valid_data(self, m_open, path_exists):
156156
self.assertEqual("/path/to/CA/bundle.crt", cp.ssl_verify)
157157
self.assertEqual(50, cp.per_page)
158158

159-
fd = six.StringIO(valid_config)
159+
fd = io.StringIO(valid_config)
160160
fd.close = mock.Mock(return_value=None)
161161
m_open.return_value = fd
162162
cp = config.GitlabConfigParser(gitlab_id="four")

gitlab/utils.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# You should have received a copy of the GNU Lesser General Public License
1616
# along with this program. If not, see <http://www.gnu.org/licenses/>.
1717

18-
import six
18+
from urllib.parse import urlparse
1919

2020

2121
class _StdoutStream(object):
@@ -52,6 +52,6 @@ def clean_str_id(id):
5252

5353

5454
def sanitized_url(url):
55-
parsed = six.moves.urllib.parse.urlparse(url)
55+
parsed = urlparse(url)
5656
new_path = parsed.path.replace(".", "%2E")
5757
return parsed._replace(path=new_path).geturl()

gitlab/v4/cli.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
import operator
2222
import sys
2323

24-
import six
25-
2624
import gitlab
2725
import gitlab.base
2826
from gitlab import cli
@@ -321,7 +319,7 @@ def extend_parser(parser):
321319

322320

323321
def get_dict(obj, fields):
324-
if isinstance(obj, six.string_types):
322+
if isinstance(obj, str):
325323
return obj
326324

327325
if fields:
@@ -441,7 +439,7 @@ def run(gl, what, action, args, verbose, output, fields):
441439
printer.display_list(data, fields, verbose=verbose)
442440
elif isinstance(data, gitlab.base.RESTObject):
443441
printer.display(get_dict(data, fields), verbose=verbose, obj=data)
444-
elif isinstance(data, six.string_types):
442+
elif isinstance(data, str):
445443
print(data)
446444
elif hasattr(data, "decode"):
447445
print(data.decode())

requirements.txt

-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
requests>=2.22.0
2-
six

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def get_version():
2525
license="LGPLv3",
2626
url="https://github.com/python-gitlab/python-gitlab",
2727
packages=find_packages(),
28-
install_requires=["requests>=2.22.0", "six"],
28+
install_requires=["requests>=2.22.0"],
2929
entry_points={"console_scripts": ["gitlab = gitlab.cli:main"]},
3030
classifiers=[
3131
"Development Status :: 5 - Production/Stable",

tools/generate_token.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env python
22

3-
from six.moves.urllib.parse import urljoin
3+
from urllib.parse import urljoin
44
from requests_html import HTMLSession
55

66
ENDPOINT = "http://localhost:8080"

0 commit comments

Comments
 (0)