@@ -63,6 +63,9 @@ def do_itunes_new_feed_url(self):
63
63
self .log (UndefinedElement ({"parent" :self .name .replace ("_" ,":" ), "element" :self .child }))
64
64
return rfc2396_full (), noduplicates ()
65
65
66
+ def do_itunes_type (self ):
67
+ return channeltype (), noduplicates ()
68
+
66
69
class itunes_item (itunes ):
67
70
supported_formats = ['m4a' , 'mp3' , 'mov' , 'mp4' , 'm4v' , 'pdf' , 'epub' ]
68
71
@@ -92,6 +95,18 @@ def setEnclosure(self, url):
92
95
def do_itunes_duration (self ):
93
96
return duration (), noduplicates ()
94
97
98
+ def do_itunes_title (self ):
99
+ return text (), noduplicates ()
100
+
101
+ def do_itunes_episode (self ):
102
+ return positiveInteger (), noduplicates ()
103
+
104
+ def do_itunes_season (self ):
105
+ return positiveInteger (), noduplicates ()
106
+
107
+ def do_itunes_episodeType (self ):
108
+ return episodetype (), noduplicates ()
109
+
95
110
class owner (validatorBase ):
96
111
def validate (self ):
97
112
if not "itunes_email" in self .children :
@@ -306,3 +321,10 @@ def validate(self):
306
321
if not self .value .lower () in ['yes' ,'no' ,'clean' ]:
307
322
self .log (InvalidYesNoClean ({"parent" :self .parent .name , "element" :self .name ,"value" :self .value }))
308
323
324
+ class channeltype (enumeration ):
325
+ error = InvalidItunesChannelType
326
+ valuelist = ["episodic" , "serial" ]
327
+
328
+ class episodetype (enumeration ):
329
+ error = InvalidItunesEpisodeType
330
+ valuelist = ["full" , "trailer" , "bonus" ]
0 commit comments