SF.net SVN: docutils:[10095 ] trunk/docutils
grubert--- via Docutils-checkins <[email protected]> Sun, 20 Apr 2025 12:34:28 +0000
| Newsgroups | gmane.text.docutils.cvs |
|---|---|
| Message-ID | <[email protected]> |
Revision: 10095
http://sourceforge.net/p/docutils/code/10095
Author: grubert
Date: 2025-04-20 12:34:28 +0000 (Sun, 20 Apr 2025)
Log Message:
-----------
add uri break points before "."s
Modified Paths:
--------------
trunk/docutils/docutils/writers/manpage.py
trunk/docutils/test/test_writers/test_manpage.py
Modified: trunk/docutils/docutils/writers/manpage.py
===================================================================
--- trunk/docutils/docutils/writers/manpage.py 2025-04-18 15:48:45 UTC (rev 10094)
+++ trunk/docutils/docutils/writers/manpage.py 2025-04-20 12:34:28 UTC (rev 10095)
@@ -96,13 +96,16 @@
# after ampersands
# after number signs
# (?=.) avoids matching the end of string, requires something
-# TODO before each dot or a series of
+# MAYBE require 5 after the break point
NONBREAKING_INSERT_RE = re.compile(r'([/@?&#]+)(?=.)')
+# before each dot or a series of
+NONBREAKING_INSERT_RE2 = re.compile(r'([^\.]+)(?=\.+)(?=.)')
def insert_URI_breakpoints(s):
# TODO only for long URIs ?
- return NONBREAKING_INSERT_RE.sub(r'\1' + NONPRINTING_BREAKPOINT, s)
+ return NONBREAKING_INSERT_RE2.sub(r'\1' + NONPRINTING_BREAKPOINT,
+ NONBREAKING_INSERT_RE.sub(r'\1' + NONPRINTING_BREAKPOINT, s))
class Writer(writers.Writer):
Modified: trunk/docutils/test/test_writers/test_manpage.py
===================================================================
--- trunk/docutils/test/test_writers/test_manpage.py 2025-04-18 15:48:45 UTC (rev 10094)
+++ trunk/docutils/test/test_writers/test_manpage.py 2025-04-20 12:34:28 UTC (rev 10095)
@@ -21,14 +21,15 @@
from docutils.writers import manpage
URI_tests = (
- ("///abc.de", r"///\:abc.de"),
- ("/abc.de/", r"/\:abc.de/"),
- ("http://abc.de", r"http://\:abc.de"),
- ("http://abc.de/fg", r"http://\:abc.de/\:fg"),
- ("http://abc.de/fg?q=abc", r"http://\:abc.de/\:fg?\:q=abc"),
- ("http://abc.de/fg/?q=abc", r"http://\:abc.de/\:fg/?\:q=abc"),
- ("http://abc.de/fg/?q=abc&me#", r"http://\:abc.de/\:fg/?\:q=abc&\:me#"),
- ("[email protected]", r"me@\:home.here"),
+ ("///abc.de", r"///\:abc\:.de"),
+ ("/abc.de/", r"/\:abc\:.de/"),
+ ("http://abc.de", r"http://\:abc\:.de"),
+ ("http://abc.de/fg", r"http://\:abc\:.de/\:fg"),
+ ("http://abc.de/fg?q=abc", r"http://\:abc\:.de/\:fg?\:q=abc"),
+ ("http://abc.de/fg/?q=abc", r"http://\:abc\:.de/\:fg/?\:q=abc"),
+ ("http://abc.de/fg/?q=abc&me#", r"http://\:abc\:.de/\:fg/?\:q=abc&\:me#"),
+ ("[email protected]", r"me@\:home\:.here"),
+ ("[email protected]..", r"me\:..dot@\:home\:.here\:.."),
)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.