mò `eØGc@smdZdZdZdZdkTdfd„ƒYZdefd„ƒYZd efd „ƒYZd efd „ƒYZ d efd„ƒYZ defd„ƒYZ de fd„ƒYZ hdddddddg<ddddddg<d g<d!d"d#d$d%d&g<d'd(d)d*d+d,g<d-d.d/d0d1g<d2d3d4d5d6g<d7g<d8g<d9g<d:d;d<d=d>d?d@dAg<dBdCdDdEg<dFdGdHdIdJg<dKdLdMdNdOg<dPdQdRdSdTg<dUgd?d{dIdAg<d|g<d}g<d~g<dPdd€dQddxd‚dSdƒd„g <d…d(d)d†d‡g<dˆg and Mark Pilgrim s$Revision: 988 $s,Copyright (c) 2002 Sam Ruby and Mark Pilgrim(t*titunescBsGtZd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(NcCstdƒtƒfS(Niÿ(tlengthLimitedTextt noduplicates(tself((t?/web/script/rubys/feedvalidator.org/src/feedvalidator/itunes.pytdo_itunes_author scCstƒtƒfS(N(t yesnocleanR(R((Rtdo_itunes_block scCstƒtƒfS(N(RR(R((Rtdo_itunes_explicitscCstdƒtƒtƒfS(Niÿ(RtkeywordsR(R((Rtdo_itunes_keywordsscCstdƒtƒfS(Niÿ(RR(R((Rtdo_itunes_subtitlescCstdƒtƒfS(Ni (RR(R((Rtdo_itunes_summaryscCstƒtƒfS(N(timageR(R((Rtdo_itunes_images( t__name__t __module__RRR R R R R(((RR s      titunes_channelcBsKtZdklZd„Zd„Zd„Zd„Zd„Zd„Z RS(N(sMissingItunesElementcCsÿd|ijo7|i o,|ithd|i<dd<ƒƒnd|ijo,|ithd|i<dd<ƒƒnd|ijo,|ithd|i<dd<ƒƒnd|ijo,|ithd|i<dd <ƒƒndS( Ntlanguagetparenttelementtitunes_categorysitunes:categorytitunes_explicitsitunes:explicitt itunes_owners itunes:email(RtchildrentxmlLangtlogtMissingItunesElementtnametMissingItunesEmail(R((Rtvalidate"s,,,cCs¸|ož|i o“|iiiƒddgjo?dkl}|i|hd|i i <d|i <ƒƒn|i ƒt jod|i jo|iƒq¥n|i|O_dS(Nsutf-8tutf8(sNotUTF8RRtentry(tvalueRRt dispatchertencodingtlowertloggingtNotUTF8RRRt getFeedTypet TYPE_ATOMRR(RR"R'((Rt setItunes,s 2#cCstƒtƒfS(N(townerR(R((Rtdo_itunes_owner6scCstƒS(N(tcategory(R((Rtdo_itunes_category9scCstƒtƒfS(N(trfc822R(R((Rtdo_itunes_pubDate<scCs[|idjo;|ithd|iiddƒ<d|i<ƒƒntƒtƒfS(Nsitunes_new-feed-urlRt_t:R(RtchildRtUndefinedElementRtreplacet rfc2396_fullR(R((Rtdo_itunes_new_feed_url?s;( RRR&RRR*R,R.R0R7(((RRs    t itunes_itemcBsDtZddddddgZd„Zd„Zd „Zd „ZRS( Ntm4atmp3tmovtmp4tm4vtpdfcCsdS(N((R((RRGscCsx|om|i ob|iitƒ||_t|dƒo5|ig}|_x|D]}|i |ƒqUWqtndS(Nt enclosures( R"RRRR*tTruethasattrR?tsavet enclosuret setEnclosure(RR"RBRC((RR*Js cCsª|ioo|idƒd}|tijoHdkl}|i |hd|i i <d|i <d|<ƒƒqynt |dƒp g|_ n|i i|ƒdS(Nt.iÿÿÿÿ(sUnsupportedItunesFormatRRt extensionR?(RRturltsplittextR8tsupported_formatsR&tUnsupportedItunesFormatRRRRAR?tappend(RRGRKRI((RRDSs  ? cCstƒtƒfS(N(tdurationR(R((Rtdo_itunes_duration^s(RRRJRR*RDRN(((RR8Ds   R+cBs#tZd„Zd„Zd„ZRS(NcCsLd|ijo8|ithd|iiddƒ<dd<ƒƒndS(Nt itunes_emailRR1R2Rs itunes:email(RRRtMissingElementRR5(R((RRbscCstƒtƒfS(N(temailR(R((Rtdo_itunes_emailgscCstdƒtƒfS(Niÿ(RR(R((Rtdo_itunes_namejs(RRRRRRS(((RR+as  t subcategorycBs#tZd„Zd„Zd„ZRS(NcCs,ti|ƒ||_||_d|_dS(N(t validatorBaset__init__RtnewlisttoldlisttNonettext(RRWRX((RRVns   cCsdgS(Nutext(Nutext(RY(R((RtgetExpectedAttrNamestscCsTyë|iidƒ|_|i|ijo¿|i|ijoV|ithd|i i i ddƒ<d|i i ddƒ<d|i<ƒƒqê|it hd|i i i ddƒ<d|i i ddƒ<d|i<ƒƒnWnbt j oV|ithd|i i i ddƒ<d|i i ddƒ<dd<ƒƒnXdS(NRZRR1R2Rtattr(Nstext(RtattrstgetValueRYRZRWRXRtObsoleteItunesCategoryRRR5tInvalidItunesCategorytKeyErrortMissingAttribute(R((Rt prevalidatewsVZ(RRRVR[Rc(((RRTms  RcBstZd„Zd„ZRS(NcCsdgS(Nuhref(Nuhref(RY(R((RR[‰scCs|idtƒdS(Nthref(Nshref(Rtvalidate_required_attributeRYthttpURL(R((RRcŒs(RRR[Rc(((RRˆs R-cBstZd„Zd„ZRS(NcCs#ti|tiƒtiƒƒdS(N(RTRVRtvalid_itunes_categoriestkeystold_itunes_categories(R((RRVscCs@|ip tƒSntti|igƒti|igƒƒS(N(RRZteaterRTRgtgetRi(R((RR.”s (RRRVR.(((RR-s tArtstDesignsFashion & BeautytFoodt LiteraturesPerforming Artss Visual ArtstBusinesss Business NewstCareerst InvestingsManagement & MarketingtShoppingtComedyt EducationsEducation TechnologysHigher EducationsK-12sLanguage CoursestTrainingsGames & Hobbiest AutomotivetAviationtHobbiess Other Gamess Video GamessGovernment & OrganizationstLocaltNationals Non-ProfittRegionaltHealthsAlternative HealthsFitness & Nutritions Self-Helpt Sexualitys Kids & FamilytMusicsNews & PoliticssReligion & SpiritualitytBuddhismt ChristianitytHinduismtIslamtJudaismtOthert SpiritualitysScience & MedicinetMedicinesNatural SciencessSocial SciencessSociety & CulturetHistorysPersonal Journalst PhilosophysPlaces & TravelsSports & RecreationtAmateursCollege & High SchooltOutdoort Professionalt TechnologytGadgetss Tech Newst PodcastingsSoftware How-Tos TV & FilmsArts & Entertainmentt ArchitecturetBookst EntertainmenttGamest PhotographytPoetrysScience Fictions Audio BlogstFinancet Managementt MarketingtFamilysDiet & NutritiontFitnesst Relationshipst Internationalt AustraliantBelgiant BraziliantCanadiantChinesetDutchtFrenchtGermantHebrewtItaliantJapaneset NorwegiantPolisht PortuguesetSpanishtSwedishsMovies & TelevisiontNewstPoliticss Public RadiosNew AgetSciencetSportss Talk Radiot Computerst DeveloperssInformation TechnologysOperating Systemss Smart Phoness Text/SpeechtTransportationtBicyclest CommutingtTravelRcBstZd„Zd„ZRS(NcCsdS(N((R((RtnormalizeWhitespace1scCsa|iiƒdddgjo>|ithd|ii<d|i<d|i<ƒƒndS(NtyestnotcleanRRR"(RR"R%RtInvalidYesNoCleanRR(R((RR3s(RRR·R(((RR0s N(t__doc__t __author__t __version__t __copyright__t validatorsRRR8RUR+RTRR-RgRiRZR( R-R¿RTRR8RgR½RRiR+RR¾R((Rt?s %  ÿ0FÿoQ