10
9
<dc:creator opf:role="aut" py:for="i, author in enumerate(mi.authors)" py:attrs="{'opf:file-as':mi.author_sort} if mi.author_sort and i == 0 else {}">${author}</dc:creator>
11
10
<dc:contributor opf:role="bkp" py:with="attrs={'opf:file-as':__appname__}" py:attrs="attrs">${'%s (%s)'%(__appname__, __version__)} [http://${__appname__}.kovidgoyal.net]</dc:contributor>
12
11
<dc:identifier opf:scheme="${__appname__}" id="${__appname__}_id">${mi.application_id}</dc:identifier>
13
<dc:date py:if="getattr(mi, 'timestamp', None) is not None">${mi.timestamp.isoformat()}</dc:date>
12
<dc:date py:if="getattr(mi, 'pubdate', None) is not None">${mi.pubdate.isoformat()}</dc:date>
14
13
<dc:language>${mi.language if mi.language else 'UND'}</dc:language>
15
<dc:type py:if="mi.category">${mi.category}</dc:type>
14
<dc:type py:if="getattr(mi, 'category', False)">${mi.category}</dc:type>
16
15
<dc:description py:if="mi.comments">${mi.comments}</dc:description>
17
16
<dc:publisher py:if="mi.publisher">${mi.publisher}</dc:publisher>
18
17
<dc:identifier opf:scheme="ISBN" py:if="mi.isbn">${mi.isbn}</dc:identifier>
18
<dc:rights py:if="mi.rights">${mi.rights}</dc:rights>
19
19
<meta py:if="mi.series is not None" name="calibre:series" content="${mi.series}"/>
20
<meta py:if="mi.series_index is not None" name="calibre:series_index" content="${mi.series_index}"/>
20
<meta py:if="mi.series_index is not None" name="calibre:series_index" content="${mi.format_series_index()}"/>
21
21
<meta py:if="mi.rating is not None" name="calibre:rating" content="${mi.rating}"/>
22
<meta py:if="mi.timestamp is not None" name="calibre:timestamp" content="${mi.timestamp.isoformat()}"/>
23
<meta py:if="mi.publication_type is not None" name="calibre:publication_type" content="${mi.publication_type}" />
22
24
<py:for each="tag in mi.tags">
23
25
<dc:subject py:if="mi.tags is not None">${tag}</dc:subject>