From 5a340a5e982280784b1ee3c0e68aeb38e283784a86e2e9d3bc4a6a38a622d525 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Wed, 16 Sep 2020 11:02:13 +0000 Subject: [PATCH] - update to 0.10.0: * MariaDB ed25519 auth is supported. * Python 3.4 support is dropped. * Context manager interface is removed from `Connection`. It will be added with different meaning. * MySQL warnings are not shown by default because many user report issue to PyMySQL issue tracker when they see warning. You need to call "SHOW WARNINGS" explicitly when you want to see warnings. * Formatting of float object is changed from "3.14" to "3.14e0". * Use cp1252 codec for latin1 charset. * Fix decimal literal. * TRUNCATED_WRONG_VALUE_FOR_FIELD, and ILLEGAL_VALUE_FOR_TYPE are now DataError instead of InternalError. - remove python-PyMySQL-no-unittest2.patch (upstream) OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-PyMySQL?expand=0&rev=23 --- PyMySQL-0.10.0.tar.gz | 3 + PyMySQL-0.9.3.tar.gz | 3 - python-PyMySQL-no-unittest2.patch | 485 ------------------------------ python-PyMySQL.changes | 18 ++ python-PyMySQL.spec | 7 +- 5 files changed, 23 insertions(+), 493 deletions(-) create mode 100644 PyMySQL-0.10.0.tar.gz delete mode 100644 PyMySQL-0.9.3.tar.gz delete mode 100644 python-PyMySQL-no-unittest2.patch diff --git a/PyMySQL-0.10.0.tar.gz b/PyMySQL-0.10.0.tar.gz new file mode 100644 index 0000000..96483a8 --- /dev/null +++ b/PyMySQL-0.10.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6aa14b0af07a2191c1a83d12712b6c4463a2ff087c78d53f76636b0361c3a8a4 +size 86137 diff --git a/PyMySQL-0.9.3.tar.gz b/PyMySQL-0.9.3.tar.gz deleted file mode 100644 index b007365..0000000 --- a/PyMySQL-0.9.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5a85599a69b51db185f9447ba5034501482496e481574bce972c7dcb5abe1d57 -size 86715 diff --git a/python-PyMySQL-no-unittest2.patch b/python-PyMySQL-no-unittest2.patch deleted file mode 100644 index 7bda504..0000000 --- a/python-PyMySQL-no-unittest2.patch +++ /dev/null @@ -1,485 +0,0 @@ -Index: PyMySQL-0.9.3/pymysql/tests/__init__.py -=================================================================== ---- PyMySQL-0.9.3.orig/pymysql/tests/__init__.py 2018-06-27 09:28:18.000000000 +0200 -+++ PyMySQL-0.9.3/pymysql/tests/__init__.py 2020-06-03 10:13:17.705278419 +0200 -@@ -14,5 +14,5 @@ from pymysql.tests.test_optionfile impor - from pymysql.tests.thirdparty import * - - if __name__ == "__main__": -- import unittest2 -- unittest2.main() -+ import unittest -+ unittest.main() -Index: PyMySQL-0.9.3/pymysql/tests/base.py -=================================================================== ---- PyMySQL-0.9.3.orig/pymysql/tests/base.py 2018-12-17 13:00:21.000000000 +0100 -+++ PyMySQL-0.9.3/pymysql/tests/base.py 2020-06-03 10:13:17.705278419 +0200 -@@ -3,14 +3,33 @@ import json - import os - import re - import warnings -- --import unittest2 -+import unittest - - import pymysql - from .._compat import CPYTHON - - --class PyMySQLTestCase(unittest2.TestCase): -+if CPYTHON: -+ import atexit -+ gc.set_debug(gc.DEBUG_UNCOLLECTABLE) -+ -+ @atexit.register -+ def report_uncollectable(): -+ import gc -+ if not gc.garbage: -+ print("No garbages!") -+ return -+ print('uncollectable objects') -+ for obj in gc.garbage: -+ print(obj) -+ if hasattr(obj, '__dict__'): -+ print(obj.__dict__) -+ for ref in gc.get_referrers(obj): -+ print("referrer:", ref) -+ print('---') -+ -+ -+class PyMySQLTestCase(unittest.TestCase): - # You can specify your test environment creating a file named - # "databases.json" or editing the `databases` variable below. - fname = os.path.join(os.path.dirname(__file__), "databases.json") -@@ -97,7 +116,6 @@ class PyMySQLTestCase(unittest2.TestCase - """Ensure cycles are collected via gc. - - Runs additional times on non-CPython platforms. -- - """ - gc.collect() - if not CPYTHON: -Index: PyMySQL-0.9.3/pymysql/tests/test_basic.py -=================================================================== ---- PyMySQL-0.9.3.orig/pymysql/tests/test_basic.py 2018-12-18 10:58:59.000000000 +0100 -+++ PyMySQL-0.9.3/pymysql/tests/test_basic.py 2020-06-03 10:13:17.705278419 +0200 -@@ -4,7 +4,7 @@ import json - import time - import warnings - --from unittest2 import SkipTest -+import pytest - - from pymysql import util - import pymysql.cursors -@@ -143,7 +143,7 @@ class TestConversion(base.PyMySQLTestCas - - conn = self.connect() - if not self.mysql_server_is(conn, (5, 6, 4)): -- raise SkipTest("target backend does not support microseconds") -+ pytest.skip("target backend does not support microseconds") - c = conn.cursor() - dt = datetime.datetime(2013, 11, 12, 9, 9, 9, 123450) - c.execute("create table test_datetime (id int, ts datetime(6))") -@@ -256,7 +256,7 @@ class TestCursor(base.PyMySQLTestCase): - args["charset"] = "utf8mb4" - conn = pymysql.connect(**args) - if not self.mysql_server_is(conn, (5, 7, 0)): -- raise SkipTest("JSON type is not supported on MySQL <= 5.6") -+ pytest.skip("JSON type is not supported on MySQL <= 5.6") - - self.safe_create_table(conn, "test_json", """\ - create table test_json ( -Index: PyMySQL-0.9.3/pymysql/tests/test_connection.py -=================================================================== ---- PyMySQL-0.9.3.orig/pymysql/tests/test_connection.py 2018-12-18 10:58:59.000000000 +0100 -+++ PyMySQL-0.9.3/pymysql/tests/test_connection.py 2020-06-03 10:13:17.705278419 +0200 -@@ -1,7 +1,7 @@ - import datetime - import sys - import time --import unittest2 -+import pytest - import pymysql - from pymysql.tests import base - from pymysql._compat import text_type -@@ -100,14 +100,14 @@ class TestAuthentication(base.PyMySQLTes - def test_plugin(self): - conn = self.connect() - if not self.mysql_server_is(conn, (5, 5, 0)): -- raise unittest2.SkipTest("MySQL-5.5 required for plugins") -+ pytest.skip("MySQL-5.5 required for plugins") - cur = conn.cursor() - cur.execute("select plugin from mysql.user where concat(user, '@', host)=current_user()") - for r in cur: - self.assertIn(conn._auth_plugin_name, (r[0], 'mysql_native_password')) - -- @unittest2.skipUnless(socket_auth, "connection to unix_socket required") -- @unittest2.skipIf(socket_found, "socket plugin already installed") -+ @pytest.mark.skipif(not socket_auth, reason="connection to unix_socket required") -+ @pytest.mark.skipif(socket_found, reason="socket plugin already installed") - def testSocketAuthInstallPlugin(self): - # needs plugin. lets install it. - cur = self.connect().cursor() -@@ -124,13 +124,13 @@ class TestAuthentication(base.PyMySQLTes - self.realtestSocketAuth() - except pymysql.err.InternalError: - TestAuthentication.socket_found = False -- raise unittest2.SkipTest('we couldn\'t install the socket plugin') -+ pytest.skip('we couldn\'t install the socket plugin') - finally: - if TestAuthentication.socket_found: - cur.execute("uninstall plugin %s" % self.socket_plugin_name) - -- @unittest2.skipUnless(socket_auth, "connection to unix_socket required") -- @unittest2.skipUnless(socket_found, "no socket plugin") -+ @pytest.mark.skipif(not socket_auth, reason="connection to unix_socket required") -+ @pytest.mark.skipif(not socket_found, reason="no socket plugin") - def testSocketAuth(self): - self.realtestSocketAuth() - -@@ -179,8 +179,8 @@ class TestAuthentication(base.PyMySQLTes - self.con=con - - -- @unittest2.skipUnless(socket_auth, "connection to unix_socket required") -- @unittest2.skipIf(two_questions_found, "two_questions plugin already installed") -+ @pytest.mark.skipif(not socket_auth, reason="connection to unix_socket required") -+ @pytest.mark.skipif(two_questions_found, reason="two_questions plugin already installed") - def testDialogAuthTwoQuestionsInstallPlugin(self): - # needs plugin. lets install it. - cur = self.connect().cursor() -@@ -189,13 +189,13 @@ class TestAuthentication(base.PyMySQLTes - TestAuthentication.two_questions_found = True - self.realTestDialogAuthTwoQuestions() - except pymysql.err.InternalError: -- raise unittest2.SkipTest('we couldn\'t install the two_questions plugin') -+ pytest.skip('we couldn\'t install the two_questions plugin') - finally: - if TestAuthentication.two_questions_found: - cur.execute("uninstall plugin two_questions") - -- @unittest2.skipUnless(socket_auth, "connection to unix_socket required") -- @unittest2.skipUnless(two_questions_found, "no two questions auth plugin") -+ @pytest.mark.skipif(not socket_auth, reason="connection to unix_socket required") -+ @pytest.mark.skipif(not two_questions_found, reason="no two questions auth plugin") - def testDialogAuthTwoQuestions(self): - self.realTestDialogAuthTwoQuestions() - -@@ -209,8 +209,8 @@ class TestAuthentication(base.PyMySQLTes - pymysql.connect(user='pymysql_2q', **self.db) - pymysql.connect(user='pymysql_2q', auth_plugin_map={b'dialog': TestAuthentication.Dialog}, **self.db) - -- @unittest2.skipUnless(socket_auth, "connection to unix_socket required") -- @unittest2.skipIf(three_attempts_found, "three_attempts plugin already installed") -+ @pytest.mark.skipif(not socket_auth, reason="connection to unix_socket required") -+ @pytest.mark.skipif(three_attempts_found, reason="three_attempts plugin already installed") - def testDialogAuthThreeAttemptsQuestionsInstallPlugin(self): - # needs plugin. lets install it. - cur = self.connect().cursor() -@@ -219,13 +219,13 @@ class TestAuthentication(base.PyMySQLTes - TestAuthentication.three_attempts_found = True - self.realTestDialogAuthThreeAttempts() - except pymysql.err.InternalError: -- raise unittest2.SkipTest('we couldn\'t install the three_attempts plugin') -+ pytest.skip('we couldn\'t install the three_attempts plugin') - finally: - if TestAuthentication.three_attempts_found: - cur.execute("uninstall plugin three_attempts") - -- @unittest2.skipUnless(socket_auth, "connection to unix_socket required") -- @unittest2.skipUnless(three_attempts_found, "no three attempts plugin") -+ @pytest.mark.skipif(not socket_auth, reason="connection to unix_socket required") -+ @pytest.mark.skipif(not three_attempts_found, reason="no three attempts plugin") - def testDialogAuthThreeAttempts(self): - self.realTestDialogAuthThreeAttempts() - -@@ -250,10 +250,10 @@ class TestAuthentication(base.PyMySQLTes - with self.assertRaises(pymysql.err.OperationalError): - pymysql.connect(user='pymysql_3a', auth_plugin_map={b'dialog': TestAuthentication.Dialog}, **self.db) - -- @unittest2.skipUnless(socket_auth, "connection to unix_socket required") -- @unittest2.skipIf(pam_found, "pam plugin already installed") -- @unittest2.skipIf(os.environ.get('PASSWORD') is None, "PASSWORD env var required") -- @unittest2.skipIf(os.environ.get('PAMSERVICE') is None, "PAMSERVICE env var required") -+ @pytest.mark.skipif(not socket_auth, reason="connection to unix_socket required") -+ @pytest.mark.skipif(pam_found, reason="pam plugin already installed") -+ @pytest.mark.skipif(os.environ.get('PASSWORD') is None, reason="PASSWORD env var required") -+ @pytest.mark.skipif(os.environ.get('PAMSERVICE') is None, reason="PAMSERVICE env var required") - def testPamAuthInstallPlugin(self): - # needs plugin. lets install it. - cur = self.connect().cursor() -@@ -262,16 +262,16 @@ class TestAuthentication(base.PyMySQLTes - TestAuthentication.pam_found = True - self.realTestPamAuth() - except pymysql.err.InternalError: -- raise unittest2.SkipTest('we couldn\'t install the auth_pam plugin') -+ pytest.skip('we couldn\'t install the auth_pam plugin') - finally: - if TestAuthentication.pam_found: - cur.execute("uninstall plugin pam") - - -- @unittest2.skipUnless(socket_auth, "connection to unix_socket required") -- @unittest2.skipUnless(pam_found, "no pam plugin") -- @unittest2.skipIf(os.environ.get('PASSWORD') is None, "PASSWORD env var required") -- @unittest2.skipIf(os.environ.get('PAMSERVICE') is None, "PAMSERVICE env var required") -+ @pytest.mark.skipif(not socket_auth, reason="connection to unix_socket required") -+ @pytest.mark.skipif(not pam_found, reason="no pam plugin") -+ @pytest.mark.skipif(os.environ.get('PASSWORD') is None, reason="PASSWORD env var required") -+ @pytest.mark.skipif(os.environ.get('PAMSERVICE') is None, reason="PAMSERVICE env var required") - def testPamAuth(self): - self.realTestPamAuth() - -@@ -311,16 +311,16 @@ class TestAuthentication(base.PyMySQLTes - # select old_password("crummy p\tassword"); - #| old_password("crummy p\tassword") | - #| 2a01785203b08770 | -- @unittest2.skipUnless(socket_auth, "connection to unix_socket required") -- @unittest2.skipUnless(mysql_old_password_found, "no mysql_old_password plugin") -+ @pytest.mark.skipif(not socket_auth, reason="connection to unix_socket required") -+ @pytest.mark.skipif(not mysql_old_password_found, reason="no mysql_old_password plugin") - def testMySQLOldPasswordAuth(self): - conn = self.connect() - if self.mysql_server_is(conn, (5, 7, 0)): -- raise unittest2.SkipTest('Old passwords aren\'t supported in 5.7') -+ pytest.skip('Old passwords aren\'t supported in 5.7') - # pymysql.err.OperationalError: (1045, "Access denied for user 'old_pass_user'@'localhost' (using password: YES)") - # from login in MySQL-5.6 - if self.mysql_server_is(conn, (5, 6, 0)): -- raise unittest2.SkipTest('Old passwords don\'t authenticate in 5.6') -+ pytest.skip('Old passwords don\'t authenticate in 5.6') - db = self.db.copy() - db['password'] = "crummy p\tassword" - c = conn.cursor() -@@ -354,8 +354,8 @@ class TestAuthentication(base.PyMySQLTes - cur.execute("SELECT VERSION()") - c.execute('set global secure_auth=%r' % secure_auth_setting) - -- @unittest2.skipUnless(socket_auth, "connection to unix_socket required") -- @unittest2.skipUnless(sha256_password_found, "no sha256 password authentication plugin found") -+ @pytest.mark.skipif(not socket_auth, reason="connection to unix_socket required") -+ @pytest.mark.skipif(not sha256_password_found, reason="no sha256 password authentication plugin found") - def testAuthSHA256(self): - conn = self.connect() - c = conn.cursor() -Index: PyMySQL-0.9.3/pymysql/tests/test_err.py -=================================================================== ---- PyMySQL-0.9.3.orig/pymysql/tests/test_err.py 2016-09-01 13:09:00.000000000 +0200 -+++ PyMySQL-0.9.3/pymysql/tests/test_err.py 2020-06-03 10:13:17.705278419 +0200 -@@ -1,4 +1,4 @@ --import unittest2 -+import unittest - - from pymysql import err - -@@ -6,7 +6,7 @@ from pymysql import err - __all__ = ["TestRaiseException"] - - --class TestRaiseException(unittest2.TestCase): -+class TestRaiseException(unittest.TestCase): - - def test_raise_mysql_exception(self): - data = b"\xff\x15\x04Access denied" -Index: PyMySQL-0.9.3/pymysql/tests/test_issues.py -=================================================================== ---- PyMySQL-0.9.3.orig/pymysql/tests/test_issues.py 2018-12-18 10:58:59.000000000 +0100 -+++ PyMySQL-0.9.3/pymysql/tests/test_issues.py 2020-06-03 10:13:17.705278419 +0200 -@@ -3,11 +3,12 @@ import time - import warnings - import sys - -+import pytest -+ - import pymysql - from pymysql import cursors - from pymysql._compat import text_type - from pymysql.tests import base --import unittest2 - - try: - import imp -@@ -145,7 +146,7 @@ KEY (`station`,`dh`,`echeance`)) ENGINE= - finally: - c.execute("drop table issue16") - -- @unittest2.skip("test_issue_17() requires a custom, legacy MySQL configuration and will not be run.") -+ @pytest.mark.skip("test_issue_17() requires a custom, legacy MySQL configuration and will not be run.") - def test_issue_17(self): - """could not connect mysql use passwod""" - conn = self.connect() -@@ -189,7 +190,7 @@ class TestNewIssues(base.PyMySQLTestCase - c.execute(u"select name from hei\xdfe") - self.assertEqual(u"Pi\xdfata", c.fetchone()[0]) - -- @unittest2.skip("This test requires manual intervention") -+ @pytest.mark.skip("This test requires manual intervention") - def test_issue_35(self): - conn = self.connect() - c = conn.cursor() -Index: PyMySQL-0.9.3/pymysql/tests/test_nextset.py -=================================================================== ---- PyMySQL-0.9.3.orig/pymysql/tests/test_nextset.py 2018-05-07 13:40:08.000000000 +0200 -+++ PyMySQL-0.9.3/pymysql/tests/test_nextset.py 2020-06-03 10:13:17.705278419 +0200 -@@ -1,4 +1,4 @@ --import unittest2 -+import pytest - - import pymysql - from pymysql import util -@@ -50,7 +50,7 @@ class TestNextset(base.PyMySQLTestCase): - self.assertEqual([(2,)], list(cur)) - self.assertFalse(bool(cur.nextset())) - -- @unittest2.expectedFailure -+ @pytest.mark.xfail - def test_multi_cursor(self): - con = self.connect(client_flag=CLIENT.MULTI_STATEMENTS) - cur1 = con.cursor() -Index: PyMySQL-0.9.3/pymysql/tests/thirdparty/__init__.py -=================================================================== ---- PyMySQL-0.9.3.orig/pymysql/tests/thirdparty/__init__.py 2014-08-29 13:32:54.000000000 +0200 -+++ PyMySQL-0.9.3/pymysql/tests/thirdparty/__init__.py 2020-06-03 10:13:17.705278419 +0200 -@@ -1,8 +1,5 @@ - from .test_MySQLdb import * - - if __name__ == "__main__": -- try: -- import unittest2 as unittest -- except ImportError: -- import unittest -+ import unittest - unittest.main() -Index: PyMySQL-0.9.3/pymysql/tests/thirdparty/test_MySQLdb/capabilities.py -=================================================================== ---- PyMySQL-0.9.3.orig/pymysql/tests/thirdparty/test_MySQLdb/capabilities.py 2018-05-07 13:40:08.000000000 +0200 -+++ PyMySQL-0.9.3/pymysql/tests/thirdparty/test_MySQLdb/capabilities.py 2020-06-03 10:13:17.705278419 +0200 -@@ -6,10 +6,7 @@ - """ - import sys - from time import time --try: -- import unittest2 as unittest --except ImportError: -- import unittest -+import unittest - - PY2 = sys.version_info[0] == 2 - -Index: PyMySQL-0.9.3/pymysql/tests/thirdparty/test_MySQLdb/dbapi20.py -=================================================================== ---- PyMySQL-0.9.3.orig/pymysql/tests/thirdparty/test_MySQLdb/dbapi20.py 2018-03-26 09:46:10.000000000 +0200 -+++ PyMySQL-0.9.3/pymysql/tests/thirdparty/test_MySQLdb/dbapi20.py 2020-06-03 10:13:17.705278419 +0200 -@@ -14,12 +14,8 @@ __rcs_id__ = '$Id$' - __version__ = '$Revision$'[11:-2] - __author__ = 'Stuart Bishop ' - --try: -- import unittest2 as unittest --except ImportError: -- import unittest -- - import time -+import unittest - - # $Log$ - # Revision 1.1.2.1 2006/02/25 03:44:32 adustman -Index: PyMySQL-0.9.3/pymysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_capabilities.py -=================================================================== ---- PyMySQL-0.9.3.orig/pymysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_capabilities.py 2018-05-07 13:55:31.000000000 +0200 -+++ PyMySQL-0.9.3/pymysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_capabilities.py 2020-06-03 10:13:17.705278419 +0200 -@@ -1,8 +1,5 @@ - from . import capabilities --try: -- import unittest2 as unittest --except ImportError: -- import unittest -+import unittest - import pymysql - from pymysql.tests import base - import warnings -Index: PyMySQL-0.9.3/pymysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_dbapi20.py -=================================================================== ---- PyMySQL-0.9.3.orig/pymysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_dbapi20.py 2018-03-26 09:46:10.000000000 +0200 -+++ PyMySQL-0.9.3/pymysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_dbapi20.py 2020-06-03 10:13:17.705278419 +0200 -@@ -2,10 +2,7 @@ from . import dbapi20 - import pymysql - from pymysql.tests import base - --try: -- import unittest2 as unittest --except ImportError: -- import unittest -+import unittest - - - class test_MySQLdb(dbapi20.DatabaseAPI20Test): -Index: PyMySQL-0.9.3/pymysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_nonstandard.py -=================================================================== ---- PyMySQL-0.9.3.orig/pymysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_nonstandard.py 2018-03-26 09:46:10.000000000 +0200 -+++ PyMySQL-0.9.3/pymysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_nonstandard.py 2020-06-03 10:13:17.705278419 +0200 -@@ -1,8 +1,5 @@ - import sys --try: -- import unittest2 as unittest --except ImportError: -- import unittest -+import unittest - - import pymysql - _mysql = pymysql -Index: PyMySQL-0.9.3/runtests.py -=================================================================== ---- PyMySQL-0.9.3.orig/runtests.py 2018-06-27 11:32:13.000000000 +0200 -+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 -@@ -1,31 +0,0 @@ --#!/usr/bin/env python --import unittest2 -- --from pymysql._compat import PYPY, JYTHON, IRONPYTHON -- --#import pymysql --#pymysql.connections.DEBUG = True --#pymysql._auth.DEBUG = True -- --if not (PYPY or JYTHON or IRONPYTHON): -- import atexit -- import gc -- gc.set_debug(gc.DEBUG_UNCOLLECTABLE) -- -- @atexit.register -- def report_uncollectable(): -- import gc -- if not gc.garbage: -- print("No garbages!") -- return -- print('uncollectable objects') -- for obj in gc.garbage: -- print(obj) -- if hasattr(obj, '__dict__'): -- print(obj.__dict__) -- for ref in gc.get_referrers(obj): -- print("referrer:", ref) -- print('---') -- --import pymysql.tests --unittest2.main(pymysql.tests, verbosity=2) -Index: PyMySQL-0.9.3/tox.ini -=================================================================== ---- PyMySQL-0.9.3.orig/tox.ini 2018-12-17 12:37:20.000000000 +0100 -+++ PyMySQL-0.9.3/tox.ini 2020-06-03 10:13:17.705278419 +0200 -@@ -1,10 +1,9 @@ - [tox] --envlist = py27,py34,py35,py36,py37,pypy,pypy3 -+envlist = py27,py35,py36,py37,pypy,pypy3 - - [testenv] --commands = coverage run ./runtests.py --deps = unittest2 -- coverage -+commands = pytest -v pymysql/tests/ -+deps = coverage pytest - passenv = USER - PASSWORD - PAMSERVICE diff --git a/python-PyMySQL.changes b/python-PyMySQL.changes index 5add681..785b0bc 100644 --- a/python-PyMySQL.changes +++ b/python-PyMySQL.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Wed Sep 16 11:01:32 UTC 2020 - Dirk Mueller + +- update to 0.10.0: + * MariaDB ed25519 auth is supported. + * Python 3.4 support is dropped. + * Context manager interface is removed from `Connection`. It will be added + with different meaning. + * MySQL warnings are not shown by default because many user report issue to + PyMySQL issue tracker when they see warning. You need to call "SHOW WARNINGS" + explicitly when you want to see warnings. + * Formatting of float object is changed from "3.14" to "3.14e0". + * Use cp1252 codec for latin1 charset. + * Fix decimal literal. + * TRUNCATED_WRONG_VALUE_FOR_FIELD, and ILLEGAL_VALUE_FOR_TYPE are now + DataError instead of InternalError. +- remove python-PyMySQL-no-unittest2.patch (upstream) + ------------------------------------------------------------------- Thu Jun 4 09:21:14 UTC 2020 - pgajdos@suse.com diff --git a/python-PyMySQL.spec b/python-PyMySQL.spec index de9e270..8069ec3 100644 --- a/python-PyMySQL.spec +++ b/python-PyMySQL.spec @@ -18,15 +18,13 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-PyMySQL -Version: 0.9.3 +Version: 0.10.0 Release: 0 Summary: Pure Python MySQL Driver License: MIT Group: Development/Languages/Python URL: https://github.com/PyMySQL/PyMySQL/ -Source: https://github.com/PyMySQL/PyMySQL/archive/v%{version}.tar.gz#/PyMySQL-0.9.3.tar.gz -# https://github.com/PyMySQL/PyMySQL/commit/a500fcd64d4500417540a2a2ff7b16a88d1872ad -Patch0: python-PyMySQL-no-unittest2.patch +Source: https://github.com/PyMySQL/PyMySQL/archive/v%{version}.tar.gz#/PyMySQL-%{version}.tar.gz BuildRequires: %{python_module cryptography} BuildRequires: %{python_module pytest} BuildRequires: %{python_module setuptools} @@ -50,7 +48,6 @@ its unit tests as well as running it against the MySQLdb and myconnpy unit tests %prep %setup -q -n PyMySQL-%{version} -%patch0 -p1 # remove unwanted shebang sed -i '1 { /^#!/ d }' pymysql/tests/thirdparty/test_MySQLdb/*.py