diff --git a/xword_dl/downloader/amuniversaldownloader.py b/xword_dl/downloader/amuniversaldownloader.py index 4e108f9..2a758ab 100644 --- a/xword_dl/downloader/amuniversaldownloader.py +++ b/xword_dl/downloader/amuniversaldownloader.py @@ -3,6 +3,7 @@ import sys import time import urllib +import xml import puz import requests @@ -160,7 +161,10 @@ def fetch_data(self, solver_url): return xw_data def parse_xword(self, xword_data): - xw = xmltodict.parse(xword_data).get('crossword') + try: + xw = xmltodict.parse(xword_data).get('crossword') + except xml.parsers.expat.ExpatError: + raise XWordDLException('Puzzle data malformed, cannot parse.') puzzle = puz.Puzzle()