mò %U²Ic.@s=dklZdkZdkZdkZdkZdefd„ƒYZdeifd„ƒYZ de fd„ƒYZ de fd „ƒYZ d e fd „ƒYZ d e fd „ƒYZ deifd„ƒYZdeifd„ƒYZddfddfddfddfddfddfddfd d!fd"d#fd$d%fd&d'fd(d)fd*d+fd,d-fd.d/fd0d1fd2d3fd4d5fd6d7fgZx0eD](Zeeƒd8joeeƒGHnq¢Wd9eifd:„ƒYZd;eifd<„ƒYZd=d>fd?d@fdAdBfdCdDfdEdFfeefdGdHfdIdJfdKdKfdLdLfdMdMfdNdNfdOdOfdPdPfdQdPfdRefdSdPfdTdUfdVdPfdWdWfdXefdYefdZdUfd[efd\efd]efd^efd_efd`efdaefdbefdcefdddefdfefdgefdhefdiefdjefdkefdldmfdnefdodofeefdpdqfdrdsfg-Zdteifdu„ƒYZdveifdw„ƒYZdxeifdy„ƒYZdzeifd{„ƒYZd|eifd}„ƒYZd~„Zedjo eƒndS(€(s test_supportNtQueuecBs,tZdZd„Zd„Zdd„ZRS(sF queue: write bytes at one end, read bytes from the other end cCs d|_dS(Nt(tselft_buffer(R((t-/data/zmath/lib/python2.4/test/test_codecs.pyt__init__ scCs|i|7_dS(N(RRtchars(RR((Rtwrite siÿÿÿÿcCsL|djo|i}d|_|Sn"|i| }|i||_|SdS(NiR(tsizeRRts(RRR ((Rtreads    (t__name__t __module__t__doc__RRR (((RRs   tReadTestcBsGtZd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(NcCs™dddddf}|i}ti|ƒti|i|ƒƒƒ}xJtdƒD]<}|i ddƒ|i ƒ}|i |t|ƒ |ƒqUWdS(Nu%s %s iduabc123udef456ii(R Rtencodingtcodecst getreadertStringIOtencodetreadertxrangetttseektreadlinetlinet assertEqualtlen(RRR RRR((Rt test_seeks '  cCsÀtƒ}ti|iƒ|ƒ}d}xVt|i |iƒ|ƒD]9\}}|i|ƒ||iƒ7}|i||ƒqCW|i|iƒdƒ|i|idƒ|i|idƒdS(NuR(RtqRRRRtrtresulttziptinputRtpartialresultstct partialresultRR Rt bytebuffert charbuffer(RR!R"R#R$RRR((Rt check_partial&s   c s‡d†‰td‡d†}d}d}d}ˆi||tƒ|ƒˆi||t ƒ|ƒˆi||tdƒ|ƒˆi||t dƒ|ƒg} g}xNt di ƒƒD]:\}} | i|dd | ƒ|i|dd ƒq¹Wˆi|d i| ƒtƒd i| ƒƒˆi|d i| ƒt ƒd i|ƒƒxËtd ƒD]½} x´di ƒD]¦} d| d | d }ˆ|ƒ}x8tdƒD]*}ˆi|idtƒ| d | ƒq¢Wˆ|ƒ}x4tdƒD]&}ˆi|idt ƒ| d ƒqéWqmWqZWdS(Ncs1ti|iˆiƒƒ}tiˆiƒ|ƒS(N(RR!RRRtstreamRR(R!R((R(RR8scs_ˆ|ƒ}g}x=to5|id|d|ƒ}|pPn|i |ƒqWdi |ƒS(NRtkeependst|( RR!RtlinestTrueRRR)Rtappendtjoin(R!R)RR+RR(R(Rt readalllines<s ufoo bar baz spam
eggsufoo |bar |baz |spam
|eggsufoo|bar|baz|spam|eggsi u 
iÈuÄ2RiPuauxxx R)(RR,tNoneR/R t sexpectedtsexpectednoendsRRtFalsetvwtvwot enumeratetsplittitlineendR-R.RRRR( RRRR8R2R R1R/R5R4R9R((RRRt test_readline7s@   ++      c=Cs.ddddddddd d d d d d d ddd d ddddddddddd dd dddddd d!d"d#d$d%d&d'd(d)d*d d+d,d-d.d/d0d1d2d3d4d5d6g=}tid7i|ƒi|iƒƒ}ti|iƒ|ƒ}x.t |ƒD] \}}|i |||ƒqWdS(8Ns:<%!--=================================================== s, BLOG index page: show recent articles, s7 today's articles, or articles of a specific date. s>========================================================--%> s!<%@inputencoding="ISO-8859-1"%> s<%@pagetemplate=TEMPLATE.y%> s$<%@import=import frog.util, frog%> s!<%@import=import frog.objects%> s9<%@import=from frog.storageerrors import StorageError%> s<% s simport logging s+log=logging.getLogger("Snakelets.logger") suser=self.SessionCtx.user s-storageEngine=self.SessionCtx.storageEngine s-def readArticlesFromDate(date, count=None): s2 entryids=storageEngine.listBlogEntries(date) s% entryids.reverse() # descending s if count: s# entryids=entryids[:count] s try: s\ return [ frog.objects.BlogEntry.load(storageEngine, date, Id) for Id in entryids ] s except StorageError,x: s6 log.error("Error loading articles: "+str(x)) s, self.abort("cannot load articles") sshowdate=None sarg=self.Request.getArg() sif arg=="today": s, #-------------------- TODAY'S ARTICLES s- self.write("

Today's articles

") s( showdate = frog.util.isodatestr() s. entries = readArticlesFromDate(showdate) selif arg=="active": s4 #-------------------- ACTIVE ARTICLES redirect s self.Yredirect("active.y") selif arg=="login": s/ #-------------------- LOGIN PAGE redirect s self.Yredirect("login.y") selif arg=="date": s7 #-------------------- ARTICLES OF A SPECIFIC DATE s2 showdate = self.Request.getParameter("date") sV self.write("

Articles written on %s

"% frog.util.mediumdatestr(showdate)) selse: s+ #-------------------- RECENT ARTICLES s, self.write("

Recent articles

") s. dates=storageEngine.listBlogEntryDates() s if dates: s entries=[] s SHOWAMOUNT=10 s for showdate in dates: sW entries.extend( readArticlesFromDate(showdate, SHOWAMOUNT-len(entries)) ) s* if len(entries)>=SHOWAMOUNT: s break s R(R RR.RRRR(RRRR6R8RR(RR(R8RR R((Rttest_bug1175396is ½?$ cCsÌtƒ}ti|iƒ|ƒ}ti|iƒ|ƒ}|i dƒ|i |i dt ƒdƒ|i dƒ|i |i dt ƒdƒ|i |i dt ƒdƒ|i dƒ|i |i dt ƒdƒ|i |i dt ƒdƒ|i dƒ|i |i dt ƒdƒ|i dƒ|i |i dt ƒdƒ|i |i dt ƒd ƒ|i dƒ|i |i dt ƒdƒ|i |i dt ƒdƒ|i d ƒ|i |i dt ƒd ƒdS( Nufoo R)ufoou bar uubarubazu ubar ufoo (RRRt getwriterRRtwriterRRRRRR3R,(RR=RR((Rttest_readlinequeue®s*        cCs¯d}d}d}|||i|iƒ}ti|ƒ}t i |iƒ|ƒ}|i |i ƒ|ƒ|i |i ƒ|ƒ|i |i ƒ|ƒ|i |i ƒdƒdS(NuAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy u`offending line: ladfj askldfj klasdj fskla dfzaskdj fasklfj laskd fjasklfzzzzaa%whereisthis!!! u next line. u(ts1ts2ts3RRRR RR(RRRRR(RR(RAR@R RR?((Rttest_bug1098990_aÉsc Csïd}d}d}d}d}|||||i|iƒ}t i |ƒ}t i |iƒ|ƒ}|i|iƒ|ƒ|i|iƒ|ƒ|i|iƒ|ƒ|i|iƒ|ƒ|i|iƒ|ƒ|i|iƒdƒdS(Nuaaaaaaaaaaaaaaaaaaaaaaaa ubbbbbbbbbbbbbbbbbbbbbbbb ustillokay:bbbbxx ubroken!!!!badbad u againokay. u(R?R@RAts4ts5RRRR RR(RRRRR( RR(RAR@RDRCR RR?((Rttest_bug1098990_bÖs"( R R RR'R:R;R>RBRE(((RRs  2 E  t UTF16TestcBs,tZdZdZdZd„Zd„ZRS(Nsutf-16sÿþspamspamsþÿspamspamcCs·ti|iƒ\}}}}tiƒ}||ƒ}|i dƒ|i dƒ|i ƒ}|i ||ijp ||ijƒti|ƒ}||ƒ}|i|iƒdƒdS(Nuspamuspamspam(RtlookupRRt_RR=RR tfRtgetvaluetdtassert_tspamletspambet assertEqualsR (RRIRKR=RR RH((Rttest_only_one_bomís     & c Cs2|idddddddddddg ƒdS(NuÿĀ￿uuuÿuÿĀ(RR'(R((Rt test_partialüs (R R RRMRNRPRQ(((RRFçs  t UTF16LETestcBstZdZd„ZRS(Ns utf-16-lec Cs,|idddddddddgƒdS(NuÿĀ￿uuuÿuÿĀ(RR'(R((RRQs (R R RRQ(((RRR st UTF16BETestcBstZdZd„ZRS(Ns utf-16-bec Cs,|idddddddddgƒdS(NuÿĀ￿uuuÿuÿĀ(RR'(R((RRQ"s (R R RRQ(((RRSstUTF8TestcBstZdZd„ZRS(Nsutf-8c Cs5|iddddddddddddg ƒdS(Nu ÿ߿ࠀ￿uuÿuÿ߿uÿ߿ࠀ(RR'(R((RRQ4s (R R RRQ(((RRT1stEscapeDecodeTestcBstZd„ZRS(NcCs|itidƒdƒdS(NRi(Ri(RRORt escape_decode(R((Rttest_empty_escape_decodeGs(R R RW(((RRUFst RecodingTestcBstZd„ZRS(NcCs<tiƒ}ti|ddƒ}|idƒ|iƒdS(Ntunicode_internalsutf-8ua(RRIRt EncodedFiletf2Rtclose(RR[RI((Rt test_recodingKs  (R R R](((RRXJsu"ليهمابتكلموشعربي؟tegbpdaj6bu4bxfgehfvwxnu他们为什么ä¸è¯´ä¸­æ–‡tihqwcrb4cv8a8dqg056pqjyeu他們爲什麽ä¸èªªä¸­æ–‡tihqwctvzc91f659drss3x8bo0ybuProÄprostÄ›nemluvíÄeskysProprostnemluvesky-uyb24dma41au,למהה×פשוטל×מדברי×עבריתt4dbcagdahymbxekheh6e0a7fei0buZयहलोगहिनà¥à¤¦à¥€à¤•à¥à¤¯à¥‹à¤‚नहींबोलसकतेहैंt,i1baa7eci9glrd9b2ae1bj0hfcgg6iyaf8o0a1dig0cdu6ãªãœã¿ã‚“ãªæ—¥æœ¬èªžã‚’話ã—ã¦ãれãªã„ã®ã‹t&n8jok5ay5dzabd5bym9f0cm5685rrjetr6pdxauH세계ì˜ëª¨ë“ ì‚¬ëžŒë“¤ì´í•œêµ­ì–´ë¥¼ì´í•´í•œë‹¤ë©´ì–¼ë§ˆë‚˜ì¢‹ì„까tE989aomsvi5e83db1d2a355cv1e0vak1dwrv93d5xbh15a0dt30a5jpsd879ccm6fea98cu8почемужеонинеговорÑтпоруÑÑкиt b1abfaaepdrnnbgefbaDotcwatmq2g4lu*PorquénopuedensimplementehablarenEspañols-PorqunopuedensimplementehablarenEspaol-fmd56au-Tạisaohá»khôngthểchỉnóitiếngViệts,TisaohkhngthchnitingVit-kjcr8268qyxafd2f1b9gu3å¹´B組金八先生s3B-ww4c5e180e575a65lsy2bu"安室奈美æµ-with-SUPER-MONKEYSs(-with-SUPER-MONKEYS-pc58ag80a8qai00g7n9nu'Hello-Another-Way-ãれãžã‚Œã®å ´æ‰€s(Hello-Another-Way--fc4qua05auwb3674vfr0buã²ã¨ã¤å±‹æ ¹ã®ä¸‹2s2-u9tlzr9756bt3uc0vuMajiã§Koiã™ã‚‹5ç§’å‰sMajiKoi5-783gue6qz075azm5euパフィーdeルンãƒsde-jg4avhby1noc0duãã®ã‚¹ãƒ”ードã§td9juau41awczczpu -> $1.00 <-s -> $1.00 <--it PunycodeTestcBstZd„Zd„ZRS(NcCs@x9tD]1\}}|i|idƒiƒ|iƒƒqWdS(Ntpunycode(tpunycode_testcasestunitpunyRRORtlower(RRjRk((Rt test_encodeÁs cCs4x-tD]%\}}|i||idƒƒqWdS(NRh(RiRjRkRROtdecode(RRjRk((Rt test_decodeÊs (R R RmRo(((RRgÀs tUnicodeInternalTestcBs#tZd„Zd„Zd„ZRS(NcCsåtidjoÑdddg}dd d d d g}xV|D]N\}}tid jodit|ƒƒ}n|i ||i dƒƒq;WxQ|D]E}tid jodit|ƒƒ}n|i t |i dƒq”WndS(Niÿÿtÿÿuô¿¿tuÄRusÿÿÿs€stttlittleRY(Rquô¿¿(RruÄ(Ru(tsyst maxunicodetoktnot_oktinternalRjt byteorderR.treversedRRORnt assertRaisestUnicodeDecodeError(RRyRxRzRj((Rttest_bug1251300Ïs cCs—tidjoƒydidƒWnatj oU}|id|iƒ|id|iƒ|id|i ƒ|id|i ƒq“X|i ƒndS(NiÿÿtRYii( RvRwRnR~texRRORtobjecttstarttendtfail(RR((Rttest_decode_error_attributeséscCsztidjoftidtiƒtidƒ}didƒ}|d|d |dfdƒ}|i d|ƒndS( NiÿÿRpRYuabs%s""""%sii (uabi ( RvRwRtregister_errort ignore_errorst getdecodertdecoderRtabtignoredRRO(RRŒR‹RŠ((Rttest_decode_callbackõs (R R RR†R(((RRpÎs  s%foo­Í᠆᠋bar​â baz︀︈ï¸ï»¿t foobarbaztCAFEtcafesßtsssİsi̇sŃͺsÅ„ ιsǰ ªsǰ asá¾·sᾶιsǰsÎsΰsẖsá½–t s s s s​Rs ssÂ…sá Žssð…µsï„£s󱈴sôˆ´sò¿¾sô¿¿sí½‚s�s⿵sÍsÌs‎s‪só €só ‚sfooÖ¾bars fooïµbars fooï¹¶bars foo ÙŽbarsا1sا1بsX­ßİ℡ǰ ªΰ sxssi̇telǰ aΰ sXß㌖İ℡⒟㌀s*xssキロメートルi̇tel(d)アパートt NameprepTestcBstZd„ZRS(NcCsßdkl}xËttƒD]½\}\}}|djoqnt|dƒ}|djo|i t ||ƒqt|dƒ}y|i ||ƒ|ƒWqt j o,}tid|dt|ƒfƒ‚qXqWdS(N(snameprepsutf-8s Test 3.%d: %si(tencodings.idnatnameprepR6tnameprep_teststpostorigtpreppedR0tunicodeRR}t UnicodeErrorROt Exceptiontet test_supportt TestFailedtstr(RRR—R•R˜R™((Rt test_nameprep™s    (R R R¡(((RR“˜st CodecTestcBstZd„Zd„ZRS(NcCs|itddƒdƒdS(Ns python.orgtidnau python.org(RRORš(R((Rt test_builtin¬scCsNdk}tidƒ|idƒƒ}|idƒ|i|iƒdƒdS(NR£tabciu(RRRRR RRO(RRR((Rt test_stream¯s  (R R R¤R¦(((RR¢«s tCodecsModuleTestcBs,tZd„Zd„Zd„Zd„ZRS(NcCse|itiddƒdƒ|ittiƒ|itidƒdƒ|ittiddƒdS(Nsäöüslatin-1uäöüR¥uabcsÿtascii(RRORRnR}t TypeErrorR~(R((RRo·s cCse|itiddƒdƒ|ittiƒ|itidƒdƒ|ittiddƒdS(Nuäöüslatin-1säöüuabcR¥uÿffR¨(RRORRR}R©tUnicodeEncodeError(R((RRm¾s cCs|ittiƒdS(N(RR}R©Rtregister(R((Rt test_registerÅscCs-|ittiƒ|ittidƒdS(Nt__spam__(RR}R©RRGt LookupError(R((Rt test_lookupÈs(R R RoRmR¬R¯(((RR§µs   tStreamReaderTestcBstZd„Zd„ZRS(NcCs(tidƒ|_tidƒ|_dS(Nsutf-8s한 글(RRRRRR((R((RtsetUpÎscCs2|i|iƒ}|i|iƒddgƒdS(Nu한 u글(RRR(RIROt readlines(RRI((Rttest_readlinesÒs(R R R±R³(((RR°Ìs t Str2StrTestcBstZd„Zd„ZRS(NcCscdidƒ}tidƒti|ƒƒ}|iƒ}|i |dƒ|i t |t ƒƒdS(Ns€t base64_codec( RtsinRRRRR tsoutRRRLt isinstanceR (RRR·R¶((Rt test_readØs  cCscdidƒ}tidƒti|ƒƒ}|iƒ}|i |dƒ|i t |t ƒƒdS(Ns€Rµ( RR¶RRRRRR·RRRLR¸R (RRR·R¶((RR:ßs  (R R R¹R:(((RR´Ös cCs5titttttttt t t t t tƒ dS(N(Ržt run_unittestRFRRRSRTRURXRgRpR“R¢R§R°R´(((Rt test_mainæs t__main__(ttestRžtunittestRRvRR‚RtTestCaseRRFRRRSRTRURXRiR8RtreprRgRpR0R–R“R¢R§R°R´R»R (RžRpRUR¾R°RvRSRFR¢R»R´RTRRgR–RRRXRRRR8R§R“Ri((Rt?s8   Í& ±h1ÿœ™