home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: Mailbox/MIME Entity
(archive/mbox).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Mailbox/MIME Entity (archive/mbox)
| magic
| Supported |
100%
| dexvert
| Python Source (text/pythonSource)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| Python script text executable
| default (weak)
| |
99%
| file
| Python script, ASCII text executable
| default (weak)
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| fmt/950 MIME Email (1.0)
| default
| |
100%
| detectItEasy
| Format: Plain text[LF]
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 22 22 22 54 65 73 74 20 | 70 72 6f 67 72 61 6d 20 |"""Test |program |
|00000010| 66 6f 72 20 4d 69 6d 65 | 57 72 69 74 65 72 20 6d |for Mime|Writer m|
|00000020| 6f 64 75 6c 65 2e 0a 0a | 54 68 65 20 74 65 73 74 |odule...|The test|
|00000030| 20 70 72 6f 67 72 61 6d | 20 77 61 73 20 74 6f 6f | program| was too|
|00000040| 20 62 69 67 20 74 6f 20 | 63 6f 6d 66 6f 72 74 61 | big to |comforta|
|00000050| 62 6c 79 20 66 69 74 20 | 69 6e 20 74 68 65 20 4d |bly fit |in the M|
|00000060| 69 6d 65 57 72 69 74 65 | 72 0a 63 6c 61 73 73 2c |imeWrite|r.class,|
|00000070| 20 73 6f 20 69 74 27 73 | 20 68 65 72 65 20 69 6e | so it's| here in|
|00000080| 20 69 74 73 20 6f 77 6e | 20 66 69 6c 65 2e 0a 0a | its own| file...|
|00000090| 54 68 69 73 20 73 68 6f | 75 6c 64 20 67 65 6e 65 |This sho|uld gene|
|000000a0| 72 61 74 65 20 42 61 72 | 72 79 27 73 20 65 78 61 |rate Bar|ry's exa|
|000000b0| 6d 70 6c 65 2c 20 6d 6f | 64 75 6c 6f 20 73 6f 6d |mple, mo|dulo som|
|000000c0| 65 20 71 75 6f 74 65 73 | 20 61 6e 64 20 6e 65 77 |e quotes| and new|
|000000d0| 6c 69 6e 65 73 2e 0a 0a | 22 22 22 0a 0a 69 6d 70 |lines...|"""..imp|
|000000e0| 6f 72 74 20 75 6e 69 74 | 74 65 73 74 2c 20 53 74 |ort unit|test, St|
|000000f0| 72 69 6e 67 49 4f 0a 66 | 72 6f 6d 20 74 65 73 74 |ringIO.f|rom test|
|00000100| 2e 74 65 73 74 5f 73 75 | 70 70 6f 72 74 20 69 6d |.test_su|pport im|
|00000110| 70 6f 72 74 20 72 75 6e | 5f 75 6e 69 74 74 65 73 |port run|_unittes|
|00000120| 74 0a 0a 69 6d 70 6f 72 | 74 20 77 61 72 6e 69 6e |t..impor|t warnin|
|00000130| 67 73 0a 77 61 72 6e 69 | 6e 67 73 2e 66 69 6c 74 |gs.warni|ngs.filt|
|00000140| 65 72 77 61 72 6e 69 6e | 67 73 28 22 69 67 6e 6f |erwarnin|gs("igno|
|00000150| 72 65 22 2c 20 22 74 68 | 65 20 4d 69 6d 65 57 72 |re", "th|e MimeWr|
|00000160| 69 74 65 72 20 6d 6f 64 | 75 6c 65 20 69 73 20 64 |iter mod|ule is d|
|00000170| 65 70 72 65 63 61 74 65 | 64 2e 2a 22 2c 0a 20 20 |eprecate|d.*",. |
|00000180| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000190| 20 20 20 20 20 20 44 65 | 70 72 65 63 61 74 69 6f | De|precatio|
|000001a0| 6e 57 61 72 6e 69 6e 67 | 29 0a 0a 66 72 6f 6d 20 |nWarning|)..from |
|000001b0| 4d 69 6d 65 57 72 69 74 | 65 72 20 69 6d 70 6f 72 |MimeWrit|er impor|
|000001c0| 74 20 4d 69 6d 65 57 72 | 69 74 65 72 0a 0a 53 45 |t MimeWr|iter..SE|
|000001d0| 4c 4c 45 52 20 3d 20 27 | 27 27 5c 0a 49 4e 54 45 |LLER = '|''\.INTE|
|000001e0| 52 46 41 43 45 20 53 65 | 6c 6c 65 72 2d 31 3b 0a |RFACE Se|ller-1;.|
|000001f0| 0a 54 59 50 45 20 53 65 | 6c 6c 65 72 20 3d 20 4f |.TYPE Se|ller = O|
|00000200| 42 4a 45 43 54 0a 20 20 | 20 20 44 4f 43 55 4d 45 |BJECT. | DOCUME|
|00000210| 4e 54 41 54 49 4f 4e 20 | 22 41 20 73 69 6d 70 6c |NTATION |"A simpl|
|00000220| 65 20 53 65 6c 6c 65 72 | 20 69 6e 74 65 72 66 61 |e Seller| interfa|
|00000230| 63 65 20 74 6f 20 74 65 | 73 74 20 49 4c 55 22 0a |ce to te|st ILU".|
|00000240| 20 20 20 20 4d 45 54 48 | 4f 44 53 0a 20 20 20 20 | METH|ODS. |
|00000250| 20 20 20 20 20 20 20 20 | 70 72 69 63 65 28 29 3a | |price():|
|00000260| 49 4e 54 45 47 45 52 2c | 0a 20 20 20 20 45 4e 44 |INTEGER,|. END|
|00000270| 3b 0a 27 27 27 0a 0a 42 | 55 59 45 52 20 3d 20 27 |;.'''..B|UYER = '|
|00000280| 27 27 5c 0a 63 6c 61 73 | 73 20 42 75 79 65 72 3a |''\.clas|s Buyer:|
|00000290| 0a 20 20 20 20 64 65 66 | 20 5f 5f 73 65 74 75 70 |. def| __setup|
|000002a0| 5f 5f 28 73 65 6c 66 2c | 20 6d 61 78 70 72 69 63 |__(self,| maxpric|
|000002b0| 65 29 3a 0a 20 20 20 20 | 20 20 20 20 73 65 6c 66 |e):. | self|
|000002c0| 2e 5f 6d 61 78 70 72 69 | 63 65 20 3d 20 6d 61 78 |._maxpri|ce = max|
|000002d0| 70 72 69 63 65 0a 0a 20 | 20 20 20 64 65 66 20 5f |price.. | def _|
|000002e0| 5f 6d 61 69 6e 5f 5f 28 | 73 65 6c 66 2c 20 6b 6f |_main__(|self, ko|
|000002f0| 73 29 3a 0a 20 20 20 20 | 20 20 20 20 22 22 22 45 |s):. | """E|
|00000300| 6e 74 72 79 20 70 6f 69 | 6e 74 20 75 70 6f 6e 20 |ntry poi|nt upon |
|00000310| 61 72 72 69 76 61 6c 20 | 61 74 20 61 20 6e 65 77 |arrival |at a new|
|00000320| 20 4b 4f 53 2e 22 22 22 | 0a 20 20 20 20 20 20 20 | KOS."""|. |
|00000330| 20 62 72 6f 6b 65 72 20 | 3d 20 6b 6f 73 2e 62 72 | broker |= kos.br|
|00000340| 6f 6b 65 72 28 29 0a 20 | 20 20 20 20 20 20 20 23 |oker(). | #|
|00000350| 20 42 34 20 3d 3d 20 42 | 61 72 72 79 27 73 20 42 | B4 == B|arry's B|
|00000360| 69 67 20 42 61 73 73 20 | 42 75 73 69 6e 65 73 73 |ig Bass |Business|
|00000370| 20 3a 2d 29 0a 20 20 20 | 20 20 20 20 20 73 65 6c | :-). | sel|
|00000380| 6c 65 72 20 3d 20 62 72 | 6f 6b 65 72 2e 6c 6f 6f |ler = br|oker.loo|
|00000390| 6b 75 70 28 27 53 65 6c | 6c 65 72 5f 31 2e 53 65 |kup('Sel|ler_1.Se|
|000003a0| 6c 6c 65 72 27 2c 20 27 | 42 34 27 29 0a 20 20 20 |ller', '|B4'). |
|000003b0| 20 20 20 20 20 69 66 20 | 73 65 6c 6c 65 72 3a 0a | if |seller:.|
|000003c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 70 72 69 63 | | pric|
|000003d0| 65 20 3d 20 73 65 6c 6c | 65 72 2e 70 72 69 63 65 |e = sell|er.price|
|000003e0| 28 29 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 70 |(). | p|
|000003f0| 72 69 6e 74 20 27 53 65 | 6c 6c 65 72 20 77 61 6e |rint 'Se|ller wan|
|00000400| 74 73 20 24 27 2c 20 70 | 72 69 63 65 2c 20 27 2e |ts $', p|rice, '.|
|00000410| 2e 2e 20 27 0a 20 20 20 | 20 20 20 20 20 20 20 20 |.. '. | |
|00000420| 20 69 66 20 70 72 69 63 | 65 20 3e 20 73 65 6c 66 | if pric|e > self|
|00000430| 2e 5f 6d 61 78 70 72 69 | 63 65 3a 0a 20 20 20 20 |._maxpri|ce:. |
|00000440| 20 20 20 20 20 20 20 20 | 20 20 20 20 70 72 69 6e | | prin|
|00000450| 74 20 27 74 6f 6f 20 6d | 75 63 68 21 27 0a 20 20 |t 'too m|uch!'. |
|00000460| 20 20 20 20 20 20 20 20 | 20 20 65 6c 73 65 3a 0a | | else:.|
|00000470| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000480| 70 72 69 6e 74 20 22 49 | 27 6c 6c 20 74 61 6b 65 |print "I|'ll take|
|00000490| 20 69 74 21 22 0a 20 20 | 20 20 20 20 20 20 65 6c | it!". | el|
|000004a0| 73 65 3a 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |se:. | |
|000004b0| 70 72 69 6e 74 20 27 6e | 6f 20 73 65 6c 6c 65 72 |print 'n|o seller|
|000004c0| 20 66 6f 75 6e 64 20 68 | 65 72 65 27 0a 27 27 27 | found h|ere'.'''|
|000004d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000004e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000004f0| 20 20 20 20 20 23 20 44 | 6f 6e 27 74 20 61 73 6b | # D|on't ask|
|00000500| 20 77 68 79 20 74 68 69 | 73 20 63 6f 6d 6d 65 6e | why thi|s commen|
|00000510| 74 20 69 73 20 68 65 72 | 65 0a 0a 53 54 41 54 45 |t is her|e..STATE|
|00000520| 20 3d 20 27 27 27 5c 0a | 23 20 69 6e 73 74 61 6e | = '''\.|# instan|
|00000530| 74 69 61 74 65 20 61 20 | 62 75 79 65 72 20 69 6e |tiate a |buyer in|
|00000540| 73 74 61 6e 63 65 20 61 | 6e 64 20 70 75 74 20 69 |stance a|nd put i|
|00000550| 74 20 69 6e 20 61 20 6d | 61 67 69 63 20 70 6c 61 |t in a m|agic pla|
|00000560| 63 65 20 66 6f 72 20 74 | 68 65 20 4b 4f 53 0a 23 |ce for t|he KOS.#|
|00000570| 20 74 6f 20 66 69 6e 64 | 2e 0a 5f 5f 6b 70 5f 5f | to find|..__kp__|
|00000580| 20 3d 20 42 75 79 65 72 | 28 29 0a 5f 5f 6b 70 5f | = Buyer|().__kp_|
|00000590| 5f 2e 5f 5f 73 65 74 75 | 70 5f 5f 28 35 30 30 29 |_.__setu|p__(500)|
|000005a0| 0a 27 27 27 0a 0a 53 49 | 4d 50 4c 45 5f 4d 45 54 |.'''..SI|MPLE_MET|
|000005b0| 41 44 41 54 41 20 3d 20 | 5b 0a 20 20 20 20 20 20 |ADATA = |[. |
|000005c0| 20 20 28 22 49 6e 74 65 | 72 70 72 65 74 65 72 22 | ("Inte|rpreter"|
|000005d0| 2c 20 22 70 79 74 68 6f | 6e 22 29 2c 0a 20 20 20 |, "pytho|n"),. |
|000005e0| 20 20 20 20 20 28 22 49 | 6e 74 65 72 70 72 65 74 | ("I|nterpret|
|000005f0| 65 72 2d 56 65 72 73 69 | 6f 6e 22 2c 20 22 31 2e |er-Versi|on", "1.|
|00000600| 33 22 29 2c 0a 20 20 20 | 20 20 20 20 20 28 22 4f |3"),. | ("O|
|00000610| 77 6e 65 72 2d 4e 61 6d | 65 22 2c 20 22 42 61 72 |wner-Nam|e", "Bar|
|00000620| 72 79 20 57 61 72 73 61 | 77 22 29 2c 0a 20 20 20 |ry Warsa|w"),. |
|00000630| 20 20 20 20 20 28 22 4f | 77 6e 65 72 2d 52 65 6e | ("O|wner-Ren|
|00000640| 64 65 7a 76 6f 75 73 22 | 2c 20 22 62 77 61 72 73 |dezvous"|, "bwars|
|00000650| 61 77 40 63 6e 72 69 2e | 72 65 73 74 6f 6e 2e 76 |aw@cnri.|reston.v|
|00000660| 61 2e 75 73 22 29 2c 0a | 20 20 20 20 20 20 20 20 |a.us"),.| |
|00000670| 28 22 48 6f 6d 65 2d 4b | 53 53 22 2c 20 22 6b 73 |("Home-K|SS", "ks|
|00000680| 73 2e 63 6e 72 69 2e 72 | 65 73 74 6f 6e 2e 76 61 |s.cnri.r|eston.va|
|00000690| 2e 75 73 22 29 2c 0a 20 | 20 20 20 20 20 20 20 28 |.us"),. | (|
|000006a0| 22 49 64 65 6e 74 69 66 | 69 65 72 22 2c 20 22 68 |"Identif|ier", "h|
|000006b0| 64 6c 3a 2f 2f 63 6e 72 | 69 2e 6b 73 73 2f 6d 79 |dl://cnr|i.kss/my|
|000006c0| 5f 66 69 72 73 74 5f 6b | 6e 6f 77 62 6f 74 22 29 |_first_k|nowbot")|
|000006d0| 2c 0a 20 20 20 20 20 20 | 20 20 28 22 4c 61 75 6e |,. | ("Laun|
|000006e0| 63 68 2d 44 61 74 65 22 | 2c 20 22 4d 6f 6e 20 46 |ch-Date"|, "Mon F|
|000006f0| 65 62 20 31 32 20 31 36 | 3a 33 39 3a 30 33 20 45 |eb 12 16|:39:03 E|
|00000700| 53 54 20 31 39 39 36 22 | 29 2c 0a 20 20 20 20 20 |ST 1996"|),. |
|00000710| 20 20 20 5d 0a 0a 43 4f | 4d 50 4c 45 58 5f 4d 45 | ]..CO|MPLEX_ME|
|00000720| 54 41 44 41 54 41 20 3d | 20 5b 0a 20 20 20 20 20 |TADATA =| [. |
|00000730| 20 20 20 28 22 4d 65 74 | 61 64 61 74 61 2d 54 79 | ("Met|adata-Ty|
|00000740| 70 65 22 2c 20 22 63 6f | 6d 70 6c 65 78 22 29 2c |pe", "co|mplex"),|
|00000750| 0a 20 20 20 20 20 20 20 | 20 28 22 4d 65 74 61 64 |. | ("Metad|
|00000760| 61 74 61 2d 4b 65 79 22 | 2c 20 22 63 6f 6e 6e 65 |ata-Key"|, "conne|
|00000770| 63 74 69 6f 6e 22 29 2c | 0a 20 20 20 20 20 20 20 |ction"),|. |
|00000780| 20 28 22 41 63 63 65 73 | 73 22 2c 20 22 72 65 61 | ("Acces|s", "rea|
|00000790| 64 2d 6f 6e 6c 79 22 29 | 2c 0a 20 20 20 20 20 20 |d-only")|,. |
|000007a0| 20 20 28 22 43 6f 6e 6e | 65 63 74 69 6f 6e 2d 44 | ("Conn|ection-D|
|000007b0| 65 73 63 72 69 70 74 69 | 6f 6e 22 2c 20 22 42 61 |escripti|on", "Ba|
|000007c0| 72 72 79 27 73 20 42 69 | 67 20 42 61 73 73 20 42 |rry's Bi|g Bass B|
|000007d0| 75 73 69 6e 65 73 73 22 | 29 2c 0a 20 20 20 20 20 |usiness"|),. |
|000007e0| 20 20 20 28 22 43 6f 6e | 6e 65 63 74 69 6f 6e 2d | ("Con|nection-|
|000007f0| 49 64 22 2c 20 22 42 34 | 22 29 2c 0a 20 20 20 20 |Id", "B4|"),. |
|00000800| 20 20 20 20 28 22 43 6f | 6e 6e 65 63 74 69 6f 6e | ("Co|nnection|
|00000810| 2d 44 69 72 65 63 74 69 | 6f 6e 22 2c 20 22 63 6c |-Directi|on", "cl|
|00000820| 69 65 6e 74 22 29 2c 0a | 20 20 20 20 20 20 20 20 |ient"),.| |
|00000830| 5d 0a 0a 45 58 54 45 52 | 4e 41 4c 5f 4d 45 54 41 |]..EXTER|NAL_META|
|00000840| 44 41 54 41 20 3d 20 5b | 0a 20 20 20 20 20 20 20 |DATA = [|. |
|00000850| 20 28 22 4d 65 74 61 64 | 61 74 61 2d 54 79 70 65 | ("Metad|ata-Type|
|00000860| 22 2c 20 22 63 6f 6d 70 | 6c 65 78 22 29 2c 0a 20 |", "comp|lex"),. |
|00000870| 20 20 20 20 20 20 20 28 | 22 4d 65 74 61 64 61 74 | (|"Metadat|
|00000880| 61 2d 4b 65 79 22 2c 20 | 22 67 65 6e 65 72 69 63 |a-Key", |"generic|
|00000890| 2d 69 6e 74 65 72 66 61 | 63 65 22 29 2c 0a 20 20 |-interfa|ce"),. |
|000008a0| 20 20 20 20 20 20 28 22 | 41 63 63 65 73 73 22 2c | ("|Access",|
|000008b0| 20 22 72 65 61 64 2d 6f | 6e 6c 79 22 29 2c 0a 20 | "read-o|nly"),. |
|000008c0| 20 20 20 20 20 20 20 28 | 22 43 6f 6e 6e 65 63 74 | (|"Connect|
|000008d0| 69 6f 6e 2d 44 65 73 63 | 72 69 70 74 69 6f 6e 22 |ion-Desc|ription"|
|000008e0| 2c 20 22 47 65 6e 65 72 | 69 63 20 49 6e 74 65 72 |, "Gener|ic Inter|
|000008f0| 66 61 63 65 20 66 6f 72 | 20 41 6c 6c 20 4b 6e 6f |face for| All Kno|
|00000900| 77 62 6f 74 73 22 29 2c | 0a 20 20 20 20 20 20 20 |wbots"),|. |
|00000910| 20 28 22 43 6f 6e 6e 65 | 63 74 69 6f 6e 2d 49 64 | ("Conne|ction-Id|
|00000920| 22 2c 20 22 67 65 6e 65 | 72 69 63 2d 6b 70 22 29 |", "gene|ric-kp")|
|00000930| 2c 0a 20 20 20 20 20 20 | 20 20 28 22 43 6f 6e 6e |,. | ("Conn|
|00000940| 65 63 74 69 6f 6e 2d 44 | 69 72 65 63 74 69 6f 6e |ection-D|irection|
|00000950| 22 2c 20 22 63 6c 69 65 | 6e 74 22 29 2c 0a 20 20 |", "clie|nt"),. |
|00000960| 20 20 20 20 20 20 5d 0a | 0a 0a 4f 55 54 50 55 54 | ].|..OUTPUT|
|00000970| 20 3d 20 27 27 27 5c 0a | 46 72 6f 6d 3a 20 62 77 | = '''\.|From: bw|
|00000980| 61 72 73 61 77 40 63 6e | 72 69 2e 72 65 73 74 6f |arsaw@cn|ri.resto|
|00000990| 6e 2e 76 61 2e 75 73 0a | 44 61 74 65 3a 20 4d 6f |n.va.us.|Date: Mo|
|000009a0| 6e 20 46 65 62 20 31 32 | 20 31 37 3a 32 31 3a 34 |n Feb 12| 17:21:4|
|000009b0| 38 20 45 53 54 20 31 39 | 39 36 0a 54 6f 3a 20 6b |8 EST 19|96.To: k|
|000009c0| 73 73 2d 73 75 62 6d 69 | 74 40 63 6e 72 69 2e 72 |ss-submi|t@cnri.r|
|000009d0| 65 73 74 6f 6e 2e 76 61 | 2e 75 73 0a 4d 49 4d 45 |eston.va|.us.MIME|
|000009e0| 2d 56 65 72 73 69 6f 6e | 3a 20 31 2e 30 0a 43 6f |-Version|: 1.0.Co|
|000009f0| 6e 74 65 6e 74 2d 54 79 | 70 65 3a 20 6d 75 6c 74 |ntent-Ty|pe: mult|
|00000a00| 69 70 61 72 74 2f 6b 6e | 6f 77 62 6f 74 3b 0a 20 |ipart/kn|owbot;. |
|00000a10| 20 20 20 62 6f 75 6e 64 | 61 72 79 3d 22 38 30 31 | bound|ary="801|
|00000a20| 73 70 61 6d 39 39 39 22 | 3b 0a 20 20 20 20 76 65 |spam999"|;. ve|
|00000a30| 72 73 69 6f 6e 3d 22 30 | 2e 31 22 0a 0a 54 68 69 |rsion="0|.1"..Thi|
|00000a40| 73 20 69 73 20 61 20 6d | 75 6c 74 69 2d 70 61 72 |s is a m|ulti-par|
|00000a50| 74 20 6d 65 73 73 61 67 | 65 20 69 6e 20 4d 49 4d |t messag|e in MIM|
|00000a60| 45 20 66 6f 72 6d 61 74 | 2e 0a 0a 2d 2d 38 30 31 |E format|...--801|
|00000a70| 73 70 61 6d 39 39 39 0a | 43 6f 6e 74 65 6e 74 2d |spam999.|Content-|
|00000a80| 54 79 70 65 3a 20 6d 75 | 6c 74 69 70 61 72 74 2f |Type: mu|ltipart/|
|00000a90| 6b 6e 6f 77 62 6f 74 2d | 6d 65 74 61 64 61 74 61 |knowbot-|metadata|
|00000aa0| 3b 0a 20 20 20 20 62 6f | 75 6e 64 61 72 79 3d 22 |;. bo|undary="|
|00000ab0| 38 30 32 73 70 61 6d 39 | 39 39 22 0a 0a 0a 2d 2d |802spam9|99"...--|
|00000ac0| 38 30 32 73 70 61 6d 39 | 39 39 0a 43 6f 6e 74 65 |802spam9|99.Conte|
|00000ad0| 6e 74 2d 54 79 70 65 3a | 20 6d 65 73 73 61 67 65 |nt-Type:| message|
|00000ae0| 2f 72 66 63 38 32 32 0a | 4b 50 2d 4d 65 74 61 64 |/rfc822.|KP-Metad|
|00000af0| 61 74 61 2d 54 79 70 65 | 3a 20 73 69 6d 70 6c 65 |ata-Type|: simple|
|00000b00| 0a 4b 50 2d 41 63 63 65 | 73 73 3a 20 72 65 61 64 |.KP-Acce|ss: read|
|00000b10| 2d 6f 6e 6c 79 0a 0a 4b | 50 4d 44 2d 49 6e 74 65 |-only..K|PMD-Inte|
|00000b20| 72 70 72 65 74 65 72 3a | 20 70 79 74 68 6f 6e 0a |rpreter:| python.|
|00000b30| 4b 50 4d 44 2d 49 6e 74 | 65 72 70 72 65 74 65 72 |KPMD-Int|erpreter|
|00000b40| 2d 56 65 72 73 69 6f 6e | 3a 20 31 2e 33 0a 4b 50 |-Version|: 1.3.KP|
|00000b50| 4d 44 2d 4f 77 6e 65 72 | 2d 4e 61 6d 65 3a 20 42 |MD-Owner|-Name: B|
|00000b60| 61 72 72 79 20 57 61 72 | 73 61 77 0a 4b 50 4d 44 |arry War|saw.KPMD|
|00000b70| 2d 4f 77 6e 65 72 2d 52 | 65 6e 64 65 7a 76 6f 75 |-Owner-R|endezvou|
|00000b80| 73 3a 20 62 77 61 72 73 | 61 77 40 63 6e 72 69 2e |s: bwars|aw@cnri.|
|00000b90| 72 65 73 74 6f 6e 2e 76 | 61 2e 75 73 0a 4b 50 4d |reston.v|a.us.KPM|
|00000ba0| 44 2d 48 6f 6d 65 2d 4b | 53 53 3a 20 6b 73 73 2e |D-Home-K|SS: kss.|
|00000bb0| 63 6e 72 69 2e 72 65 73 | 74 6f 6e 2e 76 61 2e 75 |cnri.res|ton.va.u|
|00000bc0| 73 0a 4b 50 4d 44 2d 49 | 64 65 6e 74 69 66 69 65 |s.KPMD-I|dentifie|
|00000bd0| 72 3a 20 68 64 6c 3a 2f | 2f 63 6e 72 69 2e 6b 73 |r: hdl:/|/cnri.ks|
|00000be0| 73 2f 6d 79 5f 66 69 72 | 73 74 5f 6b 6e 6f 77 62 |s/my_fir|st_knowb|
|00000bf0| 6f 74 0a 4b 50 4d 44 2d | 4c 61 75 6e 63 68 2d 44 |ot.KPMD-|Launch-D|
|00000c00| 61 74 65 3a 20 4d 6f 6e | 20 46 65 62 20 31 32 20 |ate: Mon| Feb 12 |
|00000c10| 31 36 3a 33 39 3a 30 33 | 20 45 53 54 20 31 39 39 |16:39:03| EST 199|
|00000c20| 36 0a 0a 2d 2d 38 30 32 | 73 70 61 6d 39 39 39 0a |6..--802|spam999.|
|00000c30| 43 6f 6e 74 65 6e 74 2d | 54 79 70 65 3a 20 74 65 |Content-|Type: te|
|00000c40| 78 74 2f 69 73 6c 0a 4b | 50 2d 4d 65 74 61 64 61 |xt/isl.K|P-Metada|
|00000c50| 74 61 2d 54 79 70 65 3a | 20 63 6f 6d 70 6c 65 78 |ta-Type:| complex|
|00000c60| 0a 4b 50 2d 4d 65 74 61 | 64 61 74 61 2d 4b 65 79 |.KP-Meta|data-Key|
|00000c70| 3a 20 63 6f 6e 6e 65 63 | 74 69 6f 6e 0a 4b 50 2d |: connec|tion.KP-|
|00000c80| 41 63 63 65 73 73 3a 20 | 72 65 61 64 2d 6f 6e 6c |Access: |read-onl|
|00000c90| 79 0a 4b 50 2d 43 6f 6e | 6e 65 63 74 69 6f 6e 2d |y.KP-Con|nection-|
|00000ca0| 44 65 73 63 72 69 70 74 | 69 6f 6e 3a 20 42 61 72 |Descript|ion: Bar|
|00000cb0| 72 79 27 73 20 42 69 67 | 20 42 61 73 73 20 42 75 |ry's Big| Bass Bu|
|00000cc0| 73 69 6e 65 73 73 0a 4b | 50 2d 43 6f 6e 6e 65 63 |siness.K|P-Connec|
|00000cd0| 74 69 6f 6e 2d 49 64 3a | 20 42 34 0a 4b 50 2d 43 |tion-Id:| B4.KP-C|
|00000ce0| 6f 6e 6e 65 63 74 69 6f | 6e 2d 44 69 72 65 63 74 |onnectio|n-Direct|
|00000cf0| 69 6f 6e 3a 20 63 6c 69 | 65 6e 74 0a 0a 49 4e 54 |ion: cli|ent..INT|
|00000d00| 45 52 46 41 43 45 20 53 | 65 6c 6c 65 72 2d 31 3b |ERFACE S|eller-1;|
|00000d10| 0a 0a 54 59 50 45 20 53 | 65 6c 6c 65 72 20 3d 20 |..TYPE S|eller = |
|00000d20| 4f 42 4a 45 43 54 0a 20 | 20 20 20 44 4f 43 55 4d |OBJECT. | DOCUM|
|00000d30| 45 4e 54 41 54 49 4f 4e | 20 22 41 20 73 69 6d 70 |ENTATION| "A simp|
|00000d40| 6c 65 20 53 65 6c 6c 65 | 72 20 69 6e 74 65 72 66 |le Selle|r interf|
|00000d50| 61 63 65 20 74 6f 20 74 | 65 73 74 20 49 4c 55 22 |ace to t|est ILU"|
|00000d60| 0a 20 20 20 20 4d 45 54 | 48 4f 44 53 0a 20 20 20 |. MET|HODS. |
|00000d70| 20 20 20 20 20 20 20 20 | 20 70 72 69 63 65 28 29 | | price()|
|00000d80| 3a 49 4e 54 45 47 45 52 | 2c 0a 20 20 20 20 45 4e |:INTEGER|,. EN|
|00000d90| 44 3b 0a 0a 2d 2d 38 30 | 32 73 70 61 6d 39 39 39 |D;..--80|2spam999|
|00000da0| 0a 43 6f 6e 74 65 6e 74 | 2d 54 79 70 65 3a 20 6d |.Content|-Type: m|
|00000db0| 65 73 73 61 67 65 2f 65 | 78 74 65 72 6e 61 6c 2d |essage/e|xternal-|
|00000dc0| 62 6f 64 79 3b 0a 20 20 | 20 20 61 63 63 65 73 73 |body;. | access|
|00000dd0| 2d 74 79 70 65 3d 22 55 | 52 4c 22 3b 0a 20 20 20 |-type="U|RL";. |
|00000de0| 20 55 52 4c 3d 22 68 64 | 6c 3a 2f 2f 63 6e 72 69 | URL="hd|l://cnri|
|00000df0| 2e 6b 73 73 2f 67 65 6e | 65 72 69 63 2d 6b 6e 6f |.kss/gen|eric-kno|
|00000e00| 77 62 6f 74 22 0a 0a 43 | 6f 6e 74 65 6e 74 2d 54 |wbot"..C|ontent-T|
|00000e10| 79 70 65 3a 20 74 65 78 | 74 2f 69 73 6c 0a 4b 50 |ype: tex|t/isl.KP|
|00000e20| 2d 4d 65 74 61 64 61 74 | 61 2d 54 79 70 65 3a 20 |-Metadat|a-Type: |
|00000e30| 63 6f 6d 70 6c 65 78 0a | 4b 50 2d 4d 65 74 61 64 |complex.|KP-Metad|
|00000e40| 61 74 61 2d 4b 65 79 3a | 20 67 65 6e 65 72 69 63 |ata-Key:| generic|
|00000e50| 2d 69 6e 74 65 72 66 61 | 63 65 0a 4b 50 2d 41 63 |-interfa|ce.KP-Ac|
|00000e60| 63 65 73 73 3a 20 72 65 | 61 64 2d 6f 6e 6c 79 0a |cess: re|ad-only.|
|00000e70| 4b 50 2d 43 6f 6e 6e 65 | 63 74 69 6f 6e 2d 44 65 |KP-Conne|ction-De|
|00000e80| 73 63 72 69 70 74 69 6f | 6e 3a 20 47 65 6e 65 72 |scriptio|n: Gener|
|00000e90| 69 63 20 49 6e 74 65 72 | 66 61 63 65 20 66 6f 72 |ic Inter|face for|
|00000ea0| 20 41 6c 6c 20 4b 6e 6f | 77 62 6f 74 73 0a 4b 50 | All Kno|wbots.KP|
|00000eb0| 2d 43 6f 6e 6e 65 63 74 | 69 6f 6e 2d 49 64 3a 20 |-Connect|ion-Id: |
|00000ec0| 67 65 6e 65 72 69 63 2d | 6b 70 0a 4b 50 2d 43 6f |generic-|kp.KP-Co|
|00000ed0| 6e 6e 65 63 74 69 6f 6e | 2d 44 69 72 65 63 74 69 |nnection|-Directi|
|00000ee0| 6f 6e 3a 20 63 6c 69 65 | 6e 74 0a 0a 0a 2d 2d 38 |on: clie|nt...--8|
|00000ef0| 30 32 73 70 61 6d 39 39 | 39 2d 2d 0a 0a 2d 2d 38 |02spam99|9--..--8|
|00000f00| 30 31 73 70 61 6d 39 39 | 39 0a 43 6f 6e 74 65 6e |01spam99|9.Conten|
|00000f10| 74 2d 54 79 70 65 3a 20 | 6d 75 6c 74 69 70 61 72 |t-Type: |multipar|
|00000f20| 74 2f 6b 6e 6f 77 62 6f | 74 2d 63 6f 64 65 3b 0a |t/knowbo|t-code;.|
|00000f30| 20 20 20 20 62 6f 75 6e | 64 61 72 79 3d 22 38 30 | boun|dary="80|
|00000f40| 33 73 70 61 6d 39 39 39 | 22 0a 0a 0a 2d 2d 38 30 |3spam999|"...--80|
|00000f50| 33 73 70 61 6d 39 39 39 | 0a 43 6f 6e 74 65 6e 74 |3spam999|.Content|
|00000f60| 2d 54 79 70 65 3a 20 74 | 65 78 74 2f 70 6c 61 69 |-Type: t|ext/plai|
|00000f70| 6e 0a 4b 50 2d 4d 6f 64 | 75 6c 65 2d 4e 61 6d 65 |n.KP-Mod|ule-Name|
|00000f80| 3a 20 42 75 79 65 72 4b | 50 0a 0a 63 6c 61 73 73 |: BuyerK|P..class|
|00000f90| 20 42 75 79 65 72 3a 0a | 20 20 20 20 64 65 66 20 | Buyer:.| def |
|00000fa0| 5f 5f 73 65 74 75 70 5f | 5f 28 73 65 6c 66 2c 20 |__setup_|_(self, |
|00000fb0| 6d 61 78 70 72 69 63 65 | 29 3a 0a 20 20 20 20 20 |maxprice|):. |
|00000fc0| 20 20 20 73 65 6c 66 2e | 5f 6d 61 78 70 72 69 63 | self.|_maxpric|
|00000fd0| 65 20 3d 20 6d 61 78 70 | 72 69 63 65 0a 0a 20 20 |e = maxp|rice.. |
|00000fe0| 20 20 64 65 66 20 5f 5f | 6d 61 69 6e 5f 5f 28 73 | def __|main__(s|
|00000ff0| 65 6c 66 2c 20 6b 6f 73 | 29 3a 0a 20 20 20 20 20 |elf, kos|):. |
|00001000| 20 20 20 22 22 22 45 6e | 74 72 79 20 70 6f 69 6e | """En|try poin|
|00001010| 74 20 75 70 6f 6e 20 61 | 72 72 69 76 61 6c 20 61 |t upon a|rrival a|
|00001020| 74 20 61 20 6e 65 77 20 | 4b 4f 53 2e 22 22 22 0a |t a new |KOS.""".|
|00001030| 20 20 20 20 20 20 20 20 | 62 72 6f 6b 65 72 20 3d | |broker =|
|00001040| 20 6b 6f 73 2e 62 72 6f | 6b 65 72 28 29 0a 20 20 | kos.bro|ker(). |
|00001050| 20 20 20 20 20 20 23 20 | 42 34 20 3d 3d 20 42 61 | # |B4 == Ba|
|00001060| 72 72 79 27 73 20 42 69 | 67 20 42 61 73 73 20 42 |rry's Bi|g Bass B|
|00001070| 75 73 69 6e 65 73 73 20 | 3a 2d 29 0a 20 20 20 20 |usiness |:-). |
|00001080| 20 20 20 20 73 65 6c 6c | 65 72 20 3d 20 62 72 6f | sell|er = bro|
|00001090| 6b 65 72 2e 6c 6f 6f 6b | 75 70 28 27 53 65 6c 6c |ker.look|up('Sell|
|000010a0| 65 72 5f 31 2e 53 65 6c | 6c 65 72 27 2c 20 27 42 |er_1.Sel|ler', 'B|
|000010b0| 34 27 29 0a 20 20 20 20 | 20 20 20 20 69 66 20 73 |4'). | if s|
|000010c0| 65 6c 6c 65 72 3a 0a 20 | 20 20 20 20 20 20 20 20 |eller:. | |
|000010d0| 20 20 20 70 72 69 63 65 | 20 3d 20 73 65 6c 6c 65 | price| = selle|
|000010e0| 72 2e 70 72 69 63 65 28 | 29 0a 20 20 20 20 20 20 |r.price(|). |
|000010f0| 20 20 20 20 20 20 70 72 | 69 6e 74 20 27 53 65 6c | pr|int 'Sel|
|00001100| 6c 65 72 20 77 61 6e 74 | 73 20 24 27 2c 20 70 72 |ler want|s $', pr|
|00001110| 69 63 65 2c 20 27 2e 2e | 2e 20 27 0a 20 20 20 20 |ice, '..|. '. |
|00001120| 20 20 20 20 20 20 20 20 | 69 66 20 70 72 69 63 65 | |if price|
|00001130| 20 3e 20 73 65 6c 66 2e | 5f 6d 61 78 70 72 69 63 | > self.|_maxpric|
|00001140| 65 3a 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |e:. | |
|00001150| 20 20 20 70 72 69 6e 74 | 20 27 74 6f 6f 20 6d 75 | print| 'too mu|
|00001160| 63 68 21 27 0a 20 20 20 | 20 20 20 20 20 20 20 20 |ch!'. | |
|00001170| 20 65 6c 73 65 3a 0a 20 | 20 20 20 20 20 20 20 20 | else:. | |
|00001180| 20 20 20 20 20 20 20 70 | 72 69 6e 74 20 22 49 27 | p|rint "I'|
|00001190| 6c 6c 20 74 61 6b 65 20 | 69 74 21 22 0a 20 20 20 |ll take |it!". |
|000011a0| 20 20 20 20 20 65 6c 73 | 65 3a 0a 20 20 20 20 20 | els|e:. |
|000011b0| 20 20 20 20 20 20 20 70 | 72 69 6e 74 20 27 6e 6f | p|rint 'no|
|000011c0| 20 73 65 6c 6c 65 72 20 | 66 6f 75 6e 64 20 68 65 | seller |found he|
|000011d0| 72 65 27 0a 0a 2d 2d 38 | 30 33 73 70 61 6d 39 39 |re'..--8|03spam99|
|000011e0| 39 2d 2d 0a 0a 2d 2d 38 | 30 31 73 70 61 6d 39 39 |9--..--8|01spam99|
|000011f0| 39 0a 43 6f 6e 74 65 6e | 74 2d 54 79 70 65 3a 20 |9.Conten|t-Type: |
|00001200| 6d 75 6c 74 69 70 61 72 | 74 2f 6b 6e 6f 77 62 6f |multipar|t/knowbo|
|00001210| 74 2d 73 74 61 74 65 3b | 0a 20 20 20 20 62 6f 75 |t-state;|. bou|
|00001220| 6e 64 61 72 79 3d 22 38 | 30 34 73 70 61 6d 39 39 |ndary="8|04spam99|
|00001230| 39 22 0a 4b 50 2d 4d 61 | 69 6e 2d 4d 6f 64 75 6c |9".KP-Ma|in-Modul|
|00001240| 65 3a 20 6d 61 69 6e 0a | 0a 0a 2d 2d 38 30 34 73 |e: main.|..--804s|
|00001250| 70 61 6d 39 39 39 0a 43 | 6f 6e 74 65 6e 74 2d 54 |pam999.C|ontent-T|
|00001260| 79 70 65 3a 20 74 65 78 | 74 2f 70 6c 61 69 6e 0a |ype: tex|t/plain.|
|00001270| 4b 50 2d 4d 6f 64 75 6c | 65 2d 4e 61 6d 65 3a 20 |KP-Modul|e-Name: |
|00001280| 6d 61 69 6e 0a 0a 23 20 | 69 6e 73 74 61 6e 74 69 |main..# |instanti|
|00001290| 61 74 65 20 61 20 62 75 | 79 65 72 20 69 6e 73 74 |ate a bu|yer inst|
|000012a0| 61 6e 63 65 20 61 6e 64 | 20 70 75 74 20 69 74 20 |ance and| put it |
|000012b0| 69 6e 20 61 20 6d 61 67 | 69 63 20 70 6c 61 63 65 |in a mag|ic place|
|000012c0| 20 66 6f 72 20 74 68 65 | 20 4b 4f 53 0a 23 20 74 | for the| KOS.# t|
|000012d0| 6f 20 66 69 6e 64 2e 0a | 5f 5f 6b 70 5f 5f 20 3d |o find..|__kp__ =|
|000012e0| 20 42 75 79 65 72 28 29 | 0a 5f 5f 6b 70 5f 5f 2e | Buyer()|.__kp__.|
|000012f0| 5f 5f 73 65 74 75 70 5f | 5f 28 35 30 30 29 0a 0a |__setup_|_(500)..|
|00001300| 2d 2d 38 30 34 73 70 61 | 6d 39 39 39 2d 2d 0a 0a |--804spa|m999--..|
|00001310| 2d 2d 38 30 31 73 70 61 | 6d 39 39 39 2d 2d 0a 27 |--801spa|m999--.'|
|00001320| 27 27 0a 0a 63 6c 61 73 | 73 20 4d 69 6d 65 77 72 |''..clas|s Mimewr|
|00001330| 69 74 65 72 54 65 73 74 | 28 75 6e 69 74 74 65 73 |iterTest|(unittes|
|00001340| 74 2e 54 65 73 74 43 61 | 73 65 29 3a 0a 0a 20 20 |t.TestCa|se):.. |
|00001350| 20 20 64 65 66 20 74 65 | 73 74 28 73 65 6c 66 29 | def te|st(self)|
|00001360| 3a 0a 20 20 20 20 20 20 | 20 20 62 75 66 20 3d 20 |:. | buf = |
|00001370| 53 74 72 69 6e 67 49 4f | 2e 53 74 72 69 6e 67 49 |StringIO|.StringI|
|00001380| 4f 28 29 0a 0a 20 20 20 | 20 20 20 20 20 23 20 54 |O().. | # T|
|00001390| 6f 70 6c 65 76 65 6c 20 | 68 65 61 64 65 72 73 0a |oplevel |headers.|
|000013a0| 0a 20 20 20 20 20 20 20 | 20 74 6f 70 6c 65 76 65 |. | topleve|
|000013b0| 6c 20 3d 20 4d 69 6d 65 | 57 72 69 74 65 72 28 62 |l = Mime|Writer(b|
|000013c0| 75 66 29 0a 20 20 20 20 | 20 20 20 20 74 6f 70 6c |uf). | topl|
|000013d0| 65 76 65 6c 2e 61 64 64 | 68 65 61 64 65 72 28 22 |evel.add|header("|
|000013e0| 46 72 6f 6d 22 2c 20 22 | 62 77 61 72 73 61 77 40 |From", "|bwarsaw@|
|000013f0| 63 6e 72 69 2e 72 65 73 | 74 6f 6e 2e 76 61 2e 75 |cnri.res|ton.va.u|
|00001400| 73 22 29 0a 20 20 20 20 | 20 20 20 20 74 6f 70 6c |s"). | topl|
|00001410| 65 76 65 6c 2e 61 64 64 | 68 65 61 64 65 72 28 22 |evel.add|header("|
|00001420| 44 61 74 65 22 2c 20 22 | 4d 6f 6e 20 46 65 62 20 |Date", "|Mon Feb |
|00001430| 31 32 20 31 37 3a 32 31 | 3a 34 38 20 45 53 54 20 |12 17:21|:48 EST |
|00001440| 31 39 39 36 22 29 0a 20 | 20 20 20 20 20 20 20 74 |1996"). | t|
|00001450| 6f 70 6c 65 76 65 6c 2e | 61 64 64 68 65 61 64 65 |oplevel.|addheade|
|00001460| 72 28 22 54 6f 22 2c 20 | 22 6b 73 73 2d 73 75 62 |r("To", |"kss-sub|
|00001470| 6d 69 74 40 63 6e 72 69 | 2e 72 65 73 74 6f 6e 2e |mit@cnri|.reston.|
|00001480| 76 61 2e 75 73 22 29 0a | 20 20 20 20 20 20 20 20 |va.us").| |
|00001490| 74 6f 70 6c 65 76 65 6c | 2e 61 64 64 68 65 61 64 |toplevel|.addhead|
|000014a0| 65 72 28 22 4d 49 4d 45 | 2d 56 65 72 73 69 6f 6e |er("MIME|-Version|
|000014b0| 22 2c 20 22 31 2e 30 22 | 29 0a 0a 20 20 20 20 20 |", "1.0"|).. |
|000014c0| 20 20 20 23 20 54 6f 70 | 6c 65 76 65 6c 20 62 6f | # Top|level bo|
|000014d0| 64 79 20 70 61 72 74 73 | 0a 0a 20 20 20 20 20 20 |dy parts|.. |
|000014e0| 20 20 66 20 3d 20 74 6f | 70 6c 65 76 65 6c 2e 73 | f = to|plevel.s|
|000014f0| 74 61 72 74 6d 75 6c 74 | 69 70 61 72 74 62 6f 64 |tartmult|ipartbod|
|00001500| 79 28 22 6b 6e 6f 77 62 | 6f 74 22 2c 20 22 38 30 |y("knowb|ot", "80|
|00001510| 31 73 70 61 6d 39 39 39 | 22 2c 0a 20 20 20 20 20 |1spam999|",. |
|00001520| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001530| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001540| 20 20 20 5b 28 22 76 65 | 72 73 69 6f 6e 22 2c 20 | [("ve|rsion", |
|00001550| 22 30 2e 31 22 29 5d 2c | 20 70 72 65 66 69 78 3d |"0.1")],| prefix=|
|00001560| 30 29 0a 20 20 20 20 20 | 20 20 20 66 2e 77 72 69 |0). | f.wri|
|00001570| 74 65 28 22 54 68 69 73 | 20 69 73 20 61 20 6d 75 |te("This| is a mu|
|00001580| 6c 74 69 2d 70 61 72 74 | 20 6d 65 73 73 61 67 65 |lti-part| message|
|00001590| 20 69 6e 20 4d 49 4d 45 | 20 66 6f 72 6d 61 74 2e | in MIME| format.|
|000015a0| 5c 6e 22 29 0a 0a 20 20 | 20 20 20 20 20 20 23 20 |\n").. | # |
|000015b0| 46 69 72 73 74 20 74 6f | 70 6c 65 76 65 6c 20 62 |First to|plevel b|
|000015c0| 6f 64 79 20 70 61 72 74 | 3a 20 6d 65 74 61 64 61 |ody part|: metada|
|000015d0| 74 61 0a 0a 20 20 20 20 | 20 20 20 20 6d 64 20 3d |ta.. | md =|
|000015e0| 20 74 6f 70 6c 65 76 65 | 6c 2e 6e 65 78 74 70 61 | topleve|l.nextpa|
|000015f0| 72 74 28 29 0a 20 20 20 | 20 20 20 20 20 6d 64 2e |rt(). | md.|
|00001600| 73 74 61 72 74 6d 75 6c | 74 69 70 61 72 74 62 6f |startmul|tipartbo|
|00001610| 64 79 28 22 6b 6e 6f 77 | 62 6f 74 2d 6d 65 74 61 |dy("know|bot-meta|
|00001620| 64 61 74 61 22 2c 20 22 | 38 30 32 73 70 61 6d 39 |data", "|802spam9|
|00001630| 39 39 22 29 0a 0a 20 20 | 20 20 20 20 20 20 23 20 |99").. | # |
|00001640| 4d 65 74 61 64 61 74 61 | 20 70 61 72 74 20 31 0a |Metadata| part 1.|
|00001650| 0a 20 20 20 20 20 20 20 | 20 6d 64 31 20 3d 20 6d |. | md1 = m|
|00001660| 64 2e 6e 65 78 74 70 61 | 72 74 28 29 0a 20 20 20 |d.nextpa|rt(). |
|00001670| 20 20 20 20 20 6d 64 31 | 2e 61 64 64 68 65 61 64 | md1|.addhead|
|00001680| 65 72 28 22 4b 50 2d 4d | 65 74 61 64 61 74 61 2d |er("KP-M|etadata-|
|00001690| 54 79 70 65 22 2c 20 22 | 73 69 6d 70 6c 65 22 29 |Type", "|simple")|
|000016a0| 0a 20 20 20 20 20 20 20 | 20 6d 64 31 2e 61 64 64 |. | md1.add|
|000016b0| 68 65 61 64 65 72 28 22 | 4b 50 2d 41 63 63 65 73 |header("|KP-Acces|
|000016c0| 73 22 2c 20 22 72 65 61 | 64 2d 6f 6e 6c 79 22 29 |s", "rea|d-only")|
|000016d0| 0a 20 20 20 20 20 20 20 | 20 6d 20 3d 20 4d 69 6d |. | m = Mim|
|000016e0| 65 57 72 69 74 65 72 28 | 6d 64 31 2e 73 74 61 72 |eWriter(|md1.star|
|000016f0| 74 62 6f 64 79 28 22 6d | 65 73 73 61 67 65 2f 72 |tbody("m|essage/r|
|00001700| 66 63 38 32 32 22 29 29 | 0a 20 20 20 20 20 20 20 |fc822"))|. |
|00001710| 20 66 6f 72 20 6b 65 79 | 2c 20 76 61 6c 75 65 20 | for key|, value |
|00001720| 69 6e 20 53 49 4d 50 4c | 45 5f 4d 45 54 41 44 41 |in SIMPL|E_METADA|
|00001730| 54 41 3a 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |TA:. | |
|00001740| 6d 2e 61 64 64 68 65 61 | 64 65 72 28 22 4b 50 4d |m.addhea|der("KPM|
|00001750| 44 2d 22 20 2b 20 6b 65 | 79 2c 20 76 61 6c 75 65 |D-" + ke|y, value|
|00001760| 29 0a 20 20 20 20 20 20 | 20 20 6d 2e 66 6c 75 73 |). | m.flus|
|00001770| 68 68 65 61 64 65 72 73 | 28 29 0a 20 20 20 20 20 |hheaders|(). |
|00001780| 20 20 20 64 65 6c 20 6d | 64 31 0a 0a 20 20 20 20 | del m|d1.. |
|00001790| 20 20 20 20 23 20 4d 65 | 74 61 64 61 74 61 20 70 | # Me|tadata p|
|000017a0| 61 72 74 20 32 0a 0a 20 | 20 20 20 20 20 20 20 6d |art 2.. | m|
|000017b0| 64 32 20 3d 20 6d 64 2e | 6e 65 78 74 70 61 72 74 |d2 = md.|nextpart|
|000017c0| 28 29 0a 20 20 20 20 20 | 20 20 20 66 6f 72 20 6b |(). | for k|
|000017d0| 65 79 2c 20 76 61 6c 75 | 65 20 69 6e 20 43 4f 4d |ey, valu|e in COM|
|000017e0| 50 4c 45 58 5f 4d 45 54 | 41 44 41 54 41 3a 0a 20 |PLEX_MET|ADATA:. |
|000017f0| 20 20 20 20 20 20 20 20 | 20 20 20 6d 64 32 2e 61 | | md2.a|
|00001800| 64 64 68 65 61 64 65 72 | 28 22 4b 50 2d 22 20 2b |ddheader|("KP-" +|
|00001810| 20 6b 65 79 2c 20 76 61 | 6c 75 65 29 0a 20 20 20 | key, va|lue). |
|00001820| 20 20 20 20 20 66 20 3d | 20 6d 64 32 2e 73 74 61 | f =| md2.sta|
|00001830| 72 74 62 6f 64 79 28 22 | 74 65 78 74 2f 69 73 6c |rtbody("|text/isl|
|00001840| 22 29 0a 20 20 20 20 20 | 20 20 20 66 2e 77 72 69 |"). | f.wri|
|00001850| 74 65 28 53 45 4c 4c 45 | 52 29 0a 20 20 20 20 20 |te(SELLE|R). |
|00001860| 20 20 20 64 65 6c 20 6d | 64 32 0a 0a 20 20 20 20 | del m|d2.. |
|00001870| 20 20 20 20 23 20 4d 65 | 74 61 64 61 74 61 20 70 | # Me|tadata p|
|00001880| 61 72 74 20 33 0a 0a 20 | 20 20 20 20 20 20 20 6d |art 3.. | m|
|00001890| 64 33 20 3d 20 6d 64 2e | 6e 65 78 74 70 61 72 74 |d3 = md.|nextpart|
|000018a0| 28 29 0a 20 20 20 20 20 | 20 20 20 66 20 3d 20 6d |(). | f = m|
|000018b0| 64 33 2e 73 74 61 72 74 | 62 6f 64 79 28 22 6d 65 |d3.start|body("me|
|000018c0| 73 73 61 67 65 2f 65 78 | 74 65 72 6e 61 6c 2d 62 |ssage/ex|ternal-b|
|000018d0| 6f 64 79 22 2c 0a 20 20 | 20 20 20 20 20 20 20 20 |ody",. | |
|000018e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000018f0| 5b 28 22 61 63 63 65 73 | 73 2d 74 79 70 65 22 2c |[("acces|s-type",|
|00001900| 20 22 55 52 4c 22 29 2c | 0a 20 20 20 20 20 20 20 | "URL"),|. |
|00001910| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001920| 20 20 20 20 28 22 55 52 | 4c 22 2c 20 22 68 64 6c | ("UR|L", "hdl|
|00001930| 3a 2f 2f 63 6e 72 69 2e | 6b 73 73 2f 67 65 6e 65 |://cnri.|kss/gene|
|00001940| 72 69 63 2d 6b 6e 6f 77 | 62 6f 74 22 29 5d 29 0a |ric-know|bot")]).|
|00001950| 20 20 20 20 20 20 20 20 | 6d 20 3d 20 4d 69 6d 65 | |m = Mime|
|00001960| 57 72 69 74 65 72 28 66 | 29 0a 20 20 20 20 20 20 |Writer(f|). |
|00001970| 20 20 66 6f 72 20 6b 65 | 79 2c 20 76 61 6c 75 65 | for ke|y, value|
|00001980| 20 69 6e 20 45 58 54 45 | 52 4e 41 4c 5f 4d 45 54 | in EXTE|RNAL_MET|
|00001990| 41 44 41 54 41 3a 0a 20 | 20 20 20 20 20 20 20 20 |ADATA:. | |
|000019a0| 20 20 20 6d 64 33 2e 61 | 64 64 68 65 61 64 65 72 | md3.a|ddheader|
|000019b0| 28 22 4b 50 2d 22 20 2b | 20 6b 65 79 2c 20 76 61 |("KP-" +| key, va|
|000019c0| 6c 75 65 29 0a 20 20 20 | 20 20 20 20 20 6d 64 33 |lue). | md3|
|000019d0| 2e 73 74 61 72 74 62 6f | 64 79 28 22 74 65 78 74 |.startbo|dy("text|
|000019e0| 2f 69 73 6c 22 29 0a 20 | 20 20 20 20 20 20 20 23 |/isl"). | #|
|000019f0| 20 50 68 61 6e 74 6f 6d | 20 62 6f 64 79 20 64 6f | Phantom| body do|
|00001a00| 65 73 6e 27 74 20 6e 65 | 65 64 20 74 6f 20 62 65 |esn't ne|ed to be|
|00001a10| 20 77 72 69 74 74 65 6e | 0a 0a 20 20 20 20 20 20 | written|.. |
|00001a20| 20 20 6d 64 2e 6c 61 73 | 74 70 61 72 74 28 29 0a | md.las|tpart().|
|00001a30| 0a 20 20 20 20 20 20 20 | 20 23 20 53 65 63 6f 6e |. | # Secon|
|00001a40| 64 20 74 6f 70 6c 65 76 | 65 6c 20 62 6f 64 79 20 |d toplev|el body |
|00001a50| 70 61 72 74 3a 20 63 6f | 64 65 0a 0a 20 20 20 20 |part: co|de.. |
|00001a60| 20 20 20 20 63 6f 64 65 | 20 3d 20 74 6f 70 6c 65 | code| = tople|
|00001a70| 76 65 6c 2e 6e 65 78 74 | 70 61 72 74 28 29 0a 20 |vel.next|part(). |
|00001a80| 20 20 20 20 20 20 20 63 | 6f 64 65 2e 73 74 61 72 | c|ode.star|
|00001a90| 74 6d 75 6c 74 69 70 61 | 72 74 62 6f 64 79 28 22 |tmultipa|rtbody("|
|00001aa0| 6b 6e 6f 77 62 6f 74 2d | 63 6f 64 65 22 2c 20 22 |knowbot-|code", "|
|00001ab0| 38 30 33 73 70 61 6d 39 | 39 39 22 29 0a 0a 20 20 |803spam9|99").. |
|00001ac0| 20 20 20 20 20 20 23 20 | 43 6f 64 65 3a 20 62 75 | # |Code: bu|
|00001ad0| 79 65 72 20 70 72 6f 67 | 72 61 6d 20 73 6f 75 72 |yer prog|ram sour|
|00001ae0| 63 65 0a 0a 20 20 20 20 | 20 20 20 20 62 75 79 65 |ce.. | buye|
|00001af0| 72 20 3d 20 63 6f 64 65 | 2e 6e 65 78 74 70 61 72 |r = code|.nextpar|
|00001b00| 74 28 29 0a 20 20 20 20 | 20 20 20 20 62 75 79 65 |t(). | buye|
|00001b10| 72 2e 61 64 64 68 65 61 | 64 65 72 28 22 4b 50 2d |r.addhea|der("KP-|
|00001b20| 4d 6f 64 75 6c 65 2d 4e | 61 6d 65 22 2c 20 22 42 |Module-N|ame", "B|
|00001b30| 75 79 65 72 4b 50 22 29 | 0a 20 20 20 20 20 20 20 |uyerKP")|. |
|00001b40| 20 66 20 3d 20 62 75 79 | 65 72 2e 73 74 61 72 74 | f = buy|er.start|
|00001b50| 62 6f 64 79 28 22 74 65 | 78 74 2f 70 6c 61 69 6e |body("te|xt/plain|
|00001b60| 22 29 0a 20 20 20 20 20 | 20 20 20 66 2e 77 72 69 |"). | f.wri|
|00001b70| 74 65 28 42 55 59 45 52 | 29 0a 0a 20 20 20 20 20 |te(BUYER|).. |
|00001b80| 20 20 20 63 6f 64 65 2e | 6c 61 73 74 70 61 72 74 | code.|lastpart|
|00001b90| 28 29 0a 0a 20 20 20 20 | 20 20 20 20 23 20 54 68 |().. | # Th|
|00001ba0| 69 72 64 20 74 6f 70 6c | 65 76 65 6c 20 62 6f 64 |ird topl|evel bod|
|00001bb0| 79 20 70 61 72 74 3a 20 | 73 74 61 74 65 0a 0a 20 |y part: |state.. |
|00001bc0| 20 20 20 20 20 20 20 73 | 74 61 74 65 20 3d 20 74 | s|tate = t|
|00001bd0| 6f 70 6c 65 76 65 6c 2e | 6e 65 78 74 70 61 72 74 |oplevel.|nextpart|
|00001be0| 28 29 0a 20 20 20 20 20 | 20 20 20 73 74 61 74 65 |(). | state|
|00001bf0| 2e 61 64 64 68 65 61 64 | 65 72 28 22 4b 50 2d 4d |.addhead|er("KP-M|
|00001c00| 61 69 6e 2d 4d 6f 64 75 | 6c 65 22 2c 20 22 6d 61 |ain-Modu|le", "ma|
|00001c10| 69 6e 22 29 0a 20 20 20 | 20 20 20 20 20 73 74 61 |in"). | sta|
|00001c20| 74 65 2e 73 74 61 72 74 | 6d 75 6c 74 69 70 61 72 |te.start|multipar|
|00001c30| 74 62 6f 64 79 28 22 6b | 6e 6f 77 62 6f 74 2d 73 |tbody("k|nowbot-s|
|00001c40| 74 61 74 65 22 2c 20 22 | 38 30 34 73 70 61 6d 39 |tate", "|804spam9|
|00001c50| 39 39 22 29 0a 0a 20 20 | 20 20 20 20 20 20 23 20 |99").. | # |
|00001c60| 53 74 61 74 65 3a 20 61 | 20 62 75 6e 63 68 20 6f |State: a| bunch o|
|00001c70| 66 20 61 73 73 69 67 6e | 6d 65 6e 74 73 0a 0a 20 |f assign|ments.. |
|00001c80| 20 20 20 20 20 20 20 73 | 74 20 3d 20 73 74 61 74 | s|t = stat|
|00001c90| 65 2e 6e 65 78 74 70 61 | 72 74 28 29 0a 20 20 20 |e.nextpa|rt(). |
|00001ca0| 20 20 20 20 20 73 74 2e | 61 64 64 68 65 61 64 65 | st.|addheade|
|00001cb0| 72 28 22 4b 50 2d 4d 6f | 64 75 6c 65 2d 4e 61 6d |r("KP-Mo|dule-Nam|
|00001cc0| 65 22 2c 20 22 6d 61 69 | 6e 22 29 0a 20 20 20 20 |e", "mai|n"). |
|00001cd0| 20 20 20 20 66 20 3d 20 | 73 74 2e 73 74 61 72 74 | f = |st.start|
|00001ce0| 62 6f 64 79 28 22 74 65 | 78 74 2f 70 6c 61 69 6e |body("te|xt/plain|
|00001cf0| 22 29 0a 20 20 20 20 20 | 20 20 20 66 2e 77 72 69 |"). | f.wri|
|00001d00| 74 65 28 53 54 41 54 45 | 29 0a 0a 20 20 20 20 20 |te(STATE|).. |
|00001d10| 20 20 20 73 74 61 74 65 | 2e 6c 61 73 74 70 61 72 | state|.lastpar|
|00001d20| 74 28 29 0a 0a 20 20 20 | 20 20 20 20 20 23 20 45 |t().. | # E|
|00001d30| 6e 64 20 74 6f 70 6c 65 | 76 65 6c 20 62 6f 64 79 |nd tople|vel body|
|00001d40| 20 70 61 72 74 73 0a 0a | 20 20 20 20 20 20 20 20 | parts..| |
|00001d50| 74 6f 70 6c 65 76 65 6c | 2e 6c 61 73 74 70 61 72 |toplevel|.lastpar|
|00001d60| 74 28 29 0a 0a 20 20 20 | 20 20 20 20 20 73 65 6c |t().. | sel|
|00001d70| 66 2e 61 73 73 65 72 74 | 45 71 75 61 6c 28 62 75 |f.assert|Equal(bu|
|00001d80| 66 2e 67 65 74 76 61 6c | 75 65 28 29 2c 20 4f 55 |f.getval|ue(), OU|
|00001d90| 54 50 55 54 29 0a 0a 64 | 65 66 20 74 65 73 74 5f |TPUT)..d|ef test_|
|00001da0| 6d 61 69 6e 28 29 3a 0a | 20 20 20 20 72 75 6e 5f |main():.| run_|
|00001db0| 75 6e 69 74 74 65 73 74 | 28 4d 69 6d 65 77 72 69 |unittest|(Mimewri|
|00001dc0| 74 65 72 54 65 73 74 29 | 0a 0a 69 66 20 5f 5f 6e |terTest)|..if __n|
|00001dd0| 61 6d 65 5f 5f 20 3d 3d | 20 27 5f 5f 6d 61 69 6e |ame__ ==| '__main|
|00001de0| 5f 5f 27 3a 0a 20 20 20 | 20 74 65 73 74 5f 6d 61 |__':. | test_ma|
|00001df0| 69 6e 28 29 0a | |in(). | |
+--------+-------------------------+-------------------------+--------+--------+