def _handle_hints(self, hints, encrypted = True): hints = HTMLManipulations._strip_html(HTMLManipulations._replace_br(hints)).strip() if encrypted: hints = HTMLManipulations._rot13(hints) hints = re.sub(r'\[([^\]]+)\]', lambda match: HTMLManipulations._rot13(match.group(0)), hints) return hints
def _parse_logs_json(self, logs, returnTotalPages=False): try: r = json.loads(logs) except Exception: logger.exception('Could not json-parse logs!') if not 'status' in r or r['status'] != 'success': logger.error('Could not read logs, status is "%s"' % r['status']) data = r['data'] output = [] for l in data: tpe = l['LogTypeImage'].replace('.gif', '').replace('icon_', '') date = l['Visited'] finder = "%s (found %s)" % (l['UserName'], l['GeocacheFindCount']) text = HTMLManipulations._decode_htmlentities(HTMLManipulations._strip_html(HTMLManipulations._replace_br(l['LogText']))) output.append(dict(type=tpe, date=date, finder=finder, text=text)) logger.debug("Read %d log entries" % len(output)) if returnTotalPages is True: pageinfo = r['pageInfo'] total_page = pageinfo['totalPages'] #print "total pages", total_page return output,total_page return output
def _parse_logs_json(self, logs, returnTotalPages=False): try: r = json.loads(logs) except Exception, e: logger.exception('Could not json-parse logs!') raise e if not 'status' in r or r['status'] != 'success': logger.error('Could not read logs, status is "%s"' % r['status']) data = r['data'] output = [] for l in data: tpe = l['LogTypeImage'].replace('.gif', '').replace('icon_', '') date = l['Visited'] finder = "%s (found %s)" % (l['UserName'], l['GeocacheFindCount']) text = HTMLManipulations._decode_htmlentities(HTMLManipulations._strip_html(HTMLManipulations._replace_br(l['LogText']))) output.append(dict(type=tpe, date=date, finder=finder, text=text)) logger.debug("Read %d log entries" % len(output)) if returnTotalPages: pageinfo = r['pageInfo'] total_page = pageinfo['totalPages'] return output,total_page return output BACKENDS = { 'geocaching-com-new': {'class': GeocachingComCacheDownloader, 'name': 'geocaching.com', 'description': 'Backend for geocaching.com'}, } def get(name, *args, **kwargs):
def _handle_hints(self, hints, encrypted = True): hints = HTMLManipulations._strip_html(HTMLManipulations._replace_br(hints)).strip() if encrypted: