[blockdiag] 20/29: Import Upstream version 1.4.6

Andreas Tille tille at debian.org
Tue Jan 10 21:35:59 UTC 2017


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

tille pushed a commit to branch master
in repository blockdiag.

commit 115b0feec0d52168b4d044fa44e4d0fd5c160c97
Author: Andreas Tille <tille at debian.org>
Date:   Tue Jan 10 11:08:05 2017 +0100

    Import Upstream version 1.4.6
---
 CHANGES.rst                                        |  8 +++++++
 PKG-INFO                                           |  2 +-
 src/blockdiag.egg-info/PKG-INFO                    |  2 +-
 src/blockdiag.egg-info/top_level.txt               |  2 +-
 src/blockdiag/__init__.py                          |  2 +-
 src/blockdiag/plugins/__init__.py                  | 15 +++++++++++++
 .../tests/rst/test_blockdiag_directives.py         | 26 +++++++++-------------
 src/blockdiag/utils/bootstrap.py                   |  1 +
 src/blockdiag/utils/rst/directives.py              |  9 ++++++--
 9 files changed, 46 insertions(+), 21 deletions(-)

diff --git a/CHANGES.rst b/CHANGES.rst
index a6b1319..dbddc40 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -1,6 +1,14 @@
 Changelog
 =========
 
+1.4.6 (2014-10-14)
+------------------
+* Show warnings on loading plugin multiple times
+* Unload all plugins on shutdown
+* Fix bugs
+
+  - Fix caption is wrapped by paragraph node in reST parser
+
 1.4.5 (2014-10-04)
 ------------------
 * Add node event: build_finished
diff --git a/PKG-INFO b/PKG-INFO
index 850da76..05ec889 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: blockdiag
-Version: 1.4.5
+Version: 1.4.6
 Summary: blockdiag generates block-diagram image from text
 Home-page: http://blockdiag.com/
 Author: Takeshi Komiya
diff --git a/src/blockdiag.egg-info/PKG-INFO b/src/blockdiag.egg-info/PKG-INFO
index 850da76..05ec889 100644
--- a/src/blockdiag.egg-info/PKG-INFO
+++ b/src/blockdiag.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: blockdiag
-Version: 1.4.5
+Version: 1.4.6
 Summary: blockdiag generates block-diagram image from text
 Home-page: http://blockdiag.com/
 Author: Takeshi Komiya
diff --git a/src/blockdiag.egg-info/top_level.txt b/src/blockdiag.egg-info/top_level.txt
index 40c073e..952b7a4 100644
--- a/src/blockdiag.egg-info/top_level.txt
+++ b/src/blockdiag.egg-info/top_level.txt
@@ -1,2 +1,2 @@
-blockdiag_sphinxhelper
 blockdiag
+blockdiag_sphinxhelper
diff --git a/src/blockdiag/__init__.py b/src/blockdiag/__init__.py
index 4e29346..5450abe 100644
--- a/src/blockdiag/__init__.py
+++ b/src/blockdiag/__init__.py
@@ -13,4 +13,4 @@
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
 
-__version__ = '1.4.5'
+__version__ = '1.4.6'
diff --git a/src/blockdiag/plugins/__init__.py b/src/blockdiag/plugins/__init__.py
index 1c5e98a..51072a3 100644
--- a/src/blockdiag/plugins/__init__.py
+++ b/src/blockdiag/plugins/__init__.py
@@ -14,15 +14,22 @@
 #  limitations under the License.
 
 from pkg_resources import iter_entry_points
+from blockdiag.utils.logging import warning
 
+loaded_plugins = []
 node_handlers = []
 general_handlers = {}
 
 
 def load(plugins, diagram, **kwargs):
     for name in plugins:
+        if name in loaded_plugins:
+            warning('plugin "%s" is already loaded. ignored.', name)
+            return
+
         for ep in iter_entry_points('blockdiag_plugins', name):
             module = ep.load()
+            loaded_plugins.append(name)
             if hasattr(module, 'setup'):
                 module.setup(module, diagram, **kwargs)
             break
@@ -31,6 +38,14 @@ def load(plugins, diagram, **kwargs):
             raise AttributeError(msg)
 
 
+def unload_all():
+    for name in general_handlers:
+        del general_handlers[name]
+
+    for handler in node_handlers:
+        node_handlers.remove(handler)
+
+
 def install_general_handler(name, handler):
     if name not in general_handlers:
         general_handlers[name] = []
diff --git a/src/blockdiag/tests/rst/test_blockdiag_directives.py b/src/blockdiag/tests/rst/test_blockdiag_directives.py
index 3569a8d..8e1850f 100644
--- a/src/blockdiag/tests/rst/test_blockdiag_directives.py
+++ b/src/blockdiag/tests/rst/test_blockdiag_directives.py
@@ -334,9 +334,8 @@ class TestRstDirectives(unittest.TestCase):
         self.assertEqual(nodes.image, type(doctree[0][0]))
         self.assertEqual(nodes.caption, type(doctree[0][1]))
         self.assertEqual(1, len(doctree[0][1]))
-        self.assertEqual(nodes.paragraph, type(doctree[0][1][0]))
-        self.assertEqual(nodes.Text, type(doctree[0][1][0][0]))
-        self.assertEqual('hello world', doctree[0][1][0][0])
+        self.assertEqual(nodes.Text, type(doctree[0][1][0]))
+        self.assertEqual('hello world', doctree[0][1][0])
 
     def test_caption_option2(self):
         directives.setup(format='SVG', outputdir=self.tmpdir)
@@ -350,15 +349,13 @@ class TestRstDirectives(unittest.TestCase):
         self.assertEqual(2, len(doctree[0]))
         self.assertEqual(nodes.image, type(doctree[0][0]))
         self.assertEqual(nodes.caption, type(doctree[0][1]))
-        self.assertEqual(1, len(doctree[0][1]))
-        self.assertEqual(nodes.paragraph, type(doctree[0][1][0]))
-        self.assertEqual(3, len(doctree[0][1][0]))
-        self.assertEqual(nodes.strong, type(doctree[0][1][0][0]))
-        self.assertEqual('hello', doctree[0][1][0][0][0])
-        self.assertEqual(nodes.Text, type(doctree[0][1][0][1]))
-        self.assertEqual(' ', doctree[0][1][0][1][0])
-        self.assertEqual(nodes.emphasis, type(doctree[0][1][0][2]))
-        self.assertEqual('world', doctree[0][1][0][2][0])
+        self.assertEqual(3, len(doctree[0][1]))
+        self.assertEqual(nodes.strong, type(doctree[0][1][0]))
+        self.assertEqual('hello', doctree[0][1][0][0])
+        self.assertEqual(nodes.Text, type(doctree[0][1][1]))
+        self.assertEqual(' ', doctree[0][1][1][0])
+        self.assertEqual(nodes.emphasis, type(doctree[0][1][2]))
+        self.assertEqual('world', doctree[0][1][2][0])
 
     def test_caption_option_and_align_option(self):
         directives.setup(format='SVG', outputdir=self.tmpdir)
@@ -376,9 +373,8 @@ class TestRstDirectives(unittest.TestCase):
         self.assertNotIn('align', doctree[0][0])
         self.assertEqual(nodes.caption, type(doctree[0][1]))
         self.assertEqual(1, len(doctree[0][1]))
-        self.assertEqual(nodes.paragraph, type(doctree[0][1][0]))
-        self.assertEqual(nodes.Text, type(doctree[0][1][0][0]))
-        self.assertEqual('hello world', doctree[0][1][0][0])
+        self.assertEqual(nodes.Text, type(doctree[0][1][0]))
+        self.assertEqual('hello world', doctree[0][1][0])
 
     @capture_stderr
     def test_maxwidth_option(self):
diff --git a/src/blockdiag/utils/bootstrap.py b/src/blockdiag/utils/bootstrap.py
index 4e8888f..47dc42f 100644
--- a/src/blockdiag/utils/bootstrap.py
+++ b/src/blockdiag/utils/bootstrap.py
@@ -50,6 +50,7 @@ class Application(object):
             return -1
         finally:
             plugins.fire_general_event('cleanup')
+            plugins.unload_all()
 
     def parse_options(self, args):
         self.options = Options(self.module).parse(args)
diff --git a/src/blockdiag/utils/rst/directives.py b/src/blockdiag/utils/rst/directives.py
index efa7689..fa5e218 100644
--- a/src/blockdiag/utils/rst/directives.py
+++ b/src/blockdiag/utils/rst/directives.py
@@ -170,10 +170,15 @@ class BlockdiagDirective(BlockdiagDirectiveBase):
         if node.get('caption'):
             elem = nodes.Element()
             self.state.nested_parse(ViewList([node['caption']], source=''),
-                                    0, elem)
+                                    self.content_offset, elem)
+            caption_node = nodes.caption(elem[0].rawsource, '',
+                                         *elem[0].children)
+            caption_node.source = elem[0].source
+            caption_node.line = elem[0].line
+
             fig = nodes.figure()
             fig += results[0]
-            fig += nodes.caption(node['caption'], '', *elem)
+            fig += caption_node
 
             if figwidth == 'image':
                 width = self.get_actual_width(node, diagram)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/blockdiag.git



More information about the debian-science-commits mailing list