def _last_read(book, exclude_device = None): lr_list = [] for lr in annotations.list_last_read(book.asin): if lr.device == exclude_device: continue device = devices.get(lr.device) lr_list.append(_LAST_READ % (lr.timestamp * 1000, 'US', device_lto(device), lr.pos, lr.device)) xml = '<?xml version="1.0" encoding="UTF-8"?><book>' + ''.join(lr_list) + '</book>' return DummyResponse(headers = { 'Content-Type': 'text/xml;charset=UTF-8' }, data = bytes(xml, 'UTF-8'))
def _last_read(book, exclude_device = None): lr_list = [] for lr in annotations.list_last_read(book.asin): if lr.device == exclude_device: continue device = devices.get(lr.device) alias = device.alias if device else lr.device alias = lr.device if alias is None \ else alias.replace('&', '&').replace('<', '<').replace('>', '>').replace('"', '"').replace('\'', ''') lr_list.append(_LAST_READ % (lr.timestamp * 1000, device_lto(device), lr.pos, alias)) if lr_list: xml = '<?xml version="1.0" encoding="UTF-8"?><book>' + ''.join(lr_list) + '</book>' else: xml = '<?xml version="1.0" encoding="UTF-8"?><book/>' return DummyResponse(headers = { 'Content-Type': 'text/xml;charset=UTF-8' }, data = bytes(xml, 'UTF-8'))
def _last_read(book, exclude_device=None): lr_list = [] for lr in annotations.list_last_read(book.asin): if lr.device == exclude_device: continue device = devices.get(lr.device) alias = device.alias if device else lr.device alias = lr.device if alias is None \ else alias.replace('&', '&').replace('<', '<').replace('>', '>').replace('"', '"').replace('\'', ''') lr_list.append( _LAST_READ % (lr.timestamp * 1000, device_lto(device), lr.pos, alias)) if lr_list: xml = '<?xml version="1.0" encoding="UTF-8"?><book>' + ''.join( lr_list) + '</book>' else: xml = '<?xml version="1.0" encoding="UTF-8"?><book/>' return DummyResponse(headers={'Content-Type': 'text/xml;charset=UTF-8'}, data=bytes(xml, 'UTF-8'))