Login

All snippets written in Python

2957 snippets

Snippet List

tag: render form field

this solves a common problem where you want to specify html tag attributes for form fields in the template itself and not have to do it by writing a custom form class. eg. the size of the field, css classes, tabindex etc. usage: {% render_field form.comments "cols=40,rows=5,class=text,tabindex=2" %} where form.comments is a form field with a text area widget it will show data (if the form is bound or if there is initial data) and will display errors if the field has errors

  • forms
Read More

Log all interaction with user to the DB

Due to compliance requirements in the financials industry we needed to log every request a user made to our system, the action taken (view function) and response from the server. I found a lot of other logging solution bit most revolved around debugging and DB query logging. I needed to be able to tell what a user did while being logged in as much detail as I could with out tracking the mouse pointer position on screen. So I created this (, *my first* ,) middleware. Its very simple really. keeping track of a request, view_func and response object in a single model called Record (models.py file included in the code). The fields I used are optimized to what I intend to show in the UI I am planning for this model. Depending on how you use the doc string of your views they can be tapped to explain to the user what each request/func/responce group in a session is meant to do. There were a few gotcha's: 1. I only care about authenticated requests. So I added the 'quest.user.is_authenticated()' test. 2. I did not care about the favicon request so I skipped them. 2. The actual login request is not authenticated while the response is. This caused the process_response/view to look for a record that is not there. So I added the 'except ObjectDoesNotExist' to skip this case. I added one bell: Logging a full HTML reply is wasteful and mostly useless. I added two values in the setting files. LOGALL_LOG_HTML_RESPONSE to toggle if we want to log them or not. And LOGALL_HTML_START to describe what a full HTML starts with. Personally I use the first few characters of my base.html template that all the rest of my templates expend. I simplified the code to the left for readability.

  • middleware
  • log
  • db
  • compliance
  • financial
Read More

Latest tweets Templatetag

Based on [http://djangosnippets.org/snippets/1615/](http://djangosnippets.org/snippets/1615/) Added tweets cache. Cache time is configurable through project settings: TWITTER_TIMEOUT=300. Default time is 300 seconds = 5 minutes. This improve performance by reducing the twitter api queries interval.

  • templatetag
  • twitter
  • social
Read More

enani

PK  ƒz9Ï%÷Æ  ( ZocScriptingSamples/English/01_first.zrx­‘AkÛ@…ï…þ‡—½$5ºz0&€‹¡ ØÍ¡0‘ÇÒÒõ®ØE èÇgvå¸É¡ºH¬Þ¾÷½™j†_WÛ-fÕ×/Õ Ê3u14‘ äzNxàÆz VZT§[Ò2ö6&³ž‹U1«S,S™ýkÈEMN• ÷ëå%? ûdƒŸ#1ãš]wù“}?‡ÑßSÐ2äwÉ|+&ËÅj…ûP/]pŒK,êøHÑÒƒ›06×ë0›ÝÎU¡—®ˆ¦Bÿé-!IÌ\uð5)‰R!tIBüŽqü²É>Ä7Yù¶¹Ó‰•++òMO ›9n¹.³>Ò¼Å&Za§ wfµü8š³×â‹ô}∜ÚÚTµúíéÀu%ì{_òçhX$‹òZ#§ÞÉç;—u(«¢\˜MK›ðú‰CE§]vºA JW6%¡fãÁú]NТU V…ŸGÖŠ™.§Ÿ'„Áãvñ[‡\8&Š|ðþ”®¶7wùýPK  Ëz9R)eùØ C ) ZocScriptingSamples/English/02_ifelse.zrx…RM›0½Gʘ:—$Ê*÷J«UJè5ÅUŒšìÞ¼0 nÁNmS6ÿ¾c »¨—r lÏû˜çY/áŸN°\O'ÓÉz Ù. ¢Cò-±ãGô‚m%"á©€#?|$£¢½À®4-HÐ*G°ø»Aç¡Uº ÝVù|k / ;ð|‰Ð8´Á繬*¥ÏDñÌ£;|õ¨2zvX]î¾¢nVÀè¸w™º–ºplÑ‘HíZ´÷ðlòC¯?g[WÓ@¥~a }`„ŠEø¤œ-ë%Z„ÜÔäLB¹ ½k£dåÑjéÕ|sL±Œzèœì¥>7òŒÄ+0÷„vÀí¼mú2 Œ_ÐJoìÍrò×l6‹6iïg3F÷§°åÓ Ð#’Çt³Ô…òaMê?›úrːöWÝÏP§ÞUA9pªV•´¡ú‘gœŽáû§N;N·¡ýÿ®m€û×wHófÇ›'Š7Ì©–ÔKé?°A3Þ‹ø½˜Ô7©8Ƈû”wÜo Ü\Ü $9 Wh‘æã ®¡µ|1ïHØ0¯åõ¥¯®Õ+@5—¾Ý•¢ÏÐÖJËjÁFíwÁ~¬xiÏèᇱãLó~Ђî0ñ)Éø/PK  Ñz9? Á[ K ' ZocScriptingSamples/English/03_loop.zrx‘QOÂ0…ßIøÇ>1™è› 1dLY2VBgâK cŵƒðï½C}´½MÛsî×Ó ‡Y4Ÿ£´[íVÐC6ŽD8‹§Ę¿ ЄŒ#á|АO&Ãt$šûá0I°4ë0·\Âêý!Wȍ9 SVE¡‹-Ü®T Nï•íÖÚÇC»b¸ [òð†µ[Q:‚7j¬j«EU8“‘BeU YØ“*-‘¸¾¦Yœ4FìÒ¡Ùñ 3õU)ë:ldp6rý©@ÍŸØ-j•”³î/J÷’Ë œÁNÉ’¤ó°?˜kãÙ±æm`ô ïSë÷qˆŸ¡ƒàïÜQÈQJ{¤ÖÐ(ŒÃFõF®(¹Õîdб”Ëè½õ%²ØVr«ˆP¨µÓ¦°`ü JéLiÙ%U߈z_×p5{ÄØÈQYìU ½¯Y$"úŸÒsþUוyœùú PK  x9ƒ}ßì k ( ZocScriptingSamples/English/04_modem.zrx}OKÄ0Åï…~‡gOÚƒ<{¨Û¬[èÙ·ö „6º¦&R?¾“¥Èž !CÞÌïÍ$YŠ#ë:¤YÅQ–©y„³Fù³ž¿à-üYÁØQHJ­R{|Ú….´W§– »Ë« ½xÀ“\ôu²9z5MèÛ]ðºÐÔd°óè`äÏ=ìÀSÈ„N=Ƀ5F†¢k{¡²ßd±y_MãÖm”ex ¥/ÊOzV·wqTîAâā5(ZÄhñü I¨Û‚ÕàŒÕ¢¥ÿàL`_6솞Àš‚ŽŠ3ÿçùÃë±}®HøC)t¥ñPK  ³¬!ݦ$À%  ( ZocScriptingSamples/English/05_reply.zrx¥SïkAýÈÿ0ܧDŒš¦µ…BAÌA‰5´äCaݽÅÛÝcärÿ}gç’ªRhtÙ{óÞ›7sÃÞ¿}NOz=˜<¬æ‹|y?Ÿ-ótñTüÓ¨PB(­\ ¯­)` Êhm-Zðb "«EP’ ƒ=zØXÊH«•ÙB!‚ÀªDá°““%Ê,« ˆ${i €¨´0Å`ï’øˆATJ« ØžÝÀåx¯Ò²„R<‘.û2"Aá„ èÞ°ìÖArïµôJ¸”È:&Ñ2†6¸üOóݯÅòy¹ Ñ.pIÃp ñYÃbýž…ØÍú¯¯@‘(*jurÁƒ~¬øXíÈ;UxàÿUâë°ŒýȾ2¡®®MYµª —8“œ'9*NS»áêQ´Ž‹Ú­~¯‘T³²fìDðGÿÛhó,öiy¶‚Ñ’5–ððAu£`6N‡—½Ý¯V ÝwDâ}´¶3p¨}…ì•NÛÆpµLSéG‹Ÿñ «é·ƒ*¡M 9= g¥"‘ßINeÆ@ ¥†Â•›¼¶ f .³ÆéÈÁ#¥ Å39ʘå@uVxH8Ó²´ùVÀ»JœP^J(˜mÃËbüÆE]¯tTôãÆV[ž¼ Jvâº4Xl%Åmضµ06ùÂ<ú̆þ÷Á „©•ÒÆÐG<ü ñîŸf.dz6¸O&¼ãÒvÓóÀY¢ B©³½MÜ ÄÝ!m¥»7<«C`övgEæÏxD¿ú{çvœÐÀØ+÷PK  -ùÛ§jj # ' ZocScriptingSamples/English/06_subr.zrx“Moâ0†ïHü‡YNPµ|ì±¶x·HPH«îie’!±êØÈv`Aýñ×!¡U»Z@ß™yffp{z‚«A»Õn ® Î……Ñ™áHt\ŽPZ4€ÊÑ/‡=—%öfÈ7Õ A(²Ûrst¼)]:AwárȤÞpIOà‰`wNåˆ+ã·N»ÅSú™¯Ù?^Qµ_½¤¿§Õû¥>„0 ™Ðºœ“5IÐx]³§&!ì´–gègrà“Ær ‰.Åkr¤ô!Ó7¦õDÚ ÄŒ+W+øñ ´ÿ}¼Rÿ¶!ÔYIäë9 ` [î|…£ápØëïÕu/\CÄâ‡há¡}Ķ-Uâ„VaÐà M «hyǦ£ZÈ'¥ºö!2±§Â}gêb¥N.ÇÞ“%%ö7ɹÊÐCN¹ãaG>›qÊ¡Rz£êrêa–7YYP´Öz®R8éÄ -¥ƒ®4 ôa„-úïÈ]êíE1…Z‰äˆÚVë ëµµ’Ç^ÖËxçÓ&ѯî¨W}ž3ÃУô6b1þñN7£`ò‡¦{ ÄÅŠ4—UÔN*µÞù%¡!acGwªó8Ÿ‹FïoælòÈ@4FZ–ªâjmš9hd¼ýPK  -ó*S â ( ZocScriptingSamples/English/07_array.zrxeR]Ú0|Gâ?Ì#pm€«úR•ZÜ‚t‚SÈ]©T©2Ø«‰9 ùõ]çƒ )J²»ž™ìÌp Ÿm6 »ng8ÀÔZ~NÁ­Ä6WQ†íÿ PK  R•r9GI®;° Œ : ZocScriptingSamples/English/21_TelnetServerInteraction.zrx­TÁn›@½[ò?Œ¸ÔöÁNPÛCÔT²M¹vS5Í!Ò°ìÒÝ%vª||gc;UÓS `fÞ¼7û†Éè&¾½Mú½~o2‚~FÒ‚U]"¬±ÒÊ:#Z(ôœ©¤“ô8,:HµR˜:©ÕØ# JçRå ÕDgG¹«ÏɰhÑ 9«ëÙ¨TW*ŽS‹(Ò8 Ô„é ·˜6Ä£ßKn¦Q Ó~oœ¨-B&±\S‚TЫΠ²l ú–BÙ šÓs>(­ðcÐ} ?íP“ò,öI¥…ÑJ7VWèd…L]S/ëXC*\Zøa«(ËŠÇ × åm±ÞHW hË´ñ™4o,fMéQÖ Ȍ®|¸Ð4¶eùD³­)P; b«±¢9ª|8Þ9¢,¸Óé Ý>Ê!h•‡X´cÔºçMlLÓ? ßÇÉŽfx4žJlùÉ"É£‰3wÊù΢¸ñö¼{!åC.òš9µµQ ¹Aš™…kfŸ`{þþí $WñV³ËÅtΊcrWs¨B:±ýÄZ‰÷îñyNiNä J¬)wà=Ø5{Ë:M§J5»qXÏ¥ÂYUf¯sz•ÒÞg6'Ot`ÇT-²·.§+'»BIÉL›è×´~ئx/XÕ%º¨­Yz]ã_fë%WMéd[Ý•Ún×& 6ÁU<_B©SQ²•î?ß_ÿYzøO銍Țégü—ø+ѯßfÉŽ^ð .f«h¹XÄQ_/Œu·ŒÞX8Ä»­;¶Ê†Z#i•ŽiÑ€ÈÝùX؏?éWÊѶ7yñ‡|kÏs5ýáoL½|8=ƒàùygƒ—¡ð(rq|;Kú½ßPK  j…q9êö„Éð " 3 ZocScriptingSamples/English/22_GetCommandOutput.zrx…UmkãFþì@þà ’S'qBzôJ]H› u“ÃVzî+¬¥‘½œv%´«ØùñY­üBZjŒ´Úy}fž½<›Žæó³ËÓ“Ó“Ë38=3ˆWÒ€ªÌRT…6¶ ¬Š5Øa“µ-k YU(P‘žEgžJ BTk¹07pž‡@n±5"ÿv…L™KúÒä4—š"8l¼Ö@‘‘,+*%¬,4ˆ 7”Kb1m“uÁFÀp:€ùõ0êßwÀ$¢ª¤X"%gëJ;¥ÉØ«Ü:Ž ’»ã4EžÁ¤h{tWjmeî$šrk¬ÍÖXTP’MiA”%ŠÊ@$Œ©•ÔK”IVJ¦ö›À—ÂëvÁcrèß‹$– )¸îƒÿQ†JlxÃ`RèÔ ȹð™šO1Aù‚wu7ýöæ7?ß9»±™!¡ º¿ |HÛn~Dm±úÉÙllñEH`ê66kÚvA(Ü—Yf¸I—qÔ\×7}êz*G9V*ʲ yQ|aU*¬p®ưùsÀ&ñ§Ñ#Ü?Q;,Ïú]ŽÛ¡ÀK´ kµÀŠùÕÐÎuwç´C<§o™­¨eQðùvŸžã ç4{0œ’ÏÎìö7ðúT5ö´‘{Š‹z¹ä¦¯™;už¾"5¬p/R€w8¼žG,â Mŏô$zù3 (ˆ£ ƒwùG™¬Œmv‰ZE]&«¢¹0í¹ƒLj‘P®ã`· cÛDÛôIB•¸†ø©Ey~EÛm!Ù› ­OƒÏÍ YBY#ù–÷—Ȥr]NƦ)p‡Õß•wWYÙ×ëÍâéÃçˆ×=ïÂÿ“NÆNêÓtóÆÁC¤[pê¦{„û~¿øöªe.ŽdŽå–‡%ýyŒ††ˆ¼eZ±eÌÎèoô—·r=ÞÓ³qÚß…r["Š~¡cÆC+üŠUqŽ9*Úcï;Æ6=5òá€+¸ø(æ_I«*êåÊi;ó9ùö•3Ýs‰ü7SáÐÃåŽ WLŸ7ì›ÐìÈ–‚ ”®Ç it}1…"&ÖÖ’¤Æñ€¿†ÝNKÂeÛÁÓduܳßf “Ñ8öøîû®+c‰•2=Xè’Þh“ O>-ÓæùŽ˜Ó}t×A&sdéažµA vÎF|õ16SŠ„òÂR𭘽­!¡K'ôq«_o'Ï#wøòjƒ´VŠ ´Ö4‡\ŽMé¶¥jÐ1@|»4RI—%µÜõÚÖYæƒð¸&"x{“ooÁ@ õŸBH눖’–Ý Un™éôš?Äÿ PK  ©":K†jÍú „ 7 ZocScriptingSamples/English/23_SenCommandTtoAllTabs.zrxmMKÄ0„ïþ‡!½ì–•êUè!¤ñº-Ø«ÈBw7hq›,$ýñæmŃxIÈ›™g&ɳ'µÛey–gh=¡C0_Á!|xã}ï¬GoѝÏpcºƒÇâJ© ¼º£ðŸ+.Ý0t‘íÞ,;ÙÈqË× {¼›ñoOS)j©ª4åЪFÙ°3­]‚u4®ø½Ò²y®5H»:û ŽU — ú⺁½º¡ EUýÁ·ª.ùýfî2M|¿å xF{7œÌa|‡Ãe ó[éÒvƒù·]-¶ŠˆëE׊—˜bl Ÿ¦Ÿ úŠx"‰b…„ÅßPK  Q°":‰OTž y 8 ZocScriptingSamples/English/24_BBSwithZmodemDownload.zrxµU[o9~^$þÃYç¡åB£U"M%-j€jI‹ª•Ì`«3öÈ6ø÷{Ž=3ší>¬E#Å>—ïûÎÅ·— ‹ËÛv«Ýº½„çTZÀ?®@ì-Ï‹L@³Lª-pH…v©pàáaNÃZ—*Ó|×í l$º”Ò¥°æ2;€¥õv"×Ê:Ý€T—tDÑu´Áœ‡‚r4²ÏÖµµTÒIòæ!†Rvƒ†£s ÝD<•1ÿN¶‰VJ$Nj/’ãÁ'ŠKƒ‡Ú@(‡_ò[ꤿsz€yüׄÿzµ²¬ Û‡m¦WÈßî’DXTK­QŒë¸q|vÊÉ JdË_m*<ì®O5û: g³¨W-¹tó=|èÉMãœ%:×9æá[2-œ0 íñ³Ì…Þ9r Ì÷Ï1`‡Íƒ?ë¶[£GX|‹>üÖƒçOà ÄSÔO?_Õ ‰5©L8© ”‚ÍZZ¾BÁ9Š“s,>žzË\c]›RXè _‡ø;-]ÙÄHäB5A¼qÝEˆ7Ç¢w 5Ñ™pÓ—‘-©LµG¤4Ͻ‚;¯µ¼;Ñ’rý°»‹BpóCŠZË»Þq<^"pòßYaÏO AVÇš­lîIuº$å£Wåg£ß'ý'%(º«r c°ƒ¢áâGò8,åÆŠ¿Æìmt·¶Ôfý3t_*›ÿÏtªsmø)@…ÓëÛ{£Ì\¨Ý”©LRÚ Y†6;[9ÎhÓoq¤Z&>².ü+‡Ÿ“h@Z‘ù‘;Uâ.{íTƒ›ËÜ1§½Bç~A5nI„zÊÿA¢¥yíÕcNäDŒ<@n¿[¥–-ì¼£}[§øìÏöGON†óÙÍrô崐• žµ¯Uv%¶RyîøB\ÕˆÓ\ ¸¦ƒw½!_ð²Šòàê Ngëã¬ÚutØr<‡cvlpÿÍC|= gG=¼"vq1ý|qÁŽ\ø5™¡^»ï gÃI|.ƒß¯-ö–F ¯Ëñy,2~€»óX±´Õnm·ªT~ÛÏq—#ñUÀwN€þ½ãGßSGðÕ7z·MñŠ—Õ«Ò«vO'Ã*<){öFm2¾ Es?ØVrCOS€±8%=¶Û½ÖÇKŽ©¥¿²F€ábôì'àoPK  ³¬!tºUš r ' ZocScriptingSamples/English/99_fido.zrx­Wmo9þ)ÿanó!$]/½»êh•†½$j€&õ U2»,ví=ÛÛm¤üø›±v! ¥UI_?3óÌŒ99†»ðãGØß;>¦`4ðŸT²5Íed…’,³à ·JÂTiˆ4gVÈ0 ,·*Q3!Á#˜H‹Ì¶áJü×ð rHÅlnÎc¶ FȈã{š%¼Â0%H„ÀæAb(„«Ü–ài5Ó,M‰BnèÝÎù&S$™kj꦳¹’&J-Ú•½ÃˆK¦…zå¿Üp{ˆæ“§>3ÜÃ[Î' ŸhõOãÆ¡õøŒÅ*V0™@·ÜkÃ` Ò½ô–[VA¬ ™(£ñ¤Ü6C&cÈ37NxšgÉA3»‚ÁáB+KL!y{5ãÂT:#bIâ9‚E—I›ãðX-è¬C¯äÒŠ¿™qK¾ôûáŨ \â4ÌÙ¨dJS.s(æ}‰ÓKṡyÂg,ZpK$š ¦À¾á Cß5KSMéRt1ŒÜ–±8Ùߣ¿“cx¯rµ60Õ*ED"Æ14(hEEJJY9â¥d–ˆ§5±TrA0,¶ä›†áè6ŠñI†…³Pº†SçL´ ÀüF'ý/^ƒ-„O^W·ƒ§[†|ýòõË–I×ǃßìÚJE¥üµ·sûû’òNêaÍz³U>“„¹g¥ê‘UåÜæŠ;n2E¦µZ¡´\·Z˜®ÛiÖ–ö”æ~eÍºE½óë>ôÂþýë­‹¶ýœCëPN”PS¥« ®<gœ|}ùýál”ª ƒY%\ÓÖœš1Ü~x·l-äÚ*s³Ö`w½~<×õw‹q1æŠ{x{HÂ_oõmË’t¶¿÷4/ߣ%ÔÁÚí6åf•iãÎË?N7*3:x×tÖÓžÈu(K]Á¨ÔŸ•À6OAq{mZ,¹Ôitå½þàÃoÁÑfúo#U[í,/ ¯Æ©q/¼<ïpq,4V…õr[ tËݍàsoÐ {$ë „%›ª÷ü¤¢\_-ø!¶X¬43ºƒÊ&•÷²×OWвþšCª£ÖC¦•·´¥7^ø„=úE¡GÅŽš6Ê× .‚fp{Þ}‚ðãõp4 ŽÆ`Õš×cê…x·)Ä»B|Zj/ rñ®õ†r/ðresãdsŸmĪ´¢Þ\®å7Eוz\§†÷4³O–U¾l#¾¥œùFFyÓ¯^çìüìhãegðnû]guðœãí)è†7þ2æLúš#jôëçÁÎ)k©··wÖ%Š™¤;þÎúõkªØå¦x.ŸYÅ^œVc>&T{&X“°~·®TÕš+&gyFŽówDüq…ÑÀÿPK  ;i„9ìU°º§ H ' ZocScriptingSamples/German/01_first.zrx’ÏJÃ@Æï‚ï0î©-}‘ôTP m±µaÓLÒ!›MÙÝP‘<·§œMª•ª æ’0™™ï7ßL¯ÓÑr ÞùY¯ÏõS‡‚Yfhë"LIkÔ@yŽrrÐû¬Òsuœ²BRX7«ÛõIÅv½!“ƒzãÎ8µÂ21eHš«W“A02;$‡¦Ôi,áaL*Áàu‰]œÔ¨ö1ÁBÑ®› »;X끲 Ýw…GiHFŒcѽ”ãɈEaT,¹s|qPêø˜¿õDH7CÇch2½ß&ÌU²´)Fÿfÿû,¾×.½¯ÇÊ^®)C¦`¶5’É …:U—mÑ…0bg59bÂèÒÆžx³0 £4ˆ1*U€¨*6¢ªÄŇ }ö˜M2 ¹9ƃäð sž112ý㨠y7¥Îº>”é~¥2Â÷“§>´[bìÐf-±àÉÉ:²dt-Ú_W'™&ö§Ç,_îíÛŽbB›KÅ«fXïðuì¡c´ÍÁ“ÿã}> m€8ð‹w£åíÜ¿ßPK  hi„9؉5" ¦ ( ZocScriptingSamples/German/02_ifelse.zrx}RÍnâ0¾#ñ³æ–ûJUˆ²‚° Y•åfÂ@,\ÃÚhyÞ>CO=tœ¤´ÚCsHâhòýÍ7êCÊW+èÚ­vkÔ‡iÌSxŒÓ"¾æq” èÄagõ O²ådÊãðwñ~¥‹( æsú+ƒGž†ô톔;Sî ¥FëÅdÈÍ¥CSêý ¬Äa*Õ‡sÔ¯`4S³Œq‡…BVaM„R°>æeà›h¬C i¶žRü["}2 ô¯(÷® ñîWZ@ØC©N5äÚN¥’Ödñ¹eÿ\Æ6áå”yh3DqÉqï|{¸ÝyÉr\UÚ›ÒRfbÖ’ILUXC4vwøiÔ!R†dÙØçÐϹo*Ý.d%çÏšÍKjX¬§³7ÛííÙ­uE޵¨òçNí™}–ð¡ÑetÕyþÜ/Šs@8øWÎ 3{È4Ñìg4øPd4­ÑàÓah Šã^|ØL&VH|ñ„øB µ“—§¯^Ÿ½YemÒ “óp)Ê©ÏÑ,`&B¯ûì±U¦†ÉçK´–­ÆTIÿ´ÆPåX”NÏŽ7»|¿ vÙõ‡¨ûíݪx—¬ž%ò¦2ò…£Y‚Tmß_… #Q?:žžå}þ½2ᯄg¾èãՐ×PK  Èi„9dxùž‹ € ' ZocScriptingSamples/German/06a_subr.zrxTMoÚ@½#ñ¦œ %z¬ÄÁ)N‚„rœæ­ñجb¯£ý’•ŸÛŸÁ¡3¶ÁŽTUJ÷€ñìÎÛ7oÞx2†Àz‚ñ¤ßë÷&cXH4h`£‹T‹<‡D‹ÔÂ{‘Ã%*gKÔ€R!<‹]"º¨r‘Á^êb‰@k< Ì‹8ë=©ªL WN½ZY(ˆÞîRL;mÏÀ©Df @ë´Ú£¶ 5X…U:}ؾ¦˜ILhïþg5X>W°GiQcKç¡~Ó‡ÄB,”:ƒ"âzLSkE¶®ý–P1£Tg,Ê,¤ù"¿Z~år¢0‡gïfõâ/××Þ¥?ñÎò n¼ð%ô—+?ÖçFó)„7þ·¤6£Üy¿ Þûø0‰šîF˼$zßýž¿^ÐÏêÎÿWÖëßÓèñ´ Ÿt9v¯*J$¥*#pDÁ#7òä …±‚ZËqj¢±ý·ü­ã£Ñ¸ŒN»-#’Åé^÷6ÁíOqømƒKi-v¼9Œ¤Ùt:q0ÅÕ >¾¹_­@Õÿ?¼ÖüÖÔÕÊÜVu¤Gf *èÄ ö¶ v¿UÊ6ÎOÖˆ»f¯P¦H¡¥ˆ2¨œˆ9•R½¥c÷ _Bi¬špæü„Åoä¿’à…K´K|§Ú9­Ç¯ò¨§S—£²ìçTDXMVײKKÕŒu‡ð+¦e¬V¬NO[ñ·„ÔBm¨-C¦@ ”TÿèD¾»‚J®°8§œƒ\g£æµØÖ†˜Ã”ÛÃ1²­œ‡ðÊóYâE2,'ÙŠv³¡s·Ýe(„wÔ™0iÆ÷¨H¦!˯+«–Uï¬Ž«Cgöygå{4mæ¥‘¡™œŽ×N0ÿPK  «i„9¤Ò÷€• œ & ZocScriptingSamples/German/06_subr.zrx¥TËjã0Ýòw²JJ›Ç, Y¸ÛB÷1Ý9¾–Ely¥L?·ß0«,æÊrjÊÀÌòð•tt|ιšœ@à?>Âɤßë÷&'°Xb UpÅòŸ†—"‡ ”FW¨ …Dxbi,» àEv!«P1Ôh„%d½VY´ c£€>»”crH•>…X ãY± áž)Á"úS¢®ôìh°|»îÊȽ…ƒªŸêhˆ™”§PD­lxÕÇ8h&cTMùL£È"¦@”Í!ÿ2œd—ÞjOÞÍêÙ_®¯½ ß—Wpã…Ï¡¿\ùÁPšœØŽæSoü5,n¡ß³ [︹··åâo”È+¢ûmÐïùë}­¶þŸví¿ÞF?Ë°±µË°{”óe [²"ež W"I€™¤¶çèˆìXS>h^™I\ù‘•r k¦*$þžl©-¡¥Ö‹ 9“š²À1ûEç7X¯¨bþÃbu_ð¼Ujp!´ÆNd‡‘(a6NG¶È)Grà–oîÈI§¬+~x¬­€5ÕÖÑVÀc © X …Ò° n/ýÅ]à»^`tFú.9ÅÝä Uæ GÙÑÛäÄÍH•©ŒÍ+ÚChÛ*ÍLyÖ†™žHáŠà¿rÅÑpá)nr”ú@ïÈY„`dÜJHXÁa··d‹þÔ¬Ó&«ë¼£ˆÓÕÞ2¤ª’œZ ¤@Eï?ú H7KZØÔY,»§šƒ\g£æ±Ø),M¦ç0µöØuˆ˜‡ðª³™+ÙA½8¬&Ñé¿v²¡#ζ»4C‘ ¼ ÊXY"Ý)¯H–„Ö E× „ªvÿÈë8:„fŸgV¾wO-ש9!š6m³ÖÂØúoPK  Ýi„9³ôš7 € ' ZocScriptingSamples/German/07_array.zrx•“ÍnÚ@Çï–üs’HÕKUVÙ$Èq•*U ìUì%Z{“f_¶—>CO:ëO’^Z.ËÎÇfg~ `Û- †®ã:ÃøJñ×^PE(!ÒjŸ€/“_2¦+ ‰9¬µ|,èÔ2*-Ìe„?€S<Y)zàJð]ŠRò̦*ƒ:.<_ŸD¾OP½ È^„Š ·ê÷O$¼i¡þbÌŸPØdú÷_û8FÝÂBäB& ø8‚µ™áIÚvX?ÀuR óF¹Ž™Àkš®`3›/T¾Ï”ï:¶Àü¾ÁÌ¿‡ŒÜAÏô!œ±%PPYr/W!xžW™m¦·¦Lu^Œ;Qc~^zLedË©mÍþ¥6ÍŵëÔ&*.&cWoDîü¯µHȶóО刺W E•û…»pq”Ly›£*`¬¾°é}ÀªrÂÃ2R\‚ÎÚÍE¨ÚÜJ  ;6tãNËŒ6º@A&*BiZ1×ùU«eo„¢!y®JPZØÖê+že5G®*Ö„\qÚ¡ŠùKP[H+8í­ƒ /ªœ§äÿ¡ê†õél"Õ ©Ž*K[¯þV ½¿ß6|—Óš¸zƒ~pÛ÷ëëq¯0×iQRXÙÊ­^Û­š«3X±žE2jÐëœu;w{â\žQ¥<ÏQ^Òw.%Û„vü žiW¦Üý9¦ïÚ¿õ,˜ÿÀ@tF" þâ3`á}°ìd¬ýPK  j„9·vîßà e ( ZocScriptingSamples/German/08_fileio.zrxÅUMoÚ@½#ñF>%ȽR*9x– nm“¨cXÕÙ õ:DüÙþ‹œrèì® „8´j÷ Ú¯™÷ÞÎ<_µ b“ 4­–ýcÜ /VsØ _(Hóa!K1Ïqb޼T!ï„+”©âOÅà¢à¸Dp( ¯d:£• ‹¼{é´Á³¥àJsSò\/ _Š™ŽS8—кҡl¸¼MQ®d‰Š6 '$ø¢* µcä´{]QØs¦K­ @_”y†ºó´(´îìÈ0CIÍ2[*X—’¦uð#žg=Nƒ¾?0:=æÞ2;­,«Â¡Ño úð˜NÚ&ŠÝ{p:_Ífëtÿ£„ÈÃýÿPK  j„9så=´F & ( ZocScriptingSamples/German/09_lastln.zrx]ÑJÃ0†ï{‡Ÿ^鷁ô¢¸ªcÝ ¶J;D(ëq ¦©4){Þ=ˆIpš›¤9§_¾óGx ³ £ñp0ŒGHé¨pj+¬ë’*H% ´¢DÑ~"ª«…®h”¾6=Q„m½Kt'¼ }O>Öžƒ‘„¬9GUYUpL'Hè«í‘{ê!šEMù•²ŠêVé~Úã$:b’¬!'y¡ELíqf7(Á`ãH¨Ã™«þ…EŒÌŸ"1›ÍðºI—ýƒQ!א«kß‹WZz5;ßԞȕìíòÑîï&HŸÃ 4&6gܝ 9++ô;g«ç4p+ ƒ·Ð~†›…™Ô5¬à܍#pê˜ÜHÈobzolP¦1¸Íü¿îÁæÀVûØ‚ P!NÄö.hmÛ2Ûž9rxsOcóžc|Âl™¯PK  lj„9í, Ȭ Ù ) ZocScriptingSamples/German/10_printer.zrx}QÏoÚ0>/Rþ‡oœÚ*ˆ6õÄ•T¥j»îdâ—àá8c—*êŸÞÓ–˶“í÷Þ÷ãù\àvþøˆ)‰úYŒ`K0›ƒ„"¦ ª³¬êšÚwªm¶'Æ‚û«ÂÅ Â`ÐñXeH׿Ý4¦VP"Ûp¡iob¤Vg;Ü“>âVàŽïþn4Fa øk¹#I†°Vq,…²¯˜—V2#ªÖÆž)å [lKøE¼r¬Î¸ç8šÿ0kË‚$ CÒœTŒ… ½%ѽ=Õ†~[R ©ÎEÿæözu×_¯Ðz8½¯®ðr4O&nWwÓ+–í8•à¬þÜÚyðǤ¶N(ÂAhîÕ\‹•†0’»!¡Ë¾gbÝBmü?œv ƒcnlŒ4™%—ç€ËÃÀ¹¿w°½b4Ŷ9¸ ¨‰‘\úà^̳6•áßÞz?¿‹ÞG1Ï?«ßÚjÌ&Ë%žªìA;]tPß`Rž½£Ç8Ž=*]CŒG0FC´…/›ÉÌÖ7×óÍYèEçNeARVx¨´ä7_¥ÿÍó¿¨"'mDñÕƒÃàPK  ƒj„9'”ü» è / ZocScriptingSamples/German/20_UnixMailCheck.zrxmTkÛ0ý;‡C ’”$mal0lmR6H:h:ZFÈöÙÖ*KA?’´Ÿ·£ì$»IØŽ!wº{ïžÞùôäf~rš&irz3-\ °k”:°"¯!C(6ðC‰ÝøóZ¡®À«Ò Öæµt 3Pè–\HØhSsU aÝà•‚ß|[aŠÐ/^ âymƉʫʖ¨¬‹Ý+|FQQiKr<† 7‚g’Z6ÂA­­‹ ¤®„ªÔ¦áNh…Ô:$Åz Ì[4vRëjˍ³,±7Dö™µl;´’Ki¡ Ì^iGºX-¥#HDÔ’4–Y+ަ(*QQÖ⣏҇ŸÃ&9©•b”®{*´^:îbù‡÷gá²ØráÆ–XK è œhP{7„ÃT·mÎÏÒd7 ‘;ª°Ål˜&ß®`÷0 Ío¿Î¯aö:ôM©ee0x,\wë¹QЗ ¥›µƒpijï 1ôö.ÞLèa‘æŒcvtû ™¯T±¢ÀBô×r_Vp $®¦J !×Mká5#¿¬ >ãJځ} ^òš¼ dS‰1ò¨›† ÃÇ¿ÜÛŠgØV[r0xždè+¡ŒÛù°?ü/dÏÕNF…ƒ¶!<¾qáYT®]ǃO-ÏȦÿ(;á¢ûø %‚ó㈰ykX ¶}#¶aƒã\­A…µ»È®ÛYåÊU¹•Ðz> Ä1lOùjâ}Ñæ{÷|¼éqÑ{ä–ÅüêvÐÍ<ú8|˜Ú9hÏvi« ½ƒ®€2óëYšÄWšüPK  ´k„9d i   9 ZocScriptingSamples/German/21_TelnetServerInteraction.zrx­TMoÚ@½#ñF>AH‚Ú¢¦’NJËG n“æi±¼ÍzvׁFù¹ù =qèìÚRµ9õb{<ûæÍ›=:˜77GõZ½vt õ@£F çÈõ’£€ÓLj£8*s+Ž€\"„($šÖ7T3.ã\.€Kn¸¢ »Z _¶ —1ø³…‹bÒåK˜Ã+˜¢z@Õ´ÁˆÏYš¢4L=ç¨(öò~`LYç8ÇDÀê9QHucTàçz¾I”-þ˜ƒÆe½Nün ~½¶­;ø¥#r¹” C¯ùF-zA%QÍ™“z…êä ¼÷2“øÁ«~uö•e_ð@¨œ&B€éŸ2JTfÁ“™2²R&Ä(‘(„ë*&>»™”™Ö° È1'³(±±¨& Ê6ôPÓç VL‘í8–Ï]TÚˇLúì1Sôêª]"á¢rAc3œ˜P+š°&\©,]ÈÚÏíf{;‹®åã6‹¦hzøÀ#¯hÖÛùJèà-³e{‘2.ÚQ–žvÞzûBžb–è1–²µýšâ=C í(èšqãN^ŸUfÃëP ×´Y®m×°k&›è¾Ò”Íê_ÀúìÝ›c?#˜ö/Gþ L‚‘oó­kFÊ ¨ î´ÍUů£–ÞÔ¦’ق͈¿B¸$PSžßtÖKt´J;%»f¤ú)Ïÿ ô5œ[UR½ÓÛzâ×èX-–¬\‹¯RœÀ-r‚/Í*S¦XTÍioH'¦KëÇd<ÎÍ27íGµv2bBû%­2‰Ê8iu™š!'³ZáhèHïc0ƒÈ"&’L›»áÝ'ïÿSÒy•’âæ!¼øåk?,aU§C¯×ŸvÇ£QÐ ƒžgAX=ÜŽ»v(¶’Ìžš®Qº-´@–Ë{C#PN#t'$$¥"‚n¹Z-ЍŽöÐZärø‹ÀòÊ|ÁLœ«(„ËÞwîðÂqj1LýïîžïH‚“SðžžJ½tuö\›ÜôÃzí7PK  ãl„90÷é} Ù 2 ZocScriptingSamples/German/22_GetCommandOutput.zrx…UÛnã6}v€üÃ@(`;µ'HÝ¢.àøÒë&ålÒí ­±ÅD_Ý—ý†<íCgHJwQ42CrÎÌœ93<9š ŽNNŽàð Ž` 1Ç.Pæ+‰ ìP.M ց¶Ó—e"ç1Èœö"ÚëùRÌèL*:Å"Ôh‚if°¢4Hù_bmPöã$‡Æ’¨ÓªÔ› f»b!ÔÕ1GQB[°µÔDB)Š}í0QP&„·Ä|•HcÐ@¡">–K„)’&߀£E,Q›cƳ÷']x8ë7:ƒ&Pö}¡µd8AShe/GþJÏ^S’0BŒ`Ÿ³ÞÌÅ͹s4"å4Kj"K§OÙ&Û„™ÌaW¤ÖZ}žÇ|?ÜæÓö­ÎÒ•%q-R‰$4ŸÇ©ŒÌwMŸ@Ÿw?dó©L1+ œuÀÿQX÷‚˜æ­‰BçÒ”½6Ÿàå^Ðñyçíg~þî_te )ýDô¡Ú3‘ølNÿxßö_ø•Aý äÈîÙhÓe“{!M#¨² šÎˆÃ«W»uX +•Šç7ç˜a„WÙ§ÜAØZ-(šb T±P¨æTpmˆÏ'¦+_$ƼÁæÏ.ƒN/‡×0¸¡BÖ"aDwŸ“F§ÉÔl„9w±ÀšóÒ›!Õ,F[*ˆ2äZœ­S¡¶-4Zªe#¸íM¦ý›»ëi@­C®ZПz-ìýþ>7(’F`€³bɁ?¾(µçJÜŠ .qœ›íUX£&Æ=pÿì¡ÁÎØ‘#ÓÓ—¤WµÂG"÷_eSfí8o vŒšöÇ4¨áH0œÇYËAò¥Í®ºån,¤ 5‚«†½JÑ”ŠM¨±æÊt¡C'T Ù…3˜Þ”´´Oi›£–í 6Θîw?“è<¨ôÊ,He)j þM!ªȲ þ^8\Ý6xÝ‚úEýÿNÇ#{êã 9] &7«¨ƒ{Z‹í^Æßdîߟ–Îòã½3Û%¬lfIæÑݷʈíUkó‡·ùËY†×ú:ÌNåÉR„Œù mèÆºè0ÍÃS¢ÒúúU¿|rƒÌf’Ã+)U9Ù)MãÛaE%çq‚rAv…&2°ã‹&HÛÜM+=KÙW¬“J§,<|­„ۑ̺Õd’¸GÞeônÙIÌjñêvE²2h õhdÆ:‰1YØf–)¼G-ôŒ-e¾)̪0åä®&¢%YJ 5÷êZ“j‘å]GS¯“~lZ®‰“4oÁRgÅŠ~Ñ̏½B•HY[w$¯ÒèmÓÜPRtü:{¢ù‰œ¬¶AIÑáÐ?2@##•ƈzg«Ê/¤!¢i ûWqWi±HªyUsï{ã»!Øàþjzéb¦¦é²µâçÃ‡\îÒL™Ø††&2TöO"W„+Ó©ðL;g<˜~Lƒçgùüü´à¼ÿó) uƒ–ìš–Í ¼\*Ü~èçájúPK  ©":K†jÍú „ 6 ZocScriptingSamples/German/23_SendCommandToAllTabs.zrxmMKÄ0„ïþ‡!½ì–•êUè!¤ñº-Ø«ÈBw7hq›,$ýñæmŃxIÈ›™g&ɳ'µÛey–gh=¡C0_Á!|xã}ï¬GoѝÏpcºƒÇâJ© ¼º£ðŸ+.Ý0t‘íÞ,;ÙÈqË× {¼›ñoOS)j©ª4åЪFÙ°3­]‚u4®ø½Ò²y®5H»:û ŽU — ú⺁½º¡ EUýÁ·ª.ùýfî2M|¿å xF{7œÌa|‡Ãe ó[éÒvƒù·]-¶ŠˆëE׊—˜bl Ÿ¦Ÿ úŠx"‰b…„ÅßPK  Q°":‰OTž y 7 ZocScriptingSamples/German/24_BBSwithZmodemDownload.zrxµU[o9~^$þÃYç¡åB£U"M%-j€jI‹ª•Ì`«3öÈ6ø÷{Ž=3ší>¬E#Å>—ïûÎÅ·— ‹ËÛv«Ýº½„çTZÀ?®@ì-Ï‹L@³Lª-pH…v©pàáaNÃZ—*Ó|×í l$º”Ò¥°æ2;€¥õv"×Ê:Ý€T—tDÑu´Áœ‡‚r4²ÏÖµµTÒIòæ!†Rvƒ†£s ÝD<•1ÿN¶‰VJ$Nj/’ãÁ'ŠKƒ‡Ú@(‡_ò[ꤿsz€yüׄÿzµ²¬ Û‡m¦WÈßî’DXTK­QŒë¸q|vÊÉ JdË_m*<ì®O5û: g³¨W-¹tó=|èÉMãœ%:×9æá[2-œ0 íñ³Ì…Þ9r Ì÷Ï1`‡Íƒ?ë¶[£GX|‹>üÖƒçOà ÄSÔO?_Õ ‰5©L8© ”‚ÍZZ¾BÁ9Š“s,>žzË\c]›RXè _‡ø;-]ÙÄHäB5A¼qÝEˆ7Ç¢w 5Ñ™pÓ—‘-©LµG¤4Ͻ‚;¯µ¼;Ñ’rý°»‹BpóCŠZË»Þq<^"pòßYaÏO AVÇš­lîIuº$å£Wåg£ß'ý'%(º«r c°ƒ¢áâGò8,åÆŠ¿Æìmt·¶Ôfý3t_*›ÿÏtªsmø)@…ÓëÛ{£Ì\¨Ý”©LRÚ Y†6;[9ÎhÓoq¤Z&>².ü+‡Ÿ“h@Z‘ù‘;Uâ.{íTƒ›ËÜ1§½Bç~A5nI„zÊÿA¢¥yíÕcNäDŒ<@n¿[¥–-ì¼£}[§øìÏöGON†óÙÍrô崐• žµ¯Uv%¶RyîøB\ÕˆÓ\ ¸¦ƒw½!_ð²Šòàê Ngëã¬ÚutØr<‡cvlpÿÍC|= gG=¼"vq1ý|qÁŽ\ø5™¡^»ï gÃI|.ƒß¯-ö–F ¯Ëñy,2~€»óX±´Õnm·ªT~ÛÏq—#ñUÀwN€þ½ãGßSGðÕ7z·MñŠ—Õ«Ò«vO'Ã*<){öFm2¾ Es?ØVrCOS€±8%=¶Û½ÖÇKŽ©¥¿²F€ábôì'àoPK  ˜j„9‡´ýÈ « & ZocScriptingSamples/German/99_fido.zrx­WÁnÛF½ð?LéClC’¦NÛ N K¬íÆ¢lInG°—ÒVä’ÙåF‰àKÿ³@/ù†œ|è —iIœ& ìXܝ·ofÞÌ,ö¡ç¾zÛ[ûûôÐ\ƒÐ)p!AŠñ4 Œœ‰X ®¸ô¹‚ž‰’ F«tÊÃÐÈ íæÚ"4M_Ä!ëý±IªÐ C®|!'æBù6B1•Š g÷‘)Âßt[O„ )fÌ€ËøŒ¬6žòò$ ñTr¸TñD±(BªÈÉ¢$9à!b9B ´MC¾ ÉfŸ¥ä²Q†¡¿à’)?µ_Ñ+9á2Ž"âpÃ’iìà ç£ Æà=WsŠN >²îð óc?®Ÿœô™ À¸VšAGÈX¡mÊj`"$7<ôGQ°‘‹Ïå„1#bFú )¸F!~ÅÈh2á#ŽÄ‘]:Y›¤°m&”Ò2ÊóOÓ0‡ =²t™GèC×FBgÙiu=Ïm tSÁLJÒh@›I‰ 0-ˆ»0œ1“¤›»Œ0yqÈ2]`£ºêiÂf<­‘E ó€ˆïc5e2K³Ir ëGºÌCîi‘¬ƒí-úw°1•&]`¾QGœ4$&)Ð<çtŠ\Í`,ïÐT‚…k5/.à&wôäã,‹B¢ê)<'\èDð0s7«’, M£ƒ»)Ö ÇGGS‡Ðgaøñüö‘kÛ?Û]¸öç`Ÿ9;;^wgÈÍ|ߒîsBç· 8··XC³½½u€<äŠêâ_Z%©” hgÍ¢­~œwÃä5ž¢¡† “ ×R Ž5úQyI¬Õ0Ôés§?îY óßK¶¯Ý>Ò…Á™ëúRžTøkÿ'’áÜ9×kooe¿úç§^ó!…žÚDJ¸:&–GGGõüç¨þä—ŸE{£í".[ià³dî玝ql*Ýà4iAñ$!ÇEgütHêá»ùlåÚÀ N5áñUþäÐjêÁŸƒLžÁ¡°r©‘:°t Ñœe5šïî°"b!øŠ ø“"OMmícw ?–è³#Q Vgs¥µ»ž{ìüÅò<^·²°q· © C¦¿—L¤»NÞœ=Š mAþYÍΨаí²PÇEïØË˜çª)+z)ƒ`Æ챰뱈\2­³˜iꫲ«'n€•‘¦sžEó7·ßz†1½ϸtÖmúˆÎÛ7oßlX´€Dàù—LI€¨é·/šÔ¿z-îÅÀãs w˜(Aóf) *Ò²ÇVd´Šßã:‰ÉÁz½ÇS£d½Žå»™meo‡O•ÝéÝ#uß±³æõå ãzÿ<Û¸iÓÙ9µŠ•)J‰f]"k LʶEumfj%±^½|Q¿¤ÑSÎêíµjµ•#L®ä7Õæ}^ab²Ôã䘳i®¨ÎÓªMQfGÛ[ëzÉHðÐh4¨HË’?ùép¥Kãùö³QÁ{ÜpL²Ïp4”ÚZ=ú1uÆÍ-¢‡ þp7Ði¦Òœ½Õ&°‰QÎj‰Aw:l‰ ŽSg´ž1oÃŽ{ÚlwÑj“ö ã]ç¦Óm»’óŠ]A¦œ@ߢ$«"ü×I.¼žZÊw›ä:ú?J€êgl´›¹šÓrjÎÕµÛ{ î«óþ ïì åˆ¾ŸQ+ÀÞš {÷ø÷šl+°¯¦º2ll–Î(¸55:S…¨$+w£:bš&˜óL¨ê„+=¾ãl¢¾¡‹-“ª‚8œ(]Ö‡éUn£m–âˆ?ëìZTk¹;xê¾Ø|ZRšâ›Þ$Ý º—å®~1v_Ô ¯Yx?­ÇGFçãôû4ªÓ5œnÐÉZ·8,Ÿ³Ú¾0ÈO㩦ÔuXè”›Îð¥Ä${%Ä×/Tò€üPK  …cã<2vêI æ 8 ZocScriptingSamples/English/25_SendPublicKeyToServer.zrxÁJÃ@†ï¼ÃOÒš/=H{‘ Úƒ"–uwj–&Ù°³VúðŠ(x۝™ÿ›oDÇÅzB¤Išˆ¾2 Gû=X6]M]G­flïÐõïµQØÑ#*?J½Ñ,ËPO ÖÅŠ;UàmÀBï+ëÌ'éI nM ÚEköJÙ¾õÁ g…oK†Ùè3äâ™É±hXUÑ^”Ì•¸8äi¢¥—3Ü/W‹åjSã3•Èݨ5ä.^›°‹o0Rޤ§¡ ³EKŠ˜¥;Œ‡;Y×xµê)’²¾‘¼Ãõtzûö]š/ÒxdWÙÏqOì1Ñ'öñˆf§~ÿË“ª,ò,å˜Ï?áÔPK  …cã<2vêI æ 7 ZocScriptingSamples/German/25_SendPublicKeyToServer.zrxÁJÃ@†ï¼ÃOÒš/=H{‘ Úƒ"–uwj–&Ù°³VúðŠ(x۝™ÿ›oDÇÅzB¤Išˆ¾2 Gû=X6]M]G­flïÐõïµQØÑ#*?J½Ñ,ËPO ÖÅŠ;UàmÀBï+ëÌ'éI nM ÚEköJÙ¾õÁ g…oK†Ùè3äâ™É±hXUÑ^”Ì•¸8äi¢¥—3Ü/W‹åjSã3•Èݨ5ä.^›°‹o0Rޤ§¡ ³EKŠ˜¥;Œ‡;Y×xµê)’²¾‘¼Ãõtzûö]š/ÒxdWÙÏqOì1Ñ'öñˆf§~ÿË“ª,ò,å˜Ï?áÔPK   ƒz9Ï%÷Æ  (  ¶ ZocScriptingSamples/English/01_first.zrxPK   Ëz9R)eùØ C )  ¶Å ZocScriptingSamples/English/02_ifelse.zrxPK   Ñz9? Á[ K '  ¶ä ZocScriptingSamples/English/03_loop.zrxPK   x9ƒ}ßì k (  ¶„ ZocScriptingSamples/English/04_modem.zrxPK   ³¬!ݦ$À%  (  ¶¶ ZocScriptingSamples/English/05_reply.zrxPK   ’x9쵪x5 ‹ (  ¶! ZocScriptingSamples/English/06a_subr.zrxPK   -ùÛ§jj # '  ¶œ ZocScriptingSamples/English/06_subr.zrxPK   -ó*S â (  ¶K ZocScriptingSamples/English/07_array.zrxPK   'y9m‹ÃI¤ æ )  ¶™ ZocScriptingSamples/English/08_fileio.zrxPK   Kz9W(l[ à )  ¶„ ZocScriptingSamples/English/09_lastln.zrxPK   ¨y9ä‚_‘ ­ *  ¶Ù ZocScriptingSamples/English/10_printer.zrxPK   ‚x9ž¢ã¡B I 0  ¶² ZocScriptingSamples/English/20_UnixMailCheck.zrxPK   R•r9GI®;° Œ :  ¶B ZocScriptingSamples/English/21_TelnetServerInteraction.zrxPK   j…q9êö„Éð " 3  ¶J ZocScriptingSamples/English/22_GetCommandOutput.zrxPK   ©":K†jÍú „ 7  ¶‹ ZocScriptingSamples/English/23_SenCommandTtoAllTabs.zrxPK   Q°":‰OTž y 8  ¶Ú! ZocScriptingSamples/English/24_BBSwithZmodemDownload.zrxPK   ³¬!tºUš r '  ¶Î% ZocScriptingSamples/English/99_fido.zrxPK   ;i„9ìU°º§ H '  ¶­+ ZocScriptingSamples/German/01_first.zrxPK   hi„9؉5" ¦ (  ¶™- ZocScriptingSamples/German/02_ifelse.zrxPK   di„9¦\)Ë” £ &  ¶ú/ ZocScriptingSamples/German/03_loop.zrxPK   oi„9;O*üò t '  ¶Ò1 ZocScriptingSamples/German/04_modem.zrxPK   ”i„9## F '  ¶ 3 ZocScriptingSamples/German/05_reply.zrxPK   Èi„9dxùž‹ € '  ¶Ï5 ZocScriptingSamples/German/06a_subr.zrxPK   «i„9¤Ò÷€• œ &  ¶Ÿ8 ZocScriptingSamples/German/06_subr.zrxPK   Ýi„9³ôš7 € '  ¶x; ZocScriptingSamples/German/07_array.zrxPK   j„9·vîßà e (  ¶ô= ZocScriptingSamples/German/08_fileio.zrxPK   j„9så=´F & (  ¶A ZocScriptingSamples/German/09_lastln.zrxPK   lj„9í, Ȭ Ù )  ¶¦B ZocScriptingSamples/German/10_printer.zrxPK   ƒj„9'”ü» è /  ¶™D ZocScriptingSamples/German/20_UnixMailCheck.zrxPK   ´k„9d i   9  ¶¡G ZocScriptingSamples/German/21_TelnetServerInteraction.zrxPK   ãl„90÷é} Ù 2  ¶K ZocScriptingSamples/German/22_GetCommandOutput.zrxPK   ©":K†jÍú „ 6  ¶ÎO ZocScriptingSamples/German/23_SendCommandToAllTabs.zrxPK   Q°":‰OTž y 7  ¶Q ZocScriptingSamples/German/24_BBSwithZmodemDownload.zrxPK   ˜j„9‡´ýÈ « &  ¶U ZocScriptingSamples/German/99_fido.zrxPK   …cã<2vêI æ 8  [ ZocScriptingSamples/English/25_SendPublicKeyToServer.zrxPK   …cã<2vêI æ 7  ‚\ ZocScriptingSamples/German/25_SendPublicKeyToServer.zrxPK $ $ ² è]

Read More

Support IP ranges in INTERNAL_IPS

CIDR ( http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing ) is a well-known IP range syntax. This CIDR_LIST class can be used to make ranges of IPs considered "internal" for Django's debugging and security purposes. (Django only ever needs to do "ip in INTERNAL_IPS" so __contains__ is sufficient for the purpose.) For example, to make localhost and the entire block of 10.0.0.* considered to be internal, use: INTERNAL_IPS = CIDR_LIST([ '127.0.0.1', '10.0.0.0/24' ])

  • debugging
  • security
  • ip
  • cidr
  • internal_ips
Read More

User/IP Banning Middleware

Banning middleware with allow,deny functionality. Can select by User id/username and IP addresses. Returns a HttpResponseForbidden when banning requests. Banning by users is real nice because no matter which IP a pest comes from, they can never retrieve anything that they log into. Very handy for keeping out those unwanted pests! I personally developed this further to use a Ban model to keep track of different bans on different sites. Maybe ill post that eventually, but this runs as is with static vars. Implementation from [HvZ Source](http://www.hvzsource.com)

  • middleware
  • python
  • ban
Read More

RequestFetchingMixin

More a proof of concept than anything, this mixin addresses a perceived "shortcoming" of django forms: the inability to interact with the current request, and specifically the "current user". Usage: class SomeForm(forms.Form, RequestFetchingMixin): # fields... def __init__(self, *args, **kwargs): if self.request: # interact with self.request? super(SomeForm, self).__init__(*args, **kwargs) if self.request: # more interaction def clean(self): if self.request: # blah blah self.request.user blah Notes: * This reaches "into the past" to pull an existing HttpRequest object, regardless of what name it was bound to, into "the present". * If multiple requests are found (what on earth are you doing??), the one bound to "request" (or the first one found, if that's not available) will be used. * By default it goes up to 5 frames back before giving up, but that can obviously be changed if you think you need it. * This won't work everywhere. self.request is guaranteed to be present, but may be None. * Just because you have a self.request doesn't mean self.request.user will be a valid user. This is subject to all the rules that a regular view's request is subject to (because it *is* a regular view's request!) * This isn't magic; it's just python.

  • forms
  • request
  • mixin
  • request.user
Read More

Arbitrary auto-generated primary keys

Auto-incremented primary keys are the default in Django and they are supported natively in most databases but for anything more complex things are less trivial. DB sequences are not standard, may not be available and even if they are, they are typically limited to simple integer sequence generators. This snippet bypasses the problem by allowing arbitrary auto-generated keys in Python. The implementation needs to determine whether an IntegrityError was raised because of a duplicate primary key. Unfortunately this information is not readily available, it can be found only by sniffing the DB-specific error code and string. The current version works for MySQL (5.1 at least); comments about how to determine this in other databases will be incorporated in the snippet.

  • mysql
  • sequence
  • uuid
  • auto decrement
  • auto increment
  • primary key
Read More

Querystring Builder - create urls with GET params

Save the code as app_name/templatetags/urlbuilder.py. Supply your view with a dictionary of "default" query params, likely taken from the request. Then, in the template: `{% load urlbuilder %} {% url some-url as base_url %}` That sets you up. Then you can make links. For example: <th><a href="{% build_url base_url query_params sort=name %}">Name</a></th> Say query_params has: page: 2, filter: active, sort: id The above tag would spit out /base/url?page=2&filter=active&sort=name The tag also has support for using a variable as the replacement key. Say "filter_key" is a variable available to the template with the value "filter": {% build_url base_url query_params filter_key default %} Using the above example, that would output /base/url?page=2&filter=default&sort=id

  • tag
  • templatetag
  • url
  • parameter
  • querystring
  • GET
  • param
Read More

Simple View Middleware to allow a Prefilter

This allows you to define a 'prefilter' function in your view modules which will be invoked before any view in that same. This provides an easy place to decorate the request or modify arguments. For simplicity it doesn't allow configuration of the name of the prefilter function. I also skipped recursing into parent modules since that's somewhat edgecase.

  • middleware
  • process_view
  • prefilter
  • beforefilter
Read More

Resolve URLs to view name and args/kwargs

This is an expanded version of ["Resolve URLs to view name"](http://djangosnippets.org/snippets/1378/) without the monkey-patching. Simply pass in a URL such as '/events/rsvp/some_conference/' and you'll get back the view name or function (if name isn't available) and the arguments to it, eg 'events_rsvp', [], {'event_slug':'some_conference'}. Example (blatantly copied from previous snippet): === urlconf ==== urlpatterns = patterns('' (r'/some/url', 'app.views.view'), url(r'/some/other/(?P<url>\w+)', 'app.views.other.view', name='this_is_a_named_view'), url(r'/yet/another/(?P<url>\w+)/(\d+)', 'app.views.yetanother.view', name='one_with_args'), ) === example usage in interpreter === >>> from some.where import resolve_to_name >>> print resolve_to_name('/some/url') ('app.views.view',[],{}) >>> print resolve_to_name('/some/other/url') ('this_is_a_named_view',[],{'url':'url'}) >>> print resolve_to_name('/yet/another/url/5') ('one_with_args',[5],{'url':'url'}) From [fahhem.com](http://fahhem.com/) and [Recrec Labs](http://recreclabs.com/)

  • url
  • resolve
  • name
  • args
  • kwargs
Read More