diff --git a/CHANGELOG b/CHANGELOG index 976f520..0fcee14 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,7 @@ v0.5 (unreleased): - Fixed parsing bugs involving: - wikitables nested in templates; - wikitable error recovery when unable to recurse. +- Fixed parsing file-like objects. v0.4.3 (released October 29, 2015): diff --git a/docs/changelog.rst b/docs/changelog.rst index 5b4a909..66312d4 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -12,6 +12,8 @@ Unreleased - wikitables nested in templates; - wikitable error recovery when unable to recurse. +- Fixed parsing file-like objects. + v0.4.3 ------ diff --git a/mwparserfromhell/utils.py b/mwparserfromhell/utils.py index 28823fc..0c1f718 100644 --- a/mwparserfromhell/utils.py +++ b/mwparserfromhell/utils.py @@ -62,6 +62,8 @@ def parse_anything(value, context=0, skip_style_tags=False): return Parser().parse(str(value), context, skip_style_tags) elif value is None: return Wikicode(SmartList()) + elif hasattr(value, "read"): + return parse_anything(value.read(), context, skip_style_tags) try: nodelist = SmartList() for item in value: