File: move-data-to-usr-share.diff

package info (click to toggle)
python-docutils 0.13.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 8,728 kB
  • ctags: 7,259
  • sloc: python: 43,776; lisp: 13,142; xml: 1,644; sh: 164; makefile: 151
file content (203 lines) | stat: -rw-r--r-- 8,812 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
From 8f74d791e9e384cf6fb8102e3782a0fe1a564068 Mon Sep 17 00:00:00 2001
From: Jakub Wilk <jwilk@debian.org>
Date: Thu, 8 Oct 2015 11:57:09 -0700
Subject: 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)