SF.net SVN: docutils:[9977] trunk/docutils

milde--- via Docutils-checkins <[email protected]>
Newsgroups gmane.text.docutils.cvs
Message-ID <[email protected]>
Revision: 9977
          http://sourceforge.net/p/docutils/code/9977
Author:   milde
Date:     2024-11-09 23:36:49 +0000 (Sat, 09 Nov 2024)
Log Message:
-----------
Remove `docutils/utils/roman.py`.

Obsoleted by ``docutils/utils/_roman_numerals.py``.

Modified Paths:
--------------
    trunk/docutils/COPYING.rst
    trunk/docutils/HISTORY.rst
    trunk/docutils/RELEASE-NOTES.rst

Removed Paths:
-------------
    trunk/docutils/docutils/utils/roman.py
    trunk/docutils/licenses/ZPL-2-1.rst

Modified: trunk/docutils/COPYING.rst
===================================================================
--- trunk/docutils/COPYING.rst	2024-10-30 23:34:50 UTC (rev 9976)
+++ trunk/docutils/COPYING.rst	2024-11-09 23:36:49 UTC (rev 9977)
@@ -128,13 +128,6 @@
   Released under the terms of the `BSD 2-Clause License`_
   (`local copy <licenses/BSD-2-Clause.rst>`__).
 
-* docutils/utils/roman.py
-
-  copyright by Mark Pilgrim, released under the
-  `Zope Public License Version 2.1`_ (`local copy`__).
-
-  __ licenses/ZPL-2-1.rst
-
 * tools/editors/emacs/rst.el
 
   copyright by Free Software Foundation, Inc.,
@@ -153,7 +146,6 @@
 .. _GNU General Public License: https://www.gnu.org/copyleft/gpl.html
 .. _BSD 2-Clause License: http://opensource.org/licenses/BSD-2-Clause
 .. _BSD 3-Clause License: https://opensource.org/licenses/BSD-3-Clause
-.. _Zope Public License Version 2.1: https://opensource.org/license/zpl-2-1/
 .. _OSI-approved: http://opensource.org/licenses/
 .. _license-list:
 .. _GPL-compatible: https://www.gnu.org/licenses/license-list.html

Modified: trunk/docutils/HISTORY.rst
===================================================================
--- trunk/docutils/HISTORY.rst	2024-10-30 23:34:50 UTC (rev 9976)
+++ trunk/docutils/HISTORY.rst	2024-11-09 23:36:49 UTC (rev 9977)
@@ -139,7 +139,8 @@
 
 * docutils/utils/_roman_numerals.py
 
-  - Added new implementation.
+  - New implementation or Roman numeral support.
+    Replaces the local copy of docutils/utils/roman.py.
 
 * docutils/utils/error_reporting.py
 
@@ -203,7 +204,7 @@
   - Fix conversion factor of "pc" (pica) to "cm".
   - Fix conversion of image width in "%" if the height is specified.
   - Adjust fallback DPI value (currently not used) to match CSS units.
-  - Fix errors with "*.xml" style files (bug #494).
+  - Fix errors with ``*.xml`` style files (bug #494).
 
 * pyproject.toml
 

Modified: trunk/docutils/RELEASE-NOTES.rst
===================================================================
--- trunk/docutils/RELEASE-NOTES.rst	2024-10-30 23:34:50 UTC (rev 9976)
+++ trunk/docutils/RELEASE-NOTES.rst	2024-11-09 23:36:49 UTC (rev 9977)
@@ -288,6 +288,8 @@
 Removed files
   ``tools/rst2odt_prepstyles.py``
      Obsoleted by `docutils.writers.odf_odt.prepstyles`.
+  ``docutils/utils/roman.py``
+     Obsoleted by ``docutils/utils/_roman_numerals.py``
 
 Bugfixes and improvements (see HISTORY_).
 

Deleted: trunk/docutils/docutils/utils/roman.py
===================================================================
--- trunk/docutils/docutils/utils/roman.py	2024-10-30 23:34:50 UTC (rev 9976)
+++ trunk/docutils/docutils/utils/roman.py	2024-11-09 23:36:49 UTC (rev 9977)
@@ -1,154 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001 Mark Pilgrim and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Convert to and from Roman numerals"""
-
-__author__ = "Mark Pilgrim ([email protected])"
-__version__ = "1.4"
-__date__ = "8 August 2001"
-__copyright__ = """Copyright (c) 2001 Mark Pilgrim
-
-This program is part of "Dive Into Python", a free Python tutorial for
-experienced programmers.  Visit http://diveintopython.org/ for the
-latest version.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the Python 2.1.1 license, available at
-http://www.python.org/2.1.1/license.html
-"""
-
-import argparse
-import re
-import sys
-
-
-# Define exceptions
-class RomanError(Exception):
-    pass
-
-
-class OutOfRangeError(RomanError):
-    pass
-
-
-class NotIntegerError(RomanError):
-    pass
-
-
-class InvalidRomanNumeralError(RomanError):
-    pass
-
-
-# Define digit mapping
-romanNumeralMap = (('M', 1000),
-                   ('CM', 900),
-                   ('D', 500),
-                   ('CD', 400),
-                   ('C', 100),
-                   ('XC', 90),
-                   ('L', 50),
-                   ('XL', 40),
-                   ('X', 10),
-                   ('IX', 9),
-                   ('V', 5),
-                   ('IV', 4),
-                   ('I', 1))
-
-
-def toRoman(n):
-    """convert integer to Roman numeral"""
-    if not isinstance(n, int):
-        raise NotIntegerError("decimals can not be converted")
-    if not (-1 < n < 5000):
-        raise OutOfRangeError("number out of range (must be 0..4999)")
-
-    # special case
-    if n == 0:
-        return 'N'
-
-    result = ""
-    for numeral, integer in romanNumeralMap:
-        while n >= integer:
-            result += numeral
-            n -= integer
-    return result
-
-
-# Define pattern to detect valid Roman numerals
-romanNumeralPattern = re.compile("""
-    ^                   # beginning of string
-    M{0,4}              # thousands - 0 to 4 M's
-    (CM|CD|D?C{0,3})    # hundreds - 900 (CM), 400 (CD), 0-300 (0 to 3 C's),
-                        #            or 500-800 (D, followed by 0 to 3 C's)
-    (XC|XL|L?X{0,3})    # tens - 90 (XC), 40 (XL), 0-30 (0 to 3 X's),
-                        #        or 50-80 (L, followed by 0 to 3 X's)
-    (IX|IV|V?I{0,3})    # ones - 9 (IX), 4 (IV), 0-3 (0 to 3 I's),
-                        #        or 5-8 (V, followed by 0 to 3 I's)
-    $                   # end of string
-    """, re.VERBOSE)
-
-
-def fromRoman(s):
-    """convert Roman numeral to integer"""
-    if not s:
-        raise InvalidRomanNumeralError('Input can not be blank')
-
-    # special case
-    if s == 'N':
-        return 0
-
-    if not romanNumeralPattern.search(s):
-        raise InvalidRomanNumeralError('Invalid Roman numeral: %s' % s)
-
-    result = 0
-    index = 0
-    for numeral, integer in romanNumeralMap:
-        while s[index:index + len(numeral)] == numeral:
-            result += integer
-            index += len(numeral)
-    return result
-
-
-def parse_args():
-    parser = argparse.ArgumentParser(
-        prog='roman',
-        description='convert between roman and arabic numerals'
-    )
-    parser.add_argument('number', help='the value to convert')
-    parser.add_argument(
-        '-r', '--reverse',
-        action='store_true',
-        default=False,
-        help='convert roman to numeral (case insensitive) [default: False]')
-
-    args = parser.parse_args()
-    args.number = args.number
-    return args
-
-
-def main() -> int:
-    args = parse_args()
-    if args.reverse:
-        u = args.number.upper()
-        r = fromRoman(u)
-        print(r)
-    else:
-        i = int(args.number)
-        n = toRoman(i)
-        print(n)
-
-    return 0
-
-
-if __name__ == "__main__":  # pragma: no cover
-    sys.exit(main())  # pragma: no cover

Deleted: trunk/docutils/licenses/ZPL-2-1.rst
===================================================================
--- trunk/docutils/licenses/ZPL-2-1.rst	2024-10-30 23:34:50 UTC (rev 9976)
+++ trunk/docutils/licenses/ZPL-2-1.rst	2024-11-09 23:36:49 UTC (rev 9977)
@@ -1,44 +0,0 @@
-Zope Public License (ZPL) Version 2.1
-
-A copyright notice accompanies this license document that identifies the
-copyright holders.
-
-This license has been certified as open source. It has also been designated as
-GPL compatible by the Free Software Foundation (FSF).
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions in source code must retain the accompanying copyright
-notice, this list of conditions, and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the accompanying copyright
-notice, this list of conditions, and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
-
-3. Names of the copyright holders must not be used to endorse or promote
-products derived from this software without prior written permission from the
-copyright holders.
-
-4. The right to distribute this software or to use it for any purpose does not
-give you the right to use Servicemarks (sm) or Trademarks (tm) of the
-copyright
-holders. Use of them is covered by separate agreement with the copyright
-holders.
-
-5. If any files are modified, you must cause the modified files to carry
-prominent notices stating that you changed the files and the date of any
-change.
-
-Disclaimer
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED
-OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.