Guido van Rossum | 2ad816f | 1998-04-23 13:33:56 +0000 | [diff] [blame] | 1 | test_MimeWriter |
| 2 | From: bwarsaw@cnri.reston.va.us |
| 3 | Date: Mon Feb 12 17:21:48 EST 1996 |
| 4 | To: kss-submit@cnri.reston.va.us |
| 5 | MIME-Version: 1.0 |
| 6 | Content-Type: multipart/knowbot; |
| 7 | boundary="801spam999"; |
| 8 | version="0.1" |
| 9 | |
| 10 | This is a multi-part message in MIME format. |
| 11 | |
| 12 | --801spam999 |
| 13 | Content-Type: multipart/knowbot-metadata; |
| 14 | boundary="802spam999" |
| 15 | |
| 16 | |
| 17 | --802spam999 |
| 18 | Content-Type: message/rfc822 |
| 19 | KP-Metadata-Type: simple |
| 20 | KP-Access: read-only |
| 21 | |
| 22 | KPMD-Interpreter: python |
| 23 | KPMD-Interpreter-Version: 1.3 |
| 24 | KPMD-Owner-Name: Barry Warsaw |
| 25 | KPMD-Owner-Rendezvous: bwarsaw@cnri.reston.va.us |
| 26 | KPMD-Home-KSS: kss.cnri.reston.va.us |
| 27 | KPMD-Identifier: hdl://cnri.kss/my_first_knowbot |
| 28 | KPMD-Launch-Date: Mon Feb 12 16:39:03 EST 1996 |
| 29 | |
| 30 | --802spam999 |
| 31 | Content-Type: text/isl |
| 32 | KP-Metadata-Type: complex |
| 33 | KP-Metadata-Key: connection |
| 34 | KP-Access: read-only |
| 35 | KP-Connection-Description: Barry's Big Bass Business |
| 36 | KP-Connection-Id: B4 |
| 37 | KP-Connection-Direction: client |
| 38 | |
| 39 | INTERFACE Seller-1; |
| 40 | |
| 41 | TYPE Seller = OBJECT |
| 42 | DOCUMENTATION "A simple Seller interface to test ILU" |
| 43 | METHODS |
Guido van Rossum | 08636f0 | 1998-06-11 22:22:39 +0000 | [diff] [blame] | 44 | price():INTEGER, |
Guido van Rossum | 2ad816f | 1998-04-23 13:33:56 +0000 | [diff] [blame] | 45 | END; |
| 46 | |
| 47 | --802spam999 |
| 48 | Content-Type: message/external-body; |
| 49 | access-type="URL"; |
| 50 | URL="hdl://cnri.kss/generic-knowbot" |
| 51 | |
| 52 | Content-Type: text/isl |
| 53 | KP-Metadata-Type: complex |
| 54 | KP-Metadata-Key: generic-interface |
| 55 | KP-Access: read-only |
| 56 | KP-Connection-Description: Generic Interface for All Knowbots |
| 57 | KP-Connection-Id: generic-kp |
| 58 | KP-Connection-Direction: client |
| 59 | |
| 60 | |
| 61 | --802spam999-- |
| 62 | |
| 63 | --801spam999 |
| 64 | Content-Type: multipart/knowbot-code; |
| 65 | boundary="803spam999" |
| 66 | |
| 67 | |
| 68 | --803spam999 |
| 69 | Content-Type: text/plain |
| 70 | KP-Module-Name: BuyerKP |
| 71 | |
| 72 | class Buyer: |
| 73 | def __setup__(self, maxprice): |
Guido van Rossum | 08636f0 | 1998-06-11 22:22:39 +0000 | [diff] [blame] | 74 | self._maxprice = maxprice |
Guido van Rossum | 2ad816f | 1998-04-23 13:33:56 +0000 | [diff] [blame] | 75 | |
| 76 | def __main__(self, kos): |
Guido van Rossum | 08636f0 | 1998-06-11 22:22:39 +0000 | [diff] [blame] | 77 | """Entry point upon arrival at a new KOS.""" |
| 78 | broker = kos.broker() |
| 79 | # B4 == Barry's Big Bass Business :-) |
| 80 | seller = broker.lookup('Seller_1.Seller', 'B4') |
| 81 | if seller: |
| 82 | price = seller.price() |
| 83 | print 'Seller wants $', price, '... ' |
| 84 | if price > self._maxprice: |
| 85 | print 'too much!' |
| 86 | else: |
| 87 | print "I'll take it!" |
| 88 | else: |
| 89 | print 'no seller found here' |
Guido van Rossum | 2ad816f | 1998-04-23 13:33:56 +0000 | [diff] [blame] | 90 | |
| 91 | --803spam999-- |
| 92 | |
| 93 | --801spam999 |
| 94 | Content-Type: multipart/knowbot-state; |
| 95 | boundary="804spam999" |
| 96 | KP-Main-Module: main |
| 97 | |
| 98 | |
| 99 | --804spam999 |
| 100 | Content-Type: text/plain |
| 101 | KP-Module-Name: main |
| 102 | |
| 103 | # instantiate a buyer instance and put it in a magic place for the KOS |
| 104 | # to find. |
| 105 | __kp__ = Buyer() |
| 106 | __kp__.__setup__(500) |
| 107 | |
| 108 | --804spam999-- |
| 109 | |
| 110 | --801spam999-- |