|
@@ -407,7 +407,13 @@ class Content(DeclarativeBase):
|
407
|
407
|
:return: a list of LinkItem
|
408
|
408
|
"""
|
409
|
409
|
links = []
|
410
|
|
- soup = BeautifulSoup(self.description if not other_content else other_content)
|
|
410
|
+
|
|
411
|
+ soup = BeautifulSoup(
|
|
412
|
+ self.description if not other_content else other_content,
|
|
413
|
+ 'html.parser' # Fixes hanging bug - http://stackoverflow.com/questions/12618567/problems-running-beautifulsoup4-within-apache-mod-python-django
|
|
414
|
+ )
|
|
415
|
+
|
|
416
|
+
|
411
|
417
|
for link in soup.findAll('a'):
|
412
|
418
|
href = link.get('href')
|
413
|
419
|
label = link.contents
|
|
@@ -474,6 +480,10 @@ class Content(DeclarativeBase):
|
474
|
480
|
|
475
|
481
|
return None
|
476
|
482
|
|
|
483
|
+ def description_as_raw_text(self):
|
|
484
|
+ # 'html.parser' fixes a hanging bug
|
|
485
|
+ # see http://stackoverflow.com/questions/12618567/problems-running-beautifulsoup4-within-apache-mod-python-django
|
|
486
|
+ return BeautifulSoup(self.description, 'html.parser').text
|
477
|
487
|
|
478
|
488
|
|
479
|
489
|
class ContentChecker(object):
|