|
From: <mi...@us...> - 2024-11-09 23:36:52
|
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 (f8...@di...)"
-__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.
|