コード例 #1
0
def set_metadata(doc, set_list):
    meta = doc.get_meta()
    for set_info in set_list:
        if '=' not in set_info:
            printerr('Bad argument -s "%s" (must be "name=value")' % set_info)
            exit(1)
        name, value = set_info.split('=', 1)
        name = name.lower().strip()
        value = value.strip()

        if name in ("title", "subject", "initial_creator", "keywords",
                    "generator", "description"):
            value = value.decode(stdin.encoding)
            func = meta.__getattribute__('set_' + name)
            func(value)
        elif name == "language":
            meta.set_language(value)
        elif name in ("modification_date", "creation_date"):
            try:
                if 'T' in value:
                    date = DateTime.decode(value)
                else:
                    date = Date.decode(value)
            except ValueError, error:
                printerr('Bad argument -s "%s": %s' % (set_info, error))
                exit(1)
            func = meta.__getattribute__('set_' + name)
            func(date)
        else:
            printerr('Unknown metadata name "%s", please choose: ' % name)
            printerr("       title, subject, initial_creator, keywords, "
                     "generator, description, modification_date or "
                     "creation_date")
            exit(1)
コード例 #2
0
ファイル: lpod-meta.py プロジェクト: nctan/quneiform
def set_metadata(doc, set_list):
    meta = doc.get_meta()
    for set_info in set_list:
        if '=' not in set_info:
            printerr('Bad argument -s "%s" (must be "name=value")' % set_info)
            exit(1)
        name, value = set_info.split('=', 1)
        name = name.lower().strip()
        value = value.strip()

        if name in ("title", "subject", "initial_creator",
                    "keywords", "generator", "description"):
            value = value.decode(stdin.encoding)
            func = meta.__getattribute__('set_' + name)
            func(value)
        elif name == "language":
            meta.set_language(value)
        elif name in ("modification_date", "creation_date"):
            try:
                if 'T' in value:
                    date = DateTime.decode(value)
                else:
                    date = Date.decode(value)
            except ValueError, error:
                printerr('Bad argument -s "%s": %s' % (set_info, error))
                exit(1)
            func = meta.__getattribute__('set_' + name)
            func(date)
        else:
            printerr('Unknown metadata name "%s", please choose: ' % name)
            printerr("       title, subject, initial_creator, keywords, "
                    "generator, description, modification_date or "
                    "creation_date")
            exit(1)
コード例 #3
0
ファイル: test_meta.py プロジェクト: xrmx/lpod-python
 def test_get_modification_date(self):
     meta = self.meta
     date = meta.get_modification_date()
     expected = DateTime.decode('2009-07-31T15:59:13')
     self.assertEqual(date, expected)
コード例 #4
0
ファイル: test_meta.py プロジェクト: RB14/lpod-python
 def test_get_modification_date(self):
     meta = self.meta
     date = meta.get_modification_date()
     expected = DateTime.decode('2009-07-31T15:59:13')
     self.assertEqual(date, expected)
コード例 #5
0
 def test_decode(self):
     date = '2009-06-29T14:33:21'
     expected = datetime(2009, 6, 29, 14, 33, 21)
     self.assertEqual(DateTime.decode(date), expected)
コード例 #6
0
 def test_encode(self):
     date = datetime(2009, 06, 26, 11, 9, 36)
     expected = '2009-06-26T11:09:36'
     self.assertEqual(DateTime.encode(date), expected)
コード例 #7
0
 def test_decode(self):
     date = '2009-06-29T14:33:21'
     expected = datetime(2009, 6, 29, 14, 33, 21)
     self.assertEqual(DateTime.decode(date), expected)
コード例 #8
0
 def test_encode(self):
     date = datetime(2009, 06, 26, 11, 9, 36)
     expected = '2009-06-26T11:09:36'
     self.assertEqual(DateTime.encode(date), expected)