Add folder with Python mailing list messages

master
Manos Pitsidianakis 2020-07-10 22:29:56 +03:00
parent 3a1bf315aa
commit 6d39a20d84
Signed by: Manos Pitsidianakis
GPG Key ID: 73627C2F690DF710
1908 changed files with 87229 additions and 524 deletions

5
Cargo.lock generated
View File

@ -1015,11 +1015,12 @@ checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
[[package]]
name = "miniz_oxide"
version = "0.4.1"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d7559a8a40d0f97e1edea3220f698f78b1c5ab67532e49f68fde3910323b722"
checksum = "c60c0dfe32c10b43a144bad8fc83538c52f58302c92300ea7ec7bf7b38d5a7b9"
dependencies = [
"adler",
"autocfg",
]
[[package]]

View File

@ -0,0 +1,79 @@
From: jepler at inetnebr.com (Jeff Epler)
Date: 21 Feb 1999 18:21:29 GMT
Subject: New (?) suggestion to solve "assignment-in-while" desire
Message-ID: <mailman.0.1433094741.31156.python-list@python.org>
X-IMAPbase: 1567524838 0000742335
X-UID: 1
Content-Length: 2202
We all know what the problem looks like:
while 1:
x=sys.stdin.readline()
if not x: break
....
well, someone can write an "xreadlines" which permits
for i in xreadlines(sys.stdin):
....
but next, who knows what "x"-function we will need.
And, at the same time, "for" embodies a test (for IndexError) and an
assignment (to the loop variable). So what we need is a nice, generic
class to embody this sort of functionality, with the ability to use an
arbitrary test on the assigned value, as well as accept an arbitrary
exception as an "end of loop" marker.
This is an implementation of the "lazy" class, which does what I've
discussed:
--------------------------------------------------------------------------
class lazy:
def __init__(self, function, test=lambda x: not x, exception=None,
index=0):
self.f=function
self.t=test
self.e=exception
self.i=index
def __getitem__(self, i):
try:
if self.i: ret=self.f(i)
else: ret=self.f()
except self.e:
raise IndexError
if self.t(ret):
raise IndexError
return ret
--------------------------------------------------------------------------
here are some uses of it: xreadlines, and "xrange1" a limited
reimplementation of xrange.
--------------------------------------------------------------------------
xreadlines=lambda x: lazy(x.readline, exception=EOFError)
xrange1=lambda min, max, inc: lazy(lambda x, min=min, inc=inc: min+inc*x,
lambda y, max=max: y>=max, index=1)
--------------------------------------------------------------------------
the basic
for i in lazy(f):
body
is the same as:
while 1:
i=f()
if not i: break
body
but you can embellish with more complicated tests, exception tests, or
whatever.
The class assumes it will be called in a "for-like way" so please refrain
from taunting it.
Jeff

View File

@ -0,0 +1,77 @@
From: jepler at inetnebr.com (Jeff Epler)
Date: 21 Feb 1999 18:21:29 GMT
Subject: New (?) suggestion to solve "assignment-in-while" desire
Message-ID: <mailman.3.1433095024.31156.python-list@python.org>
X-UID: 2
Content-Length: 2201
We all know what the problem looks like:
while 1:
x=sys.stdin.readline()
if not x: break
....
well, someone can write an "xreadlines" which permits
for i in xreadlines(sys.stdin):
....
but next, who knows what "x"-function we will need.
And, at the same time, "for" embodies a test (for IndexError) and an
assignment (to the loop variable). So what we need is a nice, generic
class to embody this sort of functionality, with the ability to use an
arbitrary test on the assigned value, as well as accept an arbitrary
exception as an "end of loop" marker.
This is an implementation of the "lazy" class, which does what I've
discussed:
--------------------------------------------------------------------------
class lazy:
def __init__(self, function, test=lambda x: not x, exception=None,
index=0):
self.f=function
self.t=test
self.e=exception
self.i=index
def __getitem__(self, i):
try:
if self.i: ret=self.f(i)
else: ret=self.f()
except self.e:
raise IndexError
if self.t(ret):
raise IndexError
return ret
--------------------------------------------------------------------------
here are some uses of it: xreadlines, and "xrange1" a limited
reimplementation of xrange.
--------------------------------------------------------------------------
xreadlines=lambda x: lazy(x.readline, exception=EOFError)
xrange1=lambda min, max, inc: lazy(lambda x, min=min, inc=inc: min+inc*x,
lambda y, max=max: y>=max, index=1)
--------------------------------------------------------------------------
the basic
for i in lazy(f):
body
is the same as:
while 1:
i=f()
if not i: break
body
but you can embellish with more complicated tests, exception tests, or
whatever.
The class assumes it will be called in a "for-like way" so please refrain
from taunting it.
Jeff

View File

@ -0,0 +1,34 @@
From: wavers at mail.pt (waver)
Date: Sat, 27 Mar 1999 15:25:30 +0000
Subject: help-me please
Message-ID: <000801be7866$0d4d0020$6d0f1ed5@wavers>
Content-Length: 1106
X-UID: 3
Hi!
i am a portuguese guy that heve some questions about Python.
I read some tuturials but all only talk about how to program with Python
and
that is very important) but i want to know some other things:
1-What do we do with Python?
2-Can Python do some programs ?
3-Python is a language only to Internet or can do some programs ?
4-Explain how do i write my things in Python , i know that in the Python
Shell we can write some commands but if i want to build some thing in Python
i write in notepad and then how do i test it ??
5-Does any Web Hosting Server support Python?
I know that are some lhamme questions but i want to learn Python so first i
nedd to know how does Python word and what does it do.
So please try to answear my questions , and for that email-me wavers at mail.pt
because i don`t know how to work with newsgroup.
Thank very much AND PELASE ANSWER MY QUESTION WITH ANY EMAIL TO
WAVERS at MAIL.PT .
Byeeeeee
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/19990327/b369b473/attachment.html>

View File

@ -0,0 +1,35 @@
From: python at rose164.wuh.wustl.edu (David Fisher)
Date: Sat, 20 Mar 1999 19:48:27 -0600
Subject: Simple tuple question
Message-ID: <021001be7343$35563dc0$8f3dfc80@spkydomain>
Content-Length: 1251
X-UID: 4
Spam detection software, running on the system "albatross.python.org", has
identified this incoming email as possible spam. The original message
has been attached to this so you can view it (if it isn't spam) or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: ----- Original Message ----- From: "Jeff Shipman" <shippy at cs.nmt.edu>
Newsgroups: comp.lang.python To: <python-list at python.org> Sent: Monday, March
20, 2000 11:54 AM Subject: Re: Simple tuple question [...]
Content analysis details: (5.7 points, 5.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
2.0 FH_DATE_IS_19XX The date is not 19xx.
1.4 NO_DNS_FOR_FROM DNS: Envelope sender has no MX or A DNS records
2.3 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date
-------------- next part --------------
An embedded message was scrubbed...
From: "David Fisher" <python at rose164.wuh.wustl.edu>
Subject: Re: Simple tuple question
Date: Sat, 20 Mar 1999 19:48:27 -0600
Size: 1894
URL: <http://mail.python.org/pipermail/python-list/attachments/19990320/1ce203c0/attachment.mht>

View File

@ -0,0 +1,36 @@
From: python at rose164.wuh.wustl.edu (David Fisher)
Date: Sun, 21 Mar 1999 11:37:38 -0600
Subject: making py modules with C
Message-ID: <012701be73c1$a2872200$573dfc80@spkydomain>
Content-Length: 1284
X-UID: 5
Spam detection software, running on the system "albatross.python.org", has
identified this incoming email as possible spam. The original message
has been attached to this so you can view it (if it isn't spam) or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: ----- Original Message ----- From: "Gordon McMillan" <gmcm at hypernet.com>
To: "David Fisher" <python at rose164.wuh.wustl.edu>; <python-list at python.org>
Sent: Tuesday, March 21, 2000 6:49 AM Subject: Re: making py modules with
C [...]
Content analysis details: (5.7 points, 5.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
1.4 NO_DNS_FOR_FROM DNS: Envelope sender has no MX or A DNS records
2.0 FH_DATE_IS_19XX The date is not 19xx.
2.3 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date
-------------- next part --------------
An embedded message was scrubbed...
From: "David Fisher" <python at rose164.wuh.wustl.edu>
Subject: Re: making py modules with C
Date: Sun, 21 Mar 1999 11:37:38 -0600
Size: 2969
URL: <http://mail.python.org/pipermail/python-list/attachments/19990321/3f73cd3d/attachment.mht>

View File

@ -0,0 +1,36 @@
From: python at rose164.wuh.wustl.edu (David Fisher)
Date: Sat, 20 Mar 1999 20:32:35 -0600
Subject: making py modules with C
Message-ID: <021101be7343$36381240$8f3dfc80@spkydomain>
Content-Length: 1294
X-UID: 6
Spam detection software, running on the system "albatross.python.org", has
identified this incoming email as possible spam. The original message
has been attached to this so you can view it (if it isn't spam) or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: I don't know about the make but I can point out a few syntax
errors. ----- Original Message ----- From: "Shaun Hogan" <shogan at iel.ie>
To: "python" <python-list at cwi.nl> Sent: Monday, March 20, 2000 4:56 AM Subject:
making py modules with C [...]
Content analysis details: (5.7 points, 5.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
1.4 NO_DNS_FOR_FROM DNS: Envelope sender has no MX or A DNS records
2.0 FH_DATE_IS_19XX The date is not 19xx.
2.3 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date
-------------- next part --------------
An embedded message was scrubbed...
From: "David Fisher" <python at rose164.wuh.wustl.edu>
Subject: Re: making py modules with C
Date: Sat, 20 Mar 1999 20:32:35 -0600
Size: 3327
URL: <http://mail.python.org/pipermail/python-list/attachments/19990320/fbf53fd2/attachment.mht>

View File

@ -0,0 +1,37 @@
From: python at rose164.wuh.wustl.edu (David Fisher)
Date: Sun, 21 Mar 1999 10:37:41 -0600
Subject: Importing "Modules"
Message-ID: <007d01be73b9$38fb7460$573dfc80@spkydomain>
Content-Length: 1353
X-UID: 7
Spam detection software, running on the system "albatross.python.org", has
identified this incoming email as possible spam. The original message
has been attached to this so you can view it (if it isn't spam) or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: ----- Original Message ----- From: "Adrian Eyre" <a.eyre at optichrome.com>
To: "JJ" <joacim at home.se>; <python-list at python.org> Sent: Tuesday, March
21, 2000 5:45 AM Subject: RE: Importing "Modules" > > Constants.pyc > > [snip]
> > Call this file "Constants.py". The .pyc will be generated for you. >
[...]
Content analysis details: (5.7 points, 5.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
1.4 NO_DNS_FOR_FROM DNS: Envelope sender has no MX or A DNS records
2.0 FH_DATE_IS_19XX The date is not 19xx.
2.3 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date
-------------- next part --------------
An embedded message was scrubbed...
From: "David Fisher" <python at rose164.wuh.wustl.edu>
Subject: Re: Importing "Modules"
Date: Sun, 21 Mar 1999 10:37:41 -0600
Size: 3255
URL: <http://mail.python.org/pipermail/python-list/attachments/19990321/d1654221/attachment.mht>

View File

@ -0,0 +1,37 @@
From: python at rose164.wuh.wustl.edu (David Fisher)
Date: Wed, 17 Mar 1999 09:31:02 -0600
Subject: Code basics
Message-ID: <011901be708b$41ebf3a0$3f3dfc80@spkydomain>
Content-Length: 1432
X-UID: 8
Spam detection software, running on the system "albatross.python.org", has
identified this incoming email as possible spam. The original message
has been attached to this so you can view it (if it isn't spam) or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: Hi JJ, You indicate a block with indentation. Like so: while
notDone: chip = self.getNumberOfSomething() if chip == 10: print "Tjohoo"
else: print "Oh no!" I changed the this to self because thats the usual way
of calling an instance method. Just pretend there's a class floating just
off screen that this is inside of. [...]
Content analysis details: (5.3 points, 5.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
1.4 NO_DNS_FOR_FROM DNS: Envelope sender has no MX or A DNS records
2.0 FH_DATE_IS_19XX The date is not 19xx.
2.3 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date
-0.4 AWL AWL: From: address is in the auto white-list
-------------- next part --------------
An embedded message was scrubbed...
From: "David Fisher" <python at rose164.wuh.wustl.edu>
Subject: Re: Code basics
Date: Wed, 17 Mar 1999 09:31:02 -0600
Size: 2336
URL: <http://mail.python.org/pipermail/python-list/attachments/19990317/a65f1127/attachment.mht>

View File

@ -0,0 +1,29 @@
From: mail at to.me (Usenet User)
Date: 28 Apr 1999 05:53:36 GMT
Subject: GUI other than Tkinter (TVision?)
References: <3721567f.1748033@news> <7g1a8h$fae$1@Starbase.NeoSoft.COM>
Message-ID: <8DB68CFE2HolyMama@bbinews.netvigator.com>
X-UID: 9
Anyone interested in wrap this TVision with python?
http://www.geocities.com/SiliconValley/Vista/6552/tvision.html
Turbo Vision is the good old TUI (Text User Interface) we
used in Turbo C++ and it is GPLed. It is written in C++ and maybe someone
want to wrap it with python.
==========
What's Turbo Vision?
Turbo Vision (TVision for short) is a TUI (Text User Interface) that
implements the well known CUA widgets. With TVision you can create an
intuitive text mode application, intuitive means it will have CUA like
interface (check boxes, radio buttons, push buttons, input lines, pull
-down menues, status bars, etc.). All the people acustomed to the
Windows, MacOS, OS/2, Motif, GTK, etc. interfaces will understand the
interface at first sight.
===========

View File

@ -0,0 +1,51 @@
From: mcannon at 21stcentury.net (Michael J. Cannon)
Date: Mon, 12 Apr 1999 23:40:19 -0500
Subject: Python and Nutcracker
References: <370B62F2.93D76301@oi42.kwu.siemens.de>
Message-ID: <3712CAB2.77A5AF2B@21stcentury.net>
Content-Length: 1650
X-UID: 10
Dr Tschammer:
Speaking from experience, both in supporting (independently of
DataFocus) and porting, all I can say is be careful of the I/O and
exception handling in the Nutcracker, especially when addressing issues
involved in Winsock and calls to any messaging .dll's or libraries.
Also, your users will have to disable the Nutcracker service manually
when doing backups from NT databases on the server (especially SQL
server and Oracle) and then manually restart, as cron and at -type calls
are problematic with the Nutcracker services running. Finally, license
WinBatch for your customers/users as they will need it.
Personally, I have given up on Nutcracker as support is both expensive
and a nightmare of frustrated users. My preferred platform is now Java
(via javat) or a mix of c (GNU C or C+/++) and python.
For a taste of what you're in for as far as support, check out the EDI-L
mailing list and watch for messages on Harbinger's TLE product (formerly
UNIX PREMENOS), or see if you can't get in contact with someone who will
honestly critique NUWC's efforts (prominently featured on the DataFocus
site).
My feeling is that Nutcracker was a good idea with a rushed
implementation. With all the faults of NT, to depend on a set of
libraries existing as a service, poorly implemented, is asking for
trouble.
"Dr. Armin Tschammer" wrote:
> Hi,
> Has anyone experience with Python and Nutcracker ?
> We are using embedded Python in our application which
> is developed under HPUX.
> We are now porting our application to Windows NT
> with the help of the Nutcracker library.
> Has anyone already done such stuff ?
>
> Armin

View File

@ -0,0 +1,108 @@
From: faassen at pop.vet.uu.nl (Martijn Faassen)
Date: Thu, 22 Apr 1999 19:49:24 +0200
Subject: Pointers to variables
References: <19990422121403.A279051@vislab.epa.gov>
Message-ID: <371F6124.48EA9794@pop.vet.uu.nl>
Content-Length: 3214
X-UID: 11
Randall Hopper wrote:
>
> This doesn't work:
>
> for ( var, str ) in [( self.min, 'min_units' ),
> ( self.max, 'max_units' )]:
> if cnf.has_key( str ):
> var = cnf[ str ]
> del cnf[ str ]
>
> It doesn't assign values to self.min, self.max (both integers). The values
> of these variables are inserted into the tuples and not references to the
> variables themselves, which is the problem.
>
> How can I cause a reference to the variables to be stored in the tuples
> instead of their values?
Hi there,
I've been trying to understand the purpose of the code in your fragment
and your question for a minute or so, but I'm not entirely sure I get it
yet.
I'm assuming what you want is to get 'cnf[str]' assigned to self.min or
self.max.
What you could do is something like this:
for str in ('min_units', 'max_units'):
if cnf.has_key(str):
setattr(self, str, cnf[str])
del cnf[str]
Tuples, by the way are immutable, so you can't change what values their
elements point to after they've been created (though if these values
point to other things themselves you can change that). That is, you
can't do this:
foo = (value1, value2)
foo[0] = "hey"
But, if you'd use a mutable list, you still run into trouble. If you say
this:
mylist = [None] # list with a single element
None
variable_i_want_to_change = "Foo" # a variable I want to
change
mylist[0] = variable_i_want_to_change # okay, mylist[0] points to
same data
mylist[0] = "Bar" # now mylist[0] points to
different data
then 'variable_i_want_to_change' won't change. You've simply changed
what value mylist[0] points at. This is because a string (and integers
etc) are immutable values in Python. If you use a mutable value such as
a dictionary, you get this:
mylist = [None]
variable_i_want_to_change = {}
mylist[0] = variable_i_want_to_change
mylist[0]["some key"] = "bar" # indeed changes
variable_i_want_to_change!
# mylist[0] = "Bar" -- doesn't work, makes mylist[0] point elsewhere
I suspect I'm making things sound horribly complicated when they aren't
really. I can keep all this in my head easily, it's just hard
communicating it. I can understand the confusion with pointers from C,
but note that this is the actual semi-equivalent C code (of the first
fragment, not the dict one, and using ints instead of strings):
/* Initialize the variables, assume easy allocate functions which do all
the
malloc() calls I don't want to figure out right now */
int** mylist = allocate_list();
*mylist[0] = 0;
/* now we have a list with a pointer to an int value, which is 0 */
int* variable_i_want_to_change = allocate_int();
*variable_i_want_to_change = 1;
/* now we have a variable which points to an int value, which is 1 */
*mylist[0] = *variable_i_want_to_change;
/* now the data mylist[0] points at becomes 1 too */
*mylist[0] = 2;
/* now the data mylist[0] points at becomes 2 */
/* has the data *variable_i_want_to_change changed? no. I hope! :)*/
I don't expect this explained a lot. I feel like Tim Peters somehow...
:)
Regards,
Martijn

View File

@ -0,0 +1,14 @@
From: tville at earthlink.net (susan e paolini)
Date: Wed, 14 Apr 1999 13:01:30 -0400
Subject: what do you do with Python
Message-ID: <3714C9EA.86C0A4E@earthlink.net>
X-UID: 12
I never see jobs with Python advertised so what is it that Python does?
Thanks for the advice

View File

@ -0,0 +1,20 @@
From: roy at popmail.med.nyu.edu (Roy Smith)
Date: Thu, 29 Apr 1999 14:02:40 -0400
Subject: padding strings
Message-ID: <roy-2904991402400001@qwerky.med.nyu.edu>
X-UID: 13
Given a string, I want to generate another string which is exactly N
characters long. If the first string is less than N, I want to blank-pad
it. If the first string is greater than N, I want to truncate it.
What's the most straight-forward way to do that?
--
Roy Smith <roy at popmail.med.nyu.edu>
New York University School of Medicine

View File

@ -0,0 +1,23 @@
From: larsga at ifi.uio.no (Lars Marius Garshol)
Date: 06 Apr 1999 07:33:09 +0200
Subject: SNMPy update
References: <7e1hiq$a71$1@Starbase.NeoSoft.COM> <7ear25$ksf$1@news-sj-3.cisco.com> <14089.11820.416453.80124@bitdiddle.cnri.reston.va.us>
Message-ID: <wkiubacnze.fsf@ifi.uio.no>
X-UID: 14
* Jeremy Hylton
|
| expect that I'd want to release it given the export control hassles.
| However, it seemed clear to me that an ASN.1 compiler could be
| written to generate the encode/decode routines. If someone is
| interested in that, I've got some design notes and rough code on how
| to do the encode/decode and on how to build a backend for SNACC.
I'd be interested in that. I've been thinking of doing a pure-Python
LDAP client.
--Lars M.

View File

@ -0,0 +1,105 @@
From: sweeting at neuronet.com.my (sweeting at neuronet.com.my)
Date: Sun, 25 Apr 1999 20:11:31 GMT
Subject: converting perl to python - simple questions.
References: <000001be8f3e$eea9c3c0$d39e2299@tim>
Message-ID: <7fvstg$nqo$1@nnrp1.dejanews.com>
Content-Length: 3248
X-UID: 15
> > Anyway, since I know that there are a few ex-perlmongers on the list,
> > would somebody be so kind as to confirm whether I've translated
> > the following code snippets correctly :
> >
> > a) Perl's "defined".
> > [perl]
> > if (defined($x{$token})
> >
> > [python]
> > if (x.has_key(token) and x[token]!=None) :
>
> If should be enough to do
>
> if x.has_key(token):
>
> under the probably-correct theory that the Perl is just asking "does hash
> 'x' have key 'token'?" "None" is a specific valid value, not at all
> "undefined", so checking x[token] against None doesn't make sense unless
> you've established your own consistent program-wide convention of using None
> to *mean* something like undefined. Which is dicey. After e.g. "del
> x[token]", a reference to x[token] doesn't yield None, it raises the
> KeyError exception.
For years, I've been thinking of "None" in Python as "null" in javascript,
meaning "no value set" and so it was actually quite interesting to see that
Perl has "exists" and "defined" functions for dictionaries.... I had
translated "exists($dictionary{$token})" into "dictionary.has_key(token)"
and hence went overboard when I translated "defined(...)"
Anyway, from testing it does appear that both defined() and exists()
can be simply replaced with dico.has_key(token) in my scripts.
> > b) RE's.
> > [perl]
> > if ($mytext !~ /^\s$/)
> >
> > [python]
> > if not (re.match('^\s$'), mytext)
>
> Hmm. The Perl says "if mytext isn't a single whitespace character", which
> is an odd thing to check! If that's the intent, fine.
Yes, loads of double-byte character processing ...
> Python's "match"
> already constrains the search to begin at the start of the string, so the
> leading "^" isn't needed (use Python's "search" if don't want that
> constraint).
aaaah - subtle. Thanks.
>So:
>
> if not re.match(r"\s$", mytext):
>
> Get in the habit of using r-strings for writing regexps; they'll make your
> backslash life much easier.
Thank you for pointing that out - the perl stuff's been screwing
with my head and making me confused, \s being ok in that language.
> Another thing to note is that high-use regexps can be compiled, and if
> they're always used in the same way (match vs search) you can capture that
> choice too. So this may be more appropriate:
>
> is_single_whitespace = re.compile(r"\s$").match
>
> while whatever:
> ...
> if not is_single_whitespace(mytext):
> ...
> ...
Thank you very much - I'd read the excellent howto on python.org and that
described this too. I chose not to compile just for clarity since I'm still
trying to work out if I've translated the code from perl to python
correctly. But I will optimise later...
> Hoisting the regexp compilation out of the loop can be a substantial win.
>
> > Since I know neither perl nor chinese, it would be nice if somebody
> > could help me remove one of the variables in my debugging.
>
> native-speakers-of-both-say-chinese-is-easier-to-read<wink>-ly y'rs - tim
after today, i'd be inclined to agree :)
chas
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own

View File

@ -0,0 +1,110 @@
From: parkw at better.net (William Park)
Date: Wed, 28 Apr 1999 15:20:42 -0400
Subject: HTML "sanitizer" in Python
In-Reply-To: <s72703fc.021@holnam.com>; from Scott Stirling on Wed, Apr 28, 1999 at 12:49:55PM -0400
References: <s72703fc.021@holnam.com>
Message-ID: <19990428152042.A708@better.net>
Content-Length: 4007
X-UID: 16
On Wed, Apr 28, 1999 at 12:49:55PM -0400, Scott Stirling wrote:
> Hi,
>
> I am new to Python. I have an idea of a work-related project I want
> to do, and I was hoping some folks on this list might be able to
> help me realize it. I have Mark Lutz' _Programming Python_ book,
> and that has been a helpful orientation. I like his basic packer
> and unpacker scripts, but what I want to do is something in between
> that basic program and its later, more complex manifestations.
>
> I am on a Y2K project with 14 manufacturing plants, each of which
> has an inventory of plant process components that need to be tested
> and/or replaced. I want to put each plant's current inventory on
> the corporate intranet on a weekly or biweekly basis. All the plant
> data is in an Access database. We are querying the data we need and
> importing into 14 MS Excel 97 spreadsheets. Then we are saving the
> Excel sheets as HTML. The HTML files bloat out with a near 100%
> increase in file size over the original Excel files. This is
> because the HTML converter in Excel adds all kinds of unnecessary
> HTML code, such as <FONT FACE="Times New Roman"> for every single
> cell in the table. Many of these tables have over 1000 cells, and
> this code, along with its accompanying closing FONT tag, add up
> quick. The other main, unnecessary code is the ALIGN="left"
> attribute in <TD> tags (the default alignment _is_ left). The
> unnecessary tags are consistent and easy to identify, and a routine
> sh!
> ould be writable that will automate the removal of them.
>
> I created a Macro in Visual SlickEdit that automatically opens all
> these HTML files, finds and deletes all the tags that can be
> deleted, saves the changes and closes them. I originally wanted to
> do this in Python, and I would still like to know how, but time
> constraints prevented it at the time. Now I want to work on how to
> create a Python program that will do this. Can anyone help? Has
> anyone written anything like this in Python already that they can
> point me too? I would really appreciate it.
>
> Again, the main flow of the program is:
>
> >> Open 14 HTML files, all in the same folder and all with the .html
> >> extension. Find certain character strings and delete them from
> >> the files. In one case (the <TD> tags) it is easier to find the
> >> whole tag with attributes and then _replace_ the original tag
> >> with a plain <TD>. Save the files. Close the files. Exit the
> >> program.
Hi Scott,
I shall assume that a <TD ...> tag occurs in one line. Try 'sed',
for i in *.html
do sed -e 's/<TD ALIGN="left">/<TD>/g" $i > /tmp/$i && mv /tmp/$i $i
done
or, in Python,
for s in open('...', 'r').readlines():
s = string.replace('<TD ALIGN="left">', '<TD>', s)
print string.strip(s)
If <TD ...> tag spans over more than one line, then read the file in
whole, like
for s in open('...', 'r').read():
If the tag is not consistent, then you may have to use regular
expression with 're' module.
Hopes this helps.
William
>
> More advanced options would be the ability for the user to set
> parameters for the program upon running it, to keep from hard-coding
> the find and replace parms.
To use command line parameters, like
$ cleantd 'ALIGN="left"'
change to
s = string.replace('<TD %s>' % sys.argv[1], '<TD>', s)
>
> OK, thanks to any help you can provide. I partly was turned on to
> Python by Eric Raymond's article, "How to Become a Hacker" (featured
> on /.). I use Linux at home, but this program would be for use on a
> Windows 95 platform at work, if that makes any difference. I do
> have the latest Python interpreter and editor for Windows here at
> work.
>
> Yours truly,
> Scott
>
> Scott M. Stirling
> Visit the HOLNAM Year 2000 Web Site: http://web/y2k
> Keane - Holnam Year 2000 Project
> Office: 734/529-2411 ext. 2327 fax: 734/529-5066 email: sstirlin at holnam.com
>
>
> --
> http://www.python.org/mailman/listinfo/python-list

View File

@ -0,0 +1,43 @@
From: aa8vb at vislab.epa.gov (Randall Hopper)
Date: Sat, 17 Apr 1999 15:23:44 GMT
Subject: Bug with makesetup on FreeBSD
In-Reply-To: <19990416215633.C2020@ipass.net>; from Randall Hopper on Fri, Apr 16, 1999 at 09:56:33PM -0400
References: <19990416143607.B1546743@vislab.epa.gov> <19990416215633.C2020@ipass.net>
Message-ID: <19990417112344.A1624668@vislab.epa.gov>
X-UID: 17
Andrew Csillag:
|Randall Hopper wrote:
|> Andrew Csillag:
|> |makesetup in Python 1.5.1 and 1.5.2 bombs on lines in the Setup file
|> |that use backslash continuation to break a module spec across lines on
|> |FreeBSD.
|>
|> BTW FWIW, I just built 1.5.2 last night on 3.0-RELEASE using the 1.5.2c1
|> port. Worked fine. But it may not invoke makesetup under the hood.
|
|It does invoke makesetup (that's how the Makefile in Modules gets
|written). I'm also running FreeBSD 2.2.8, so it may be a bug in /bin/sh
|that has been subsequently fixed... The quick test is to try this on
|your 3.0 machine
|
|$ read line
|some text here\
|
|On my 2.2.8 machine after I hit return after the \, I get a command line
|prompt, not a "blank prompt" that would mean that the read wasn't done.
It must be something else then, because here with stock Bourne shell:
|$ read line
|some text here\
|$ echo $line
|some text here\
I get the same behavior you describe, but no build breakage.
Randall

View File

@ -0,0 +1,55 @@
From: wdrake at my-dejanews.com (wdrake at my-dejanews.com)
Date: Fri, 30 Apr 1999 18:54:25 GMT
Subject: Oracle Call Interface
References: <7gb3hn$lse$1@nnrp1.dejanews.com> <Pine.GSO.3.96.990430003346.3541A-100000@saga1.Stanford.EDU> <3729ADDA.8E51C1D0@palladion.com>
Message-ID: <7gcu8v$8gp$1@nnrp1.dejanews.com>
Content-Length: 1854
X-UID: 18
I was interested in using Oracle's Advanced Queuing (AQ), specifically the
asynchronous event notification features.
Thanks
In article <3729ADDA.8E51C1D0 at palladion.com>,
Tres Seaver <tseaver at palladion.com> wrote:
> Jeffrey Chang wrote:
> >
> > > If anyone has experience writing applications directly to the Oracle Call
> > > Interface (OCI), in Python or JPython please send me examples or
references on
> > > how to do it.
> >
> > Yuck! What are you planning to do? Do you really really need to write
> > directly to the OCI or can you use one of the available Oracle extension
> > modules?
> >
> > About a year ago, I used the oracledb module from Digital Creations with
> > Oracle7. It's very nice, but not optimized, and thus slow for large
> > queries. Since then, Digital Creations has made DCOracle
> > (http://www.digicool.com/DCOracle/; their commercial extension module)
> > open source, so I guess that will replace oracledb. I haven't looked at
> > it, but according to the FAQ, it's "much faster."
> >
> > I strongly advise you to use an extension module or JDBC if at all
> > possible. Writing to the OCI is extremely ugly -- all the stuff we try to
> > avoid by using python!
>
> ODBC/JDBC solutions suffer from "least-common-denominator" symptom; one can't
> easily exploit Oracleisms. I haven't played with DCOracle yet, but wrapping
OCI
> into a nice Pythonic package would be a big win in some situations (passing
> array parameters to stored procedures is the one I most often want).
>
> --
> =========================================================
> Tres Seaver tseaver at palladion.com 713-523-6582
> Palladion Software http://www.palladion.com
>
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own

View File

@ -0,0 +1,54 @@
From: tim_one at email.msn.com (Tim Peters)
Date: Sun, 11 Apr 1999 02:15:54 GMT
Subject: Python 2.0 compatibility
In-Reply-To: <GIOP2.37825$A6.19136587@news1.teleport.com>
References: <GIOP2.37825$A6.19136587@news1.teleport.com>
Message-ID: <000401be83c1$3a66e060$7fa22299@tim>
Content-Length: 1985
X-UID: 19
[Paranoid User]
> We have selected Python as the scripting language for the next
> generation of one of our embedded systems.
Good choice! Take the opportunity to expand it to all of your systems.
> This is a very fast-track project scheduled to ship near the end of
> the first quarter of 2000.
In Internet time, that's about a century from now; but in Python time, it's
just the early part of next year <wink>.
> I ran across a quote that said something to the effect that Python 2 will
> be incompatible with Python 1. Before I make a decision as to whether we
> freeze with Python 1.5.2, or migrate to Python 2 when it is released, I
> need to find out the extent of truthfulness in the "quote".
>
> So, if anyone in-the-know about Python 2 could let me know the proposed
> extent of its compatibility with 1.5.2 I would really appreciate it.
If anything concrete is known about Python2, it's inside Guido's inscrutable
head. Don't worry about it. Since it doesn't yet exist (nor even a wisp of
a sketch of an outline of a design document), it's all speculation.
My guess is it will end up being more compatible than most dare to hope --
or to fear <0.7 wink>. By and large, the only suggestions Guido has seemed
especially keen about are considered by many to be legitimate design errors
in Python1 (the rift between types and classes is a clear example of that;
that e.g. 3/2 returns 1 instead of 1.5 is a controversial example).
It doesn't much matter for you, though, since Python 1.6 will still be part
of the 1.x line, and won't come out before the end of this year. If the
much-later-still Python2 does turn out to be wildly incompatible, there are
enough people using the Python1 line that someone other than Guido is likely
to take over its maintenance (even if not active future development) -- and
*certain* to take it over if enough companies care enough to pay for that
service.
speaking-for-the-professional-prostitutes-of-the-world-ly y'rs - tim

View File

@ -0,0 +1,33 @@
From: paul at prescod.net (Paul Prescod)
Date: Thu, 29 Apr 1999 19:00:33 GMT
Subject: padding strings
References: <roy-2904991402400001@qwerky.med.nyu.edu>
Message-ID: <3728AC50.9085F2C0@prescod.net>
X-UID: 20
Roy Smith wrote:
>
> Given a string, I want to generate another string which is exactly N
> characters long. If the first string is less than N, I want to blank-pad
> it. If the first string is greater than N, I want to truncate it.
>
> What's the most straight-forward way to do that?
How about this:
def mypad( s, num ):
return string.ljust( s, num )[:num]
--
Paul Prescod - ISOGEN Consulting Engineer speaking for only himself
http://itrc.uwaterloo.ca/~papresco
"Microsoft spokesman Ian Hatton admits that the Linux system would have
performed better had it been tuned."
"Future press releases on the issue will clearly state that the research
was sponsored by Microsoft."
http://www.itweb.co.za/sections/enterprise/1999/9904221410.asp

View File

@ -0,0 +1,18 @@
From: janssen at parc.xerox.com (Bill Janssen)
Date: Wed, 21 Apr 1999 21:33:08 GMT
Subject: HTTP-NG Support?
In-Reply-To: <002201be8c08$1969e570$8b7125a6@cpda6686.mcit.com>
References: <002201be8c08$1969e570$8b7125a6@cpda6686.mcit.com>
Message-ID: <cr7YEI0B0KGW10rKZr@holmes.parc.xerox.com>
X-UID: 21
I've been using Python with HTTP-NG a lot, via ILU. ILU Python
implements the w3ng wire protocol and the w3mux protocol and most of the
type system -- the only thing missing is local objects, and I'm working
on them now.
Bill

View File

@ -0,0 +1,52 @@
From: donn at u.washington.edu (Donn Cave)
Date: 26 Apr 1999 16:40:25 GMT
Subject: Emulating C++ coding style
References: <371F8FB7.92CE674F@pk.highway.ne.jp> <371F9D0C.4F1205BB@pop.vet.uu.nl> <7foe7r$15mi$1@nntp6.u.washington.edu> <37245184.3AADF34D@pop.vet.uu.nl>
Message-ID: <7g24tp$raa$1@nntp6.u.washington.edu>
Content-Length: 1536
X-UID: 22
Martijn Faassen <faassen at pop.vet.uu.nl> writes:
| Donn Cave wrote:
...
|> It's not much like C++ here, but it's uncanny how it reeks of Python!
|> Namespaces, references!
|
| Indeed. Not having used that class attribute trick often myself, I
| wasn't aware of this surprising behavior. I suppose in order to get the
| C++ behavior it's best to use a module global variable.
Not at all, either way is fine - the class scope is just as good a place
as the module scope, for me it's the perfect place for things that are
specific to the class.
It's the usage that you have to watch out for, and while there are some
perils for the unwary, in the long run it's also an opportunity to gain
a deeper understanding of how simple Python is. Same for module attributes -
common problem, someone imports a module attribute like
from foo import shared
shared = 5
and then wonders, how come no change to the attribute as seen from other
modules. The right way to set to a module attribute - if you must do this
at all - is
foo.shared = 5
and just the same for a class attribute (of class Foo):
from foo import Foo
Foo.shared = 5
In general, you have the problem only when your usage doesn't reflect the
design. If it's really a class attribute, but you set it in the instance
scope, if it's really an external module attribute but you bind it into
the present module's scope during import. Python bites if you trick it.
Donn Cave, University Computing Services, University of Washington
donn at u.washington.edu

View File

@ -0,0 +1,31 @@
From: xx_nospam at delorges.in-berlin.de (Jo Meder)
Date: 16 Apr 1999 17:07:59 +0200
Subject: HTML Authentication with Python
References: <7f5iru$rlm@news.acns.nwu.edu> <14102.27498.772779.5941@bitdiddle.cnri.reston.va.us> <7f6577$8kp@news.acns.nwu.edu> <37171EDE.9DFD027A@quantisci.co.uk>
Message-ID: <m3vhew1u40.fsf@delorges.in-berlin.de>
X-UID: 23
Stephen Crompton <scrompton at quantisci.co.uk> writes:
[Excellent explanation of HTTP-Authentication snipped]
If you still need to do the authentication yourself, e.g. because the
username/password combinations are held in a database that is not
supported by your Webserver: It can be done and how you do it depends
on the type of server you use. I have a working solution for Apache
(which works by (ab)using the rewrite-module) and a solution for Roxen
Challenger that I'll test in Real Life(tm) soon.
Jo.
--
xx_nospam at delorges.in-berlin.de
is a valid address - ist eine gueltige Adresse.

View File

@ -0,0 +1,33 @@
From: fredrik at pythonware.com (Fredrik Lundh)
Date: Tue, 13 Apr 1999 14:49:08 GMT
Subject: CVS module
References: <7evbjf$85f$1@anguish.transas.com>
Message-ID: <001d01be85bc$cd9e92e0$f29b12c2@pythonware.com>
X-UID: 24
Michael Sobolev wrote:
> My quick attempt to find something that would help me to cope with CVS files
> failed. Could anybody advise me whether such a module exist? Under "such a
> module" I mean something that permits to get the complete information about the
> given file:
>
> cvsfile = CVSFile (<full path to file>)
>
> from pprint import pprint
>
> pprint (cvsfile.revisions)
>
> or something alike.
maybe
Demo/pdist/cvslib.py
(in the Python source distribution) could be a start?
</F>

View File

@ -0,0 +1,95 @@
From: tim_one at email.msn.com (Tim Peters)
Date: Sat, 3 Apr 1999 06:26:17 GMT
Subject: disenchanted java user mumbles newbie questions
In-Reply-To: <3705980A.1C7E9512@swcp.com>
References: <3705980A.1C7E9512@swcp.com>
Message-ID: <000101be7d9a$e1ae88a0$879e2299@tim>
Content-Length: 3142
X-UID: 25
[Alex Rice]
> 1) In the Python 1.5 Tutorial, sec. 9.2 "Python Scopes and Name Spaces"
> there is the following passage:
> ...
> -- however, the language definition is evolving towards static name
> resolution, at ``compile'' time, so don't rely on dynamic name
> resolution!
> ...
> Where can I read more about this move towards for compile time, static
> name resolution and the reasons for it.
Best I can suggest is scouring years' worth of DejaNews. Most of it is
summarized in early postings to the Python Types-SIG, though
(http://www.python.org/, and follow the SIGS link at the top ...).
"The reasons" are the same as everyone else's: a mix of efficiency and
compile-time-checked type safety. I'd say the Python thrust these days may
be more toward adding *optional* type decls, though. OTOH, nothing has
changed in this area of Python for > 5 years, so don't panic prematurely
<wink>.
> For some reason I was envisioning Python as being less like Java and
> more like Objective-C or Smalltalk in terms of dynamic binding.
Yes, it is. It's extreme, though. For example, in
def sumlen(a, b, c):
return len(a) + len(b) + len(c)
Python can't assume that "len" refers to the builtin function "len", or even
that all three instances of "len" refer to the same thing within a single
call (let alone across calls). As to what "+" may mean here, it's even
hairier. In effect, the current semantics require that Python look up every
non-local name and access path from scratch every time it (dynamically) hits
one.
This leads to some pretty disgusting convolutions for speeding "inner
loops", in support of a generality that's wonderful to have but actually
*needed* by very little code. Because of a professional background in
compiler optimization, I'm supposed to be appalled by this <wink>.
> 2) Which reminds me: does anyone have a URL for that Ousterhut (sp?)
> article at Sunlabs about Scripting languages and why scripting rulz and
> where he has a taxonomy of programming languages along 2 dimensions?
> Lost that bookmark and cannot find it again.
It's one of the White Papers at:
http://www.scriptics.com/scripting/white.html
> 3) What's the Python equivalent of depends.exe? --something to find what
> modules your script is depending upon?
Suggest searching python.org and DejaNews and Starship for "freeze" and
"squeeze".
> It seems like one would be able to create a very slim distribution if one
> needed an .exe, couple of .dll only a handful of .py files.
Why do I suspect you're a Windows programmer <wink>? The most advanced
Python distribution system for Win32 is likely Gordon McMillan's, available
for free at
http://www.mcmillan-inc.com/install.html
May also want to visit the Python DistUtils SIG.
> A Java+Swing application can be 1-2 MB not including the VM! bloat--ed.
Doubt you're going to get off much cheaper with Python + Tcl/Tk, although it
includes two complete language implementations.
> What's a typical size of a bare-bones Python distribution?
Download one, unpack it, and do "dir" <wink>.
soon-even-light-bulbs-will-have-20Gb-hard-drives-ly y'rs - tim

View File

@ -0,0 +1,26 @@
From: boud at rempt.xs4all.nl (boud at rempt.xs4all.nl)
Date: Sun, 25 Apr 1999 19:03:05 GMT
Subject: GUI other than Tkinter
References: <3721567f.1748033@news> <m2g15oygtk.fsf@desk.crynwr.com>
Message-ID: <FArE96.5A@rempt.xs4all.nl>
X-UID: 26
Russell Nelson <nelson at crynwr.com> wrote:
: mrfusion at bigfoot.com writes:
:
:> Well, I've just about given up on EVER getting Tkinter to work on my
:> Win98 machine. Is there any other GUI module that I can get that
:> doesn't require TCL/TK to be installed on my machine? Isn't there
:> something called GD?
:
: There's pygtk, which uses the gtk toolkit.
:
On Windows 98?
--
Boudewijn Rempt | www.xs4all.nl/~bsarempt

View File

@ -0,0 +1,29 @@
From: justin at linus.mitre.org (Justin Sheehy)
Date: 23 Apr 1999 22:09:54 -0400
Subject: Python too slow for real world
References: <372068E6.16A4A90@icrf.icnet.uk> <3720A21B.9C62DDB9@icrf.icnet.uk> <3720C4DB.7FCF2AE@appliedbiometrics.com> <3720C6EE.33CA6494@appliedbiometrics.com> <y0jaevznhha.fsf@vier.idi.ntnu.no>
Message-ID: <glmvhemn4zx.fsf@caffeine.mitre.org>
X-UID: 27
mlh at idt.ntnu.no (Magnus L. Hetland) writes:
> (And... How about builtin regexes in P2?)
Um, why? I don't see any need at all for them to move from
module-status to core-language-status.
The only way that I could understand the desire for it would be if one
wanted to write little scripts that were basically just some control
flow around regexes and string substitution. That is, something that
looked like most of the programs written in that other P language. ;-)
In all seriousness, what reason do you have for making that
suggestion? I am willing to believe that there might be a good reason
to do so, but it certainly isn't immediately obvious.
-Justin

View File

@ -0,0 +1,39 @@
From: tim_one at email.msn.com (Tim Peters)
Date: Thu, 8 Apr 1999 06:26:21 GMT
Subject: Crappy Software was Re: [OffTopic: Netscape] Re: How should
In-Reply-To: <1288614834-78399188@hypernet.com>
References: <1288614834-78399188@hypernet.com>
Message-ID: <000a01be8188$b7f56280$749e2299@tim>
Content-Length: 1037
X-UID: 28
[Gordon McMillan, among others with Netscape vs IE experience]
> ...
> Having recently ported a sophisticated applet using JNI (Sun's new
> native interface) to JRI (older Netscape) and RNI (older IE), I too
> can kick and scream.
> [guess the outcome <wink>]
I'm no browser wizard -- just took a few stabs over the past year & a half
at writing some relatively simple Java applets, JavaScript and HTML for the
amusement of my family. No CSS, no frames, nothing at all even remotely
cutting-edge. One Netscape-using sister had dozens of problems with *all*
of these, most eventually determined to be cases of NS not meeting the
appropriate std, and-- far too often --crashing her machine.
Fact is NS dropped the browser ball a couple years ago, then poked holes in
it, then attached industrial-strength vacuum cleaners on the off chance any
air remained.
> ...
> When's the last time you closed a GUI from the file menu??
Hey, I'll close a stinking GUI any way I can <wink>.
right-next-to-my-reboot-foot-pedal-ly y'rs - tim

View File

@ -0,0 +1,50 @@
From: mwh21 at cam.ac.uk (Michael Hudson)
Date: 18 Apr 1999 01:09:48 +0100
Subject: Plugins, or selecting modules to import at runtime
References: <924379180.825429211@news.intergate.bc.ca> <924385178.948235039@news.intergate.bc.ca>
Message-ID: <m34smeyek3.fsf@atrus.jesus.cam.ac.uk>
Content-Length: 1063
X-UID: 29
Gerald Gutierrez <gutier at intergate.bc.ca> writes:
> Never mind. I just found the module "imp".
That's waay overkill for what you need; the builtin function
__import__ will do nicely:
Python 1.5.2 (#2, Apr 14 1999, 13:02:03) \
[GCC egcs-2.91.66 19990314 (egcs-1.1.2 on linux2
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> __import__("sys")
<module 'sys' (built-in)>
>>> s=__import__("sys")
>>> s
<module 'sys' (built-in)>
>>>
HTH
Michael
> Thanks.
>
> On Sat, 17 Apr 1999, Gerald Gutierrez wrote:
> >Hi all.
> >
> >I'd like to write a program in Python in which the user can select one of
> >several modules to execute through a function that has the same name in all the
> >modules. I don't believe "import" lets me pass it a string. There is also
> >reload(), but the module to reload must be previously imported.
> >
> >This is very similar to plugins like that used in Netscape, Photoshop and the
> >GIMP.
> >
> >Can someone please give me a hint?
> >
> >Thanks.
> >
> >Please forward replies to gutier at intergate.bc.ca.

View File

@ -0,0 +1,45 @@
From: tavares at connix.com (Chris Tavares)
Date: Sat, 10 Apr 1999 12:14:26 -0400
Subject: pythonwin COM Update link out of date
References: <slrn7gt244.3s6.bernhard@alpha1.csd.uwm.edu> <7em639$fto$1@m2.c2.telstra-mm.net.au>
Message-ID: <370F78E2.8EA7433E@connix.com>
Content-Length: 1039
X-UID: 30
Mark Hammond wrote:
> Bernhard Reiter wrote in message ...
> >http://www.python.org/ftp/python/pythonwin/pwindex.html#oadist
> >
> >Gives a bad link to the MS Microsoft Knowledge Base article Q164529.
> >The link is bad and I cannot relocate the article with the search
> >engine on that site and other methods... :(
> >
> >The closest I could get was:
> > http://support.microsoft.com/support/kb/articles/Q139/4/32.asp
> >from
> > http://support.microsoft.com/support/downloads/LNP195.asp
> >
> >Hmmmm.... is there a potential danger in installing oadist.exe?
>
> There _shouldnt_ be any danger!
>
> These days it is getting quite unnecessary. If you have (I believe) IE4 or
> Office 97, you are pretty up-to-date, and that includes many PCs these days.
>
> You could try installing the Python stuff, and see if it works. Also, see
> my other post this morning as to why the install may fail - try this out
> first.
>
> Mark.
Another option is to download DCOM for Win95 - that'll get the user up to date
and then some!
-Chris

View File

@ -0,0 +1,52 @@
From: bernhard at alpha1.csd.uwm.edu (Bernhard Reiter)
Date: 18 Apr 1999 04:31:27 GMT
Subject: NT: win32api and win32ui import error
References: <7fbcpq$2jb$1@nnrp1.dejanews.com>
Message-ID: <slrn7hio0v.vlp.bernhard@alpha1.csd.uwm.edu>
Content-Length: 1230
X-UID: 31
On Sun, 18 Apr 1999 01:33:46 GMT, hj_ka at my-dejanews.com <hj_ka at my-dejanews.com> wrote:
>I don't know whether this is also related: when I installed
>win32all-124.exe, I got a few warnings:
>
>"Registration of the (AXScript/Python Interpreter/Python Dictionary)
>failed. Installation will continue, but this server will require
>manual registration before it will function."
I had the same warnung and also cannot run the win32 extentions.
(import win32com.client e.g. fails for me.)
Mark Hammond suggested to update some DLLs and it might
very well be a problem related to old DLL version.
(I didn't manage for some reasons to update my DLLs here on my
Windows95 system, so I finally gave up. Any Windows Hacker with
experience in this speak up and offer help! ;-) )
Mark said, that the following dll and their versions might
be relevant:
ole32.dll
oleaut32.dll
msvcrt.dll
The following are used, but should be fine:
pywintypes15.dll
python15.dll
kernel32.dll
user32.dll
You can check the version number in the explorer im C:windows/system
with properties.
Maybe an upgrade package including these .DLLs from support.microsoft.com
can help.
Please report back, If you found a solution...
Bernhard

View File

@ -0,0 +1,51 @@
From: bill_seitz at my-dejanews.com (bill_seitz at my-dejanews.com)
Date: Thu, 15 Apr 1999 15:02:28 GMT
Subject: stupid Win-CGI getting started question
References: <7f0f0h$pfb$1@nnrp1.dejanews.com> <8DA86302Bduncanrcpcouk@news.rmplc.co.uk> <7f2no0$n80$1@nnrp1.dejanews.com> <8DA9637FEduncanrcpcouk@news.rmplc.co.uk>
Message-ID: <7f4v1u$jpd$1@nnrp1.dejanews.com>
Content-Length: 2001
X-UID: 32
In article <8DA9637FEduncanrcpcouk at news.rmplc.co.uk>,
Duncan Booth <duncan at rcp.co.uk> wrote:
> I didn't say it was impossible to run .py files as CGI, simply that I had
> problems getting it to work. Since my number one priority was not to take
> the web server off-line at all, there were limits to how far I could play
> around with it. I'm sure there must be some way to get it to work, but I
> got enough for my purposes.
Gotcha.
I did some more playing around. No success, but here's what I did/found: When
I try to call a .py file I get the "This server has encountered an internal
error which prevents it from fulfilling your request" message. The NES error
log shows: [15/Apr/1999:10:35:53] failure: for host 192.246.193.43 trying to
GET /pcgi/dntest.py, send-cgi reports: could not send new process (File Not
Found Error) [15/Apr/1999:10:35:53] failure: cgi_send:cgi_start_exec
d:\program files\python\lib\dntest.py failed
If I rename the .py file to .cmd and call it with that name, it works fine.
I'm defining a /pcgi/ path to point to the location of the python files, so
I'm not counting on the suffix to mean anything. All the various CGI folders
get mapped to object name="cgi", but again, since suffix is irrelevant, that
shouldn't be the problem.
I went into mime.types and added the py extension to the cgi reference (note
that cmd is not in that extension list). Still get an error, but the log
changes to [15/Apr/1999:10:52:57] failure: for host 192.246.193.43 trying to
GET /pcgi/dntest.py, send-cgi reports: could not send new process (Error
Number is unknown) [15/Apr/1999:10:52:57] failure: cgi_send:cgi_start_exec
d:\program files\python\lib\dntest.py failed
Does this suggest any clues? I've asked a friend who doesn't know Python but
knows Netscape pretty well. Will report back if he has any suggestions.
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own

View File

@ -0,0 +1,30 @@
From: garryh at att.com (Garry Hodgson)
Date: Fri, 9 Apr 1999 17:37:27 GMT
Subject: Is Python dying?
References: <7dos4m$usi$1@nnrp1.dejanews.com> <7e30fp$8vf$1@news1.rmi.net> <14085.18282.936883.727575@bitdiddle.cnri.reston.va.us> <7ectjd$516$1@srv38s4u.cas.org> <e5XO2.32678$FZ5.12416@news.rdc1.sfba.home.com> <19990408075544.B983383@vislab.epa.gov>
Message-ID: <370E3AD7.16C48C5F@att.com>
X-UID: 33
Randall Hopper wrote:
> I believe that was Fredrik Lundh <fredrik at pythonware.com>.
>
> In shopping for Python books late last month, I happened upon his announced
> plan to write a Tkinter book. So I slipped him an e-mail query asking how
> the book was going and if he had an estimated timeframe (in case it was
> close to market), but I haven't received a response. I assume he's just
> busy like the rest of us.
for what it's worth, fredrik has never replied to any of the mail i've
sent him.
your mileage may vary.
--
Garry Hodgson seven times down
garry at sage.att.com eight times up
Software Innovation Services
AT&T Labs - zen proverb

View File

@ -0,0 +1,35 @@
From: fdrake at cnri.reston.va.us (Fred L. Drake)
Date: Tue, 20 Apr 1999 13:18:38 GMT
Subject: Can't work this XDR out
In-Reply-To: <371C0CF7.2D1260D7@hons.cs.usyd.edu.au>
References: <371C0CF7.2D1260D7@hons.cs.usyd.edu.au>
Message-ID: <14108.32430.842541.785124@weyr.cnri.reston.va.us>
X-UID: 34
Matthew Robert Gallagher writes:
> Whilst trying to pack a list xdr packer asks for
>
> (list, pack_item)
>
> what is the pack_item can't work this out as there are no examples
Matthew,
pack_item will typically be another method from the same packer
object. For example, to pack a list of ints, use this:
import xdrlib
p = xdrlib.Packer()
p.pack_list([1, 2, 3], p.pack_int)
I hope this helps. I'll add an example to the documentation.
-Fred
--
Fred L. Drake, Jr. <fdrake at acm.org>
Corporation for National Research Initiatives

View File

@ -0,0 +1,35 @@
From: holger at phoenix-edv.netzservice.de (Holger Jannsen)
Date: Thu, 22 Apr 1999 13:48:58 GMT
Subject: sort of multiple dictonaries
Message-ID: <371F28CA.2240BB7B@phoenix-edv.netzservice.de>
X-UID: 35
Hi there,
perhaps a typical newbie-question:
I've got a list of dictonaries like that:
mydics=[{'sortit': 'no412', 'mode': 'nothing'},
{'sortit': 'no112', 'mode': 'something'},
{'sortit': 'no02', 'mode': 'something else'}]
Is there an easy way to get that list sorted like that:
def sortDictonary(aDictonary, theSortKey="sortit"):
....
Result have to be:
mydics=[{'sortit': 'no02', 'mode': 'something else'},
{'sortit': 'no112', 'mode': 'something'},
{'sortit': 'no412', 'mode': 'nothing'}]
Any hints?
Ciao,
Holger

View File

@ -0,0 +1,38 @@
From: justin at linus.mitre.org (Justin Sheehy)
Date: 29 Apr 1999 11:45:50 -0400
Subject: Designing Large Systems with Python
References: <m37lqz0yoa.fsf@solo.david-steuber.com> <372599D6.C156C996@pop.vet.uu.nl> <7g4a3l$atk$1@news.worldonline.nl> <m3vhehxjhr.fsf@solo.david-steuber.com>
Message-ID: <glm1zh3h1ld.fsf@caffeine.mitre.org>
X-UID: 36
David Steuber <trashcan at david-steuber.com> writes:
> I would like better python support in XEmacs. There is a python
> mode, but I haven't seen anything about evaluating Python code
> ineteractivly the way you can with Lisp and elisp.
The support for Python in XEmacs will obviously never be as good as
the support for emacs lisp. However, it is already about as good as
it is for other lispy things like clisp, scheme, etc.
One can run a python interpreter in an emacs window. This can be
interacted with directly, or you can send code to it from a
python-mode buffer. It has served my needs fairly well.
> -> ehh, Python?
>
> It looks interesting. It is more C like than Lisp like.
Well, in the obvious syntactical sense, sure.
I am comfortable in several dialects of Lisp, but find C to be No Fun.
I am rapidly becoming at home with Python. In many of the
less-immediately-obvious but very important ways, I find that Python
doesn't feel much like C at all.
-Justin

View File

@ -0,0 +1,26 @@
From: ruebe at aachen.heimat.de (Christian Scholz)
Date: Mon, 26 Apr 1999 20:12:12 +0000
Subject: tzname problem
Message-ID: <3724C89C.256703D0@aachen.heimat.de>
X-UID: 37
Hi!
I compiled and installed Python 1.5.2 on my Linux box.
But I have a problem when using tzname (well, actually Zope has):
>>> from time import tzname
Traceback (innermost last):
File "<stdin>", line 1, in ?
ImportError: cannot import name tzname
>>>
Does anybody know why this happens? timemodule is included
of course..
best,
Christian

View File

@ -0,0 +1,127 @@
From: gjohnson at showmaster.com (Tony Johnson)
Date: Fri, 23 Apr 1999 16:03:57 GMT
Subject: Python too slow for real world
In-Reply-To: <372068E6.16A4A90@icrf.icnet.uk>
References: <372068E6.16A4A90@icrf.icnet.uk>
Message-ID: <000401be8da2$e5172430$7153cccf@showmaster.com>
Content-Length: 3295
X-UID: 38
I find python syntax less taxing then perl's (IE less lines) You may need
to check your python code and see how you can optimize it further...
Tony Johnson
System Administrator
Demand Publishing Inc.
-----Original Message-----
From: python-list-request at cwi.nl [mailto:python-list-request at cwi.nl]On
Behalf Of Arne Mueller
Sent: Friday, April 23, 1999 7:35 AM
To: python-list at cwi.nl
Subject: Python too slow for real world
Hi All,
first off all: Sorry for that slightly provoking subject ;-) ...
I just switched from perl to python because I think python makes live
easyer in bigger software projects. However I found out that perl is
more then 10 times faster then python in solving the following probelm:
I've got a file (130 MB) with ~ 300000 datasets of the form:
>px0034 hypothetical protein or whatever description
LSADQISTVQASFDKVKGDPVGILYAVFKADPSIMAKFTQFAGKDLESIKGTAPFETHAN
RIVGFFSKIIGELPNIEADVNTFVASHKPRGVTHDQLNNFRAGFVSYMKAHTDFAGAEAA
WGATLDTFFGMIFSKM
The word floowing the '>' is an identifier, the uppercase letters in the
lines following the identifier are the data. Now I want to read and
write the contens of that file excluding some entries (given by a
dictionary with identifiers, e.g. 'px0034').
The following python code does the job:
from re import *
from sys import *
def read_write(i, o, exclude):
name = compile('^>(\S+)') # regex to fetch the identifier
l = i.readline()
while l:
if l[0] == '>': # are we in new dataset?
m = name.search(l)
if m and exclude.has_key(m.group(1)): # excluding current
dataset?
l = i.readline()
while l and l[0] != '>': # skip this dataset
l = i.readline()
pass
o.write(l)
l = i.readline()
f = open('my_very_big_data_file','r') # datafile with ~300000 records
read_write(f, stdout, {}) # for a simple test I don't exclude anything!
It took 503.90 sec on a SGI Power Challange (R10000 CPU). An appropiate
perl script does the same job in 32 sec (Same method, same loop
structure)!
Since I've to call this routine about 1500 times it's a very big
difference in time and not realy accaptable.
I'd realy like to know why python is so slow (or perl is so fast?) and
what I can do to improove speed of that routine.
I don't want to switch back to perl - but honestly, is python the right
language to process souch huge amount of data?
If you want to generate a test set you could use the following lines to
print 10000 datasets to stdout:
for i in xrange(1, 10001):
print
'>px%05d\nLSADQISTVQASFDKVKGDPVGILYAVFKADPSIMAKFTQFAGKDLESIKGTAPFETHAN\n\
RIVGFFSKIIGELPNIEADVNTFVASHKPRGVTHDQLNNFRAGFVSYMKAHTDFAGAEAA\n\
WGATLDTFFGMIFSKM\n' % i
And if you don't believe me that perl does the job quicker you can try
the perl code below:
#!/usr/local/bin/perl -w
open(IN,"test.dat");
my %ex = ();
read_write(%ex);
sub read_write{
$l = <IN>;
OUTER: while( defined $l ){
if( (($x) = $l =~ /^>(\S+)/) ){
if( exists $ex{$x} ){
$l = <IN>;
while( defined $l && !($l =~ /^>(\S+)/) ){
$l = <IN>;
}
next OUTER;
}
}
print $l;
$l = <IN>;
}
}
Please do convince me being a python programmer does not mean being slow
;-)
Thanks very much for any help,
Arne

View File

@ -0,0 +1,35 @@
From: akuchlin at cnri.reston.va.us (Andrew M. Kuchling)
Date: Fri, 23 Apr 1999 14:04:16 -0400 (EDT)
Subject: millisecond time accuracy
In-Reply-To: <3720A4A6.125DA1C7@OMIT_THIS.us.ibm.com>
References: <3720A4A6.125DA1C7@OMIT_THIS.us.ibm.com>
Message-ID: <14112.46141.974182.785300@amarok.cnri.reston.va.us>
X-UID: 39
Kevin F. Smith writes:
>Is there a way to measure time accurate to milliseconds?
>
>For example, by calling the time.time() function I get seconds. Is
>there a comparable function that I could use to measure interval times
>down to at least millisecond accuracy?
Nothing portable. However, time.time() actually returns a
floating point number, and the Python implementation tries to use the
most precise function available in the C library. If your system
supports gettimeofday(), which has microsecond resolution, then
time.time() will return a floating point number with microsecond
precision.
Note that precision is not the same as accuracy! Python just
uses the C library, so the accuracy or lack thereof is up to the
library implementation.
--
A.M. Kuchling http://starship.python.net/crew/amk/
They dreamed the world so it always was the way it is now, little one. There
never was a world of high cat-ladies and cat-lords.
-- Dream, in SANDMAN #18: "A Dream of a Thousand Cats"

View File

@ -0,0 +1,47 @@
From: ajung at sz-sb.de (Andreas Jung)
Date: Sun, 4 Apr 1999 14:35:47 GMT
Subject: Python on Apache and traceback
In-Reply-To: <7e4bta$ild$1@paperboy.owt.com>; from kj7ny@email.com on Sat, Apr 03, 1999 at 12:05:16AM -0800
References: <7e4bta$ild$1@paperboy.owt.com>
Message-ID: <19990404163546.A3249@sz-sb.de>
Content-Length: 1344
X-UID: 40
On Sat, Apr 03, 1999 at 12:05:16AM -0800, kj7ny at email.com wrote:
> Before you flame my socks off, I know this is NOT the right place to
> probably ask this question, but I guarantee you there is no where better to
> get the right answer.
>
> I am using Python on Apache on Win98.
>
> Has anyone figured out how to get at the traceback errors when using Python
> on Apache? They are not automatically returned to the browser as they are on
> IIS and PWS.
Around your code with a try/except clause and catch the
traceback in the except clause. You can get the traceback
by using the traceback module. Logging can be achieved by
writing the traceback to a file.
I not sure if this is really neccessary because the traceback
of Python CGI scripts should be logged to the script or
error logfile of Apache.
Happy Easter,
Andreas
--
_\\|//_
(' O-O ')
------------------------------ooO-(_)-Ooo--------------------------------------
Andreas Jung, Saarbr?cker Zeitung Verlag und Druckerei GmbH
Saarbr?cker Daten-Innovations-Center
Gutenbergstr. 11-23, D-66103 Saarbr?cken, Germany
Phone: +49-(0)681-502-1528, Fax: +49-(0)681-502-1509
Email: ajung at sz-sb.de (PGP key available)
-------------------------------------------------------------------------------

View File

@ -0,0 +1,28 @@
From: spamfranke at bigfoot.de (Stefan Franke)
Date: Tue, 20 Apr 1999 17:29:43 GMT
Subject: unpickling an NT object in Solaris?
References: <dozier-2004991057490001@client-151-200-124-68.bellatlantic.net>
Message-ID: <371cb8f0.64496430@news.omnilink.de>
X-UID: 41
On Tue, 20 Apr 1999 10:57:49 -0400, dozier at bellatlantic.net (Bill Dozier) wrote:
>Hi,
>
>I created an object running python on NT and pickled it. I have no problem
>unpickling on NT, but when I ftp'd the file over to Solaris, I get an
>ImportError exception ("No module named __main__^M") when I try to
>unpickle it.
>
Pickling uses a text format which should be platform independent.
My guess: Did you transfer via FTP in text mode? In that case, line
endings get converted. "__main__^M" seems to point at this.
Stefan

View File

@ -0,0 +1,37 @@
From: mwh21 at cam.ac.uk (Michael Hudson)
Date: 14 Apr 1999 16:58:00 +0100
Subject: forking + stdout = confusion
References: <RUgQ2.31$Oq4.32657@newsfeed.avtel.net> <87n20caldg.fsf@spock.localnet.de> <roy-1304991155360001@qwerky.med.nyu.edu> <ne2R2.33$xa5.26667@newsfeed.avtel.net> <ru3R2.1$3m6.35@newsfeed.avtel.net>
Message-ID: <m3btgrnqif.fsf@atrus.jesus.cam.ac.uk>
X-UID: 42
clarence at silcom.com (Clarence Gardner) writes:
> Clarence Gardner (clarence at silcom.com) wrote:
> : However, your first thought also works, with the same caveat about stderr.
> : stdin, stdout, and stderr all have the __xxx__ copy in the sys module
> : (which I was not aware of).
>
> Mea culpa. The os.close() *is* still necessary. Is there yet another
> copy of these file objects? I tried to find that function that returns
> the reference count, but don't see it in the manual.
It's sys.refcount:
Python 1.5.2 (#2, Apr 14 1999, 13:02:03) [GCC egcs-2.91.66 19990314 (egcs-1.1.2 on linux2
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> import sys
>>> sys.getrefcount (sys.stdout )
5
Five! I don't know where all of those are...
> --
> -=-=-=-=-=-=-=-=
> Clarence Gardner
> AvTel Communications
> Software Products and Services Division
> clarence at avtel.com

View File

@ -0,0 +1,22 @@
From: zigron at jps.net (Zigron)
Date: Fri, 23 Apr 1999 12:54:57 -0700
Subject: PythonWin/ActiveX-Script Question
Message-ID: <37214562@news1.jps.net>
X-UID: 43
I recently installed PythonWin/et al, and went into the
win32comext/axscript/demos/client/ie directory, and found that basically
none of the demos worked at alllllll.
After fiddling with 'foo2.html', I found that all the references to
'MyForm.whatever' or 'Form2.whatever' were resulting in NameErrors..and that
if I put 'window.' onto the front of all the references they then worked.
I'm just wondering if that's how it's susposed to be?
--Stephen

View File

@ -0,0 +1,41 @@
From: phd at sun.med.ru (Oleg Broytmann)
Date: Fri, 9 Apr 1999 10:15:26 GMT
Subject: two questions
In-Reply-To: <370dbbe7.71248459@scout>
References: <370dbbe7.71248459@scout>
Message-ID: <Pine.SOL2.3.96.SK.990409141315.6969H-100000@sun.med.ru>
X-UID: 44
On Fri, 9 Apr 1999, Chris... wrote:
> Since I am new to python (ver 1.5 under NT), these may be silly,
> anyhow:
>
> 1) How can I copy files with python? At first I planned to run the
> DOS-command "copy" from python, but couldn't find the right function.
> Second, I thought, there might be a python command to do it. Until
> now, I didn't succeed.
Look into shutil.py module. You need copy2() function.
> 2) Is there an way to mimic Perls
> perl -p -e s/pattern1/pattern2/
> command line?
Although you can run python -c "script", python usually intended for
scripts, not for perl-like one-liners.
> Thanks a lot in advance
>
> bye
> Chris...
>
Oleg.
----
Oleg Broytmann National Research Surgery Centre http://sun.med.ru/~phd/
Programmers don't die, they just GOSUB without RETURN.

View File

@ -0,0 +1,198 @@
From: morse at harborcom.net (Kevin Dahlhausen)
Date: Thu, 15 Apr 1999 14:07:53 GMT
Subject: overloading ( was Different methods with same name but different signature? ) - overloadinginpython.tar.gz (1/1)
References: <3716909C.D8D1B372@fedex.com>
Message-ID: <3715f2b9.74013415@mail.oh.verio.com>
Content-Length: 11579
X-UID: 45
begin 644 overloadinginpython.tar.gz
M'XL(`##R%3<``^P\_7/;-K+]5?PK4+=I1)F2)?DCK15[)G&<U'..XXG3YN[Y
M_#@4"<D\4R2/A&RK&?_O;W<!D"!%V4G'Z;WW)NQ$%H'%8K'8;T!]ZUWQ21CQ
M[[[B,^CWGVUOL^\88\^>#2M_\1GTMW88V]D9;@_ZSW:V!MBRN;GS'>M_3:+T
M,\^%ES'VW54:W`OW4/__T>?LX]&;O?PFG`YZ0PM?CH]>[G6/-^9YMA$EOA=M
M1.%X0P-87A3MLB1B at N?"LN(DF^U:K1_;.-!FW>!2S"+6]=?763>_](+DAG73
MA;A,8M9-V`<8<Q!Y>>[>9%[:\].T;.J%5FL*PWYL'[P^?O'FS"8$&0_8/ZU6
MJWO48_"O1R]R-B#35GU$:QC[T3S@&W*Z06];=JJ%P!**C at T_B2?A5/7W>M at K
M7PP2_5[^`,'X1J,B9$ZZL*P$6(,<L5JS:P,P790O:<;AW6HIIB37/(L2+T"8
M?29F*77ZGF"S))A'W)7PJ@=`3*Q6*YOI,1;NQVZ!%]^HV8^X%^\29#>;L`XT
M^O`):U,H.W)IG3J)K,>S+,G0,EA6R_I/2^FWYVL]%8'^2G,\8/_9L\%`V__M
MS9TAV/_!<&?SF_W_*YX?E.%DSW,1A$GO<M\JFM9*X;A<LRRK>-W=+;ZVKY,P
ML-DN"]I]V_K$TBR,Q:2]MAKVG_&:/6)W*]#!:!9*?.&#^)X0-@<&$$)$SPS`
M:R^:<X6Q&96$4&@02\#V6$C(<- at 2)"W@/E3E"C,NYEG,`D36NH^T`="/?X</
MT. at P32>.&&IB!T2M]6=-M+'%CRI7YO.0_@^WAEK_MW9VMC#^>[;Y3?__DL?'
MO2\ET_H$0<1\'(7^+OC]5DUU1Y4FJ5 at CA"/Q-M5MU-!8"CKVXE=#9Q`-"/^U
M)SC-C-W!R+H;?8L]ONIC1.!?;8Z']']S\YG4_^&SG6W,!4'_MX??]/^O>)[(
M3,.P`-:33ZM"@"?H:;[08C2I>JOU)/9FO)US\3NVVXWVHPJ3+P&9]N2;\?B3
MCYE1?JTY'JK_;.ZH^L]FOS^0\?]@^YO__TN>29;,*LD_"V=ID at G6L:@K%Q"1
M3LM&]27CEB46*5?=>]#0\Y-9&D:\G:VYY__M7JR[;?ICN[W.F at TQ<,`G;,K%
M>^Y%+[)IWO;@P]ZU4`0(%6`YOZ#7#$"PMVRACTF2,0]TGF'?KM42V0(^:3Q`
M>CUQ&>;J'?'UO#3E<=`NZ>S-/.%?MCV[-\V2>=H>V+:$UQ,60Z"=W_H\%;LK
M$`*2%6,]VU*+H`1`S%/@"8VW'?6FAP#D.'?+,A,9MR#T<3F?"(F<:]MV,"4R
MJE/E&&T?'0D/<(U at UP:,QJG^L@=QYXX%EA_W;YE<,-#1Q&&=^FXZYBXN;;O<
MSQBZFAEP3C at N3$8">Z-%&P8YC.:D[7;L=8.9!:)3D?4(5^,$?SI9^G_X+-<X
M'W^.^^W_ULYP.#3L/];_AYO;V]_L_U_Q;'0>];%8A[T^.CXT+4HA6=")_1]`
M;QE6EMF-ES-O+A(PRZ'O1=$"#$7,,PCC`C9>L%V$/@./$X63$)H^9FABP0?$
M`3N*!<\FGL_9&SD$?(,\AL!!O_,L#Y.8#7I#UGXY#Z,`8 at J'O<Y"=I)<@["Q
M_M9NO[\['+#!+[_\;"O*3L&UP;"<'23I(@NGEX*U?1M!MKL()ZGG[+<XO,89
MQ((E$_:;\"Z))NQZSV$)(L=VL01YX,%*DBP.O1Y-Q[-9F!.AP)%IYL6X<)&P
M($1_-9X+SD3!+/1[\8+-O!C6R](LN0X#'B`>@HD3X"$'8SGS0E@!A,">+V@:
M_/<J00`8?,69?^G%4W"W,%&!O=O5K3=A%+$Q9U&2B^]AZ*,^&Y;U`[B1,.8,
M]^K at W:M#2ST;'78$.\UGP#X/=P%$Z/0?'WY]=\+JPV2S998NR;N;M4LL9T;A
M&-L>2\21CS_^RKV`9[MLP[_.LR01&T at 0G8^YY2F3^M/+;Z;.-0 at A_4>2MC'H
M;PQ!^C9W!\]V!SO`:.^/B"_8X6W*?L0)5F#R)],E[?$3X!3NM9^`(+"8\T"*
MCQ=@GI2%WAB at HC"^PA"-=IN3V,E#HA`U"`(^^.R!&3XHAH!.0A@(2``;*BA@
MOF&`(T`1EH,13>#!/H&7[BG"7D1Y4M*4SU,,%'%F)(]BMS$J(K:H8ZIY#*QD
M'P%S<I,C"E0B$,D88H8HO$+A]X1&_^-Q,MUE%<82P][SZU#INF1S(Y\UH\FB
MP(Y)I(_TH'B&$PR/7-=/HWF._RQ^"YR-V=K!&L1R/T!D&$Z,O%KR$9/JAJ%W
M&AZUXA4*?BCM$G)1\6L#3,LMX[>:RT`%8&)238*VZWX\.MD<NJYM_0"[:_:\
M/3MP?S]\#QTM0ZD._W[Z[OV'MN>,;:`EX'Z4I]QO!U$DY[!!$,:$BT<YA[&5
MR5Z^>W_\XN35`<U'8?$*U!YS)3Y$UE*H[H4G.,D]G%Q^DP,?&*9XJ!B,(.Z;
MXW<O7QPW\=PT,&<?7GPX.F#E#NH)EV"*C2WGBO5D&F(9<8X6SB\&H1;A(#!C
M<XC],?(':PQ!20<K("-X/5V\&_^+0U^GW8%8VO6$R&Q=36%4!FEW\J*C!(?N
M.VE3IE$R]B+0\='2A-0//6 at J$CGPDS&I^^OABU?P7D4#V at .?N9Z>GGBI9>;=
MRK:[AEE&)-_=1WDP4S!G<#.>9FV9BKV>QSYY%%0?97NPF\TX?`\0Y'&(($\E
M-]?8,FN9K@:.=ZYM"[E^#2G+-?)0I3VGBS/R;NYK2,?EU_;:\S>T#:7)WE_#
MG7X\?BZQDPZF%#]/\3M+YH)!S*8CG6F5(H:BFS\::TW.PN16`VV-/'5D--J9
MI+)8.(D\S!0_64I(0^!V'[E-'?!"?ZE!'<7!R+4ZM]DGMD:*=W.)CKA]W=U'
M*3\/+VR5MYNCG^1K#BM!NOO(&AH.-*ROJR^3*AH3@:-FNZN1Q>[HI+&4E?YC
MRL"2"(#A0?-B43%&AB%:L:`K)RF023>(A%=*`GIU22"$I8)""I(BI2`8?!S%
M($X9\[V<.^R&/]4A:$*ABR<(MPXX$"$B@%@#8FMR?L"2!`.5^6P,$05HN8P(
M'TO\/D>O%7=6B2$9]$XL=;PB>=0C^"P]'PQ_OAA9]XD52 at DLS9^E[;I`.;'-
M]@"E!BV$HMTQ04OOH23PSI1#?,F5A"%)SMK!DF(_H5P#;"F$;SV0S=B6'NHP
MR]PS+I2)@O=;WST!P@[Q(I&#V$Q1/?GM^/@1I75)6'.U'=)B5:4UOT=:>X\D
M,_<:K/RS9,4Q9"V5 at E.7E9HH?46Y*8.+]#\K.`.2&LG92PZ)RNGB`Q@%Q2C%
M3#(36$,%Z:K&,>[1R=&']D]RD(L?-F,G"63:NU)*@H3G\5/!;I+LBJ&P)#,.
M88P/:0D8?MC51H3`OLH#4'VLMJXI at F"Y*Q^@$>D at CXGO-$<>_L&328.$V(XY
M\*67 at X`AL![8OV<F8^`1\%4-^[*!KS at X_<2G@@L,Q)6VY<:#>MD-08.C1\JP
M03TT95L9S8:AJL?!@?"=X8LQ,%\Y,#<&GBT-_,Q%BM3%TPS, at _6,&+<U3(?-
M3F4 at 199J1OS\HEF]W%5.[`O)A8$S+TU!@[YPX*677VIR\<045>8 at XQYHA+=<
M15!6"@/I>0[-`$:D6D9V8WA(RKEB?J.XI>]/6:PIY^AD/)]'0ANSXNUT\9;/
MW)/#CPW:X`S(-AAJWTO&KE)_4\M':L6G>`)4,1,J=I"PDNURZNZ^@<H8 at 1.B
M77%/%^X)OWG/)V"&8A^/=7"8#5.]`B-"QB[G?(:E%XAF8N[S//>R174.RIFJ
M:^[NJ[0)FG>VS';5V%Y*Q6PP4:B6[9VMCFDZ#!C;KF,Z[U_4)X859WSBQ\4N
MP!K_?G1R\/[P==M,*YE>:VF8RWZS^ZXB&KC_4BB\(-!"87BYPO>A8Z+CM7LR
M7^>>O#>U5XL995?7FHNU3INE(ZME%0&YW)[]/0S@]:YT!]I97IM;->R4KR/=
M?<^.9=*2:H_LE*/OW\)*LH"^&V.ITGWK#"$7`<\R9PW9#<[M-43/$:-;W5A*
MII*2%X5_H%:KBJ"\"M+3204^_#84[8'A\?&?C at LT>RZ:%EA(9.-:Y$J6$,F0
M!-%).2B1B"SB<9LRIW5)#\8SZ:*]`H=3)%D-`%J0Y,DD?5T!F9>0>162(&3P
MT\0/F8I9CU9\EL_GE*#IYP at B>[#XO+54?-;U9S5Z=<&YJ;B+\32)6C:/NR*$
M7233"3&:?T6I6(?-.!XRA/FLQ^BL9)+`WMX@%AV:J]+SM1=&Y'9V%0UD,M[S
M:9B#OWDK_9P2D20+ISA383KXC7REZT)@-2"I%-)B*`4BC/1HC+K(C0.[RHVR
MFU!<TJJHE=9!E7(](9[9J(HZ/=@>QJ!C9I[*%#D([,6,_WL>0M+!P6Z1KV*8
M\@KL3%)<OQ<5Z-*$"O14SR]3%WBC$;J7,I@<=E+<<!ZK>Q1MN at BA$2&9BU2=
MKX'3#NI(8'?QI@?(5'@-O72_2QX/C2$?+][!:!RLK]L%WF)?WGI7_!2R&<G_
M\7P"_E"S/\5(3':4US!H$PH<]"`.W`6]+G6OA`@K6^E\H+S-(:5(Q0FP3.F(
MY)F87'K,)#F8&8';QTW(\_E,\N`RB0+&XV0^O83<!8\2M1Q+E/KD09*OZL=<
MK%IJ?:VV*6EO,.7TJMNF5U>LYH at J:9D4%B6,H"T8L3BZ at E)@]&@JSS>X)8]X
M`-+GM)-*Q-Y!$C/W,?@HL)#+4.M#C/](YB`2,9T>IH@$]KW4R3&>.LI*C#($
M($N`?\TP%FO`;,2TP#H.4I&C(0]"(`8RA056?;`U+(YM"1%`D\;C"3$J7:^P
M.54*$`9_6D4RC&<3]-,PF00ZL,?"."?%=8Q)+>4W*?-X>LIFL*MA5]UXY/%U
MF"4QGC?B"C-.=7KB(Y*_F(V32,NX#%]ZCWP<2N=&R^>5__L/+#!'(%MOJ.O<
M!\FB^+E^O'`&4@)*0^%U>;91>>1!QW)^\DJ;4IT;UX9MF&<-Q@,6MHX-T1WS
M>`I&O4T2@<J.5G<6_D'GS;9$1\I<FZ;F1(I<0JT>.TTO9E+7P`-P4;>B8;''
M$(8"75%HV/?J8N],/#)5*VGP46KOVX=/*YB%F]M`SADTS\&9@*W"7_B,P^I(
M6IVY+-TNTB76F\Q"(X7@):DEN@;)H)T_'V[O7(PJZ-Z`A8M+5UN7CY7HT+OS
MH(H0T!V6CKE)U`K>'R";2^Z?87&H/!:H%?TT>]YZMTRF<E668#O,F(7H;2\]
MH0V6/\\@H11 at ZBXYN"A:RV<]&RI:D^YEYBT0FQ?\:Y[CQ9)@`4M3<0#@7*;S
M!'%@Z%K#>2#I*<KKDX+J.I.6<9[A46\#3B5=>-P"X`&012J4(_B].&%@)NH"
M4>"406F:Y.K`'`^G*":JXC0U1U"D64Y4457]0C!R&<AD>E7AL)Q0XBKB.U]+
M`[(/92;0H5K],HM[\.+ at U\.SH_\Z9.SGAIZW+\[^QEC_]IE)7R&&Y=MY%1ER
MI\XZ at CL"<W\K$Y1:]S&8,0*1O5*^83MD)2S,\0!56[CJOF`<@#O7!I:`\9)F
M$G5SX+!ZTQ`SU5:%R<$`,[Y*DTVJ/1C5(8<K((<`J>H0JLX=#%0B&`R+$S=Y
MW/`2HG2(2,ZXET%,>,^2$(U)_A5?+*_'+GU:Y\K,7`%Z5#.1G6`%^489!<B/
M<>(K)]`+Z.Z#1!7DZZ1%Y2R%"6S,5^JU.?E#Q,=+IUAYDKJT6-)[IR,&=*:U
M at 3>$J'#,B<JTHG[AI%H?4P68[TW]@\E(?\D:UA2SSE15-B at -L"ZI&'"ZFE)8
M/U7RNI/4OLF2&\E/;2`D307X_IYAX'7]Q3#Y6!$J7T>?0[8N"15"9,([G[$:
M.B+&JY#R3(B%['FQOA$>UMCU\R!SAO/PHD<BIZ6@?C2$6_I3;80N%8V!^*NR
M4$3;)_30Y8&:*C5>%*4?/7?1#L*/Y1=9`1*5XW-XHTQ6[9Q$`]%5V:"GT<=4
M<F\/4#N(4?PVE,$;NC0M>NH<32$S#]$TUX2N,DGU4'PJ&86PI"D&B?A',TLJ
MNWF0AA!J0KV1DM83$,,TPI1)DM at .8W*3X%*2#))V6Q$MFJQHM0:W)"YB4+!=
MK42W5ID^,+B.+[454;]FN^EJ+7-'P!!4N^HA at C)P6`M8RI55BKO:G%6K$*Y?
MM=1N/3FGG5+VGIK=2WY[/MBY8'O0\>EI_ZG#G@[P8X@?F_BQA1_;^+&#'\_P
MXV?\^.4I_;+BJ8<O8_SP\2/`#XX?DZ=WR*=YG(?3&&/\!-;BI at YS\^(*@"NK
M#N?#_H4#!&<ZRU"'DQ[$CUT,PH%.'8GML<$.Y-C34*B321?;%")$[*8H$Y5I
M;8:\&"D-!8#]4L&5W%<;`0M6L*'Q)PA#)EJ".VTW`W."/<@Y-R\,`4V*./;9
MEBGA':+NJ?MT5)DL0T.J:+9+Y+Y$CM-TN]*VT<U#196L_L)PV. at UK&:45V3D
MND1F+P'2SFLQ>R4C+;J8ZOE7-UX6Y#+6$>$XC/#*MAFKN51 at Q0O4N%ZT+(;4
M,<)8N6<VY4+(DDE5D.L2+&5RN;B$]"X7EEPASS7JDE2Y2$*'5C)$+D(3?9.0
M$L#0H0RY[K#SU,'L3367,6:'DLMB-/Y at 0CAX$[,0L;YV\:?5NN0,,@\)+\.3
MB'MT`9AN_N9^DAE^%5:,5A3DPY`\7]^/DEG:K<"*%ZF`44+3#"X2)25:@)&"
M366Z<0(0-5!MF_WTDYSP^1YJK_XIEU07^'S^G&W9;%W"=&G("$%(`"O(O!JR
MR3W(-#8<L\X&_1*G'*$\:*NZ[CO+\"DN>:.6X;]=X<`R,3;2"_W>L*MJ_8S]
MF^)S';=5XXK"23JLP5$X17AOCYA$5H\P0-1D<*%G8T:J%N)Q2!&#R/Z[&A[=
MW1T at PGV)&-2^"1_^^-=FC7'+^>#"OJ#_ at T?S-,/M;85_4,>O(SM%<W=P`3;0
M7`3L:JL&L%<!J,Y9]6V#43/CJCF;XB$SURQS.U@?^BJI:2TU"?Y#JQ-FH&04
M[ZLJ$,Y"56.>]QC[#8OW$3ILV2L5Q\NE7A;9*VI/BRD8%:RIQ-+,#>4R/VL=
MBK<R%(*AW7U<0XWGI10K&(HSBK"S51%U7P/)*HX)IBB7<Z#R8!-:3E1"+?5H
M)UNM"DDBE=&,70!WEKKL-O;9<JP^[=81.FY(ZTXOZ6Y)",RLNEUI6!^`Z:AE
M^J.29]]7 at .UB9XJ-4;!DDZB3EJTF!\'XR-FE=\W540+31PD@$A_Q-S[4)Q*Z
M90EY3D;G(%2]!VBU'GT6)E,@`)Z$4RS9X=W?FTN.IQ5XVQ)O.MS(RKOGXZ]F
M93F^2$W1Y[64XZAHC=1E5X#B2L$"I[(*8'T at 0?)T*9<@Q+)7F7XYU7/$5Q%$
MG=:#O.6IEI_2[B)VQ45%KLE3*8J(&"P(8<[30B6Q+`31.?$(%N%)#51'2F&N
MU(M0I`5)FMHFJ at HU40%ZGDKE&.EV%:*G%*P7K2+5L)1)M`KG:5(G,PFJ@,.&
M3ZNU5$EI05Y;I*4F"CD;,@",J58]I1.NKW2AI<[FBV#$$6F105!O['O"Z';%
M.F!U`&57S2#_'S$5W2_`JWI/'VK"JM$JZUT7/6DQT%6./F\`I7>N4."KX91=
M'CP$1_LBTAJ8KL;5&AK, at EXI5B:X6`XJ'[)W38;NRRQ<2RVA)EJ%[3-4A\C\
M=3:;]=BK,,#KE"1VH3(,=#U`B]F=:;-,:/RU(]6#DTE=F5!6>X6C1'Z8)27E
MX8IKY\NGHFKR1GY5Q;E(.I2SQ<NKA7(G$O6$/#!H5`^O%-#8Y>UY:+8*N^]T
M[%?,3HF at .CE)N4\_B(7IWB0)Y`!S</TX1^,,#?CUQM5RJE+=*GE5J6UU_/W5
MZ%7*MS2 at 1>T&A_^GO6/M:>,(]BO^%=>+TKT+)^,S+\D82T!H at PJ!4M*J<JT3
M8-,X`8,XAX"B_/?.8U^WOK,A-::EMTC8WIW'[L[L>W8607E!MI59>UV at 8<GH
M`@SM=6C]9:V8G`UU-&VBXL"G<6O@`*E3'N/@YM2O%/F]49B#WF?C2R"`22AN
MP%H1X>@E`;K\G&0132K[3C"_R8^!E(:)5:OCRY,/7+F:E$GC!-Y(N,I8B$/#
M!"YDP'1^INS'@N\/[C:N_TH.CJ_3WA$YI4#>D=_(9-6'A84M,+;:QXA$FV<&
M5FY"IX;D'IR]/\.YBXS"2$J1;[EIN%(6:*;D9`B:T%UN\DD1^*D?,3$)JY3*
MJBPTP5+"<_U6D#X!%$RX]7<TY,*T8DFZ5/ZQ+&E)G1%B1KI`I6;)EF-.:V:#
M\R'"31M.]OWH!Z97*&=:=#*(7I7+U9*U9<$0D6SG(%0B6W-E:I/@:LFS_<=5
M)]O^^[3]H&T6@>0G,M>(<4APBE)%,S:H8NCA;:958\O(8:2$IK?ZZFHVRB8<
MT1LLV3W4LP_J:5G)/D`_E=L5K981?2&^.<IJ$N^AM9KV=#LAHZ:LS_`[GI[:
M]ANC!="JRY_Q?UJ#5:&FIL1YRD3EX;I:D\)-I&DW6K)?#GH%6HU)WZC":8X.
MZV_Q6&VVP!Z at U],>78L56_^N3U'1\S0]=56=/^K/0N/31U3YU-;YB.MLRIJO
M]7*/KI*_[EEE/.6XM-VAJVAS>&LX5[I>H3)'4&U?HR+4,9CYB#<%6#<N2G82
MJ!`RL18XRB2B_SB7UW8ERNS,G+K%$7_6U_+-"=8\Z29`6J[)FL/Z_^(G?.*1
MX(F'#UK*GUX-<R$A5)(Z'1D'4PSA8.=RDA#0!R``?>332-_#"I;X\9<\*F-A
M-*5"7AK=99H/-09&LLBRS(,H3+>4QD_(<CRC1S;H2*I?`(J7V6H40??31H8"
MZM3X9DFZ-L$3BS)AM?R%H.Y%V;5B&/#VF^%Q`9K;Q>6ZS0SW;9P+;G2D<\&=
MQP[0W"-;X\!>94:C/01A=?FJ&S_\`'WTZ_[I,+B0'9-M]\,&;87F/E1GIM=7
MICD<[(W[3$OK=ZK40O7>O=WWYMH+Y:)'N53KH]'4[D<[<NA4G]HCVO\K.%[:
M\`&7J?.8Y/^UOKSB^O];CDO_?S,)S3='>[NM2A.OLL/'T<[1[G:KXFC%Z=55
M<T$F-3?W7__A;?ZTM;^[?[CNOSBCX".)N)6'!]&5MKIBR-V;[1W0ZS0W#UL5
M0#]L(0EOZW(P)!=ZC-I\M]MJ[NZTO.:&]P9F;,`RC1._%5<]QQ-U<V$#P!<`
M'JAMT+')ND^PDG@]%PFB";/MG=*UYRX;%3AP,IO- at U;SZ*C5W#1%#<+FPB:0
M@&BHG-W]K9]_>;=_M-UJ8TEX#G1YW=`W;^S51:>"1`'=8%4L%G(OJHC\7H^,
M@`QI6I%,H*F7 at _W[T^4K$?<DG`;]..K7IT(=I(G:AE)E-7WJUO+\@O/NTZ/P
MF-3_+RW&3O\?KY3^_V<37CCN6%4?F'7+>G)'<\"J<O]M':LX_20:P[$7:)Z%
MX\0Z2=A)-![=21?1&+039SQ5I!NK;L+E9SSAKFERQN&T108B`:C8Z;5Q%AUJ
M'+F:O\'[MI*V[A at IJ[2=>B\>&3SV24W(]^&5&F81;70]B&/JL&02X_ at FY)Q$
MBL-B)D']YI8U//5A\#H>G/9:OBOCP)9V6"#MT,N7M%4DY["H2/ZQ]!#[PO&P
M]..[MUM'._MOO=\/-PX.M@]_S?';E(?WV\;ASL;F[O9XO*=NF#,*TN?#XSW^
M\-T]YO^K^OVG^DJ=WO]<KJ^6_?\L0O;]A_+QA^?\^$/YAD,9W)!Y:/:1>$QZ
M_VNE5E/]_V*=WO^*%\OW?V83RO=_GG8(>&KYZR>HN\/CQ^(Q\?W/Y56S_H]7
M^?VO<OXWD]"6YT5S`O=+!4PT!(VO(H(H'APHTLPK1.1!$BT)LRF$HO0)D]K<
M0()@.0+5%VJR(L)()6#TC8Z;0\AE&S05T, at Z\FP(/I^\N3R[8#U!_V@\)K3_
MI>4E:_]OB=I_;:7<_YM)F.X at 7X$)Q%D?+S2(DU2HMT+W/PVO/@V+]HE at A*6E
MP+6:`4B3\HJ&'QZ?R!7*`*'15T1#C;TTQ at KX>^4%@U=+.&Z?ISTG61A:GZ_[
M0[7>26W>:OB&05E[$H$D!_-\,`[72[UY3_PY$%X1$;H^=-X?J"P,"BG1Z@@*
M/L"[HFDAP6^AQ7DLHC at X'Y&+HC0.+4E`32R92J`/E_W!6;]WWI6[E=>XJA1`
M12N'[(!ZUT7;QK0YO2[LF8K0N<.;:.M2PX)P1)6ZY$UKW>O!*!-<0B$")`8Y
MN!8A@!UWT=1[#B>6Y"*.P*7R$*7C;I=M-()N:$5G:A<=N<NLA)X-Y>2M<!O6
MKBN[EJBV-19,G=&T3M;)K6P)-!>]I3L:]%50U2`.)-[2A6INO@*B%2-?@?KF
M"J&=+%ZFPO=>>K<5G3=!*"_34'"\RM7%1\P43VLY9P at XO#J/:)7/,XB(3U,!
M'C,'B7QUC5Q+,#244\NS:MHH_43-I9DZ%E?BKGNU1K:F)98G<!>$&F#O/(,0
M%R*(>8Y4-2SSU*YUH+T(VGV1!'7/DD/$T^L!I7QJS3)$U9)$N9I-;Y/A&X:5
M?/*D&:P4$5T>%Y[*E5MOT$/)6D>PJH#_JO(Q(L&(LP%^C1!=+ZXPW6@[B[*+
MXF(M5DR`W]G at +=](E)V]HMIMRUEAQXZB:26VQ/[I4.))`@"$D=`Y(X\J]60U
M8*H`L93KWA<N)-6CT2QJK&TSV^S8<K%U,J.-@"&GM)W(RJX4'&=#5:+XBET=
MQD"'&#IY%%A;7),JJ]D]-(5+"''$S6?"?MH(#NVM435:52)WU02WAV[U_7&:
M?.S=!8(;JF[^&4I\FC1Y^TV$A<A2G))+9UZ@#3$D%>+8)SBY,.:`2F0;5Q[4
MO;)>("TC:<IU5<QKO91*9D09VG[$`NS2*Y4^=MD(GR3LH2+!-Q:31/"(=8F=
MO![%Y#G6%;^1]/0+_`EA"+.[QSW]F;S^7ZPOZOG_TF(-SW_BU7+_;R;!/=#'
M*3R^5\/_^</SK^X:M,=F;D5:Y[9^I3`I2X"W\X/%L`$H^D<>2!QE@/!G+BD$
FXF@=\Z]O<64H0QG*4(8RE*$,92A#&<I0AC+,/OP-U`GR>0"@````
`
end

View File

@ -0,0 +1,13 @@
From: tjreedy at udel.edu (Terry Reedy)
Date: 8 Apr 1999 01:49:00 GMT
Subject: Xbase++ preprocessor implementation in Python
References: <37097A3A.F772205@magna.com.au> <7eehg9$3at$1@news.udel.edu>
Message-ID: <7eh1uc$b9e$1@news.udel.edu>
X-UID: 46
Sorry for the repetition. Glitch with newssite. TJR

View File

@ -0,0 +1,63 @@
From: jkraai at polytopic.com (jkraai)
Date: Thu, 29 Apr 1999 05:01:38 GMT
Subject: Maximize Benefit when Purchasing Learning Python
References: <199904290028.SAA20624@shell.rmi.net>
Message-ID: <3727E7B2.616A87F0@polytopic.com>
Content-Length: 1633
X-UID: 47
Mark,
I'll make the check out to your wife if you promise not
to tell mine.
All fun aside, can somebody give me a substantive answer?
I'd really like to make sure that somebody I 'know' is the
middele man--or middle wife. I really was actually looking
for an answer to my question.
I'll gladly send you a check, but I'd rather not do it
explicitly, rather as a part of a purchase of three copies
of this book to evangelize my coworkers.
Help me do somebody a favor & let others know how we
collectively can do _you_ a bigger favor than merely
buying the book.
I tell you what, if you've got the stones to send me your
address off-list, you'll get a check. If you think Mr.
Ascher is worth it--and I don't doubt it for a moment--if
he'll provide me with the same, I'll send him one, too.
If Chris or Tim'd ever write a book ... Guido? c'mon.
Does anybody know what Guido desires most in life? I
probably can't buy it today, but it'd be nice to know so
I could taunt him with little plastic replicas.
somebody-stop-me'ly y'rs,
--jim
P.S. I _like_ the cover.
Mark Lutz wrote:
>
> David Ascher wrote:
> > On Wed, 28 Apr 1999 jkraai at murl.com wrote:
> >
> > How can I help whom when purchasing Python books?
> >
> > I'll dare to speak for Mark, and say that you should feel free to send
> > either Mark or I (or both) checks for any amount whatsoever. Skip the
> > middleman. Save trees -- don't buy the book, just send us cash. Don't
> > hesitate for a minute.
>
> What he said. (Though you could save another
> middleman by making the check out to my wife.)
>
> --Mark Lutz (http://rmi.net/~lutz)

View File

@ -0,0 +1,63 @@
From: donn at u.washington.edu (Donn Cave)
Date: 23 Apr 1999 00:18:03 GMT
Subject: Emulating C++ coding style
References: <371F8FB7.92CE674F@pk.highway.ne.jp> <371F9D0C.4F1205BB@pop.vet.uu.nl>
Message-ID: <7foe7r$15mi$1@nntp6.u.washington.edu>
Content-Length: 1458
X-UID: 48
Martijn Faassen <faassen at pop.vet.uu.nl> writes:
...
|> 4. access to class's members using "::"
|> e.g. some_class::static_value
|> e.g. some_class::static_func(x)
|
| Python does not support static methods (or 'class methods'). Usually a
| module level global function suffices for this purpose.
|
| A static value can be created like this (besides using a global variable
| in a module):
|
| class Foo:
| self.shared = 1
|
| def __init__(self):
| print self.shared
Just a nit-pick on this particular item - I tried that already, a
couple of days ago, so I know it won't work! You meant to say,
class Foo:
shared = 1
Now a couple of further observations. Per the question, yes, that
variable ("attribute") is accessible in the class scope:
print Foo.shared
As well as in the instance scope, as shown in Martijn's example.
However, it may come as a surprise that if you assign to that attribute
in the instance scope, for example through "self" in a method, what
you get is a new reference bound in the instance scope, and other
instances still see the original class value.
...
def privatize(self):
self.shared = 0
f1 = Foo()
f2 = Foo()
f1.privatize()
print Foo.shared, f1.shared, f2.shared
1 0 1
It's not much like C++ here, but it's uncanny how it reeks of Python!
Namespaces, references!
Donn Cave, University Computing Services, University of Washington
donn at u.washington.edu

View File

@ -0,0 +1,27 @@
From: dwelton at cnet.com (David N. Welton)
Date: 15 Apr 1999 11:12:22 -0700
Subject: REPOST:pretty please - Help re libpython1.5.so
References: <3714B9F9.30285D74@earth.ox.ac.uk> <m3d817nr3u.fsf@atrus.jesus.cam.ac.uk>
Message-ID: <87btgpah2x.fsf@padova.cnet.com>
X-UID: 49
I think it would be really cool if the default distribution had a nice
libpython*.so included, as Tcl does. I'm not quite sure Python will
ever be quite so simple to use as an embedded language as Tcl, given
that it is a bit more complex (and more powerful!), but being able to
do:
gcc -o foo foo.c -lpython1.5
would be a nice step...
Ciao,
--
David Welton
dwelton at cnet.com
415-395-7805 x4150

View File

@ -0,0 +1,40 @@
From: phd at sun.med.ru (Oleg Broytmann)
Date: Tue, 6 Apr 1999 12:15:32 GMT
Subject: mxDateTime in Python distribution
In-Reply-To: <19990406070255.A867135@vislab.epa.gov>
References: <19990406070255.A867135@vislab.epa.gov>
Message-ID: <Pine.SOL2.3.96.SK.990406161212.28161D-100000@sun.med.ru>
X-UID: 50
Hi!
On Tue, 6 Apr 1999, Randall Hopper wrote:
> I'd like to add my vote toward integrating Marc Lemburg's mxDateTime
> functionality into the next Python release.
I vote against it. Not that I am against mxTools - it is perfect
library, really.
> I needed to do some date/time arithmetic recently and found that core
> Python didn't have this functionality. I was a little skeptical about
> using a seperate extension for portability reasons.
There is always some need for something more. Do you really want to
include every bit of code into the Library? It would take infinite time to
download and compile Python distribution if all possible modules and
extensions come in.
I want to keep the Library as little as possible. Download, compile and
install only those extensions you need.
> Randall
Oleg.
----
Oleg Broytmann National Research Surgery Centre phd2 at email.com
Programmers don't die, they just GOSUB without RETURN.

View File

@ -0,0 +1,43 @@
From: jefftc at leland.Stanford.EDU (Jeffrey Chang)
Date: Tue, 27 Apr 1999 14:54:03 -0700
Subject: JPython 64K limit on source-code size?
In-Reply-To: <7g4mgd$uo7$1@nnrp1.dejanews.com>
References: <7g4mgd$uo7$1@nnrp1.dejanews.com>
Message-ID: <Pine.GSO.3.96.990427143251.9096A-100000@saga15.Stanford.EDU>
Content-Length: 1206
X-UID: 51
[Monty]
> I have a JPython program I'm using as a test suite. It's generated code and
> around 74K long. When I try to run it with JPython I get this message:
>
> Traceback (innermost last):
> (no code object) at line 0
> java.lang.ClassFormatError: org/python/pycode/_pyx0 (Code of a method longer
> than 65535 bytes)
[...]
> If this 64K ceiling is indeed a basic limitation of JPython because of Java,
> I'm wondering if there is an easy way to split the file into pieces in a
> chain-like fashion. Any ideas?
Yep, this is a java thingy. From the stack trace, it looks like you have
a method that is >64K long. According to Sun's JVM specification, the
maximum code allowed for any individual method is 65536 bytes:
http://www.javasoft.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html#88659
That limit includes any code that it may have generated to initialize
variables that you declared. For example, initializing a large array of
strings as a class or instance variable could get you up to that limit, if
you're not careful.
It doesn't look like you will need to split up your file, but you will
need to either split up your method or load your variables at run time.
Jeff

View File

@ -0,0 +1,32 @@
From: jeffp at crusoe.net (evil Japh)
Date: Fri, 16 Apr 1999 21:12:22 -0400
Subject: OrderedDict.py v1.00
Message-ID: <Pine.GSO.3.96.990416210940.14063D-101000@crusoe.crusoe.net>
X-UID: 52
I have attached version 1.00 of OrderedDict.py.
I have not yet finished the more extensive documentation of it, but I have
the module with pretty good __doc__ strings, and a test.py program to make
sure it works.
Let me know how you like it, what you think should be changed, etc.
This module has potential to be useful. :)
--
Jeff Pinyan (jeffp at crusoe.net)
www.crusoe.net/~jeffp
Crusoe Communications, Inc.
732-728-9800
www.crusoe.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OrderedDict-1.00.tar.gz
Type: application/octet-stream
Size: 2020 bytes
Desc:
URL: <http://mail.python.org/pipermail/python-list/attachments/19990416/ac0f5938/attachment.obj>

View File

@ -0,0 +1,36 @@
From: ajung at sz-sb.de (Andreas Jung)
Date: Fri, 23 Apr 1999 16:24:34 GMT
Subject: Python too slow for real world
In-Reply-To: <37207E20.21D3CCDD@appliedbiometrics.com>; from Christian Tismer on Fri, Apr 23, 1999 at 04:05:20PM +0200
References: <372068E6.16A4A90@icrf.icnet.uk> <37207E20.21D3CCDD@appliedbiometrics.com>
Message-ID: <19990423182434.A9539@sz-sb.de>
X-UID: 53
On Fri, Apr 23, 1999 at 04:05:20PM +0200, Christian Tismer wrote:
>
> Summarizing: Stay with the Perl code, if you need it so fast.
> Perl is made for this real world low-level stuff.
> Python is for the real world high level stuff.
There's nothing more to add - just some remarks.
We are running several production processes that are mainly
based on Python in several ways - we use use Python
as middleware component for combining databases like Oracle,
workflow systems like staffeware, Corba components ....
Are systems consiss of several thousands lines of code and
the code is still manageable. Have you ever seen a Perl
script with a thousand lines that has been readable and
understandable ? And speed has never been a real problem
for Python. Ok - Perl's regex engine seems to be faster
but not the whole world consists of regular expressions.
Python is in every case more open and flexible for building
large systems - take Perl to hack your scrips and build
real systems with Python :-)
Cheers,
Andreas

View File

@ -0,0 +1,60 @@
From: trashcan at david-steuber.com (David Steuber)
Date: 10 Apr 1999 19:53:18 -0500
Subject: Internet Robot
References: <7ehe9m$hbs$1@nnrp1.dejanews.com> <m3emluaecc.fsf@solo.david-steuber.com> <7emldl$rh9$1@nnrp1.dejanews.com>
Message-ID: <m3hfqo7zb5.fsf@solo.david-steuber.com>
Content-Length: 1748
X-UID: 54
gscot at my-dejanews.com writes:
-> David Steuber: Thank you for the reply (and Thanks to every one that
-> replied). It was a big help to read over the rfc 1945 and rfc 2068. It is the
-> first time that I have every looked at one and they are pretty informative.
-> I can now POST my request but the server is asking for authentication.
Hmm. You are posting to a URL that requires authentication?
The way the server requests authentication is by sending down the
following headers (for basic authentication):
401 Unauthorized HTTP/1.0
WWW-Authenticate: Basic realm="WallyWorld"
To deal with that, you have to send up proper credentials. The header
looks something like this:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Where the last string is a Base64 encoded userid:password.
See section 11 in RFC-1945 for details.
-> You mentioned that it might be helpful to capture and look at the client's
-> out put. How do I do that.
This can be tricky. Idealy, when talking to the server, you want an
HTTP client that will show you all the headers. When talking to the
client, you want the server to display all the headers (or send them
back to the client). I've always done this the hardway. You can
actually talk to an HTTP server with telnet if you are desperate
enough. I don't recomend it because one typo and you have to do the
request over again.
Other people responding mentioned a url package for python. I would
take a look at that to see just what it can do. It may make the job a
lot easier.
--
David Steuber
http://www.david-steuber.com
s/trashcan/david/ to reply by mail
If you don't, I won't see it.
"The way to make a small fortune in the commodities market is to start
with a large fortune."

View File

@ -0,0 +1,26 @@
From: faassen at pop.vet.uu.nl (Martijn Faassen)
Date: Thu, 15 Apr 1999 19:35:24 +0200
Subject: Is there a 'make' replacement written in python ?
References: <p5k8vdnc6n.fsf@bidra241.bbn.hp.com>
Message-ID: <3716235C.221B9F11@pop.vet.uu.nl>
X-UID: 55
Markus Kohler wrote:
>
> I'm looking for a replacement for the 'make' command
While the Python distutils don't fully intend to replace 'make', the
distutils do have code for platform independent building of C
extensions, so some basic make facilities are included.
I'm sure that code can use more work, so you're very welcome to join the
distutils SIG if you're interested. :) Inspiration from other make
replacements like 'Cons' is of course very welcome.
Regards,
Martijn

View File

@ -0,0 +1,23 @@
From: fredrik at pythonware.com (Fredrik Lundh)
Date: Thu, 29 Apr 1999 15:36:04 GMT
Subject: python and SOCKS firewall
References: <s7259011.050@mail.conservation.state.mo.us> <m3zp3txlem.fsf@solo.david-steuber.com>
Message-ID: <013301be9256$07e03710$f29b12c2@pythonware.com>
X-UID: 56
David Steuber <trashcan at david-steuber.com> wrote:
> I sympathize with the fact that you are stuck using Novell GroupWise
> for USENET. However, could you please find a way to limit you line
> lengths?
and we all sympathize with the fact that you're using a
newsreader that is smart enough to understand quoted-
printable encoding, but not smart enough to break long
lines...
</F>

View File

@ -0,0 +1,107 @@
From: tismer at appliedbiometrics.com (Christian Tismer)
Date: Wed, 21 Apr 1999 10:51:24 GMT
Subject: WINNT/9X patch for errors.c
References: <371CF528.532DB5C@appliedbiometrics.com> <199904202239.SAA11014@eric.cnri.reston.va.us>
Message-ID: <371DADAC.AF549EC0@appliedbiometrics.com>
Content-Length: 2797
X-UID: 57
This is a patch to errors.c which gives the correct POSIX
error messages for WinNT/9X.
Reason: os.listdir("nonexistent") gave
OSError: [Errno 3] No such process
Problem caused by:
The standard function strerror is supposed to give an error message for
a system error. Under Windows, these are DOS messages, not POSIX.
They don't match completely.
Solution:
Instead of strerror, FormatMessage is used. This function
has an option to return standard system messages.
This will now give the correct message.
The messages are those which appear to be natural under
Windows: kernel32.dll defines them all in the default
language of your operating system
Guido van Rossum wrote:
>
> Christian,
>
> I just tried your code on Windows, and I noticed a missing feature.
> Python now adds the filename (when it is known) to the error message;
> your code doesn't do this.
Solved this, too. My code was ok, but the filename moved into
the next line. The returned message contains a CR/LF sequence
and also a dot. I'm removing this now, and it looks good.
ciao - chris
--
Christian Tismer :^) <mailto:tismer at appliedbiometrics.com>
Applied Biometrics GmbH : Have a break! Take a ride on Python's
Kaiserin-Augusta-Allee 101 : *Starship* http://starship.python.net
10553 Berlin : PGP key -> http://wwwkeys.pgp.net
PGP Fingerprint E182 71C7 1A9D 66E9 9D15 D3CC D4D7 93E2 1FAE F6DF
we're tired of banana software - shipped green, ripens at home
-------------- next part --------------
*** /w/orion/install/cvsroot/python/dist/src/python/errors.c Mon Dec 21 19:33:30 1998
--- /w/orion/install/python1.5/errors.c Wed Apr 21 12:13:40 1999
***************
*** 49,54 ****
--- 49,59 ----
#endif
#endif
+ #ifdef _WIN32
+ #include "windows.h"
+ #include "winbase.h"
+ #endif
+
void
PyErr_Restore(type, value, traceback)
PyObject *type;
***************
*** 291,297 ****
--- 296,319 ----
if (i == 0)
s = "Error"; /* Sometimes errno didn't get set */
else
+ #ifndef _WIN32
s = strerror(i);
+ #else
+ {
+ int len = FormatMessage(
+ FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_SYSTEM |
+ FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL, // no message source
+ i,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
+ (LPTSTR) &s,
+ 0, // size not used
+ NULL ); // no args
+ // remove trailing cr/lf and dots
+ while(len && s[len-1] <= '.') s[--len] = '\0' ;
+ }
+ #endif
if (filename != NULL && Py_UseClassExceptionsFlag)
v = Py_BuildValue("(iss)", i, s, filename);
else
***************
*** 300,305 ****
--- 322,330 ----
PyErr_SetObject(exc, v);
Py_DECREF(v);
}
+ #ifdef _WIN32
+ LocalFree(s);
+ #endif
return NULL;
}

View File

@ -0,0 +1,33 @@
From: aahz at netcom.com (Aahz Maruch)
Date: Sat, 24 Apr 1999 16:01:17 GMT
Subject: Python too slow for real world
References: <372068E6.16A4A90@icrf.icnet.uk> <y0jaevznhha.fsf@vier.idi.ntnu.no> <glmvhemn4zx.fsf@caffeine.mitre.org> <37215EFB.433AFCA6@prescod.net>
Message-ID: <aahzFApB65.2JK@netcom.com>
X-UID: 58
In article <37215EFB.433AFCA6 at prescod.net>,
Paul Prescod <paul at prescod.net> wrote:
>Justin Sheehy wrote:
>>
>>> (And... How about builtin regexes in P2?)
>>
>> In all seriousness, what reason do you have for making that
>> suggestion? I am willing to believe that there might be a good reason
>> to do so, but it certainly isn't immediately obvious.
>
>One benefit would be that the compiler could compile regexps at the same
>time everything else is being compiled.
<shrug> If you really care and if you're going to run the same program
multiple times, just use pickle.
--
--- Aahz (@netcom.com)
Hugs and backrubs -- I break Rule 6 <*> http://www.rahul.net/aahz/
Androgynous poly kinky vanilla queer het
Hi! I'm a beta for SigVirus 2000! Copy me into your .sigfile!

View File

@ -0,0 +1,46 @@
From: tismer at appliedbiometrics.com (Christian Tismer)
Date: Fri, 30 Apr 1999 07:57:03 GMT
Subject: Read MS Access 97 *.mdb files with python??
References: <37287369.D6E67313@t-online.de>
<3728867D.94B5BBF9@appliedbiometrics.com>
<3728A903.CF75B41A@pop.vet.uu.nl>
<3728B7DF.80E23481@t-online.de> <3728D832.AA4B72A@lemburg.com>
Message-ID: <3729624F.CFF4E6AF@appliedbiometrics.com>
Content-Length: 1136
X-UID: 59
"M.-A. Lemburg" wrote:
...
> For the file format try:
>
> http://www.wotsit.org/
>
> Don't know whether they list it, but if they don't it's likely
> that it's not published anywhere.
Just a note:
They give info about the .ldb format which is ridiculous,
just the format of the locking files, half an hour of
work to find out. The .mdb format is to my knowledge
documented nowhere. I know of exactly two companies
in the world which have tracked down this format to
an extreme extent, and who are able to recover a broken
database file. I once tried this for myself, but this
needs hundreds of hours, creating thousands of databases,
modifying data and comparing files.
ciao - chris
--
Christian Tismer :^) <mailto:tismer at appliedbiometrics.com>
Applied Biometrics GmbH : Have a break! Take a ride on Python's
Kaiserin-Augusta-Allee 101 : *Starship* http://starship.python.net
10553 Berlin : PGP key -> http://wwwkeys.pgp.net
PGP Fingerprint E182 71C7 1A9D 66E9 9D15 D3CC D4D7 93E2 1FAE F6DF
we're tired of banana software - shipped green, ripens at home

View File

@ -0,0 +1,18 @@
From: jeremy at cnri.reston.va.us (Jeremy Hylton)
Date: Thu, 15 Apr 1999 18:44:31 -0400 (EDT)
Subject: HTML Authentication with Python
In-Reply-To: <7f5iru$rlm@news.acns.nwu.edu>
References: <7f5iru$rlm@news.acns.nwu.edu>
Message-ID: <14102.27498.772779.5941@bitdiddle.cnri.reston.va.us>
X-UID: 60
I don't think you want to do the authentication in Python at all.
Instead, you need to configure the Web server to do authentication.
If you configure the server properly, users won't be able to run your
CGI scripts until the server has checked their username and password.
Jeremy

View File

@ -0,0 +1,53 @@
From: guido at CNRI.Reston.VA.US (Guido van Rossum)
Date: Sat, 10 Apr 1999 00:07:16 -0400
Subject: Possible problem with timemodule.c [1.5.2c1]
In-Reply-To: Your message of "Fri, 09 Apr 1999 21:40:18 EDT."
<199904100140.VAA11860@python.org>
References: <199904100140.VAA11860@python.org>
Message-ID: <199904100407.AAA02004@eric.cnri.reston.va.us>
Content-Length: 1567
X-UID: 61
[Andy Dustman wrote]
> [I decided not to bug Guido directly with this...]
Hehe, I scan the newsgroup digests for the string "1.5.2" so I found
your post anyway :-)
> My compile is completely clean except for Modules/timemodule.c:
>
> ./timemodule.c: In function `time_strptime':
> ./timemodule.c:429: warning: assignment makes pointer from integer without
> a cast
>
> This is in time_strptime(), naturally. The code immediately before this
> is:
>
> #ifdef HAVE_STRPTIME
> /* extern char *strptime(); /* Enable this if it's not declared in <time.h> */
>
> On Linux, strptime() IS declared in <time.h>. However, I find nothing in
> timemodule.c that would cause <time.h> to be included for Linux. configure
> does find strptime and does cause HAVE_STRPTIME to be defined in config.h.
Rest assured, <time.h> is included, indirectly, by mytime.h or myselect.h.
> This is unlikely to be a "showstopper", but I thought I would point it
> out. This may simply be a Linux (RedHat 5.2) problem. The more I look at
> <time.h>, the more I lean towards thie conclusion. The prototype for
> strptime() is not defined unless __USE_XOPEN is defined. The solution,
> however, is not obvious.
This analysis sounds right to me. (Can't test it -- the only Linux
box we have here on the network was powered down because it was
overheating. Too much press attention for Open Source I guess :-)
Perhaps __USE_XOPEN could be defined somewhere by the configure
script? Anybody suggest a good spot to do this?
--Guido van Rossum (home page: http://www.python.org/~guido/)

View File

@ -0,0 +1,84 @@
From: news at dorb.com (Darrell)
Date: Thu, 29 Apr 1999 10:45:41 -0400
Subject: Fatal Python error: PyThreadState_Get: no current thread
References: <m4izp3rc21l.fsf@macquarie.com.au>
Message-ID: <V8_V2.7141$YU1.12575@newsr2.twcny.rr.com>
Content-Length: 2310
X-UID: 62
I was just trouble shooting a problem like this. I was using python.exe and
a xxx.pyd. The xxx.pyd had debug turned on and should have been named
xxx_d.pyd. When I ran with python_d.exe the "no current thread" error
cleared up.
If your lucky the Windows and Unix ports have this in common.
--Darrell
Timothy Docker <timd at macquarie.com.au> wrote in message
news:m4izp3rc21l.fsf at macquarie.com.au...
>
>
> I've seen questions related to this error in dejanews, but no
> definitive answer. It seems that this error can indicate a variety of
> misconfigurations. Here's my situation:
>
> I have a program written a while ago under python 1.4 that I am trying
> to run under python 1.5.1. This program uses Tkinter, and makes no
> reference to Threads. On my Solaris 2.6 machine here I have
>
> python1.4 - compiled without threads
> python1.5.1 - compiled with threads
> python1.5.2 - compiled with threads
>
> After a lot of reduction, I ended up with the 10 or so lines shown
> below. If I run it each of the installed versions and press the
> displayed quit button, I see the following
>
> | qad16:tools $ /opt/python/python1.4/sunos5/bin/python test.py
> | qad16:tools $ /opt/python/python1.5.1/bin/python test.py
> | Fatal Python error: PyThreadState_Get: no current thread
> | Abort
> | qad16:tools $ /opt/python/python1.5.2/bin/python test.py
> | qad16:tools $
>
> So... what's wrong with my 1.5.1 installation? Have I misconfigured
> the thread stuff, or is a bug that has been fixed in 1.5.2? There is a
> note in the Misc/NEWS of 1.5.2 that says that PyThreadState_Get has
> been replaced by a macro that doesn't do error checking. Does this
> mean that the problem is still lurking in my 1.5.2 installation?
>
> Thanks for any pointers!
>
> Tim
>
> -------------------- test.py --------------------
> import sys
> from Tkinter import *
>
> def cancel():
> sys.exit(0)
>
> def quitFromWM(event):
> pass
>
> mf = Frame()
> mf.bind("<Destroy>", quitFromWM )
> f = Frame(mf).pack(side=BOTTOM,fill=BOTH)
> Button( f, text = 'Quit', command = cancel ).pack()
> mf.mainloop()
>
>
>
>
> --------------------------------------------------------------
> Tim Docker timd at macquarie.com.au
> Quantative Applications Division
> Macquarie Bank

View File

@ -0,0 +1,50 @@
From: downstairs at home.com (TM)
Date: Mon, 26 Apr 1999 03:04:16 GMT
Subject: [SOLVED] Re: Can't get wish80 working on tcl\tk 8.0.5
References: <3722974b.17318321@news>
Message-ID: <QIQU2.1834$gv5.1244@news.rdc1.sfba.home.com>
Content-Length: 1278
X-UID: 63
I've figured out the problem and I'm passing it on to the groups in case it
might help someone else.
I had a program called Window Blinds running that was causing the hanging.
When I
shut this accessory off, the wish80 and Tkinter stuff started working again.
Tom
<mrfusion at bigfoot.com> wrote in message news:3722974b.17318321 at news...
> I can't seem to get the graphical wish80 shell working on my win98
> machine. Can anyone PLEASE help me to get this working???
>
> Here's the story:
> Installed the latest version (8.0.5) as it came with the
> latest version of Python. I could not get any python programs that
> accessed Tkinter to work. I tracked the problem back to the tcl
> installation by trying first the command line tcl shell which worked,
> then the wish80 shell which does not work. I can see a process in
> my task window, but the program's window never opens up. I've made
> sure I've got the proper path set up and I still get nothing.
>
> I tried installing a previous release (tcl 7.4(?) and tk 4.2) and that
> wish shell came up just fine. I uninstalled that and reinstalled
> version 8.0.5 and I get nothing.
>
> Please can someone help me fix this?? What could I be missing or
> doing wrong??
>
>
> Thank you for ANY help.
>
> Tom
>

View File

@ -0,0 +1,38 @@
From: moshez at math.huji.ac.il (Moshe Zadka)
Date: Mon, 26 Apr 1999 01:17:48 +0300
Subject: Time complexity of dictionary insertions
In-Reply-To: <000901be8e11$b4842560$f09e2299@tim>
References: <glmpv4vnhh6.fsf@caffeine.mitre.org> <000901be8e11$b4842560$f09e2299@tim>
Message-ID: <Pine.SUN.3.95-heb-2.07.990426011503.1244D-100000@sunset.ma.huji.ac.il>
X-UID: 64
On Sat, 24 Apr 1999, Tim Peters wrote:
> [someone asks about the time complexity of Python dict insertions]
>
> [Tim replies]
> > Min O(1), Max O(N), Ave O(1). If the hash function is doing
> > a terrible job (e.g. maps every key to the same hash value), make
> > those all O(N).
<snipped discussion whether Amortized Constant Time is a C++/STL/CS
concept>
> This one-ups-man-ship would be a lot cuter if Python's dict insertion were
> in fact amortized constant time <0.9 wink>. It's not, and the answer I gave
> doesn't imply that it is. Insertion in STL hashed associative containers
> isn't ACT either.
This is interesting. What is the WCS behaviour of Python dicts?
but-it-doesn't-really-matter-'cause-it-takes-finite-time-anyway-ly y'rs,
Z.
--
Moshe Zadka <mzadka at geocities.com>.
QOTD: What fun to me! I'm not signing permanent.

View File

@ -0,0 +1,25 @@
From: alex at somewhere.round.here (Alex)
Date: 29 Apr 1999 10:53:33 -0400
Subject: Designing Large Systems with Python
References: <m37lqz0yoa.fsf@solo.david-steuber.com> <372599D6.C156C996@pop.vet.uu.nl> <7g4a3l$atk$1@news.worldonline.nl> <m3vhehxjhr.fsf@solo.david-steuber.com>
Message-ID: <etd4slza36a.fsf@m2-225-12.mit.edu>
X-UID: 65
> I would like better python support in XEmacs. There is a python mode,
> but I haven't seen anything about evaluating Python code ineteractivly
> the way you can with Lisp and elisp.
Is this the sort of thing you want?
Try C-c ! to create a python shell, C-c C-c to evaluate a buffer in that
shell, or C-c | to evaluate a marked region. Then you can execute
commands interactively in that shell.
This works for python-mode in emacs. I would guess it would be the same
in xemacs. Unless these are customizations I did and forgot about... :)
Alex.

View File

@ -0,0 +1,64 @@
From: skip at mojam.com (Skip Montanaro)
Date: Sat, 17 Apr 1999 13:08:39 GMT
Subject: Need someone to try some rarely used bsddb methods
Message-ID: <7fa14m$vfm$1@nnrp1.dejanews.com>
Content-Length: 1971
X-UID: 66
I noticed today that there is apparently still no documentation for the bsddb
module, so I started working on some. While trying out the bsddb hash object
methods, I noticed a few didn't seem to work. I tested this under Red Hat
Linux 5.0 (PC hardware) and Python 1.5.1. I used Berkeley DB v 2.3.16 with
the backwards compatibility interface, so that might be causing my problems.
I see no functional changes in the 1.5.2 version of the bsddb module, so I
doubt it's causing problems.
If you have the time, please try executing the following Python statements
and let me know what methods, if any, generate tracebacks. I will need to
know what version of Python you used, what version of Berkeley DB you used,
and for completeness, what OS platform and version you used. (If you use
version 2 of the DB library you will have to modify the bsddbmodule.c source
to include db_185.h instead of db.h.)
import bsddb
db = bsddb.hashopen("/tmp/spam.db", "c")
for i in range(10): db["%d"%i] = "%d"% (i*i)
db.keys()
db.first()
db.next()
db.last()
db.set_location('2')
db.previous()
db.sync()
The btree object (the one I use regularly) didn't have any problems. The keys
returned with the record object seem to be screwed up:
>>> db = bsddb.rnopen("/tmp/spamr.db", "c")
>>> for i in range(10): db["%d"%i] = "%d"% (i*i)
...
>>> db.keys()
['0\000\000\000', '1\000\000\000', '2\000\000\000', '3\000\000\000',
'4\000\000\000', '5\000\000\000', '6\000\000\000', '7\000\000\000',
'8\000\000\000', '9\000\000\000']
Can anyone confirm this rather odd behavior as well?
Private replies appreciated.
Thanks,
--
Skip Montanaro (skip at mojam.com, 518-372-5583)
Mojam: "Uniting the World of Music" http://www.mojam.com/
Musi-Cal: http://www.musi-cal.com/
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own

View File

@ -0,0 +1,67 @@
From: tismer at appliedbiometrics.com (Christian Tismer)
Date: Mon, 19 Apr 1999 21:06:06 GMT
Subject: Memory and swapping question
References: <371B5ED8.A9C82170@appliedbiometrics.com> <7fg1ep$t5s$1@nnrp1.dejanews.com>
Message-ID: <371B9ABE.3D2D8543@appliedbiometrics.com>
Content-Length: 2517
X-UID: 67
aaron_watters at my-dejanews.com wrote:
>
> In article <371B5ED8.A9C82170 at appliedbiometrics.com>,
> Christian Tismer <tismer at appliedbiometrics.com> wrote:
> > due to a question which came up in the tutor list, I'd like
> > to ask if somebody can explain the following:....
>
> <chomp><chomp>timings on making huge lists of integers...
>
> > On my system, creation takes about 10 times as for big/2,
> > this is ok. But the del takes at least three times as long.
> > Besides the fact that integers are never really disposed but
> > build up a freelist, why is deletion so much slower now?
>
> Could be wrong, but this may be a case of a famous database
> problem. The OS (typically) swaps out pages by picking the "least recently
> used" page, but when you are decreffing (scanning) a HUGE list of sequentially
> allocated objects this guarantees that the page you need next will
> be swapped out by the time you get to it. Yikes! Allocation is faster
> because you are really only "paging things out" (the first time)
> and the write to the disk can be buffered until the disk is
> ready, allowing the program to proceed (?I think?).
Exactly.
In this case, things are even worse:
Iin the de-allocation phase, the internal integer cache
is scanned in order, to return the integers to the
freelist. This treats a stack-like structure as a heap,
making integer deallocation like a list.reverse() on
the cache file.
It also applies to other objects which are created
in-order and referenced by the list. The same disk trashing.
Which means that the malloc routines use a similar,
stack-like freelist, at least on Win98.
> This is one reason why Oracle and Sybase, etc, like to do their own
> memory and disk management ("gimme them sectors -- don't need no
> g.d. filesystem, thanks!"). Just a guess, but a not completely
> uneducated one.
Well, I changed the deallocation strategy of lists to free
objects beginning from the end. (1 line in listobject.c)
Now, all my examples run as expected, with del no longer
being more expensive than create.
cheers - chris
--
Christian Tismer :^) <mailto:tismer at appliedbiometrics.com>
Applied Biometrics GmbH : Have a break! Take a ride on Python's
Kaiserin-Augusta-Allee 101 : *Starship* http://starship.python.net
10553 Berlin : PGP key -> http://wwwkeys.pgp.net
PGP Fingerprint E182 71C7 1A9D 66E9 9D15 D3CC D4D7 93E2 1FAE F6DF
we're tired of banana software - shipped green, ripens at home

View File

@ -0,0 +1,42 @@
From: andrew at starmedia.net (Andrew Csillag)
Date: Fri, 16 Apr 1999 18:35:55 GMT
Subject: Bug with makesetup on FreeBSD
References: <37175E05.4CF3C68@starmedia.net> <19990416141948.B1545732@vislab.epa.gov>
Message-ID: <3717830B.D2ABFBFD@starmedia.net>
Content-Length: 1066
X-UID: 68
Randall Hopper wrote:
>
> Andrew Csillag:
> |makesetup in Python 1.5.1 and 1.5.2 bombs on lines in the Setup file
> |that use backslash continuation to break a module spec across lines on
> |FreeBSD.
>
> BTW FWIW, I just built 1.5.2 last night on 3.0-RELEASE using the 1.5.2c1
> port. Worked fine. But it may not invoke makesetup under the hood.
>
> Randall
It does invoke makesetup (that's how the Makefile in Modules gets
written). I'm also running FreeBSD 2.2.8, so it may be a bug in /bin/sh
that has been subsequently fixed... The quick test is to try this on
your 3.0 machine
$ read line
some text here\
On my 2.2.8 machine after I hit return after the \, I get a command line
prompt, not a "blank prompt" that would mean that the read wasn't done.
In either case, I was able to get the thing built without the patch, I
just had to type make -e SHELL=/usr/local/bin/bash, but that sucks.
Drew Csillag
--
"There are two major products that come out of Berkeley:
LSD and UNIX. We don't believe this to be a coincidence."
- Jeremy S. Anderson

View File

@ -0,0 +1,20 @@
From: chwang at olemiss.edu (haibo wang)
Date: Mon, 12 Apr 1999 15:47:05 -0500
Subject: where can I find the binary code for mSQL or mySQL module in Pyton
Message-ID: <37125BC9.316AE200@olemiss.edu>
X-UID: 69
I had installed Python on the Sun workstation running solaris 2.6. I
need to download the module for mSQL and mySQL. Where can I find the
binary code? Who is maintaining the Python mSQL module.
Thanks,
Haibo Wang
UNIX/NT Consultant
Office of IT
University of Mississippi

View File

@ -0,0 +1,80 @@
From: dalke at bioreason.com (Andrew Dalke)
Date: Thu, 29 Apr 1999 19:18:15 -0600
Subject: string.atoi('-')
References: <372894B5.78F68430@embl-heidelberg.de>
Message-ID: <372904D7.1A9FC1AB@bioreason.com>
Content-Length: 1930
X-UID: 70
(cc'ed to Jens Linge <linge at embl-heidelberg.de>, the author of)
> With python 1.51 running on a SGI:
> >>> string.atoi('-')
> Traceback (innermost last):
> File "<stdin>", line 1, in ?
> ValueError: invalid literal for atoi(): -
> >>>
>
> But with python 1.52 running on a SGI:
> >>> string.atoi('-')
> 0
> >>>
>
> Does it depend on the compilation?
> Does anyone have the same problem?
>
> WHAT IS THE RULE?
My 1.5.1 installation on IRIX 6.2 and 6.5 (compiled under 6.2
with the 7.1 compiler using -o32) says:
val> python
Python 1.5.1 (#21, Nov 23 1998, 15:04:47) [C] on irix6
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> import string
>>> string.atoi('-')
0
so it isn't a 1.5.1 to 1.5.2 difference or a difference in
the -o32 libraries for the OS version. I suspect either the
compiler or the -n32 libs.
I compiled 1.5.2c1 with the newer compiler using -n32. The
result is the error you got:
max> ./python
Python 1.5.2c1 (#5, Apr 29 1999, 19:04:33) [C] on irix646
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> import string
>>> string.atoi('-')
Traceback (innermost last):
File "<stdin>", line 1, in ?
ValueError: invalid literal for atoi(): -
I recompiled 152c1 for SGI_ABI = -o32 on the same machine and
compiler.
max> ./python
Python 1.5.2c1 (#6, Apr 29 1999, 19:12:12) [C] on irix646-o32
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> import string
>>> string.atoi('-')
Traceback (innermost last):
File "<stdin>", line 1, in ?
ValueError: invalid literal for atoi(): -
This suggests that the compiler changed a bit (fixed a bug it
seems) and that you are compiling 1.5.2 on the 7.1 compiler while
you compiled 1.5.1 on the 7.2 compiler.
Can you try other combinations of machines and compilers? Or
perhaps change the ABI to -n32 (or -o32) to get a different
set of library routines?
Andrew
dalke at bioreason.com

View File

@ -0,0 +1,42 @@
From: dave at zeus.hud.ac.uk (Dave Dench)
Date: Thu, 8 Apr 1999 09:00:48 GMT
Subject: Extreme Programming ( XP ) in python ?
Message-ID: <199904080900.KAA17021@brahms.scom>
Content-Length: 1447
X-UID: 71
Dear All,
I recently attended the OT99 conference at Oxford University.
One of the highlights was the inspiring keynote speech by Kent Beck
on his experiences with Extreme Programming ( XP ) .
( ref: http://c2.com/cgi/wiki?ExtremeProgrammingRoadmap )
Unfortunately, he was using Java as his particular language vehicle,
but that is not mandatory.
It would seem to me that XP and python is a marriage made in heaven.
Has anyone on this list had any experiences with XP on their projects?
David
PS as a side-note, despite this being primarily a practitioners conference,
there didn't seem to be much awareness of python at the conference,
despite my dropping it into any conversation I could. It would seem that
Java IS making in-roads, despite reservations.
PPS It would also seem that XML is starting to get linked with CORBA very
productively by passing content-rich strings. ( perhaps this is old news ? )
________________________________________________________________________________
************************************************
* David Dench *
* The University of Huddersfield , UK *
* Tel: 01484 472083 *
* email: d.j.dench at hud.ac.uk *
************************************************
________________________________________________________________________________

View File

@ -0,0 +1,74 @@
From: news at helen.demon.nl (Ilja Heitlager)
Date: Thu, 29 Apr 1999 11:54:58 +0200
Subject: Designing Large Systems with Python
References: <m37lqz0yoa.fsf@solo.david-steuber.com> <372599D6.C156C996@pop.vet.uu.nl> <7g4a3l$atk$1@news.worldonline.nl> <m3vhehxjhr.fsf@solo.david-steuber.com>
Message-ID: <7g99pj$b1$1@news.worldonline.nl>
Content-Length: 2478
X-UID: 72
David Steuber wrote:
>I would like better python support in
>XEmacs. There is a python mode, but I haven't seen anything about
>evaluating Python code ineteractivly the way you can with Lisp and
>elisp.
I use windows python, it has debuggers and such.
>-> Need GUI's? MFC or tcl/tk?
>
>MFC???? <choke!> I hope to seperate the functionality from the GUI to
>make both orthoganal to each other. If I can pull that off, I suppose
>a Windows version would be possible for what I want to do. I am
>expecting to go straight to XLib and OpenGL. If I need an abstraction
>layer over X, it would probably be xt.
OK, A UNIX guy (that will change ;-) Take a look at the modules section in
www.python.org
All gui's you mention are supported, there is also a WPY package. It is an
abstract representation and uses MFC on MS or tcl/tk otherwise.
>
>-> Networking, Parsers, XML, HTML, regex?
>I am not sure if I need to use networking. I am hoping to get
>concurrent development via outside tools like CVS.
If there's ASCII CVS is never a problem ofcourse, but I just named a few
packages.
>
>-> ehh, Python?
>
>It looks interesting. It is more C like than Lisp like. I was
>considering using Lisp, but for various reasons I have abandoned that
>idea. JavaScript is too weak. Perl is a strong scripting language,
>but it is a real bitch to create C++ style classes. The syntax is a
>nightmare. I'll keep it for text munching.
Python has very strong regex support, so you will probably start using
python for that as well ;-)
There is a thread at this moment however discussing performance on LARGE
text-processing in Perl and Python. I never was much of a parenthesis
fetisjist, so LISP is out of my league. If you need functional constructs,
python has that as well (lambda's etc)
If you need symbolical stuff, I am working on that. I have experience with
Prolog and Reduce/RLISP (Lisp without () and a month ago I took Python to
do symbolical stuff.
It gave me just what I wanted: OO and strong operator overloading. much
better then simple Lisp-tuples. Tell me if you need this kind of stuff.
The last year I did a lot of large system stuff in Java (both pure and MS),
which was a great relief from C. Last month I got to learn Python, which I
love even better. Until now there isn't anything I can think of what I could
not do in Python and JPyhton is probably the HOLY GRAIL.
Guido is king, Python is his round table and we are the knights that follow.

View File

@ -0,0 +1,38 @@
From: dkuhlman at netcom.com (G. David Kuhlman)
Date: Thu, 8 Apr 1999 23:02:11 GMT
Subject: infoseek?
References: <7ehcn3$elg$1@newssvr01-int.news.prodigy.com>
Message-ID: <dkuhlmanF9w7zo.n3o@netcom.com>
X-UID: 73
Daye <daye at earthling.net> wrote:
> does anyone know if Infoseek.com still use python for their
> search engine? Thanks.
There was an article in Python Journal dated about 7/98 in which
Andy Feit of Infoseek says that they still use Python heavily and
that they make Python available to customers who want to customize
there Intranet seek engines. A relevant quote from that article:
"The other thing that Python gives our product is that, when
customers come to us and ask 'Can you customize it to do such and
such?', we almost alwasy say yes. ... We have patching points in a
language that is flexible enough to do almost anything."
Feit also makes comments that indicate confidence that his
customers will be able to make the Infoseek engine do anything.
And that just makes me drool with envy. I wish my company's product
could do that. I'm trying to make it so.
Python Journal is at:
http://www.pythonjournal.com
but when I tried a few minutes ago, I was denied access to this
article.
- Dave

View File

@ -0,0 +1,39 @@
From: jkraai at polytopic.com (jkraai)
Date: Thu, 29 Apr 1999 05:07:01 GMT
Subject: HTML "sanitizer" in Python
References: <s72703fc.021@holnam.com> <19990428152042.A708@better.net> <00e501be91c4$db944f20$0301a8c0@cbd.net.au>
Message-ID: <3727E8F5.7AC7EAB0@polytopic.com>
X-UID: 74
Um, a vote of confidence here for tidy.
I've rewritten tidy to do several different specialized things.
I am no C hacker, and have been told it's 'awful' code, but I
sure had no problems with it.
,
just-another-2c-in-the-bucket-ly-yours
--jim
Mark Nottingham wrote:
>
> There's a better (albeit non-Python) way.
>
> Check out http://www.w3.org/People/Raggett/tidy/
>
> Tidy will do wonderful things in terms of making HTML compliant with the
> spec (closing tags, cleaning up the crud that Word makes, etc.) As a big
> bonus, it will remove all <FONT> tags, etc, and replace them with CSS1 style
> sheets. Wow.
>
> It's C, and is also available with a windows GUI (HTML-Kit) that makes a
> pretty good HTML editor as well. On Unix, it's a command line utility, so
> you can use it (clumsily) from a Python program.
>
> I suppose an extension could also be written; will look into this (or if
> anyone does it, please tell me!)

View File

@ -0,0 +1,31 @@
From: jeremy at cnri.reston.va.us (Jeremy Hylton)
Date: Sat, 10 Apr 1999 14:40:19 -0400 (EDT)
Subject: Internet Robot
In-Reply-To: <7emldl$rh9$1@nnrp1.dejanews.com>
References: <7ehe9m$hbs$1@nnrp1.dejanews.com>
<m3emluaecc.fsf@solo.david-steuber.com>
<7emldl$rh9$1@nnrp1.dejanews.com>
Message-ID: <14095.39355.48967.900033@bitdiddle.cnri.reston.va.us>
X-UID: 75
How are you generating your HTTP requests? httplib or urllib? IN
either case, you ought to be able to get Python to print out some
debugging information, which will be much more useful than doing
something with a packet capture tool. There's nothing fancy going on
at the packet level that you need to look at -- just the data that's
coming back over the socket. One of the easiest ways to do that is
with the set_debuglevel method on an HTTP object.
But your question probably has an even easier answer: What kind of
authentication is the server doing? Python supports HTTP Basic
authentication with urllib, and I've gotting a working implementation
of Digest authentication that should be ready for release any day now.
The authentication support is not well documented (if it's documented
at all), so you'll have to look at the code.
Jeremy

View File

@ -0,0 +1,18 @@
From: stadt at cs.utwente.nl (Richard van de Stadt)
Date: Wed, 21 Apr 1999 12:38:58 +0200
Subject: Kosovo database; Python speed
Message-ID: <371DAAC2.D9046550@cs.utwente.nl>
X-UID: 76
Suppose we were going to make a database to help Kosovars locate
their family members. This would probably result in hundreds of
thousands of records (say 1 record (file) per person).
Would Python be fast enough to manage this data, make queries on
the data, or should compiled programs be used?
Richard.

View File

@ -0,0 +1,47 @@
From: fw at cygnus.stuttgart.netsurf.de (Florian Weimer)
Date: 25 Apr 1999 19:07:14 +0200
Subject: converting perl to python - simple questions.
References: <7fvagp$8lm$1@nnrp1.dejanews.com>
Message-ID: <m3u2u47hod.fsf@deneb.cygnus.stuttgart.netsurf.de>
Content-Length: 1150
X-UID: 77
sweeting at neuronet.com.my writes:
> a) Perl's "defined".
> [perl]
> if (defined($x{$token})
>
> [python]
> if (x.has_key(token) and x[token]!=None) :
Depending on the code, you can omit the comparision to `None'. Perl
programmers traditionally uses `defined' to test if a key is in a hash,
so your code is the correct translation if you mimic Perl's undefined
value with Python's `None', but most of the time, this is not required.
> b) RE's.
> [perl]
> if ($mytext !~ /^\s$/)
>
> [python]
> if not (re.match('^\s$'), mytext)
Your Python code unconditionally executes the `false' branch of the
`if' statement. I hope this is the correct translation:
# Execute this once at the beginning of the program.
single_space = re.compile(r'^\s$') # use a r'aw' string
# Later on, you can try to match this regexp to a string:
if not single_space.match(mytext):
> Since I know neither perl nor chinese, it would be nice if somebody
> could help me remove one of the variables in my debugging.
I see. I've tried to install a Chinese text processing environment
for a friend. ;)

View File

@ -0,0 +1,42 @@
From: MHammond at skippinet.com.au (Mark Hammond)
Date: Tue, 13 Apr 1999 17:41:35 +1000
Subject: Python without registry entries
References: <370fb711.28093946@news.demon.co.uk> <7eol16$1l2$1@m2.c2.telstra-mm.net.au> <37121820.3758204@news.netmeg.net>
Message-ID: <7eusdh$s3o$1@m2.c2.telstra-mm.net.au>
X-UID: 78
Les Schaffer wrote in message <37121820.3758204 at news.netmeg.net>...
>On Sun, 11 Apr 1999 08:57:49 +1000, "Mark Hammond" wrote:
>
>>You can. Python does not _need_ the registry for anything.
>
>a followup question:
>
>I just switched over our windows machine to NT from win98, and did a
>clean install so the registry is fresh spanking new...
>
>is there some way to restore the registry settings for python and the
>win32 extensions without downloading the whole darn thing again?
>pythonwin doesnt run right now because win32ui.pyd is not found. in
There is a script "regsetup.py" installed in the win32 directory somewhere.
This attempts to resurrect the registry. It hasnt been tested for a while,
but it should work.
Something like:
python.exe regsetup.py
will setup the core stuff, and
python.exe regsetup.py --pythonwin
should get Pythonwin running.
[In fact, you hit a bug anyway - pythonwin _should_ be capable of running
without any special registry too - and now can - as of 124.]
Mark.

View File

@ -0,0 +1,27 @@
From: garryh at att.com (Garry Hodgson)
Date: Tue, 13 Apr 1999 19:56:40 GMT
Subject: Python for embedded controllers?
References: <F9HuLr.KwL@world.std.com> <370de606.77891472@news.oh.verio.com> <F9xpnF.GFq.0.spadina@torfree.net>
Message-ID: <3713A178.B03F1F1D@att.com>
X-UID: 79
Ken McCracken wrote:
> Neal Bridges in Toronto, Ont. has been developing an onboard Forth
> compliler for the Pilot for a while. People seem pretty well enthused
> about it and it is making converts to the Forth language and reattracting
> programmers who had given up on Forth.
i have very fond memories of forth, with which i wrote tons
of software on my old atari 800. i can't imagine ever going
back to it, though.
--
Garry Hodgson seven times down
garry at sage.att.com eight times up
Software Innovation Services
AT&T Labs - zen proverb

View File

@ -0,0 +1,35 @@
From: claird at Starbase.NeoSoft.COM (Cameron Laird)
Date: 27 Apr 1999 15:39:22 -0500
Subject: WARNING: AIX and dynamic loading.
References: <7g4i77$qif$1@nnrp1.dejanews.com>
Message-ID: <7g579q$cao$1@Starbase.NeoSoft.COM>
X-UID: 80
In article <7g4i77$qif$1 at nnrp1.dejanews.com>,
Jakob Schiotz <jschiotz at hotmail.com> wrote:
>
>
>Hi everybody,
>
>I would like to warn developers using AIX against this trap waiting
>for us to fall into. (I am cross-posting this to the SWIG mailing list
>although it is not strictly a SWIG problems, as SWIG users will be
>doing just the kind of stuff that gets you into trouble).
.
.
.
There are several issues specific to dynamic loading
under AIX that are quite independent of Python. Your
caching example is one I've never heard of before,
but the comp.lang.tcl crowd knowledgeable about the
Stubs project might be able to help you if you run
into more problems. I agree that SWIG is an apt
locus for such discussion.
--
Cameron Laird http://starbase.neosoft.com/~claird/home.html
claird at NeoSoft.com +1 281 996 8546 FAX

View File

@ -0,0 +1,28 @@
From: guido at CNRI.Reston.VA.US (Guido van Rossum)
Date: Tue, 13 Apr 1999 20:23:37 -0400
Subject: Python 1.5.2 -- final version released
Message-ID: <199904140023.UAA24831@eric.cnri.reston.va.us>
X-UID: 81
On April 13, the final version of Python 1.5.2 was released. Thanks
to all who reported problems with the release candidate!
This will conclude the 1.5 development cycle; while I may release some
essential patches later, my main development focus will be on Python
1.6 (with 2.0 on the horizon; 1.6 will probably be the last of the 1.x
versions).
Go to http://www.python.org/1.5/ for more info, or download directly:
ftp://ftp.python.org/pub/python/src/py152.tgz (source, 2.5M)
ftp://ftp.python.org/pub/python/win32/py152.exe (Windows installer, 5.0 M)
Per tradition, I will disappear from the face of the earth for a few
days -- see you all on Monday!
--Guido van Rossum (home page: http://www.python.org/~guido/)

View File

@ -0,0 +1,98 @@
From: guido at CNRI.Reston.VA.US (Guido van Rossum)
Date: Sat, 10 Apr 1999 14:51:06 -0400
Subject: 1.5.2c1 will not compile on Windows NT SP4 with VC++ 6.0 SP1
In-Reply-To: Your message of "Sat, 10 Apr 1999 18:42:10 BST."
<000001be8379$76536190$060110ac@barrynt.private>
References: <000001be8379$76536190$060110ac@barrynt.private>
Message-ID: <199904101851.OAA04654@eric.cnri.reston.va.us>
Content-Length: 2558
X-UID: 82
> I extracted the 1.5.2c1 kit into P:\
Where did you get it?
> python15 error
> --------------------
> VC++ 6.0 gives this error.
>
> Fatal error C1083: Cannot open source file:
> 'P:\Python-1.5.2c1\Modules\reopmodule.c': No such file or directory
>
> The file reopmodule.c is not in the kit.
Hm... I just tried this with VC++ 6.0 (not sure which service pack)
and there's no mention of reopmodule.c -- indeed that module was
deleted ages ago.
Where exactly did you get the project file you used? Perhaps you had
an older project file (e.g. from an earlier alpha or beta release)
lying around?
> Having removed reopmodule.c from the project I get a link error
>
> LINK : fatal error LNK1104: cannot open file ".\PC\python_nt.def"
>
> This file is also missing.
This file is no longer distributed. If you use the project files for
VC++ 5.0 that are distributed in the PCbuild directory (VC++ 6.0 will
convert them for you) you will note that it is no longer referenced.
> Removing python_nt.def from the project reveals files that need to be added
> to the project:
>
> object\bufferobject.c
> pc\initwinsound.c
> modules\_localemodule.c
>
> LINK needs winmm.lib added to it.
These things have all been corrected in the distributed project files.
> Now I get a python15 built.
>
> pyhon error
> ----------------
> The project cannot find python.c
>
> fatal error C1083: Cannot open source file:
> 'P:\Python-1.5.2c1\python\Modules\python.c': No such file or directory
>
> There is a extra "python" directory that is not in the kits layout.
> Fixed by replacing with 'P:\Python-1.5.2c1\Modules\python.c'
>
> Same path problem with python15.lib.
> Fixed by replacing with P:\Python-1.5.2c1\vc40\python15.lib
>
> Now I get a python.exe
Again, I wonder where you got the kit...
> _tkinter
> ----------
> The tk and tcl libs are named tk80.lib and tcl80.lib not tk80vc.lib and
> tcl80vc.lib.
Ditto -- your kit is not the set of workspace/project files I'm
distributing. (Unless I've accidentally distributed two sets. Which
set are you using?)
> I used the Tcl/Tk that the 1.5.2c1 installation put on my system.
>
> Now I have _tkinter.dll
>
> How was the kit for Windows built given all the missing or misnamed files?
> Or is this a side effect of using VC++ 6.0?
>
> I also notice that the python.exe was built 8 apr 1999 but report sa dated
> of 12 Mar 1999
> on the interactive command line.
Sounds like you have an old Python build lying around.
--Guido van Rossum (home page: http://www.python.org/~guido/)

View File

@ -0,0 +1,39 @@
From: gmcm at hypernet.com (Gordon McMillan)
Date: Wed, 7 Apr 1999 03:12:31 GMT
Subject: Embedding python question: PyRun_String only returns None no
In-Reply-To: <dkuhlmanF9sLro.IGx@netcom.com>
References: <dkuhlmanF9sLro.IGx@netcom.com>
Message-ID: <1288667549-75228395@hypernet.com>
Content-Length: 1034
X-UID: 83
Dave Kuhlman replies to a query about PyRun_SimpleString...
> When you embed Python in an application, the application often
> exposes functions that are callable from Python scripts. You could
> provide a function named setReturnValue(value), which when called,
> passed a Python object (the value). The script calls this function,
> and then, when it exits, the embedding application (the caller of
> PyRun_String or PyRun_SimpleString) uses the Python value saved by
> this function.
With all the error checking and some app specific logic removed,
here's some code that loads a module and calls a specific function in
that module:
module = PyImport_ImportModule("mymodule");
moduledict = PyModule_GetDict(module);
func = PyDict_GetItemString(moduledict, "CheckMenu");
args = Py_BuildValue("(ss)", "spam", "eggs");
retval = PyEval_CallObjectWithKeywords(func, args, (PyObject
*)NULL)
Py_XINCREF(retval);
rc = PyArg_Parse(retval, "s", &str);
Py_XDECREF(retval);
Py_XDECREF(module);
- Gordon

View File

@ -0,0 +1,33 @@
From: jefftc at leland.Stanford.EDU (Jeffrey Chang)
Date: Fri, 30 Apr 1999 00:50:00 -0700
Subject: Oracle Call Interface
In-Reply-To: <7gb3hn$lse$1@nnrp1.dejanews.com>
References: <7gb3hn$lse$1@nnrp1.dejanews.com>
Message-ID: <Pine.GSO.3.96.990430003346.3541A-100000@saga1.Stanford.EDU>
X-UID: 84
> If anyone has experience writing applications directly to the Oracle Call
> Interface (OCI), in Python or JPython please send me examples or references on
> how to do it.
Yuck! What are you planning to do? Do you really really need to write
directly to the OCI or can you use one of the available Oracle extension
modules?
About a year ago, I used the oracledb module from Digital Creations with
Oracle7. It's very nice, but not optimized, and thus slow for large
queries. Since then, Digital Creations has made DCOracle
(http://www.digicool.com/DCOracle/; their commercial extension module)
open source, so I guess that will replace oracledb. I haven't looked at
it, but according to the FAQ, it's "much faster."
I strongly advise you to use an extension module or JDBC if at all
possible. Writing to the OCI is extremely ugly -- all the stuff we try to
avoid by using python!
Jeff

View File

@ -0,0 +1,25 @@
From: MHammond at skippinet.com.au (Mark Hammond)
Date: Sat, 24 Apr 1999 09:53:12 +1000
Subject: Windows install has problems. Guido asked that I use this newsgroup to discus further
References: <924039873.18221.0.nnrp-12.9e982a40@news.demon.co.uk> <924040766.18823.0.nnrp-12.9e982a40@news.demon.co.uk> <371FAE0F.43B33158@siosistemi.it> <924903282.24080.0.nnrp-10.9e982a40@news.demon.co.uk>
Message-ID: <7fr133$56e$1@m2.c2.telstra-mm.net.au>
X-UID: 85
Barry Scott wrote in message
<924903282.24080.0.nnrp-10.9e982a40 at news.demon.co.uk>...
> I think its important that python without add on's can access the
>registry under
> Windows. It is a fundamental requirement on Windows.
FYI, Guido has basically agreed that the Win32 registry functions (and
likely support for native Windows handles) will move into the core in the
1.6 timeframe.
Mark.

View File

@ -0,0 +1,23 @@
From: bhowes at cssun3.corp.mot.com (Brad Howes)
Date: 29 Apr 1999 10:26:16 -0700
Subject: Python Powered Car Audio
Message-ID: <wjyk8uvxrrc.fsf@cssun3.corp.mot.com>
X-UID: 86
Check out http://www.empeg.com. It describes a cool in-dash MP3 player
running Linux. On the Tech page, I found this:
The unit's UI is written in Python,
allowing Python-esque users to add
features and giving great flexibility in
the way the unit works.
--
Brad Howes bhowes at motorola.com
Principal Compass Hacker Work: +1 602 446 5219
Motorola Cell: +1 602 768 0735

View File

@ -0,0 +1,32 @@
From: akuchlin at cnri.reston.va.us (Andrew M. Kuchling)
Date: Mon, 19 Apr 1999 13:03:35 GMT
Subject: How to merge data in a existant file
In-Reply-To: <7feqbf$pr6$1@nnrp1.dejanews.com>
References: <7feqbf$pr6$1@nnrp1.dejanews.com>
Message-ID: <14107.10521.542022.542456@amarok.cnri.reston.va.us>
X-UID: 87
fquiquet at lemel.fr writes:
>I know how to write data in a new file :
>I don't know what is the function that permit to add data whithout erase
>existing data.
Open the file in append mode, with a mode string of 'a' (or
'ab' for a binary file) instead of 'w'.
>>> f = open('test-file', 'w') ; f.write('abc\n') ; f.close()
>>> f = open('test-file', 'a') ; f.write('abc\n') ; f.close()
>>> open('test-file', 'r').read()
'abc\012abc\012'
--
A.M. Kuchling http://starship.python.net/crew/amk/
The NSA regularly lies to people who ask it for advice on export control. They
have no reason not to; accomplishing their goal by any legal means is fine by
them. Lying by government employees is legal.
-- John Gilmore

View File

@ -0,0 +1,68 @@
From: call at 83331002.wong (Mr Wong)
Date: 29 Apr 1999 08:59:32 GMT
Subject: make your first $1 million
Message-ID: <7g971k$cje$11125@hfc.pacific.net.hk>
Content-Length: 2497
X-UID: 88
HANG CHEONG INTERNATIONAL
A new successful marketing tactic to increase your sales :
Do you always have problems to find channels to increase your sales?
The advertise in newspapers, magazines and doing some Direct Mailing, but
still can not achieve you goal, so why still dumping your money to a media
that could not help your sales and not using the most efficient and modern
way of selling stragies E-MAIL.Now many big companies are using this,
because it is economical, fast and efficient, and the other way is selling
by fax through the internets, and the result are remarkable.
According to report pointed out that the ratio of internet selling is
1,000:1.5 that is 20,000,000 names x 0.0015 = 30,000. These 30,000 clients
will buy from you and if your net profit is $50 that is to say your total
profit is:
HK$50 x 30,000 = HK$1,500,000. 1.5 Million Dollars !!!
How to make your first 1 million in your life, now it is quite possible that
you can make your first 1 million within one month. But the thing is ??Are
you selling the right products, through the right media.??
***************************************************************************
A full set of sales tool with 20 million of client??s names will make you a SUPER SALES.
A professional mail software (no need to go through any ISP Mail Server,making your computer
as the professional Mail Server, its super speed. Easy to use.
* 500,000 E-mail addresses in Hong Kong
* 1,000,000 E-mail address in Taiwan
* 20,000,000 E-mail address in the World
(latest revised on 10th March 1999.)
* A free revision one year (around 100,000 every month)
* Free of charge of 200,000 names of fax addresses in Hong Kong for 1999.
* Door to door installation * Technical support * software replacement.
* Using CD-R dish and CD-AutoRun Menu.
(Only HK$680 for one full set) for unlimited use.
HK$680 is very small amount, you may not need it now but you will sure to use it when you
have every thing ready.
***************************************************************************
If you need any E-mail address, call us any time!!
***************************************************************************
Don??t miss this chance, you may make lots of money with this new marketing technique.
Booking Hotline : (852) 8333 1002 Mr Wong
2ND FL.FRONT BLOCK HING YIP HOUSE.24,SAI YEE ST,HK
_________________________________________________________________________________________

View File

@ -0,0 +1,54 @@
From: tim_one at email.msn.com (tim_one at email.msn.com)
Date: Thu, 22 Apr 1999 20:19:48 GMT
Subject: Time complexity of dictionary insertions
References: <371F2125.BEC5F892@fzi.de>
Message-ID: <7fo08u$4j2$1@nnrp1.dejanews.com>
Content-Length: 1417
X-UID: 89
In article <371F2125.BEC5F892 at fzi.de>,
Oliver Ciupke <ciupke at fzi.de> wrote:
> As I understood from the Python documentation, dictionaries are
> implemented as extensible hash tables.
Yes.
> What I didn't find either in the references or in the FAQ is: what is
> the actual time complexity for an insertion into a dictionary?
Min O(1), Max O(N), Ave O(1). If the hash function is doing a terrible job
(e.g. maps every key to the same hash value), make those all O(N).
> Do the old contents (probably references)
Yes.
> have to be copied when extending (doubling?)
Approximately doubling, yes.
> the dictionary?
Right.
> I guess updates and deletions have constand complexity, right?
No; see above for insertion. Deletion is O(1) always, because Python doesn't
try to shrink the table by magic (if you stick in a million keys and then
delete them, the table will still contain a million "this entry isn't being
used" markers).
> If the complexity of insertion is something like n*log(n), does anyone
> know measurements "how linear" the real measured times are?
In practice, with a non-pathological hash function + key distribution combo,
insertion & deletion act like O(1) on average.
for-more-details-see-the-source-code<wink>ly y'rs - tim
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own

View File

@ -0,0 +1,85 @@
From: jmrober1 at ingr.com (Joseph Robertson)
Date: Fri, 16 Apr 1999 10:37:24 -0500
Subject: Windows install has problems.
References: <924039873.18221.0.nnrp-12.9e982a40@news.demon.co.uk>
Message-ID: <37175933.5477D57F@ingr.com>
Content-Length: 2637
X-UID: 90
Guido, didn't I write you a hack for this?
I'll look on my home machine later, but I think I did. Also, why doesn't the
Tcl install do this correctly? We should complain to them about it.
Anyway, I am sure I can fix this using wise.
Joe Robertson
jmrobert at ro.com
Barry Scott wrote:
> THis is Guido's reply to my comments that tcl80.dll is not found
> by IDLE on a default installation.
>
> > > > Running "IDLE (Python GUI)" reports that tcl80.dll is
> > > > not in my path then the shell comes up and I can
> > > > use Tkinter from the shell.
> > > >
> > > > Just in case this might be involved my Windows NT system
> > > > is on G: not C:.
> > >
> > > To solve this one, I think you'll have to edit your autoexec.bat to
> > > add the Tcl directory (containing that DLL) to the PATH variable. For
> > > various reasons I do not believe it is a good idea to copy the Tcl/Tk
> > > DLL files into the Python directory, nor do I think it is possible to
> > > reliably edit autoexec.bat in the installer. Instead, Tkinter.py
> > > imports a hack module, FixTk.py, which searches for tcl80.dll in a few
> > > places and then patches the PATH environment variable of the running
> > > process, but this is not failsafe either. :-(
> >
> > It would be nice if I did not have to edit the path manually.
> > Suggest that the install edits the path or you use the registry
> > to find the tcl80.dll image.
>
> I wish I could. The installer is very stupid. Windows sucks :-(
>
> > 1) The PATH is a registry key on NT. I don't have an autoexec.bat,
> > isn't for MS-DOS compatibility only these days?
>
> No, it's still needed on Windows 98 and 98.
>
> > The machines PATH is in
> >
> > HKEY_LOCAL_MACHINE\CurrentControlSet\Control\Session Manager\Environment
> >
> > 2a) I notice that HKEY_CLASSES_ROOT\TclShell\shell\open\command
> > contains a default value which is how to run wish. e.g.
> >
> > G:\PROGRA~1\Tcl\bin\wish80.exe "%1"
> >
> > tcl80.dll is in the same dir as wish80.exe.
> >
> > 2b)
> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls
> > lists all the shared files on the system. There is an value
> > "G:\Program Files\Tcl\bin\tcl80.dll" with the date 0x0000001 against it.
> >
> > 2c) HKEY_LOCAL_MACHINE\SOFTWARE\Scriptics\Tcl\8.0
> > contains the default value field with the data G:\PROGRA~1\Tcl
> >
> > The DLL being in data + "\tcl80.dll".
> >
> > BArry
> Please take it up on the newsgroup -- there are many people with
> similar interests and more understanding of Windows than I have!
>
> --Guido van Rossum (home page: http://www.python.org/~guido/)

View File

@ -0,0 +1,36 @@
From: mli389 at merle.acns.nwu.edu (Matthew T Lineen)
Date: 15 Apr 1999 20:40:30 GMT
Subject: HTML Authentication with Python
Message-ID: <7f5iru$rlm@news.acns.nwu.edu>
X-UID: 91
I am currently running python on an Windows NT Server. We only want certain
pages to be accessed by people with accounts on the server in order to
update a database through python. Using this code:
def main():
if not os.environ.has_key("REMOTE_USER"):
print "HTTP/1.0 401 Access Denied"
print "Status: 401 Authenication Required"
print "WWW-authenticate: Basic;"
print "Content-type: text/html\n\n\n"
else:
print "Worked"
I was able to get an authentication box to pop up in both netscape and ie,
but when a user who is not an administrator tries to authenticate it
doesn't accept the username / password.
Is this a good way to go about authentication in python or is there another
library to interface with the browsers and the NT user database?
Furthermore, I'm relatively sure that the problem lies in user permissions,
but I have no idea where to begin troubleshooting. Where is the os.environ
'kept'?
Any help would be appriciated.
Matthew Lineen

View File

@ -0,0 +1,20 @@
From: richard at folwell.com (Richard Folwell)
Date: Thu, 15 Apr 1999 07:56:58 GMT
Subject: Please unsubscribe me
Message-ID: <01BE871E.C5505F20.richard@folwell.com>
X-UID: 92
Thanks,
Richard Folwell
Riverside Information Systems Ltd
Tel: +44 958 900 549
Email: richard at folwell.com
Fax: +44 171 681 3385

View File

@ -0,0 +1,40 @@
From: gmcm at hypernet.com (Gordon McMillan)
Date: Fri, 23 Apr 1999 01:55:55 GMT
Subject: try vs. has_key()
In-Reply-To: <aahzFAM4oJ.M7M@netcom.com>
References: <aahzFAM4oJ.M7M@netcom.com>
Message-ID: <1287289735-37704702@hypernet.com>
X-UID: 93
Aahz asks:
> I've seen roughly half the people here doing
>
> try:
> dict[key].append(foo)
> except:
> dict[key]=[foo]
>
> with the other half doing
>
> if dict.has_key(key):
> dict[key].append(foo)
> else:
> dict[key]=[foo]
>
> Can people explain their preferences?
I have done both. Option 1 requires slightly less typing, but is only
better when you (in practice) have a dict with a small number of keys
and rather longish lists. (In Python, "try" is damned near free, and
"except" is a lot cheaper than, say, C++'s "catch", but still costs a
good deal more than has_key.)
Conscientious practice of option 2, of course, allows you to look St.
Peter in the eye and demand entrance without fear of contradiction...
- Gordon

View File

@ -0,0 +1,44 @@
From: akuchlin at cnri.reston.va.us (Andrew M. Kuchling)
Date: Wed, 28 Apr 1999 11:11:07 -0400 (EDT)
Subject: try vs. has_key()
In-Reply-To: <37247ea3.494305@news.jpl.nasa.gov>
References: <aahzFAM4oJ.M7M@netcom.com>
<yWOT2.6007$8m5.9320@newsr1.twcny.rr.com>
<Pine.SUN.3.95-heb-2.07.990423140345.21577A-100000@sunset.ma.huji.ac.il>
<37247ea3.494305@news.jpl.nasa.gov>
Message-ID: <14119.9202.870049.51888@amarok.cnri.reston.va.us>
X-UID: 94
William H. Duquette writes:
>>>> d = {}
>>>> a = 'Foo'
>>>> d[a] = d.get(a, []).append('Bar')
>>>> d
>{'Foo': None}
>I'd have expected to see {'Foo': 'Bar'}, but that's not what I get.
The .append() method only returns None, not the list you've
just appended to.
>>> L = []
>>> print L.append(2)
None
>>> L
[2]
You'd want something like:
dummy = d[a] = d.get(a, [])
dummy.append('Bar')
--
A.M. Kuchling http://starship.python.net/crew/amk/
When I originally designed Perl 5's OO, I thought about a lot of this stuff,
and chose the explicit object model of Python as being the least confusing. So
far I haven't seen a good reason to change my mind on that.
-- Larry Wall, 27 Feb 1997 on perl5-porters

View File

@ -0,0 +1,25 @@
From: davidcuny at yahoo.fr (davidcuny at yahoo.fr)
Date: Mon, 19 Apr 1999 09:06:07 GMT
Subject: Database search engine
Message-ID: <7ferls$qrj$1@nnrp1.dejanews.com>
X-UID: 95
Hello,
I'm doing an Intranet Web site with a database (Apache, DB2 and NT).
I'd like to realize a quite complex search engine on the database :
- the user enters mutli keywords
- there exists a table of non significant words
- there exists a table of words that have meaning: "kind" and "sort"
Where can I find an algorithm or, the best, Perl code for that kind of work?
Is Perl the good tool to do that (Perl??,java)??
thanks
David
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own

View File

@ -0,0 +1,66 @@
From: moshez at math.huji.ac.il (Moshe Zadka)
Date: Fri, 23 Apr 1999 14:13:59 +0300
Subject: try vs. has_key()
In-Reply-To: <yWOT2.6007$8m5.9320@newsr1.twcny.rr.com>
References: <aahzFAM4oJ.M7M@netcom.com> <yWOT2.6007$8m5.9320@newsr1.twcny.rr.com>
Message-ID: <Pine.SUN.3.95-heb-2.07.990423140345.21577A-100000@sunset.ma.huji.ac.il>
Content-Length: 1457
X-UID: 96
Note:
This article is a non-commercial advertisement for the ``get'' method
of dictionary objects.
Brought to you by the object None and the method .append.
On Thu, 22 Apr 1999, Darrell wrote:
> My experience shows that throwing an exception is slower.
>
> Aahz Maruch <aahz at netcom.com> wrote in message
> news:aahzFAM4oJ.M7M at netcom.com...
> > I've seen roughly half the people here doing
> >
<snipped try/except idiom for updating a dictionary>
<snipped has_key idiom for updating a dictionary>
It depends on the expected hit/miss ratio.
If you have many hits, few misses -- use the first
Few hits, many misses -- use the second.
Best way is to use
(for example, counting)
d={}
for word in words:
d[word]=d.get(word, 0)+1
Or, for logging:
d={}
for word in words:
first_two=word[:2]
d[first_two]=d.get(first_two, []).append(word)
Unfortunately, few people seem to know about the ``get'' method, which
is really good.
>From the docs:
a.get(k[, f]) the item of a with key k (4)
(4)
Never raises an exception if k is not in the map, instead it
returns f. f is optional, when not provided and k is not in the
map, None is returned.
This makes dictionary types behave in a Perl-hash-like manner, which is
sometimes a good thing.
Note that this idiom is (I think) more efficient, and shorter.
--
Moshe Zadka <mzadka at geocities.com>.
QOTD: What fun to me! I'm not signing permanent.

View File

@ -0,0 +1,54 @@
From: bkc at murkworks.com (Brad Clements)
Date: Wed, 21 Apr 1999 18:55:03 -0400
Subject: interfacing to Dragon from a Python app
References: <BBn/2Yv1uoIN084yn@eskimo.com> <000801be89dd$d407a0c0$ed9e2299@tim> <HCLH3Yv1uQ4H084yn@eskimo.com>
Message-ID: <7fll1r$6kn$1@news.clarkson.edu>
Content-Length: 1430
X-UID: 97
I have used microsoft's iit product. What attracted me was the price..
(Also, I have T3 access)
It DOES work, though you need a good headset for dictation to work well. I
guess that's generally true of everything else anyway..
I'm planning on using it with Python to "read" imap messages to me via
telephone...
Frank Sergeant wrote in message ...
>In article <000801be89dd$d407a0c0$ed9e2299 at tim>,
>"Tim Peters" <tim_one at email.msn.com> wrote:
>
>> FYI, people curious about speech recognition under Windows might want to
>> give Microsoft's implementation a try; see the little-known
>>
>> http://www.microsoft.com/iit/
>
>Thanks for the pointer. I browsed around the site for awhile.
>
>> This is not for the Windows-ignorant, weak-hearted, or slow-modem'ed
<wink>,
>
>I couldn't quite bring myself to start the 21MB download. I'm still
>pondering my approach to the whole Speech Recognition (SR) thing. I'm
>gradually getting some hardware set up that might support it and
>considering the Dragon Preferred product (around $135 somewhere on
>the net) versus saving up for the Dragon developer's kit. Third in
>line, I guess, is Microsoft's 21MB download. Although ...
>
>I'm also thinking of overall priorities -- in that that SR might
>not be able to make a silk purse out of a sow's ear (then again,
>a sow's ear may be better at SR than a silk purse).
>
>
> -- Frank
> frank.sergeant at pobox.com
>

View File

@ -0,0 +1,84 @@
From: llwo at dbtech.net.nospam (Karl & Mel)
Date: Mon, 19 Apr 1999 20:39:46 -0500
Subject: calldll windll instantiation
Message-ID: <371bdcbf.0@news.dbtech.net>
Content-Length: 1735
X-UID: 98
Need some help.
I think?(scarry moment)? that I need to create more that one instance of a
dll.
1. Can this be done?
2. Is my sample even close?
"""gm_class quick wrapper of dll functions"""
import windll
import time
class test:
def __init__(self):
self.gm=windll.module('GM4S32')
def load_bde(self, SysDir='c:\\program files\\goldmine',
GoldDir='c:\\program files\\goldmine\\gmbase',
CommonDir='c:\\program files\\goldmine\\demo',
User='PERACLES',
Password=''):
start=time.time()
(SysDir, GoldDir, CommonDir,
User, Password)=map(windll.cstring,(SysDir, GoldDir, CommonDir,
User, Password))
return (self.gm.GMW_LoadBDE(SysDir, GoldDir, CommonDir, User,
Password), "Startup Time: " + str(time.time()-start))
def unload_bde(self):
return self.gm.GMW_UnloadBDE()
...other defs...
>>> import gm_class
>>> a=gm_class.test()
>>> b=gm_class.test()
>>> a
<gm_class.test instance at 856fd0>
>>> b
<gm_class.test instance at 85b140>
>>> a.gm
<win32 module 'GM4S32' (0 functions)>
>>> b.gm
<win32 module 'GM4S32' (0 functions)>
>>> a.load_bde() # This works
(1, 'Startup Time: 0.490000009537')
>>> a.gm
<win32 module 'GM4S32' (1 functions)>
>>> b.gm
<win32 module 'GM4S32' (1 functions)>
>>> b.load_bde() # This fails but should work ;-(
(0, 'Startup Time: 0.0')
>>> a.gm
<win32 module 'GM4S32' (1 functions)>
>>> b.gm
<win32 module 'GM4S32' (1 functions)>
>>> a.gm==b.gm # Don't know if this is correct
1
>>> a==b
0
>>>
>>> gm_class.windll.dump_module_info()
--------------------
WINDLL Function Call Stats:
--- <win32 module 'GM4S32' (1 functions)> ---
2 GMW_LoadBDE
>>>

View File

@ -0,0 +1,22 @@
From: catlee at globalserve.net (Chris AtLee)
Date: Thu, 22 Apr 1999 08:12:06 -0400
Subject: stdout in a restricted environment
Message-ID: <7fn3rs$1v9$1@whisper.globalserve.net>
X-UID: 99
I'm trying to make a program that will enable users to connect to a server
running a python interpreter and be able to program in a restricted
environment in that interpreter. The rexec object has methods called s_exec
and s_eval which are supposed to use secure forms of the standard I/O
streams, but I can't redefine them to be something else (specifically, an
object that sends the response back to the client) Any pointers on how to
go about redirecting the standard I/O streams from a restricted environment?
Cheers,
Chris

Some files were not shown because too many files have changed in this diff Show More