summaryrefslogtreecommitdiff
path: root/docutils/transforms
diff options
context:
space:
mode:
authorwiemann <wiemann@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2005-06-27 02:44:40 +0000
committerwiemann <wiemann@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2005-06-27 02:44:40 +0000
commit180de2ad7ed7e496b973c1715789986ac1d3bdfc (patch)
tree0749ec37bf61d4258d86b4142133662b91130f1d /docutils/transforms
parentddba601498ad2c7e472daa384357b384e6ac2f45 (diff)
downloaddocutils-180de2ad7ed7e496b973c1715789986ac1d3bdfc.tar.gz
replaced data argument to Transform constructor with **kwargs;
Transform.data contains now the kwargs dictionary; added transform instance to Transformer.applied tuples again -- this shouldn't cause problems with pickling because the Transformer isn't pickled; if it does cause any problems, please follow up on Docutils-develop git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk/docutils@3596 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'docutils/transforms')
-rw-r--r--docutils/transforms/__init__.py25
1 files changed, 12 insertions, 13 deletions
diff --git a/docutils/transforms/__init__.py b/docutils/transforms/__init__.py
index 8be802dc5..ef827fd50 100644
--- a/docutils/transforms/__init__.py
+++ b/docutils/transforms/__init__.py
@@ -43,7 +43,7 @@ class Transform:
default_priority = None
"""Numerical priority of this transform, 0 through 999 (override)."""
- def __init__(self, document, startnode=None, data=None):
+ def __init__(self, document, startnode=None, **kwargs):
"""
Initial setup for in-place document transforms.
"""
@@ -60,7 +60,7 @@ class Transform:
document.settings.language_code)
"""Language module local to this document."""
- self.data = data
+ self.data = kwargs
"""Data specific to this transform instance. You can use this
to parameterize the transform instance."""
@@ -109,18 +109,17 @@ class Transformer(TransformSpec):
"""Internal serial number to keep track of the add order of
transforms."""
- def add_transform(self, transform_class, priority=None, data=None):
+ def add_transform(self, transform_class, priority=None, **kwargs):
"""
Store a single transform. Use `priority` to override the default.
- `data` is passed to the constructor as a keyword argument.
- This can be used to pass application-specific data to the transformer
- instance.
+ `kwargs` are passed on to the constructor of the transform. This can
+ be used to pass application-specific data to the transform instance.
"""
if priority is None:
priority = transform_class.default_priority
priority_string = self.get_priority_string(priority)
self.transforms.append(
- (priority_string, transform_class, None, data))
+ (priority_string, transform_class, None, kwargs))
self.sorted = 0
def add_transforms(self, transform_list):
@@ -129,7 +128,7 @@ class Transformer(TransformSpec):
priority_string = self.get_priority_string(
transform_class.default_priority)
self.transforms.append(
- (priority_string, transform_class, None, None))
+ (priority_string, transform_class, None, {}))
self.sorted = 0
def add_pending(self, pending, priority=None):
@@ -139,7 +138,7 @@ class Transformer(TransformSpec):
priority = transform_class.default_priority
priority_string = self.get_priority_string(priority)
self.transforms.append(
- (priority_string, transform_class, pending, None))
+ (priority_string, transform_class, pending, {}))
self.sorted = 0
def get_priority_string(self, priority):
@@ -183,8 +182,8 @@ class Transformer(TransformSpec):
self.transforms.sort()
self.transforms.reverse()
self.sorted = 1
- priority, transform_class, pending, data = self.transforms.pop()
- transform = transform_class(self.document,
- startnode=pending, data=data)
+ priority, transform_class, pending, kwargs = self.transforms.pop()
+ transform = transform_class(self.document, startnode=pending,
+ **kwargs)
transform.apply()
- self.applied.append((priority, transform_class, pending))
+ self.applied.append((transform, priority, transform_class, pending))