def test_dates(self): # {{{ from calibre.utils.date import utcnow def rl(root): p, r = read_prefixes(root), read_refines(root) return read_pubdate(root, p, r), read_timestamp(root, p, r) def st(root, pd, ts): p, r = read_prefixes(root), read_refines(root) set_pubdate(root, p, r, pd) set_timestamp(root, p, r, ts) return rl(root) def ae(root, y1=None, y2=None): x1, x2 = rl(root) for x, y in ((x1, y1), (x2, y2)): if y is None: self.assertIsNone(x) else: self.ae(y, getattr(x, 'year', None)) root = self.get_opf('''<dc:date>1999-3-2</dc:date><meta property="calibre:timestamp" scheme="dcterms:W3CDTF">2001</meta>''') ae(root, 1999, 2001) n = utcnow() q = n.replace(microsecond=0) self.ae(st(root, n, n), (n, q)) root = self.get_opf('''<dc:date>1999-3-2</dc:date><meta name="calibre:timestamp" content="2001-1-1"/>''') ae(root, 1999, 2001) root = self.get_opf('''<meta property="dcterms:modified">2003</meta>''') self.ae(read_last_modified(root, read_prefixes(root), read_refines(root)).year, 2003)
def test_dates(self): # {{{ from calibre.utils.date import utcnow def rl(root): p, r = read_prefixes(root), read_refines(root) return read_pubdate(root, p, r), read_timestamp(root, p, r) def st(root, pd, ts): p, r = read_prefixes(root), read_refines(root) set_pubdate(root, p, r, pd) set_timestamp(root, p, r, ts) return rl(root) def ae(root, y1=None, y2=None): x1, x2 = rl(root) for x, y in ((x1, y1), (x2, y2)): if y is None: self.assertIsNone(x) else: self.ae(y, getattr(x, 'year', None)) root = self.get_opf('''<dc:date>1999-3-2</dc:date><meta property="calibre:timestamp" scheme="dcterms:W3CDTF">2001</meta>''') ae(root, 1999, 2001) n = utcnow() q = n.replace(microsecond=0) self.ae(st(root, n, n), (n, q)) root = self.get_opf('''<dc:date>1999-3-2</dc:date><meta name="calibre:timestamp" content="2001-1-1"/>''') ae(root, 1999, 2001) root = self.get_opf('''<meta property="dcterms:modified">2003</meta>''') self.ae(read_last_modified(root, read_prefixes(root), read_refines(root)).year, 2003)