Show More
@@ -149,7 +149,7 b' class DisplayFormatter(Configurable):' | |||
|
149 | 149 | # object handled itself, don't proceed |
|
150 | 150 | return {}, {} |
|
151 | 151 | |
|
152 | format_dict, md_dict = self.mimebundle_formatter(obj) | |
|
152 | format_dict, md_dict = self.mimebundle_formatter(obj, include=include, exclude=exclude) | |
|
153 | 153 | |
|
154 | 154 | if format_dict or md_dict: |
|
155 | 155 | if include: |
@@ -943,6 +943,35 b' class MimeBundleFormatter(BaseFormatter):' | |||
|
943 | 943 | return r, {} |
|
944 | 944 | return r |
|
945 | 945 | |
|
946 | @catch_format_error | |
|
947 | def __call__(self, obj, include=None, exclude=None): | |
|
948 | """Compute the format for an object. | |
|
949 | ||
|
950 | Identical to parent's method but we pass extra parameters to the method. | |
|
951 | ||
|
952 | Unlike other _repr_*_ `_repr_mimebundle_` should allow extra kwargs, in | |
|
953 | particular `include` and `exclude`. | |
|
954 | """ | |
|
955 | if self.enabled: | |
|
956 | # lookup registered printer | |
|
957 | try: | |
|
958 | printer = self.lookup(obj) | |
|
959 | except KeyError: | |
|
960 | pass | |
|
961 | else: | |
|
962 | return printer(obj) | |
|
963 | # Finally look for special method names | |
|
964 | method = get_real_method(obj, self.print_method) | |
|
965 | ||
|
966 | if method is not None: | |
|
967 | d = {} | |
|
968 | d['include'] = include | |
|
969 | d['exclude'] = include | |
|
970 | return method(**d) | |
|
971 | return None | |
|
972 | else: | |
|
973 | return None | |
|
974 | ||
|
946 | 975 | |
|
947 | 976 | FormatterABC.register(BaseFormatter) |
|
948 | 977 | FormatterABC.register(PlainTextFormatter) |
@@ -440,7 +440,7 b' def test_json_as_string_deprecated():' | |||
|
440 | 440 | |
|
441 | 441 | def test_repr_mime(): |
|
442 | 442 | class HasReprMime(object): |
|
443 | def _repr_mimebundle_(self): | |
|
443 | def _repr_mimebundle_(self, include=None, exclude=None): | |
|
444 | 444 | return { |
|
445 | 445 | 'application/json+test.v2': { |
|
446 | 446 | 'x': 'y' |
@@ -477,7 +477,7 b' def test_repr_mime():' | |||
|
477 | 477 | |
|
478 | 478 | def test_repr_mime_meta(): |
|
479 | 479 | class HasReprMimeMeta(object): |
|
480 | def _repr_mimebundle_(self): | |
|
480 | def _repr_mimebundle_(self, include=None, exclude=None): | |
|
481 | 481 | data = { |
|
482 | 482 | 'image/png': 'base64-image-data', |
|
483 | 483 | } |
General Comments 0
You need to be logged in to leave comments.
Login now