diff --git a/fanficdownloader/adapters/adapter_hpfanficarchivecom.py b/fanficdownloader/adapters/adapter_hpfanficarchivecom.py index 754132db..f0563744 100644 --- a/fanficdownloader/adapters/adapter_hpfanficarchivecom.py +++ b/fanficdownloader/adapters/adapter_hpfanficarchivecom.py @@ -128,23 +128,22 @@ class HPFanficArchiveComAdapter(BaseSiteAdapter): # Rated: NC-17
etc labels = soup.findAll('span',{'class':'label'}) for labelspan in labels: - value = labelspan.nextSibling + val = labelspan.nextSibling + value = unicode('') + while val and not defaultGetattr(val,'class') == 'label': + value += unicode(val) + val = val.nextSibling label = labelspan.string + #print("label:%s\nvalue:%s"%(label,value)) if 'Summary' in label: - ## Everything until the next span class='label' - svalue = "" - while not defaultGetattr(value,'class') == 'label': - svalue += str(value) - value = value.nextSibling - self.setDescription(url,svalue) - #self.story.setMetadata('description',stripHTML(svalue)) + self.setDescription(url,value) if 'Rated' in label: - self.story.setMetadata('rating', value) + self.story.setMetadata('rating', stripHTML(value)) if 'Word count' in label: - self.story.setMetadata('numWords', value) + self.story.setMetadata('numWords', stripHTML(value)) if 'Categories' in label: cats = labelspan.parent.findAll('a',href=re.compile(r'browse.php\?type=categories')) @@ -167,7 +166,7 @@ class HPFanficArchiveComAdapter(BaseSiteAdapter): self.story.addToList('warnings',warning.string) if 'Completed' in label: - if 'Yes' in value: + if 'Yes' in stripHTML(value): self.story.setMetadata('status', 'Completed') else: self.story.setMetadata('status', 'In-Progress')