mò S0VKc@sadkZdkZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZd efd „ƒYZed joÐeƒZ gZ e D] Z e e q¡[ GHe i d ƒe i d ƒe e dƒZeGHgZ e D] Z e e qï[ GHx(e D] Z xe D]Ze GeGHqWq Wd e jGHedƒZedddgjndS(NtPipeItercBstZd„Zd„ZRS(NcCs||_d|_dS(Niÿÿÿÿ(tobjtselftpart _itercount(RR((t6/home/jaagup/public_html/oma/too/10/01/keel/objects.pyt__init__s cCs^t|iiƒ p |it|iiƒdjo t‚n|id7_|ii|iS(Ni(tlenRRt_dsRt StopIteration(R((Rtnext s4 (t__name__t __module__RR (((RRs tPipecBs¤tZd„Zd„Zd„Zd„Zd„Zd„Zd„Ze d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„ZRS(NcCs:g|_g|_g|_g|_t|_d|_dS(Ni(RRt _rulematchest _rulepartst _partlengthtFalsetskippedt partcount(R((RRs      cCs t|ƒS(N(RR(R((Rt__iter__scCs7dig}|D]}||iƒidƒq~ƒS(Nt sutf-8(tjoint_[1]RtwtgetWordtencode(RRR((Rt__str__scCs|ii|ƒdS(N(RRtappendto(RR((RR scCsug}t}xbt|ƒD]T\}}|idƒo+|i|||ƒ}|oPng}n|i |ƒqW|S(Ns CLB ( ttmpRtrt enumerateRtiRt hasMarkingt_matchtruletrulesR(RR$R%RR!RR((Rtmatch#s  cCs[|i}|i} |i}d|_t }t i |ƒ}t i |ƒ}|iƒo|Snt }d} t } |idjo t} n| o dGHn| o |GHn| o dG|GHnd|_tdƒ|_t }t|ƒ}x t|ƒD]\}}|djo|idƒo dGHn|i ƒo/| o dG|GHn|i!o d} qôqôn|id |_|pxt } xX| D]P} |i$d ƒo:| o d GHnt i |ƒ}|id |_t} Pq†q†W| od|_qôn|i%dƒ}| o d G|GHn|i$||ƒp�| o | GHn||jo`| |joS| o d GHn| o&|i$| |ƒ o|i'dƒPq²| djoPq²qÊ|i'dƒPn| o dG|GHn|} t|ƒdjo t}qqô|i$d ƒoPqôqôWt|ƒdjo:t|ƒt|iƒ|_| o dG|GHnt}n|S(Nitdoc_441779960552_itemsalgus!sreegel:is@FMVskahtlane lause s jatan vaheleis CLB sclb asisrule:sdoing prev matching!Rsmatch!s rule match:((R%t skip_listtskiplistt restart_listtrestarttallowed_lookbackstallowed_look_backsRRRRtcopyR$trule_bakt isSkippedt doContinuetNonetprev_rptdt documentidtTruet partlengthtfloattcoeftfind_clbRt rule_lengthR tsentenceR!Rt infoContainst isIgnoredtnull_prev_on_skipt doRestarttremarkR"tpoptrpR(RR$R%R<R/R;RCR-R1R3R@R+RAR4R!RRR:R)((RR#/sž                               cCs:|ii|ƒ|ii|iƒ|ii|iƒdS(N(RRRtridRRRR9(RRD((Rt addRuleMatchsc CsÁg}g}|i} |i} |i} |i ƒo |gSnx{t |ƒD]m\}}|o|iƒGn|iƒo|o dGHqLqLn|o dGHnt}x;| D]3}|i|ƒo|i|ƒg}t}q®q®W|p‰x†| D]z} |i| | ƒoa| |ijo9t|ƒdjo&| |djo|i| ƒqbn|i| ƒt}PqóqóWn| o<t|ƒdjo)|odG|iƒG|iƒGHnPqLqLW|S(s' searchables - a list of allowed marks s IGNOREDtiiÿÿÿÿs show-stopper:N(t all_rulesR$tconftneededt searchablesR(R)R*R+RR0R R!RtdebugtgetInfoR>Rthas_markRAR"RR6tsR,RR( RRHRKRARR!R$RGRMRNRJR)R+((RtgetPossibleRule„sP          #   cCs t|_dS(N(R6RR(R((RtskipMeªscCs|iS(N(RR(R((RR0­scCsÄt}xh|D]`}xK|iƒD]=}x4|dD](}||jo|iƒt }Pq1q1Wq W|oPq q WxL|D]D}x:|dD].}|i ƒi ƒ|jo|iƒPq‰q‰WPqxWdS(Ntmarkstwords( RtfoundRRRLtinfostrlistRRPR6trwRtlower(RRURRVRRSRT((Rt checkFullstop°s*         cCs?x8|D]0}|iƒiƒ|jo|itƒqqWdS(N(RRRRWtwlistt setIgnoredR6(RRYR((RtcheckIgnoredWordsÂsc Cs x|D]ú}|iƒoqnxÝ|iƒD]Ï} t} x}|D]u}|i |ƒ} | oY|i |ƒo>|i |ƒ}x3|D] }|i |ƒo t} qƒqƒWq¶t} PqAqAW| p<x9|D]-}|i |ƒ} | o|itƒqÈqÈWq.q.WqWdS(N(RRR>RLRTRRSt neededlisttneedR"thasR)thas_keytgettm2tmR6tignlisttignRZ( RRcR\R)RbRdRRaR]RSRTR^((RtcheckIgnoredMarksÇs2   cCsÊxÃt|ƒD]µ\}}|iƒoq nx’|iƒD]„\}}xu|i ƒD]g}||joTxQ|dD]A}||i ƒi ƒjo"||djo|itƒqqqqWqSqSWq:Wq WdS(Ntwordlisttignore_ignore_pos(R RtwiRR>t checklisttitemstktignvRLRTtvRRWRZR6(RRiRmRhRRTRlRk((RtcheckIgnoredWithMarkÝs      *cCsŽd}x�t|ƒD]s\}}|iƒp"|idƒp|d}qNn|idƒo(|djo|iƒdG|GHq†qqWdS(Nis@NEGis@FMVis fmv taga (tposR RRhRR>R"RP(RRRoRh((RtcheckFmvPositionès    cCs�d}xNt|ƒD]@\}}|iƒp'|idƒo |}qnd}qqW|djo%|iƒ odG|GH|iƒndS(Niÿÿÿÿs@PRDiþÿÿÿsPRD not in end ( RoR RRhRR>R"R0RP(RRRoRh((RtcheckPrdPositionós   cCs€t}xDt|ƒD]6\}}|idƒp|idƒo t}qqW|p(|iƒpdG|GH|i ƒq|ndS(Ns@FCVs@FMVsFCV or FMV not found ( RRSR RRhRR"R6R0RP(RRhRRS((Rt checkFcvFmvÿs    (R R RRRRR&R#RERRORPR0RXR[ReRnRpRqRr(((RR s"     P  &      tWordcBs\tZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z dd „Z RS( NcCs||_t|_g|_dS(N(RRtwordRtignoredtinf(RR((RR s  cCs4|iƒo d}nd}d||i|ifS(Nt1t0s %s %-20s %s(RR>tignfRtRv(RRy((RRs cCs|ii|ƒdS(N(RRvR(RRv((RtaddInfoscCs|iS(N(RRv(R((RRLscCs*y|ii|ƒdSWn dSnXdS(Nii(RRvtindexRN(RRN((RR=s cCs|iS(N(RRt(R((RR#scCs|iS(N(RRu(R((RR>&scCs$t|tƒpt‚||_dS(N(t isinstanceRdtbooltAssertionErrorRRu(RRd((RRZ)scCs¸t}x)|iD]}||jo t}PqqW|o{|ot|i|ƒo`t}xB|i |ƒD]1}x(|iD]}||jo t}qvqvWqfW|o t}q°q´n|S(N( RRSRRvR!tmarkR6R)R_tis_in_skip_listR`tsm(RRR)R€R!R�RS((RR"-s$     ( R R RRRzRLR=RR>RZR2R"(((RRs s        t RulesItercBstZd„Zd„ZRS(NcCs||_d|_dS(Niÿÿÿÿ(RRtc(RR((RR@s cCsd|id|_|it|iiƒjo t‚n|ii|i|ii|ii|igS(Ni(RRƒRRt_ridsR t_rules(R((RR Ds (R R RR (((RR‚>s t RulesListcBs8tZd„Zd„Zd„Zd„Zdd„ZRS(NcCs’h|_h|_g|_x(|D] }|ii|iƒdƒq"W||_h|_ x3|D]+}||iƒd|i |iƒd]siiisTotal rule instances matched( RR‡RjRNtsortR6ttotalRŠtstrtljustR…Rˆ(RRNRŠR‘((Rt printStatsZs6cCs |i|S(N(RR…RD(RRD((RR`dsiÿÿÿÿcCsW|ii|ƒpd|i|