summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.rst1
-rw-r--r--docs/ext/docstrings.py3
-rw-r--r--gitlab/__init__.py5
-rw-r--r--gitlab/config.py3
-rw-r--r--gitlab/tests/test_cli.py7
-rw-r--r--gitlab/tests/test_config.py22
-rw-r--r--gitlab/utils.py4
-rw-r--r--gitlab/v4/cli.py6
-rw-r--r--requirements.txt1
-rw-r--r--setup.py2
-rwxr-xr-xtools/generate_token.py2
11 files changed, 24 insertions, 32 deletions
diff --git a/README.rst b/README.rst
index bb87081..3802bcb 100644
--- a/README.rst
+++ b/README.rst
@@ -32,7 +32,6 @@ Requirements
python-gitlab depends on:
* `python-requests <http://docs.python-requests.org/en/latest/>`_
-* `six <https://six.readthedocs.io/>`_
Install with pip
----------------
diff --git a/docs/ext/docstrings.py b/docs/ext/docstrings.py
index e42bb60..754da27 100644
--- a/docs/ext/docstrings.py
+++ b/docs/ext/docstrings.py
@@ -3,7 +3,6 @@ import itertools
import os
import jinja2
-import six
import sphinx
import sphinx.ext.napoleon as napoleon
from sphinx.ext.napoleon.docstring import GoogleDocstring
@@ -25,7 +24,7 @@ def setup(app):
conf = napoleon.Config._config_values
- for name, (default, rebuild) in six.iteritems(conf):
+ for name, (default, rebuild) in conf.items():
app.add_config_value(name, default, rebuild)
return {"version": sphinx.__display_version__, "parallel_read_safe": True}
diff --git a/gitlab/__init__.py b/gitlab/__init__.py
index be9e01f..2824131 100644
--- a/gitlab/__init__.py
+++ b/gitlab/__init__.py
@@ -23,7 +23,6 @@ import time
import warnings
import requests
-import six
import gitlab.config
from gitlab.const import * # noqa
@@ -47,8 +46,8 @@ REDIRECT_MSG = (
def _sanitize(value):
if isinstance(value, dict):
- return dict((k, _sanitize(v)) for k, v in six.iteritems(value))
- if isinstance(value, six.string_types):
+ return dict((k, _sanitize(v)) for k, v in value.items())
+ if isinstance(value, str):
return value.replace("/", "%2F")
return value
diff --git a/gitlab/config.py b/gitlab/config.py
index 4b4d6fd..b2c0dbf 100644
--- a/gitlab/config.py
+++ b/gitlab/config.py
@@ -16,8 +16,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import os
-
-from six.moves import configparser
+import configparser
_DEFAULT_FILES = ["/etc/python-gitlab.cfg", os.path.expanduser("~/.python-gitlab.cfg")]
diff --git a/gitlab/tests/test_cli.py b/gitlab/tests/test_cli.py
index 04a1961..4820103 100644
--- a/gitlab/tests/test_cli.py
+++ b/gitlab/tests/test_cli.py
@@ -20,6 +20,7 @@ import argparse
import os
import tempfile
import unittest
+import io
try:
from contextlib import redirect_stderr # noqa: H302
@@ -34,8 +35,6 @@ except ImportError:
sys.stderr = old_target
-import six
-
from gitlab import cli
import gitlab.v4.cli
@@ -56,7 +55,7 @@ class TestCLI(unittest.TestCase):
self.assertEqual("class", cli.cls_to_what(Class))
def test_die(self):
- fl = six.StringIO()
+ fl = io.StringIO()
with redirect_stderr(fl):
with self.assertRaises(SystemExit) as test:
cli.die("foobar")
@@ -83,7 +82,7 @@ class TestCLI(unittest.TestCase):
self.assertEqual(ret, "content")
os.unlink(temp_path)
- fl = six.StringIO()
+ fl = io.StringIO()
with redirect_stderr(fl):
with self.assertRaises(SystemExit) as exc:
cli._parse_value("@/thisfileprobablydoesntexist")
diff --git a/gitlab/tests/test_config.py b/gitlab/tests/test_config.py
index a43f977..65bd300 100644
--- a/gitlab/tests/test_config.py
+++ b/gitlab/tests/test_config.py
@@ -18,7 +18,7 @@
import unittest
import mock
-import six
+import io
from gitlab import config
@@ -80,16 +80,16 @@ class TestConfigParser(unittest.TestCase):
config.GitlabConfigParser("test")
@mock.patch("os.path.exists")
- @mock.patch("six.moves.builtins.open")
+ @mock.patch("builtins.open")
def test_invalid_id(self, m_open, path_exists):
- fd = six.StringIO(no_default_config)
+ fd = io.StringIO(no_default_config)
fd.close = mock.Mock(return_value=None)
m_open.return_value = fd
path_exists.return_value = True
config.GitlabConfigParser("there")
self.assertRaises(config.GitlabIDError, config.GitlabConfigParser)
- fd = six.StringIO(valid_config)
+ fd = io.StringIO(valid_config)
fd.close = mock.Mock(return_value=None)
m_open.return_value = fd
self.assertRaises(
@@ -97,9 +97,9 @@ class TestConfigParser(unittest.TestCase):
)
@mock.patch("os.path.exists")
- @mock.patch("six.moves.builtins.open")
+ @mock.patch("builtins.open")
def test_invalid_data(self, m_open, path_exists):
- fd = six.StringIO(missing_attr_config)
+ fd = io.StringIO(missing_attr_config)
fd.close = mock.Mock(return_value=None, side_effect=lambda: fd.seek(0))
m_open.return_value = fd
path_exists.return_value = True
@@ -117,9 +117,9 @@ class TestConfigParser(unittest.TestCase):
self.assertEqual("Unsupported per_page number: 200", emgr.exception.args[0])
@mock.patch("os.path.exists")
- @mock.patch("six.moves.builtins.open")
+ @mock.patch("builtins.open")
def test_valid_data(self, m_open, path_exists):
- fd = six.StringIO(valid_config)
+ fd = io.StringIO(valid_config)
fd.close = mock.Mock(return_value=None)
m_open.return_value = fd
path_exists.return_value = True
@@ -133,7 +133,7 @@ class TestConfigParser(unittest.TestCase):
self.assertEqual(True, cp.ssl_verify)
self.assertIsNone(cp.per_page)
- fd = six.StringIO(valid_config)
+ fd = io.StringIO(valid_config)
fd.close = mock.Mock(return_value=None)
m_open.return_value = fd
cp = config.GitlabConfigParser(gitlab_id="two")
@@ -144,7 +144,7 @@ class TestConfigParser(unittest.TestCase):
self.assertEqual(10, cp.timeout)
self.assertEqual(False, cp.ssl_verify)
- fd = six.StringIO(valid_config)
+ fd = io.StringIO(valid_config)
fd.close = mock.Mock(return_value=None)
m_open.return_value = fd
cp = config.GitlabConfigParser(gitlab_id="three")
@@ -156,7 +156,7 @@ class TestConfigParser(unittest.TestCase):
self.assertEqual("/path/to/CA/bundle.crt", cp.ssl_verify)
self.assertEqual(50, cp.per_page)
- fd = six.StringIO(valid_config)
+ fd = io.StringIO(valid_config)
fd.close = mock.Mock(return_value=None)
m_open.return_value = fd
cp = config.GitlabConfigParser(gitlab_id="four")
diff --git a/gitlab/utils.py b/gitlab/utils.py
index 94528e1..0992ed7 100644
--- a/gitlab/utils.py
+++ b/gitlab/utils.py
@@ -15,7 +15,7 @@
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import six
+from urllib.parse import urlparse
class _StdoutStream(object):
@@ -52,6 +52,6 @@ def clean_str_id(id):
def sanitized_url(url):
- parsed = six.moves.urllib.parse.urlparse(url)
+ parsed = urlparse(url)
new_path = parsed.path.replace(".", "%2E")
return parsed._replace(path=new_path).geturl()
diff --git a/gitlab/v4/cli.py b/gitlab/v4/cli.py
index 6fc41ac..a875261 100644
--- a/gitlab/v4/cli.py
+++ b/gitlab/v4/cli.py
@@ -21,8 +21,6 @@ import inspect
import operator
import sys
-import six
-
import gitlab
import gitlab.base
from gitlab import cli
@@ -321,7 +319,7 @@ def extend_parser(parser):
def get_dict(obj, fields):
- if isinstance(obj, six.string_types):
+ if isinstance(obj, str):
return obj
if fields:
@@ -441,7 +439,7 @@ def run(gl, what, action, args, verbose, output, fields):
printer.display_list(data, fields, verbose=verbose)
elif isinstance(data, gitlab.base.RESTObject):
printer.display(get_dict(data, fields), verbose=verbose, obj=data)
- elif isinstance(data, six.string_types):
+ elif isinstance(data, str):
print(data)
elif hasattr(data, "decode"):
print(data.decode())
diff --git a/requirements.txt b/requirements.txt
index ae7524b..d5c2bc9 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,2 +1 @@
requests>=2.22.0
-six
diff --git a/setup.py b/setup.py
index a363261..da02f9f 100644
--- a/setup.py
+++ b/setup.py
@@ -25,7 +25,7 @@ setup(
license="LGPLv3",
url="https://github.com/python-gitlab/python-gitlab",
packages=find_packages(),
- install_requires=["requests>=2.22.0", "six"],
+ install_requires=["requests>=2.22.0"],
entry_points={"console_scripts": ["gitlab = gitlab.cli:main"]},
classifiers=[
"Development Status :: 5 - Production/Stable",
diff --git a/tools/generate_token.py b/tools/generate_token.py
index 10ca891..89909bd 100755
--- a/tools/generate_token.py
+++ b/tools/generate_token.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
-from six.moves.urllib.parse import urljoin
+from urllib.parse import urljoin
from requests_html import HTMLSession
ENDPOINT = "http://localhost:8080"