[Python-modules-commits] [python-docutils] 09/14: Allow all data files to be moved to /usr/share/docutils/.

Dmitry Shachnev mitya57 at moszumanska.debian.org
Sat Dec 10 10:40:52 UTC 2016


This is an automated email from the git hooks/post-receive script.

mitya57 pushed a commit to branch master
in repository python-docutils.

commit 8f74d791e9e384cf6fb8102e3782a0fe1a564068
Author: Jakub Wilk <jwilk at debian.org>
Date:   Thu Oct 8 11:57:09 2015 -0700

    Allow all data files to be moved to /usr/share/docutils/.
    
    Forwarded: not-needed
    Last-Update: 2016-12-10
    
    Patch-Name: move-data-to-usr-share.diff
---
 docutils/__init__.py                                      | 15 +++++++++++++++
 docutils/parsers/rst/directives/misc.py                   |  3 ++-
 docutils/writers/html4css1/__init__.py                    |  9 +++++----
 docutils/writers/html5_polyglot/__init__.py               |  4 ++--
 docutils/writers/latex2e/__init__.py                      |  3 ++-
 docutils/writers/odf_odt/__init__.py                      |  4 ++--
 docutils/writers/pep_html/__init__.py                     |  4 ++--
 docutils/writers/s5_html/__init__.py                      |  2 +-
 .../test_parsers/test_rst/test_directives/test_include.py |  3 ++-
 9 files changed, 33 insertions(+), 14 deletions(-)

diff --git a/docutils/__init__.py b/docutils/__init__.py
index 79ed8fb..883ec13 100644
--- a/docutils/__init__.py
+++ b/docutils/__init__.py
@@ -215,3 +215,18 @@ class Component(SettingsSpec, TransformSpec):
         a certain input context or output format.
         """
         return format in self.supported
+
+import os
+
+_debian_package = 0
+
+if _debian_package:
+    def _datadir(path):
+        dirname = os.path.dirname(path)
+        prefix = os.path.join(os.path.dirname(__file__), '') # _datadir
+        assert path.startswith(prefix), "%r doesn't start with %r" % (path, prefix)
+        suffix = dirname[len(prefix):]
+        return os.path.join('/usr/share/docutils/', suffix)
+else:
+    def _datadir(path):
+        return os.path.dirname(path)
diff --git a/docutils/parsers/rst/directives/misc.py b/docutils/parsers/rst/directives/misc.py
index f843bdc..c734ced 100644
--- a/docutils/parsers/rst/directives/misc.py
+++ b/docutils/parsers/rst/directives/misc.py
@@ -10,6 +10,7 @@ import sys
 import os.path
 import re
 import time
+import docutils
 from docutils import io, nodes, statemachine, utils
 from docutils.utils.error_reporting import SafeString, ErrorString
 from docutils.utils.error_reporting import locale_encoding
@@ -47,7 +48,7 @@ class Include(Directive):
                    'class': directives.class_option,
                    'name': directives.unchanged}
 
-    standard_include_path = os.path.join(os.path.dirname(states.__file__),
+    standard_include_path = os.path.join(docutils._datadir(states.__file__),
                                          'include')
 
     def run(self):
diff --git a/docutils/writers/html4css1/__init__.py b/docutils/writers/html4css1/__init__.py
index 7853496..fe5b493 100644
--- a/docutils/writers/html4css1/__init__.py
+++ b/docutils/writers/html4css1/__init__.py
@@ -27,15 +27,16 @@ class Writer(writers._html_base.Writer):
 
     default_stylesheets = ['html4css1.css']
     default_stylesheet_dirs = ['.',
-        os.path.abspath(os.path.dirname(__file__)),
+        docutils._datadir(os.path.abspath(__file__)),
         # for math.css
-        os.path.abspath(os.path.join(
-            os.path.dirname(os.path.dirname(__file__)), 'html5_polyglot'))
+        os.path.join(
+            docutils._datadir(os.path.dirname(os.path.abspath(__file__))),
+            'html5_polyglot')
        ]
 
     default_template = 'template.txt'
     default_template_path = os.path.join(
-        os.path.dirname(os.path.abspath(__file__)), default_template)
+        docutils._datadir(os.path.abspath(__file__)), default_template)
 
     settings_spec = (
         'HTML-Specific Options',
diff --git a/docutils/writers/html5_polyglot/__init__.py b/docutils/writers/html5_polyglot/__init__.py
index c14c5ee..056705c 100644
--- a/docutils/writers/html5_polyglot/__init__.py
+++ b/docutils/writers/html5_polyglot/__init__.py
@@ -40,11 +40,11 @@ class Writer(writers._html_base.Writer):
     """Formats this writer supports."""
 
     default_stylesheets = ['minimal.css','plain.css']
-    default_stylesheet_dirs = ['.', os.path.abspath(os.path.dirname(__file__))]
+    default_stylesheet_dirs = ['.', docutils._datadir(os.path.abspath(__file__))]
 
     default_template = 'template.txt'
     default_template_path = os.path.join(
-        os.path.dirname(os.path.abspath(__file__)), default_template)
+        docutils._datadir(os.path.abspath(__file__)), default_template)
 
     settings_spec = (
         'HTML-Specific Options',
diff --git a/docutils/writers/latex2e/__init__.py b/docutils/writers/latex2e/__init__.py
index 112bc76..f16d757 100644
--- a/docutils/writers/latex2e/__init__.py
+++ b/docutils/writers/latex2e/__init__.py
@@ -23,6 +23,7 @@ try:
     import roman
 except ImportError:
     import docutils.utils.roman as roman
+import docutils
 from docutils import frontend, nodes, languages, writers, utils, io
 from docutils.utils.error_reporting import SafeString
 from docutils.transforms import writer_aux
@@ -34,7 +35,7 @@ class Writer(writers.Writer):
     """Formats this writer supports."""
 
     default_template = 'default.tex'
-    default_template_path = os.path.dirname(os.path.abspath(__file__))
+    default_template_path = docutils._datadir(os.path.abspath(__file__))
     default_preamble = '\n'.join([r'% PDF Standard Fonts',
                                   r'\usepackage{mathptmx} % Times',
                                   r'\usepackage[scaled=.90]{helvet}',
diff --git a/docutils/writers/odf_odt/__init__.py b/docutils/writers/odf_odt/__init__.py
index 3b29e3b..90a2f0b 100644
--- a/docutils/writers/odf_odt/__init__.py
+++ b/docutils/writers/odf_odt/__init__.py
@@ -399,13 +399,13 @@ class Writer(writers.Writer):
 
     default_stylesheet_path = utils.relative_path(
         os.path.join(os.getcwd(), 'dummy'),
-        os.path.join(os.path.dirname(__file__), default_stylesheet))
+        os.path.join(docutils._datadir(__file__), default_stylesheet))
 
     default_template = 'template.txt'
 
     default_template_path = utils.relative_path(
         os.path.join(os.getcwd(), 'dummy'),
-        os.path.join(os.path.dirname(__file__), default_template))
+        os.path.join(docutils._datadir(__file__), default_template))
 
     settings_spec = (
         'ODF-Specific Options',
diff --git a/docutils/writers/pep_html/__init__.py b/docutils/writers/pep_html/__init__.py
index c7ca79d..4de1930 100644
--- a/docutils/writers/pep_html/__init__.py
+++ b/docutils/writers/pep_html/__init__.py
@@ -24,13 +24,13 @@ class Writer(html4css1.Writer):
 
     default_stylesheet_path = utils.relative_path(
         os.path.join(os.getcwd(), 'dummy'),
-        os.path.join(os.path.dirname(__file__), default_stylesheet))
+        os.path.join(docutils._datadir(__file__), default_stylesheet))
 
     default_template = 'template.txt'
 
     default_template_path = utils.relative_path(
         os.path.join(os.getcwd(), 'dummy'),
-        os.path.join(os.path.dirname(__file__), default_template))
+        os.path.join(docutils._datadir(__file__), default_template))
 
     settings_spec = html4css1.Writer.settings_spec + (
         'PEP/HTML-Specific Options',
diff --git a/docutils/writers/s5_html/__init__.py b/docutils/writers/s5_html/__init__.py
index 411e562..dd19826 100644
--- a/docutils/writers/s5_html/__init__.py
+++ b/docutils/writers/s5_html/__init__.py
@@ -21,7 +21,7 @@ from docutils._compat import b
 
 themes_dir_path = utils.relative_path(
     os.path.join(os.getcwd(), 'dummy'),
-    os.path.join(os.path.dirname(__file__), 'themes'))
+    os.path.join(docutils._datadir(__file__), 'themes'))
 
 def find_theme(name):
     # Where else to look for a theme?
diff --git a/test/test_parsers/test_rst/test_directives/test_include.py b/test/test_parsers/test_rst/test_directives/test_include.py
index d5706fb..eb2b55b 100755
--- a/test/test_parsers/test_rst/test_directives/test_include.py
+++ b/test/test_parsers/test_rst/test_directives/test_include.py
@@ -11,6 +11,7 @@ Tests for misc.py "include" directive.
 import os.path
 import sys
 from __init__ import DocutilsTestSupport
+import docutils
 from docutils.parsers.rst import states
 from docutils._compat import b
 from docutils.utils.code_analyzer import with_pygments
@@ -47,7 +48,7 @@ if sys.version_info < (3,0):
     utf_16_error_str = ("UnicodeError: Unable to decode input data.  "
                         "Tried the following encodings: 'ascii'.\n"
                         "            (%s)" % utf_16_error_str)
-nonexistent = os.path.join(os.path.dirname(states.__file__),
+nonexistent = os.path.join(docutils._datadir(states.__file__),
                            'include', 'nonexistent')
 nonexistent_rel = DocutilsTestSupport.utils.relative_path(
     os.path.join(DocutilsTestSupport.testroot, 'dummy'), nonexistent)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-docutils.git



More information about the Python-modules-commits mailing list