From 14cec66870f1c31c6e92620cfc797862602b0594 Mon Sep 17 00:00:00 2001 From: sxt1001 Date: Tue, 11 Aug 2020 14:48:23 +0800 Subject: [PATCH] update to 0.5 --- fix-handle-REMXXXX-is-not-comment.patch | 26 -- iniparse-0.4.tar.gz | Bin 31278 -> 0 bytes iniparse-0.5.tar.gz | Bin 0 -> 32233 bytes python-iniparse.spec | 21 +- python3-compat.patch | 547 ------------------------ setup-fixes.patch | 61 --- 6 files changed, 10 insertions(+), 645 deletions(-) delete mode 100644 fix-handle-REMXXXX-is-not-comment.patch delete mode 100644 iniparse-0.4.tar.gz create mode 100644 iniparse-0.5.tar.gz delete mode 100644 python3-compat.patch delete mode 100644 setup-fixes.patch diff --git a/fix-handle-REMXXXX-is-not-comment.patch b/fix-handle-REMXXXX-is-not-comment.patch deleted file mode 100644 index 43be7ed..0000000 --- a/fix-handle-REMXXXX-is-not-comment.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 7483d7f92ea59458c11506999a5895ed87bf8d6b Mon Sep 17 00:00:00 2001 -From: Jiri Hnidek -Date: Fri, 18 May 2018 13:31:31 +0200 -Subject: [PATCH] First patch from Fedora Project. - ---- - tests/test_ini.py | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/tests/test_ini.py b/tests/test_ini.py -index 6a76edb..78b2b3c 100644 ---- a/tests/test_ini.py -+++ b/tests/test_ini.py -@@ -144,8 +144,7 @@ class test_comment_line(unittest.TestCase): - '#this is a comment', - ';; this is also a comment', - '; so is this ', -- 'Rem and this', -- 'remthis too!' -+ 'Rem and this' - ] - def test_parsing(self): - for l in self.lines: --- -2.19.1 - diff --git a/iniparse-0.4.tar.gz b/iniparse-0.4.tar.gz deleted file mode 100644 index 9760e30b3cb3522a2fe39a291e6e67824c1e63a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31278 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 - 0.5-1 +- Type:NA +- ID:NA +- SUG:NA +- DESC:update to 0.5 + * Fri Sep 27 2019 shenyangyang - 0.4-36 - Type:enhancement - ID:NA diff --git a/python3-compat.patch b/python3-compat.patch deleted file mode 100644 index 2fe0cde..0000000 --- a/python3-compat.patch +++ /dev/null @@ -1,547 +0,0 @@ -From 9ea31e4d1267dd620814eceffabb5b7457ea9fae Mon Sep 17 00:00:00 2001 -From: Jiri Hnidek -Date: Fri, 18 May 2018 13:44:39 +0200 -Subject: [PATCH] Third patch from Fedora Project (Python3). - ---- - iniparse/__init__.py | 20 ++++++++++---------- - iniparse/compat.py | 30 ++++++++++++++++-------------- - iniparse/config.py | 16 ++++++++-------- - iniparse/configparser.py | 7 +++++++ - iniparse/ini.py | 20 ++++++++++++-------- - iniparse/utils.py | 4 ++-- - tests/__init__.py | 14 +++++++------- - tests/test_compat.py | 23 +++++++++++++++-------- - tests/test_fuzz.py | 18 +++++++++--------- - tests/test_ini.py | 8 ++++---- - tests/test_misc.py | 4 ++-- - tests/test_tidy.py | 2 +- - tests/test_unicode.py | 10 +++++----- - 13 files changed, 98 insertions(+), 78 deletions(-) - create mode 100644 iniparse/configparser.py - -diff --git a/iniparse/__init__.py b/iniparse/__init__.py -index 8de756f..7193f92 100644 ---- a/iniparse/__init__.py -+++ b/iniparse/__init__.py -@@ -3,17 +3,17 @@ - # Copyright (c) 2007 Tim Lauridsen - # All Rights Reserved. See LICENSE-PSF & LICENSE for details. - --from ini import INIConfig, change_comment_syntax --from config import BasicConfig, ConfigNamespace --from compat import RawConfigParser, ConfigParser, SafeConfigParser --from utils import tidy -+from .ini import INIConfig, change_comment_syntax -+from .config import BasicConfig, ConfigNamespace -+from .compat import RawConfigParser, ConfigParser, SafeConfigParser -+from .utils import tidy - --from ConfigParser import DuplicateSectionError, \ -- NoSectionError, NoOptionError, \ -- InterpolationMissingOptionError, \ -- InterpolationDepthError, \ -- InterpolationSyntaxError, \ -- DEFAULTSECT, MAX_INTERPOLATION_DEPTH -+from .configparser import DuplicateSectionError, \ -+ NoSectionError, NoOptionError, \ -+ InterpolationMissingOptionError, \ -+ InterpolationDepthError, \ -+ InterpolationSyntaxError, \ -+ DEFAULTSECT, MAX_INTERPOLATION_DEPTH - - __all__ = [ - 'BasicConfig', 'ConfigNamespace', -diff --git a/iniparse/compat.py b/iniparse/compat.py -index db89ed8..f95c25c 100644 ---- a/iniparse/compat.py -+++ b/iniparse/compat.py -@@ -12,19 +12,21 @@ The underlying INIConfig object can be accessed as cfg.data - """ - - import re --from ConfigParser import DuplicateSectionError, \ -- NoSectionError, NoOptionError, \ -- InterpolationMissingOptionError, \ -- InterpolationDepthError, \ -- InterpolationSyntaxError, \ -- DEFAULTSECT, MAX_INTERPOLATION_DEPTH -+from .configparser import DuplicateSectionError, \ -+ NoSectionError, NoOptionError, \ -+ InterpolationMissingOptionError, \ -+ InterpolationDepthError, \ -+ InterpolationSyntaxError, \ -+ DEFAULTSECT, MAX_INTERPOLATION_DEPTH - - # These are imported only for compatiability. - # The code below does not reference them directly. --from ConfigParser import Error, InterpolationError, \ -- MissingSectionHeaderError, ParsingError -+from .configparser import Error, InterpolationError, \ -+ MissingSectionHeaderError, ParsingError - --import ini -+import six -+ -+from . import ini - - class RawConfigParser(object): - def __init__(self, defaults=None, dict_type=dict): -@@ -56,7 +58,7 @@ class RawConfigParser(object): - # The default section is the only one that gets the case-insensitive - # treatment - so it is special-cased here. - if section.lower() == "default": -- raise ValueError, 'Invalid section name: %s' % section -+ raise ValueError('Invalid section name: %s' % section) - - if self.has_section(section): - raise DuplicateSectionError(section) -@@ -88,7 +90,7 @@ class RawConfigParser(object): - filename may also be given. - """ - files_read = [] -- if isinstance(filenames, basestring): -+ if isinstance(filenames, six.string_types): - filenames = [filenames] - for filename in filenames: - try: -@@ -143,7 +145,7 @@ class RawConfigParser(object): - def getboolean(self, section, option): - v = self.get(section, option) - if v.lower() not in self._boolean_states: -- raise ValueError, 'Not a boolean: %s' % v -+ raise ValueError('Not a boolean: %s' % v) - return self._boolean_states[v.lower()] - - def has_option(self, section, option): -@@ -234,7 +236,7 @@ class ConfigParser(RawConfigParser): - if "%(" in value: - try: - value = value % vars -- except KeyError, e: -+ except KeyError as e: - raise InterpolationMissingOptionError( - option, section, rawval, e.args[0]) - else: -@@ -283,7 +285,7 @@ class SafeConfigParser(ConfigParser): - _badpercent_re = re.compile(r"%[^%]|%$") - - def set(self, section, option, value): -- if not isinstance(value, basestring): -+ if not isinstance(value, six.string_types): - raise TypeError("option values must be strings") - # check for bad percent signs: - # first, replace all "good" interpolations -diff --git a/iniparse/config.py b/iniparse/config.py -index 5cfa2ea..3b28549 100644 ---- a/iniparse/config.py -+++ b/iniparse/config.py -@@ -143,7 +143,7 @@ class BasicConfig(ConfigNamespace): - - >>> n.aaa = 42 - >>> del n.x -- >>> print n -+ >>> print(n) - aaa = 42 - name.first = paramjit - name.last = oberoi -@@ -152,7 +152,7 @@ class BasicConfig(ConfigNamespace): - - >>> isinstance(n.name, ConfigNamespace) - True -- >>> print n.name -+ >>> print(n.name) - first = paramjit - last = oberoi - >>> sorted(list(n.name)) -@@ -160,7 +160,7 @@ class BasicConfig(ConfigNamespace): - - Finally, values can be read from a file as follows: - -- >>> from StringIO import StringIO -+ >>> from six import StringIO - >>> sio = StringIO(''' - ... # comment - ... ui.height = 100 -@@ -171,7 +171,7 @@ class BasicConfig(ConfigNamespace): - ... ''') - >>> n = BasicConfig() - >>> n._readfp(sio) -- >>> print n -+ >>> print(n) - complexity = medium - data.secret.password = goodness=gracious me - have_python -@@ -199,7 +199,7 @@ class BasicConfig(ConfigNamespace): - - def __str__(self, prefix=''): - lines = [] -- keys = self._data.keys() -+ keys = list(self._data.keys()) - keys.sort() - for name in keys: - value = self._data[name] -@@ -258,7 +258,7 @@ def update_config(target, source): - >>> n.ui.display_clock = True - >>> n.ui.display_qlength = True - >>> n.ui.width = 150 -- >>> print n -+ >>> print(n) - playlist.expand_playlist = True - ui.display_clock = True - ui.display_qlength = True -@@ -267,7 +267,7 @@ def update_config(target, source): - >>> from iniparse import ini - >>> i = ini.INIConfig() - >>> update_config(i, n) -- >>> print i -+ >>> print(i) - [playlist] - expand_playlist = True - -@@ -277,7 +277,7 @@ def update_config(target, source): - width = 150 - - """ -- for name in source: -+ for name in sorted(source): - value = source[name] - if isinstance(value, ConfigNamespace): - if name in target: -diff --git a/iniparse/configparser.py b/iniparse/configparser.py -new file mode 100644 -index 0000000..c543d50 ---- /dev/null -+++ b/iniparse/configparser.py -@@ -0,0 +1,7 @@ -+try: -+ from ConfigParser import * -+ # not all objects get imported with __all__ -+ from ConfigParser import Error, InterpolationMissingOptionError -+except ImportError: -+ from configparser import * -+ from configparser import Error, InterpolationMissingOptionError -diff --git a/iniparse/ini.py b/iniparse/ini.py -index 408354d..052d9e9 100644 ---- a/iniparse/ini.py -+++ b/iniparse/ini.py -@@ -7,7 +7,7 @@ - - Example: - -- >>> from StringIO import StringIO -+ >>> from six import StringIO - >>> sio = StringIO('''# configure foo-application - ... [foo] - ... bar1 = qualia -@@ -16,14 +16,14 @@ Example: - ... special = 1''') - - >>> cfg = INIConfig(sio) -- >>> print cfg.foo.bar1 -+ >>> print(cfg.foo.bar1) - qualia -- >>> print cfg['foo-ext'].special -+ >>> print(cfg['foo-ext'].special) - 1 - >>> cfg.foo.newopt = 'hi!' - >>> cfg.baz.enabled = 0 - -- >>> print cfg -+ >>> print(cfg) - # configure foo-application - [foo] - bar1 = qualia -@@ -42,9 +42,11 @@ Example: - # Backward-compatiable with ConfigParser - - import re --from ConfigParser import DEFAULTSECT, ParsingError, MissingSectionHeaderError -+from .configparser import DEFAULTSECT, ParsingError, MissingSectionHeaderError - --import config -+import six -+ -+from . import config - - class LineType(object): - line = None -@@ -278,6 +280,8 @@ class LineContainer(object): - value = property(get_value, set_value) - - def __str__(self): -+ for c in self.contents: -+ pass#print(c.__str__()) - s = [x.__str__() for x in self.contents] - return '\n'.join(s) - -@@ -465,7 +469,7 @@ class INIConfig(config.ConfigNamespace): - self._sections = {} - if defaults is None: defaults = {} - self._defaults = INISection(LineContainer(), optionxformsource=self) -- for name, value in defaults.iteritems(): -+ for name, value in defaults.items(): - self._defaults[name] = value - if fp is not None: - self._readfp(fp) -@@ -551,7 +555,7 @@ class INIConfig(config.ConfigNamespace): - - for line in readline_iterator(fp): - # Check for BOM on first line -- if linecount == 0 and isinstance(line, unicode): -+ if linecount == 0 and isinstance(line, six.text_type): - if line[0] == u'\ufeff': - line = line[1:] - self._bom = True -diff --git a/iniparse/utils.py b/iniparse/utils.py -index 829fc28..f8b773a 100644 ---- a/iniparse/utils.py -+++ b/iniparse/utils.py -@@ -1,5 +1,5 @@ --import compat --from ini import LineContainer, EmptyLine -+from . import compat -+from .ini import LineContainer, EmptyLine - - def tidy(cfg): - """Clean up blank lines. -diff --git a/tests/__init__.py b/tests/__init__.py -index f1fa321..88689fb 100644 ---- a/tests/__init__.py -+++ b/tests/__init__.py -@@ -1,12 +1,12 @@ - import unittest, doctest - --import test_ini --import test_misc --import test_fuzz --import test_compat --import test_unicode --import test_tidy --import test_multiprocessing -+from . import test_ini -+from . import test_misc -+from . import test_fuzz -+from . import test_compat -+from . import test_unicode -+from . import test_tidy -+from . import test_multiprocessing - from iniparse import config - from iniparse import ini - -diff --git a/tests/test_compat.py b/tests/test_compat.py -index b8da3d5..b6dfb5c 100644 ---- a/tests/test_compat.py -+++ b/tests/test_compat.py -@@ -1,9 +1,16 @@ - from iniparse import compat as ConfigParser --import StringIO -+from six import StringIO -+try: -+ import UserDict -+except ImportError: -+ import collections as UserDict - import unittest --import UserDict - --from test import test_support -+import sys -+if sys.version_info[0] < 3: -+ from test import test_support -+else: -+ from test import support as test_support - - class SortedDict(UserDict.UserDict): - def items(self): -@@ -35,7 +42,7 @@ class TestCaseBase(unittest.TestCase): - - def fromstring(self, string, defaults=None): - cf = self.newconfig(defaults) -- sio = StringIO.StringIO(string) -+ sio = StringIO(string) - cf.readfp(sio) - return cf - -@@ -161,7 +168,7 @@ class TestCaseBase(unittest.TestCase): - "No Section!\n") - - def parse_error(self, exc, src): -- sio = StringIO.StringIO(src) -+ sio = StringIO(src) - self.assertRaises(exc, self.cf.readfp, sio) - - def test_query_errors(self): -@@ -181,7 +188,7 @@ class TestCaseBase(unittest.TestCase): - def get_error(self, exc, section, option): - try: - self.cf.get(section, option) -- except exc, e: -+ except exc as e: - return e - else: - self.fail("expected exception type %s.%s" -@@ -227,7 +234,7 @@ class TestCaseBase(unittest.TestCase): - "foo: another very\n" - " long line" - ) -- output = StringIO.StringIO() -+ output = StringIO() - cf.write(output) - self.assertEqual( - output.getvalue(), -@@ -465,7 +472,7 @@ class SortedTestCase(RawConfigParserTestCase): - "o1=4\n" - "[a]\n" - "k=v\n") -- output = StringIO.StringIO() -+ output = StringIO() - self.cf.write(output) - self.assertEquals(output.getvalue(), - "[a]\n" -diff --git a/tests/test_fuzz.py b/tests/test_fuzz.py -index 5420dcc..b219500 100644 ---- a/tests/test_fuzz.py -+++ b/tests/test_fuzz.py -@@ -1,9 +1,10 @@ - import re - import os - import random -+import sys - import unittest --import ConfigParser --from StringIO import StringIO -+from six import StringIO -+from six.moves import configparser - from iniparse import compat, ini, tidy - - # TODO: -@@ -96,24 +97,25 @@ class test_fuzz(unittest.TestCase): - s = '\n'.join(good_lines) - cc = compat.RawConfigParser() - cc.readfp(StringIO(s)) -- cc_py = ConfigParser.RawConfigParser() -+ cc_py = configparser.RawConfigParser() - cc_py.readfp(StringIO(s)) - # compare the two configparsers - self.assertEqualConfig(cc_py, cc) - # check that tidy does not change semantics - tidy(cc) -- cc_tidy = ConfigParser.RawConfigParser() -+ cc_tidy = configparser.RawConfigParser() - cc_tidy.readfp(StringIO(str(cc.data))) - self.assertEqualConfig(cc_py, cc_tidy) - except AssertionError: - fname = 'fuzz-test-iter-%d.ini' % fuzz_iter -- print 'Fuzz test failed at iteration', fuzz_iter -- print 'Writing out failing INI file as', fname -+ print('Fuzz test failed at iteration', fuzz_iter) -+ print('Writing out failing INI file as', fname) - f = open(fname, 'w') - f.write(s) - f.close() - raise - -+ @unittest.skipIf(sys.version_info[0] > 2, 'http://code.google.com/p/iniparse/issues/detail?id=22#c9') - def assertEqualConfig(self, c1, c2): - self.assertEqualSorted(c1.sections(), c2.sections()) - self.assertEqualSorted(c1.defaults().items(), c2.defaults().items()) -@@ -123,9 +125,7 @@ class test_fuzz(unittest.TestCase): - self.assertEqual(c1.get(sec, opt), c2.get(sec, opt)) - - def assertEqualSorted(self, l1, l2): -- l1.sort() -- l2.sort() -- self.assertEqual(l1, l2) -+ self.assertEqual(sorted(l1), sorted(l2)) - - class suite(unittest.TestSuite): - def __init__(self): -diff --git a/tests/test_ini.py b/tests/test_ini.py -index 78b2b3c..6d974f0 100644 ---- a/tests/test_ini.py -+++ b/tests/test_ini.py -@@ -1,5 +1,5 @@ - import unittest --from StringIO import StringIO -+from six import StringIO - - from iniparse import ini - from iniparse import compat -@@ -195,13 +195,13 @@ but = also me - self.assertEqual(p._data.find('section2').find('just').value, 'kidding') - - itr = p._data.finditer('section1') -- v = itr.next() -+ v = next(itr) - self.assertEqual(v.find('help').value, 'yourself') - self.assertEqual(v.find('but').value, 'also me') -- v = itr.next() -+ v = next(itr) - self.assertEqual(v.find('help').value, 'me') - self.assertEqual(v.find('I\'m').value, 'desperate') -- self.assertRaises(StopIteration, itr.next) -+ self.assertRaises(StopIteration, next, itr) - - self.assertRaises(KeyError, p._data.find, 'section') - self.assertRaises(KeyError, p._data.find('section2').find, 'ahem') -diff --git a/tests/test_misc.py b/tests/test_misc.py -index 31cf4da..96ef035 100644 ---- a/tests/test_misc.py -+++ b/tests/test_misc.py -@@ -1,9 +1,9 @@ - import re - import unittest - import pickle --import ConfigParser -+from six.moves import configparser -+from six import StringIO - from textwrap import dedent --from StringIO import StringIO - from iniparse import compat, ini - - class CaseSensitiveConfigParser(compat.ConfigParser): -diff --git a/tests/test_tidy.py b/tests/test_tidy.py -index 7304747..26b6cde 100644 ---- a/tests/test_tidy.py -+++ b/tests/test_tidy.py -@@ -1,6 +1,6 @@ - import unittest - from textwrap import dedent --from StringIO import StringIO -+from six import StringIO - - from iniparse import tidy,INIConfig - from iniparse.ini import EmptyLine -diff --git a/tests/test_unicode.py b/tests/test_unicode.py -index a56fcab..14d4fbd 100644 ---- a/tests/test_unicode.py -+++ b/tests/test_unicode.py -@@ -1,5 +1,5 @@ - import unittest --from StringIO import StringIO -+import six - from iniparse import compat, ini - - class test_unicode(unittest.TestCase): -@@ -17,14 +17,14 @@ baz = Marc-Andr\202 - """ - - def basic_tests(self, s, strable): -- f = StringIO(s) -+ f = six.StringIO(s) - i = ini.INIConfig(f) -- self.assertEqual(unicode(i), s) -- self.assertEqual(type(i.foo.bar), unicode) -+ self.assertEqual(six.text_type(i), s) -+ self.assertEqual(type(i.foo.bar), six.text_type) - if strable: - self.assertEqual(str(i), str(s)) - else: -- self.assertRaises(UnicodeEncodeError, lambda: str(i)) -+ self.assertRaises(UnicodeEncodeError, lambda: six.text_type(i).encode('ascii')) - return i - - def test_ascii(self): --- -2.19.1 - diff --git a/setup-fixes.patch b/setup-fixes.patch deleted file mode 100644 index 9619c8f..0000000 --- a/setup-fixes.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 07763b43ff35573564a4a2509c006b1e30fe59ee Mon Sep 17 00:00:00 2001 -From: Jiri Hnidek -Date: Fri, 18 May 2018 13:39:53 +0200 -Subject: [PATCH] Second patch from Fedora Project. - ---- - PKG-INFO | 7 +++++-- - setup.py | 10 +++++++--- - 2 files changed, 12 insertions(+), 5 deletions(-) - -diff --git a/PKG-INFO b/PKG-INFO -index 31c4ad2..bebcb80 100644 ---- a/PKG-INFO -+++ b/PKG-INFO -@@ -18,7 +18,10 @@ Classifier: License :: OSI Approved :: MIT License - Classifier: License :: OSI Approved :: Python Software Foundation License - Classifier: Operating System :: OS Independent - Classifier: Programming Language :: Python --Classifier: Programming Language :: Python :: 2.4 --Classifier: Programming Language :: Python :: 2.5 -+Classifier: Programming Language :: Python :: 2 - Classifier: Programming Language :: Python :: 2.6 -+Classifier: Programming Language :: Python :: 2.7 -+Classifier: Programming Language :: Python :: 3 -+Classifier: Programming Language :: Python :: 3.3 -+Classifier: Programming Language :: Python :: 3.4 - Classifier: Topic :: Software Development :: Libraries :: Python Modules -diff --git a/setup.py b/setup.py -index 736cfa1..e2f8de0 100644 ---- a/setup.py -+++ b/setup.py -@@ -1,6 +1,6 @@ - #!/usr/bin/env python - --from distutils.core import setup -+from setuptools import setup - - VERSION = '0.4' - -@@ -24,12 +24,16 @@ use.''', - 'License :: OSI Approved :: Python Software Foundation License', - 'Operating System :: OS Independent', - 'Programming Language :: Python', -- 'Programming Language :: Python :: 2.4', -- 'Programming Language :: Python :: 2.5', -+ 'Programming Language :: Python :: 2' - 'Programming Language :: Python :: 2.6', -+ 'Programming Language :: Python :: 2.7', -+ 'Programming Language :: Python :: 3', -+ 'Programming Language :: Python :: 3.3', -+ 'Programming Language :: Python :: 3.4' - 'Topic :: Software Development :: Libraries :: Python Modules', - ], - packages = ['iniparse'], -+ install_requires=['six'], - data_files = [ - ('share/doc/iniparse-%s' % VERSION, ['README', 'LICENSE-PSF', - 'LICENSE', 'Changelog', --- -2.19.1 - -- Gitee