equal
deleted
inserted
replaced
443 |
443 |
444 def parse(self, url): |
444 def parse(self, url): |
445 if url.startswith('http'): |
445 if url.startswith('http'): |
446 url = self.normalize_url(url) |
446 url = self.normalize_url(url) |
447 self.source.info('GET %s', url) |
447 self.source.info('GET %s', url) |
448 stream = _OPENER.open(url, timeout=self.http_timeout) |
448 stream = _OPENER.open(url, timeout=self.source.http_timeout) |
449 elif url.startswith('file://'): |
449 elif url.startswith('file://'): |
450 stream = open(url[7:]) |
450 stream = open(url[7:]) |
451 else: |
451 else: |
452 stream = StringIO.StringIO(url) |
452 stream = StringIO.StringIO(url) |
453 return self.parse_etree(etree.parse(stream).getroot()) |
453 return self.parse_etree(etree.parse(stream).getroot()) |
460 |
460 |
461 def is_deleted(self, extid, etype, eid): |
461 def is_deleted(self, extid, etype, eid): |
462 if extid.startswith('http'): |
462 if extid.startswith('http'): |
463 try: |
463 try: |
464 _OPENER.open(self.normalize_url(extid), # XXX HTTP HEAD request |
464 _OPENER.open(self.normalize_url(extid), # XXX HTTP HEAD request |
465 timeout=self.http_timeout) |
465 timeout=self.source.http_timeout) |
466 except urllib2.HTTPError as ex: |
466 except urllib2.HTTPError as ex: |
467 if ex.code == 404: |
467 if ex.code == 404: |
468 return True |
468 return True |
469 elif extid.startswith('file://'): |
469 elif extid.startswith('file://'): |
470 return exists(extid[7:]) |
470 return exists(extid[7:]) |