From m.mariani@imola.nettuno.it Fri Jan 18 19:16:32 2002
Received: from zoidberg (adsl-169-11.38-151.net24.it [151.38.11.169])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g0IIGVs19156
	for <egenix-users@lists.egenix.com>; Fri, 18 Jan 2002 19:16:32 +0100
Received: from volvox by zoidberg with local (Exim 3.33 #1 (Debian))
	id 16RdZW-00036O-00
	for <egenix-users@lists.egenix.com>; Fri, 18 Jan 2002 19:17:02 +0100
Date: Fri, 18 Jan 2002 19:17:02 +0100
To: egenix-users@lists.egenix.com
Message-ID: <20020118181702.GA11811@zoidberg>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.3.25i
From: Marco Mariani <m.mariani@imola.nettuno.it>
Subject: [egenix-users] beebase
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://www.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://www.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://www.egenix.com/mailman-archives/egenix-users/>

Are there any examples using mx-beebase?

I can hardly use it, what does "record address must be an integer" means?

Looking at the docs, I should be able to say

d = BeeDict('test')

d['something'] = 'hulabaloo'
d.commit()


but it ain't so.


Thanks


From mal@lemburg.com Fri Jan 18 20:15:35 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g0IJFZs19517;
	Fri, 18 Jan 2002 20:15:35 +0100
Message-ID: <3C487534.8975759F@lemburg.com>
Date: Fri, 18 Jan 2002 20:19:16 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Marco Mariani <m.mariani@imola.nettuno.it>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] beebase
References: <20020118181702.GA11811@zoidberg>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://www.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://www.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://www.egenix.com/mailman-archives/egenix-users/>

Marco Mariani wrote:
> 
> Are there any examples using mx-beebase?

No, but the sources are well documented.
 
> I can hardly use it, what does "record address must be an integer" means?

That hints to a problem with mxBeeBase when compiling Python
with large file support: file.tell() will return a long rather
than an integer and the mxBeeBase wrapper doesn't like this.
 
> Looking at the docs, I should be able to say
> 
> d = BeeDict('test')
> 
> d['something'] = 'hulabaloo'
> d.commit()
> 
> but it ain't so.
> 
> Thanks

BTW, how did you find this list ? I haven't even announced it yet ;-)

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From mal@lemburg.com Tue Jan 29 19:58:16 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g0TIwFs23245;
	Tue, 29 Jan 2002 19:58:15 +0100
Message-ID: <3C56F1B8.AEEC5048@lemburg.com>
Date: Tue, 29 Jan 2002 20:02:16 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Mail problems
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Welcome to the list !

Someone just mentioned to me that the MX record in DNS for 
lists.egenix.com was missing. I have fixed that now, but due
to the delay in DNS it may take a while until the change
propogates. 

This means that you are likely not going to be able to send mail 
to this list today.

Sorry about that,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From mal@lemburg.com Fri Feb  1 12:11:36 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g11BBZs17711;
	Fri, 1 Feb 2002 12:11:35 +0100
Message-ID: <3C5A78E5.4AF297C6@lemburg.com>
Date: Fri, 01 Feb 2002 12:15:49 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Upcoming 2.1.0 release of eGenix.com mx BASE
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi everybody,

there will be a new release of the mx BASE distribution this
month and I was wondering whether you'd like to test drive
the current alpha of that version.

Here's a short overview of what has changed:

* mxTextTools does now fully support Unicode (this is a sponsored
  feature addition)

* mxBeeBase is starting to feel at home on non-Unix platforms
  as well, esp. Windows where it didn't work before in locking
  mode. mxBeeBase offers you many possibilities, BTW, e.g. on-disk
  dictionaries and fast lookups.

+ The usual bunch of small tweaks and changes.

Before the final version I also plan to add mxURL from the
experimental distribution to mx base.

Here's the current pre-release as distutils source package:

  http://www.egenix.com/files/python/egenix-mx-base-2.1.0.zip

Please give it a go and let me know what you think. I'll
update the above file every now and then (in place), but
will post updates to this list.

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From maxm@mxm.dk Thu Feb  7 14:56:24 2002
Received: from fe030.worldonline.dk (fe030.worldonline.dk [212.54.64.197])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g17DuOs09182
	for <egenix-users@lists.egenix.com>; Thu, 7 Feb 2002 14:56:24 +0100
Received: (qmail 31846 invoked by uid 0); 7 Feb 2002 13:56:24 -0000
Received: from 213.237.27.77.adsl.od.worldonline.dk (HELO mxm.dk) (213.237.27.77)
  by fe030.worldonline.dk with SMTP; 7 Feb 2002 13:56:24 -0000
Message-ID: <3C628795.2080602@mxm.dk>
Date: Thu, 07 Feb 2002 13:56:37 +0000
From: Max M <maxm@mxm.dk>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.7+) Gecko/20020119
X-Accept-Language: en-us
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] problem with mx.ODBC MS SQL-server and datetime
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am trying out mx.ODBC on MS sql server, and so far it goes along nicely.

But I am having trouble with inserting dates ie. from mx.DateTime
The error message is:
('01004', 0, '[Microsoft][ODBC SQL Server Driver]Fractional truncation',
4479)

The only thing i could find on the net was (one line only):

http://groups.google.com/groups?hl=da&frame=right&th=841f8af29973b8ba&seekm=mailman.989913322.21800.python-list%40python.org#link2

Where somebody has the same problem:

"Marc-Andre answer:
Looks like MS SQL Server's ODBC driver is being too careful again.
What you are seeing there is a SQL warning which mxODBC translates
into an exception."

the advice is "recompiling the package with -DDONT_REPORT_WARNINGS"

I would find it a lot easier to just catch the exception. But I cannot 
see from the traceback which exception to catch.  So I have made a quick 
hack:

        try: # it bitches about dates
            c.execute(qs, localValues)
        except:
            pass

That's about as dirty as it gets. So I wondered what the better way to 
do it is? As far as i can tell it just raises a general exception. Not 
one that I can catch explicitly.

Do I really have to re-compile? And if so what is needed?

regards Max M


From mal@lemburg.com Thu Feb  7 17:34:25 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g17GYOs10183;
	Thu, 7 Feb 2002 17:34:25 +0100
Message-ID: <3C62ACA4.37A66B03@lemburg.com>
Date: Thu, 07 Feb 2002 17:34:44 +0100
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Max M <maxm@mxm.dk>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] problem with mx.ODBC MS SQL-server and datetime
References: <3C628795.2080602@mxm.dk>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Max M wrote:
> 
> I am trying out mx.ODBC on MS sql server, and so far it goes along nicely.
> 
> But I am having trouble with inserting dates ie. from mx.DateTime
> The error message is:
> ('01004', 0, '[Microsoft][ODBC SQL Server Driver]Fractional truncation',
> 4479)
> 
> The only thing i could find on the net was (one line only):
> 
> http://groups.google.com/groups?hl=da&frame=right&th=841f8af29973b8ba&seekm=mailman.989913322.21800.python-list%40python.org#link2
> 
> Where somebody has the same problem:
> 
> "Marc-Andre answer:
> Looks like MS SQL Server's ODBC driver is being too careful again.
> What you are seeing there is a SQL warning which mxODBC translates
> into an exception."
> 
> the advice is "recompiling the package with -DDONT_REPORT_WARNINGS"
> 
> I would find it a lot easier to just catch the exception. But I cannot
> see from the traceback which exception to catch. 

You'll have to catch the mx.ODBC.Windows.Warning exception and
then look at the first item of the reason tuple to tell which
warning was issued.

Then to fix the problem, I'd suggest to convert the DateTime
object to a datetime string value with only two digit fractions. 
str(datetime) does this for you.

> So I have made a quick
> hack:
> 
>         try: # it bitches about dates
>             c.execute(qs, localValues)
>         except:
>             pass
> 
> That's about as dirty as it gets. So I wondered what the better way to
> do it is? As far as i can tell it just raises a general exception. Not
> one that I can catch explicitly.
> 
> Do I really have to re-compile? And if so what is needed?

You'll need MS VC++ installed, the Python installation and the
mxODBC sources. Then 

python setup.py build build_ext -DDONT_REPORT_WARNINGS install

will do the trick and install the new versions on top of what you
probably already have installed.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From maxm@mxm.dk Thu Feb 21 18:14:36 2002
Received: from fe040.worldonline.dk (fe040.worldonline.dk [212.54.64.205])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g1LHEas15328
	for <egenix-users@lists.egenix.com>; Thu, 21 Feb 2002 18:14:36 +0100
Received: (qmail 30739 invoked by uid 0); 21 Feb 2002 17:14:35 -0000
Received: from 213.237.27.77.adsl.od.worldonline.dk (HELO mxm.dk) (213.237.27.77)
  by fe040.worldonline.dk with SMTP; 21 Feb 2002 17:14:35 -0000
Message-ID: <3C752B18.3070709@mxm.dk>
Date: Thu, 21 Feb 2002 17:15:04 +0000
From: Max M <maxm@mxm.dk>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.7+) Gecko/20020119
X-Accept-Language: en-us
MIME-Version: 1.0
To: egenix-users <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] comparing DateTime types
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi

This works as I expect:
type(mx.DateTime.now()) == type(mx.DateTime.DateTime(2002))
 >>> 1

But this doesn't:
type(mx.DateTime.now()) == type(mx.DateTime.DateTimeType)
 >>> 0

Do I have to compare instances? I would have thought that comparing with 
the "DateTimeType" directly would suffice.

regards Max M


From Jim.Vickroy@noaa.gov Thu Feb 21 18:26:05 2002
Received: from cripplecreek.sec.noaa.gov (cripplecreek.sec.noaa.gov [140.172.224.30])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g1LHQ4s15449
	for <egenix-users@lists.egenix.com>; Thu, 21 Feb 2002 18:26:04 +0100
Received: from noaa.gov ([140.172.224.138]) by
          cripplecreek.sec.noaa.gov (Netscape Messaging Server 4.15) with
          ESMTP id GRW8FF00.344; Thu, 21 Feb 2002 10:26:03 -0700 
Message-ID: <3C752DAB.3605C79A@noaa.gov>
Date: Thu, 21 Feb 2002 10:26:03 -0700
From: "Jim Vickroy" <Jim.Vickroy@noaa.gov>
X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Max M <maxm@mxm.dk>
CC: egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] comparing DateTime types
References: <3C752B18.3070709@mxm.dk>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hello Max,
 I'm using Python 2.2 and here is the behavior:

>>> import mx.DateTime
>>> type(mx.DateTime.now())
<type 'DateTime'>
>>> type(mx.DateTime.DateTimeType)
<type 'type'>
>>> mx.DateTime.DateTimeType
<type 'DateTime'>
>>> type(mx.DateTime.now()) == mx.DateTime.DateTimeType
1
>>>

Note that the type of DateTimeType is 'type' which is as expected -- the
type of a type is 'type'.

Max M wrote:

> Hi
>
> This works as I expect:
> type(mx.DateTime.now()) == type(mx.DateTime.DateTime(2002))
>  >>> 1
>
> But this doesn't:
> type(mx.DateTime.now()) == type(mx.DateTime.DateTimeType)
>  >>> 0
>
> Do I have to compare instances? I would have thought that comparing with
> the "DateTimeType" directly would suffice.
>
> regards Max M
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From maxm@mxm.dk Thu Feb 21 18:29:17 2002
Received: from fe170.worldonline.dk (fe170.worldonline.dk [212.54.64.199])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g1LHTHs15475
	for <egenix-users@lists.egenix.com>; Thu, 21 Feb 2002 18:29:17 +0100
Received: (qmail 31476 invoked by uid 0); 21 Feb 2002 17:29:13 -0000
Received: from 213.237.27.77.adsl.od.worldonline.dk (HELO mxm.dk) (213.237.27.77)
  by fe170.worldonline.dk with SMTP; 21 Feb 2002 17:29:13 -0000
Message-ID: <3C752E89.4030709@mxm.dk>
Date: Thu, 21 Feb 2002 17:29:45 +0000
From: Max M <maxm@mxm.dk>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.7+) Gecko/20020119
X-Accept-Language: en-us
MIME-Version: 1.0
To: Jim Vickroy <Jim.Vickroy@noaa.gov>
CC: egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] comparing DateTime types
References: <3C752B18.3070709@mxm.dk> <3C752DAB.3605C79A@noaa.gov>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Jim Vickroy wrote:

>Note that the type of DateTimeType is 'type' which is as expected -- the
>type of a type is 'type'.
>
Doh!

I guess gotta read up on "Gödel, Escher, Bach" one more time. Especially 
the sections about meta levels!

regards Max m


From jh@web.de Thu Feb 21 19:36:29 2002
Received: from smtp.web.de (smtp02.web.de [217.72.192.151])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g1LIaTs15986
	for <egenix-users@lists.egenix.com>; Thu, 21 Feb 2002 19:36:29 +0100
Received: from [80.131.145.48] (helo=owlglass)
	by smtp.web.de with smtp (WEB.DE(Exim) 4.28 #21)
	id 16dy4d-00042x-00; Thu, 21 Feb 2002 19:36:07 +0100
From: "Juergen Hermann" <jh@web.de>
To: "Jim Vickroy" <Jim.Vickroy@noaa.gov>, "Max M" <maxm@mxm.dk>
Cc: "egenix-users" <egenix-users@lists.egenix.com>
Date: Thu, 21 Feb 2002 19:36:20 +0100
Reply-To: "Juergen Hermann" <jh@web.de>
Priority: Normal
X-Mailer: PMMail 2000 Standard (2.10.2010) For Windows NT (4.0.1381;6)
In-Reply-To: <3C752E89.4030709@mxm.dk>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Subject: Re: [egenix-users] comparing DateTime types
Message-Id: <E16dy4d-00042x-00@smtp.web.de>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by www.egenix.com id g1LIaTs15986
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

On Thu, 21 Feb 2002 17:29:45 +0000, Max M wrote:

>I guess gotta read up on "Gödel, Escher, Bach" one more time. Especially 
>the sections about meta levels!

That apart, type checks should be done with isinstance()!


Ciao, Jürgen



From sholden@holdenweb.com Thu Feb 21 22:17:41 2002
Received: from mail2.registeredsite.com (mail2.registeredsite.com [64.224.9.11])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g1LLHes17092
	for <egenix-users@lists.egenix.com>; Thu, 21 Feb 2002 22:17:40 +0100
Received: from mail.holdenweb.com (mail.holdenweb.com [64.224.159.178])
	by mail2.registeredsite.com (8.11.6/8.11.4) with ESMTP id g1LKNCV23620;
	Thu, 21 Feb 2002 15:23:12 -0500
Received: from thinker [64.224.159.178] by mail.holdenweb.com
  (SMTPD32-6.06) id A3F03BCA0072; Thu, 21 Feb 2002 16:17:36 -0500
Message-ID: <00f801c1bb1d$21c09740$d200000a@holdenweb.com>
From: "Steve Holden" <sholden@holdenweb.com>
To: "Max M" <maxm@mxm.dk>, "egenix-users" <egenix-users@lists.egenix.com>
References: <3C752B18.3070709@mxm.dk>
Subject: Re: [egenix-users] comparing DateTime types
Date: Thu, 21 Feb 2002 16:17:11 -0500
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4522.1200
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

----- Original Message -----
From: "Max M" <maxm@mxm.dk>
To: "egenix-users" <egenix-users@lists.egenix.com>
Sent: Thursday, February 21, 2002 12:15 PM
Subject: [egenix-users] comparing DateTime types


> Hi
>
> This works as I expect:
> type(mx.DateTime.now()) == type(mx.DateTime.DateTime(2002))
>  >>> 1
>
> But this doesn't:
> type(mx.DateTime.now()) == type(mx.DateTime.DateTimeType)
>  >>> 0
>
> Do I have to compare instances? I would have thought that comparing
with
> the "DateTimeType" directly would suffice.
>
>>> import mx.DateTime as dt
>>> dt.DateTimeType
<type 'DateTime'>
>>> type(dt.now())
<type 'DateTime'>

The magic you were looking for is probably

    type(mx.DateTime.now()) == mx.DateTime.DateTimeType

The problem here is that type(mx.DateTime.DateTimeType) is a type, whose
type should therefore be typeType.

>>> type(dt.DateTimeType)
<type 'type'>

Hope this helps.

regards
 Steve
--
Consulting, training, speaking: http://www.holdenweb.com/
Author, Python Web Programming: http://pydish.holdenweb.com/pwp/

"This is Python.  We don't care much about theory, except where it
intersects with useful practice."  Aahz Maruch on c.l.py




From egrubbs@rackspace.com Sat Mar 30 03:24:56 2002
Received: from anubis.cymitar.com (64-39-1-26.dhcp.hq.rackspace.com [64.39.1.26])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g2U2Ots30072
	for <egenix-users@lists.egenix.com>; Sat, 30 Mar 2002 03:24:55 +0100
Received: by anubis.cymitar.com (Postfix, from userid 501)
	id 562402F77; Fri, 29 Mar 2002 20:24:23 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
	by anubis.cymitar.com (Postfix) with ESMTP id 52F522F76
	for <egenix-users@lists.egenix.com>; Fri, 29 Mar 2002 20:24:23 -0600 (CST)
Date: Fri, 29 Mar 2002 20:24:23 -0600 (CST)
From: Edwin Grubbs <egrubbs@rackspace.com>
X-X-Sender: egrubbs@zamboni.wc6.rackspace.com
To: egenix-users@lists.egenix.com
Message-ID: <Pine.LNX.4.44.0203292011420.24893-100000@zamboni.wc6.rackspace.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Subject: [egenix-users] DateTime error rounding seconds
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am having a problem with DateTime incorrectly rounding the floating 
point second value down 1/100 of second.

Python 2.2 (#1, Mar 13 2002, 12:34:11) 
[GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-98)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from mx.DateTime import *
>>> DateTime(2002, 1, 2, 3, 4, 5.00)
<DateTime object for '2002-01-02 03:04:05.00' at 8126658>
>>> DateTime(2002, 1, 2, 3, 4, 5.01)
<DateTime object for '2002-01-02 03:04:05.00' at 8152098>
>>> DateTime(2002, 1, 2, 3, 4, 5.02)
<DateTime object for '2002-01-02 03:04:05.01' at 8126658>
>>> DateTime(2002, 1, 2, 3, 4, 5.03)
<DateTime object for '2002-01-02 03:04:05.03' at 8152098>
>>> DateTime(2002, 1, 2, 3, 4, 5.04)
<DateTime object for '2002-01-02 03:04:05.04' at 8126658>
>>> DateTime(2002, 1, 2, 3, 4, 5.05)
<DateTime object for '2002-01-02 03:04:05.04' at 8152098>
>>> DateTime(2002, 1, 2, 3, 4, 5.06)
<DateTime object for '2002-01-02 03:04:05.05' at 8126658>


-Edwin Grubbs


From mal@lemburg.com Tue Apr  2 19:31:36 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g32HVas31561;
	Tue, 2 Apr 2002 19:31:36 +0200
Message-ID: <3CA9EAF8.A528E748@lemburg.com>
Date: Tue, 02 Apr 2002 19:31:36 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Edwin Grubbs <egrubbs@rackspace.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] DateTime error rounding seconds
References: <Pine.LNX.4.44.0203292011420.24893-100000@zamboni.wc6.rackspace.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Edwin Grubbs wrote:
> 
> I am having a problem with DateTime incorrectly rounding the floating
> point second value down 1/100 of second.
> 
> Python 2.2 (#1, Mar 13 2002, 12:34:11)
> [GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-98)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> >>> from mx.DateTime import *
> >>> DateTime(2002, 1, 2, 3, 4, 5.00)
> <DateTime object for '2002-01-02 03:04:05.00' at 8126658>
> >>> DateTime(2002, 1, 2, 3, 4, 5.01)
> <DateTime object for '2002-01-02 03:04:05.00' at 8152098>
> >>> DateTime(2002, 1, 2, 3, 4, 5.02)
> <DateTime object for '2002-01-02 03:04:05.01' at 8126658>
> >>> DateTime(2002, 1, 2, 3, 4, 5.03)
> <DateTime object for '2002-01-02 03:04:05.03' at 8152098>
> >>> DateTime(2002, 1, 2, 3, 4, 5.04)
> <DateTime object for '2002-01-02 03:04:05.04' at 8126658>
> >>> DateTime(2002, 1, 2, 3, 4, 5.05)
> <DateTime object for '2002-01-02 03:04:05.04' at 8152098>
> >>> DateTime(2002, 1, 2, 3, 4, 5.06)
> <DateTime object for '2002-01-02 03:04:05.05' at 8126658>

That's because 5.05 is really 5.0499999999999998. mxDateTime's
repr() function truncates the seconds value to avoid accidental
cases of a 60 reading when you really only have 59.6 seconds.

Use now().second to access the true seconds value with
full accuracy.

HTH, 
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From egrubbs@rackspace.com Tue Apr  2 22:27:02 2002
Received: from anubis.cymitar.com (64-39-1-26.dhcp.hq.rackspace.com [64.39.1.26])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g32KR2s32718
	for <egenix-users@lists.egenix.com>; Tue, 2 Apr 2002 22:27:02 +0200
Received: by anubis.cymitar.com (Postfix, from userid 501)
	id 744CA2F7B; Tue,  2 Apr 2002 14:26:16 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
	by anubis.cymitar.com (Postfix) with ESMTP id 715642F7A
	for <egenix-users@lists.egenix.com>; Tue,  2 Apr 2002 14:26:16 -0600 (CST)
Date: Tue, 2 Apr 2002 14:26:16 -0600 (CST)
From: Edwin Grubbs <egrubbs@rackspace.com>
X-X-Sender: egrubbs@zamboni.wc6.rackspace.com
To: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] DateTime error rounding seconds
In-Reply-To: <3CA9EAF8.A528E748@lemburg.com>
Message-ID: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

On Tue, 2 Apr 2002, M.-A. Lemburg wrote:

> Edwin Grubbs wrote:
> > 
> > I am having a problem with DateTime incorrectly rounding the floating
> > point second value down 1/100 of second.
> > 
> > Python 2.2 (#1, Mar 13 2002, 12:34:11)
> > [GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-98)] on linux2
> > Type "help", "copyright", "credits" or "license" for more information.
> > >>> from mx.DateTime import *
> > >>> DateTime(2002, 1, 2, 3, 4, 5.00)
> > <DateTime object for '2002-01-02 03:04:05.00' at 8126658>
> > >>> DateTime(2002, 1, 2, 3, 4, 5.01)
> > <DateTime object for '2002-01-02 03:04:05.00' at 8152098>
> > >>> DateTime(2002, 1, 2, 3, 4, 5.02)
> > <DateTime object for '2002-01-02 03:04:05.01' at 8126658>
> > >>> DateTime(2002, 1, 2, 3, 4, 5.03)
> > <DateTime object for '2002-01-02 03:04:05.03' at 8152098>
> > >>> DateTime(2002, 1, 2, 3, 4, 5.04)
> > <DateTime object for '2002-01-02 03:04:05.04' at 8126658>
> > >>> DateTime(2002, 1, 2, 3, 4, 5.05)
> > <DateTime object for '2002-01-02 03:04:05.04' at 8152098>
> > >>> DateTime(2002, 1, 2, 3, 4, 5.06)
> > <DateTime object for '2002-01-02 03:04:05.05' at 8126658>
> 
> That's because 5.05 is really 5.0499999999999998. mxDateTime's
> repr() function truncates the seconds value to avoid accidental
> cases of a 60 reading when you really only have 59.6 seconds.
> 
> Use now().second to access the true seconds value with
> full accuracy.
> 
> HTH, 
> 

The real problem with it, is that str() returns the truncated date just
like repr(), and we are using str() to insert datetime fields. If you
create a DateTime object for 03:04:05.02 and insert it into a Postgres 7
database using its str() value, it is stored as 03:04:05.01. Then when you
retrieve 03:04:05.01 from the database, the DateTime object shows it as
03:04:05.00. Then you cannot match the row that you just retrieved with 
its datetime column. How is the DateTime object supposed to be inserted 
and retrieved from the database?

I understand that a float cannot represent most decimal values exactly,
but truncating just increases the inaccuracy even though it might seem
more coherent to have "2002-03-28 10:59:59.9999" truncated to "2002-03-28
10:59:59.99" instead of rounded to "2002-03-28 11:00:00.00".

-Edwin









From sholden@holdenweb.com Wed Apr  3 14:28:27 2002
Received: from mail3.registeredsite.com (mail3.registeredsite.com [64.224.9.12])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g33CSQs07371
	for <egenix-users@lists.egenix.com>; Wed, 3 Apr 2002 14:28:27 +0200
Received: from mail.holdenweb.com (mail.holdenweb.com [64.224.159.178])
	by mail3.registeredsite.com (8.11.6/8.11.4) with ESMTP id g33BXgx27819;
	Wed, 3 Apr 2002 06:33:43 -0500
Received: from COMPUTER [64.224.159.178] by mail.holdenweb.com
  (SMTPD32-6.06) id A568188100FC; Wed, 03 Apr 2002 07:28:24 -0500
Message-ID: <025701c1db0a$a94dab00$d200000a@COMPUTER>
From: "Steve Holden" <sholden@holdenweb.com>
To: "Edwin Grubbs" <egrubbs@rackspace.com>, <egenix-users@lists.egenix.com>
References: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com>
Subject: Re: [egenix-users] DateTime error rounding seconds
Date: Wed, 3 Apr 2002 07:25:36 -0500
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4522.1200
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

----- Original Message -----
From: "Edwin Grubbs" <egrubbs@rackspace.com>
To: <egenix-users@lists.egenix.com>
Sent: Tuesday, April 02, 2002 3:26 PM
Subject: Re: [egenix-users] DateTime error rounding seconds


> On Tue, 2 Apr 2002, M.-A. Lemburg wrote:
>
> > Edwin Grubbs wrote:
> > >
> > > I am having a problem with DateTime incorrectly rounding the floating
> > > point second value down 1/100 of second.
> > >
> > > Python 2.2 (#1, Mar 13 2002, 12:34:11)
> > > [GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-98)] on linux2
> > > Type "help", "copyright", "credits" or "license" for more information.
> > > >>> from mx.DateTime import *
> > > >>> DateTime(2002, 1, 2, 3, 4, 5.00)
> > > <DateTime object for '2002-01-02 03:04:05.00' at 8126658>
> > > >>> DateTime(2002, 1, 2, 3, 4, 5.01)
> > > <DateTime object for '2002-01-02 03:04:05.00' at 8152098>
> > > >>> DateTime(2002, 1, 2, 3, 4, 5.02)
> > > <DateTime object for '2002-01-02 03:04:05.01' at 8126658>
> > > >>> DateTime(2002, 1, 2, 3, 4, 5.03)
> > > <DateTime object for '2002-01-02 03:04:05.03' at 8152098>
> > > >>> DateTime(2002, 1, 2, 3, 4, 5.04)
> > > <DateTime object for '2002-01-02 03:04:05.04' at 8126658>
> > > >>> DateTime(2002, 1, 2, 3, 4, 5.05)
> > > <DateTime object for '2002-01-02 03:04:05.04' at 8152098>
> > > >>> DateTime(2002, 1, 2, 3, 4, 5.06)
> > > <DateTime object for '2002-01-02 03:04:05.05' at 8126658>
> >
> > That's because 5.05 is really 5.0499999999999998. mxDateTime's
> > repr() function truncates the seconds value to avoid accidental
> > cases of a 60 reading when you really only have 59.6 seconds.
> >
> > Use now().second to access the true seconds value with
> > full accuracy.
> >
> > HTH,
> >
>
> The real problem with it, is that str() returns the truncated date just
> like repr(), and we are using str() to insert datetime fields. If you
> create a DateTime object for 03:04:05.02 and insert it into a Postgres 7
> database using its str() value, it is stored as 03:04:05.01. Then when you
> retrieve 03:04:05.01 from the database, the DateTime object shows it as
> 03:04:05.00. Then you cannot match the row that you just retrieved with
> its datetime column. How is the DateTime object supposed to be inserted
> and retrieved from the database?
>
Isn't the *real* real problem (;-) i that you are using character fields to
store date values? Normally one is supposed to use a timestamp or datetime
field to store these values (if you store them as strings then equality is
the only sensible test you can make. As datetime values you can also use <,
>, BETWEEN, etc.). However, even this solution sometimes has pitfalls -
stroing datetimes in either Access of SQL Server (I think the latter, but
it's a long time ago) raies warnings abour field truncation, which you have
to cure by removing any fractional seconds before storage.

> I understand that a float cannot represent most decimal values exactly,
> but truncating just increases the inaccuracy even though it might seem
> more coherent to have "2002-03-28 10:59:59.9999" truncated to "2002-03-28
> 10:59:59.99" instead of rounded to "2002-03-28 11:00:00.00".
>
Just as one asks for trouble by treating floats as exact, it's problematic
to store date/time values as strings. If you DBMS has no date/time type,
consider converting the dates to an appropriate numeric format.

regards
 Steve



From mal@lemburg.com Wed Apr  3 15:18:41 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g33DIfs07788;
	Wed, 3 Apr 2002 15:18:41 +0200
Message-ID: <3CAB0173.589E3584@lemburg.com>
Date: Wed, 03 Apr 2002 15:19:47 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Edwin Grubbs <egrubbs@rackspace.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] DateTime error rounding seconds
References: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Edwin Grubbs wrote:
> 
> On Tue, 2 Apr 2002, M.-A. Lemburg wrote:
> 
> > Edwin Grubbs wrote:
> > >
> > > I am having a problem with DateTime incorrectly rounding the floating
> > > point second value down 1/100 of second.
> > That's because 5.05 is really 5.0499999999999998. mxDateTime's
> > repr() function truncates the seconds value to avoid accidental
> > cases of a 60 reading when you really only have 59.6 seconds.
> >
> > Use now().second to access the true seconds value with
> > full accuracy.
> 
> The real problem with it, is that str() returns the truncated date just
> like repr(), and we are using str() to insert datetime fields. If you
> create a DateTime object for 03:04:05.02 and insert it into a Postgres 7
> database using its str() value, it is stored as 03:04:05.01. Then when you
> retrieve 03:04:05.01 from the database, the DateTime object shows it as
> 03:04:05.00. Then you cannot match the row that you just retrieved with
> its datetime column. How is the DateTime object supposed to be inserted
> and retrieved from the database?

The database interface should use the C API for this. It preserves
the accuracy all the way. If that's not an option, I'd consider using
the tuple representation now().tuple() which mimics 
time.localtime(time.time()) (but with added seconds accuracy).
 
> I understand that a float cannot represent most decimal values exactly,
> but truncating just increases the inaccuracy even though it might seem
> more coherent to have "2002-03-28 10:59:59.9999" truncated to "2002-03-28
> 10:59:59.99" instead of rounded to "2002-03-28 11:00:00.00".

Hmm, one possibility would be to use rounding for all second
values < 59.995 and apply truncation to all others.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From holtwick@spirito.de Thu Apr  4 09:07:48 2002
Received: from main.spirito.de (main.spirito.de [213.9.98.5])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g3477ms16205
	for <egenix-users@lists.egenix.com>; Thu, 4 Apr 2002 09:07:48 +0200
Received: (qmail 19038 invoked from network); 4 Apr 2002 07:13:21 -0000
Received: from acb04099.ipt.aol.com (HELO spirito.de) (holtwick@172.176.64.153)
  by main.spirito.de with SMTP; 4 Apr 2002 07:13:21 -0000
Message-ID: <3CABFBC3.5040405@spirito.de>
Date: Thu, 04 Apr 2002 09:07:47 +0200
From: Dirk Holtwick <holtwick@spirito.de>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; de-AT; rv:0.9.9) Gecko/20020311
X-Accept-Language: de, en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
References: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com> <3CAB0173.589E3584@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] New releases?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi Marc-Andre,

when do you plan to release the new versions of mxExperimental and 
mxBase? Maybe testing of the newer versions could become easier with a 
"beta testing" are on your website? I didn't find any bigger problems in 
the new version.

Cheers, Dirk




From mal@lemburg.com Thu Apr  4 12:52:47 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g34Aqls17692;
	Thu, 4 Apr 2002 12:52:47 +0200
Message-ID: <3CAC30C7.3C581021@lemburg.com>
Date: Thu, 04 Apr 2002 12:53:59 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Dirk Holtwick <holtwick@spirito.de>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] New releases?
References: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com> <3CAB0173.589E3584@lemburg.com> <3CABFBC3.5040405@spirito.de>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Dirk Holtwick wrote:
> 
> Hi Marc-Andre,
> 
> when do you plan to release the new versions of mxExperimental and
> mxBase? Maybe testing of the newer versions could become easier with a
> "beta testing" are on your website? I didn't find any bigger problems in
> the new version.

I was too busy the last few weeks to work on this, but since you
ask, I'll upload the latest betas today and let you know.

FWIW, I'm especially interested in hearing about the changes
to mxBeeBase -- it should work on Windows and Unix now and it
supports large files (up to 4GB) on Unix machines which have 
this.

If all works out, mxBeeBase would make a great alternative
to the various DBM packages out there since it is 
self-contained and aims to be platform independent (both
API and data file wise).

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From mal@lemburg.com Thu Apr  4 16:37:04 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g34Eb4s19153;
	Thu, 4 Apr 2002 16:37:04 +0200
Message-ID: <3CAC6558.6CF10ABB@lemburg.com>
Date: Thu, 04 Apr 2002 16:38:16 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Dirk Holtwick <holtwick@spirito.de>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] New releases?
References: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com> <3CAB0173.589E3584@lemburg.com> <3CABFBC3.5040405@spirito.de>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Ok, I won't find time for the betas today. To not let you
wait, here's something else:

I updated mxCGIPython to now play nice with importing
shared modules. This means that you can start using your
favourite DateTime package with cgipython in CGI scripts !

Here's the new mxCGIPython version:

   http://www.egenix.com/files/python/mxCGIPython.html

I've tested it with Python 2.1, but 2.2 should also work.

Have fun,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From mal@lemburg.com Thu Apr  4 19:44:04 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g34Hi4s20641;
	Thu, 4 Apr 2002 19:44:04 +0200
Message-ID: <3CAC9127.60C3B1C8@lemburg.com>
Date: Thu, 04 Apr 2002 19:45:11 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Edwin Grubbs <egrubbs@rackspace.com>, egenix-users@lists.egenix.com
Subject: Re: [egenix-users] DateTime error rounding seconds
References: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com> <3CAB0173.589E3584@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

"M.-A. Lemburg" wrote:
> 
> > The real problem with it, is that str() returns the truncated date just
> > like repr(), and we are using str() to insert datetime fields. If you
> > create a DateTime object for 03:04:05.02 and insert it into a Postgres 7
> > database using its str() value, it is stored as 03:04:05.01. Then when you
> > retrieve 03:04:05.01 from the database, the DateTime object shows it as
> > 03:04:05.00. Then you cannot match the row that you just retrieved with
> > its datetime column. How is the DateTime object supposed to be inserted
> > and retrieved from the database?
> 
> The database interface should use the C API for this. It preserves
> the accuracy all the way. If that's not an option, I'd consider using
> the tuple representation now().tuple() which mimics
> time.localtime(time.time()) (but with added seconds accuracy).
> 
> > I understand that a float cannot represent most decimal values exactly,
> > but truncating just increases the inaccuracy even though it might seem
> > more coherent to have "2002-03-28 10:59:59.9999" truncated to "2002-03-28
> > 10:59:59.99" instead of rounded to "2002-03-28 11:00:00.00".
> 
> Hmm, one possibility would be to use rounding for all second
> values < 59.995 and apply truncation to all others.

Ok, I've change this now to have str(DateTime(...)) round seconds
to two decimal places with the exception of second values
>=59.995 and <60.00. The latter are all mapped to 59.99. 

This may sound like a strange method, but in practice should 
enhance accuracy when interfacing with other storage mechanisms 
using string representations.

If anyone needs the old behaviour, I'll add a compile time
#define to switch back to the old behaviour.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From pramasub@bigmachines.com Fri Apr  5 05:11:36 2002
Received: from smtps.bigmachines.com (ppp-63-201-248-231.bigmachines.com [63.201.248.231] (may be forged))
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g353BZs25335
	for <egenix-users@lists.egenix.com>; Fri, 5 Apr 2002 05:11:35 +0200
Received: FROM bmfmail.bigmachines BY smtps.bigmachines.com ; Thu Apr 04 19:11:45 2002 -0800
Received: from bmfc159 ([10.1.1.1]) by bmfmail.bigmachines
          (Post.Office MTA v3.5.3 release 223 ID# 0-65145U1000L100S0V35)
          with SMTP id bigmachines for <egenix-users@lists.egenix.com>;
          Thu, 4 Apr 2002 19:11:24 -0800
Message-ID: <000a01c1dc50$226b8250$320210ac@bigmachines.com>
From: pramasub@bigmachines.com (Prathibha Ram)
To: <egenix-users@lists.egenix.com>
Date: Thu, 4 Apr 2002 19:15:27 -0800
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_0007_01C1DC0D.14268980"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4807.1700
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
Subject: [egenix-users] question
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

This is a multi-part message in MIME format.

------=_NextPart_000_0007_01C1DC0D.14268980
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi all

Since I have started using the new exgenix mx Base package, I keep =
getting compilation errors in import. I was using the previous version =
of the mx package and my import statement in files used to be import =
mx.DateTime. What should this be changed to since this is no longer =
recognized and I keep getting the compile error.

Also now I get the following error
Traceback (innermost last):
  File "<string>", line 8, in ?
  File "/mach/jython-2.1/Lib/mx/DateTime/__init__.py", line 40, in ?
  File "/mach/jython-2.1/Lib/mx/DateTime/__init__.py", line 48, in =
modinit
  File "/mach/jython-2.1/Lib/copy_reg.py", line 16, in pickle
TypeError: copy_reg is not intended for use with classes

can anyone suggest anything about the above error?=20

Thanks very much for your input and time.=20
Prathibbha

I use jython in conjunction with java on an NT machine.

------=_NextPart_000_0007_01C1DC0D.14268980
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 5.50.4807.2300" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Hi all</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Since I have started using the new =
exgenix mx Base=20
package, I keep getting compilation errors in import. I was using the =
previous=20
version of the mx package and my import statement in files used to be =
import=20
mx.DateTime. What should this be changed to since&nbsp;this is no longer =

recognized and I keep getting the compile error.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Also now I get the following =
error</FONT></DIV>
<DIV>Traceback (innermost last):<BR>&nbsp; File "&lt;string&gt;", line =
8, in=20
?<BR>&nbsp; File "/mach/jython-2.1/Lib/mx/DateTime/__init__.py", line =
40, in=20
?<BR>&nbsp; File "/mach/jython-2.1/Lib/mx/DateTime/__init__.py", line =
48, in=20
modinit<BR>&nbsp; File "/mach/jython-2.1/Lib/copy_reg.py", line 16, in=20
pickle<BR>TypeError: copy_reg is not intended for use with classes</DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>can anyone suggest anything about the =
above error?=20
</FONT></DIV><FONT face=3DArial size=3D2>
<DIV><BR>Thanks very much for your input and time. </DIV>
<DIV>Prathibbha</DIV>
<DIV>&nbsp;</DIV>
<DIV>I use jython in conjunction with java on an NT=20
machine.</FONT></DIV></BODY></HTML>

------=_NextPart_000_0007_01C1DC0D.14268980--


From mal@lemburg.com Fri Apr  5 10:07:18 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g3587Is27115;
	Fri, 5 Apr 2002 10:07:18 +0200
Message-ID: <3CAD5B82.B6267E0C@lemburg.com>
Date: Fri, 05 Apr 2002 10:08:34 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Prathibha Ram <pramasub@bigmachines.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] question
References: <000a01c1dc50$226b8250$320210ac@bigmachines.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

> Prathibha Ram wrote:
> 
> Hi all
> 
> Since I have started using the new exgenix mx Base package, I keep
> getting compilation errors in import. I was using the previous version
> of the mx package and my import statement in files used to be import
> mx.DateTime. What should this be changed to since this is no longer
> recognized and I keep getting the compile error.
> 
> Also now I get the following error
> Traceback (innermost last):
>   File "<string>", line 8, in ?
>   File "/mach/jython-2.1/Lib/mx/DateTime/__init__.py", line 40, in ?
>   File "/mach/jython-2.1/Lib/mx/DateTime/__init__.py", line 48, in
> modinit
>   File "/mach/jython-2.1/Lib/copy_reg.py", line 16, in pickle
> TypeError: copy_reg is not intended for use with classes
> 
> can anyone suggest anything about the above error?

The eGenix mx Tools only support CPython, not Jython. You
probably can still use them with Jython if you hook JPE up
to the Java VM, though, or interface to them via JNI 
directly.
 
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

PS: Please don't post HTML messages to the list. Thanks.

From mal@lemburg.com Fri Apr  5 22:20:15 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g35KKFs32080;
	Fri, 5 Apr 2002 22:20:15 +0200
Message-ID: <3CAE0749.77E43CE7@lemburg.com>
Date: Fri, 05 Apr 2002 22:21:29 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Prathibha Ram <pramasub@bigmachines.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] question
References: <000a01c1dc50$226b8250$320210ac@bigmachines.com> <3CAD5B82.B6267E0C@lemburg.com> <001101c1dcd9$345f0160$320210ac@bigmachines.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Prathibha Ram wrote:
> 
> Hi Mark:
> I was already using the mx extension version(prior to 2.0.3) with jython1.5
> and it was fine. All I did was import the mx.DateTime package in my code.
> Even now, the old version of the mx Extension package works fine with jython
> 2.1 except that it gives the copy_reg error first time I invoke jython. 

You could probably use the Python code in the mxDateTime package,
but you wouldn't have access to the two types defined in the
C extension.

Now, someone wrote a Python emulation for those two which now
lives in mxDateTime/mxDateTime_Python.py but that file is not
being actively maintained. 

> Do
> you think if I go in for commercial support you would be able to configure
> your mx Extension for jython2.1? 

Probably not all of them since some use third party C libs
which are hard to rewrite in Python or Java.

For mxDateTime, Brian Zimmer is working on an Java version.

With funding, I could also bring the Python emulation of the 
mxDateTime extension back up-to-date and reenable it (see
mxDateTime/__init__.py if you want to give it try with the
old emulation).

> The reason I am asking is that otherwise, I
> will have to shelve all the extension packages that I have been using till
> now. I might have to start using the time module in jython and write some py
> files of my own for date manipulations.

We'll figure out a way to let you continue your usage of mxDateTime
in Jython :-)
 
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From mal@lemburg.com Fri Apr  5 22:21:47 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g35KLls32110;
	Fri, 5 Apr 2002 22:21:47 +0200
Message-ID: <3CAE07A5.2322636E@lemburg.com>
Date: Fri, 05 Apr 2002 22:23:01 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] question
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi Mark:
I was already using the mx extension version(prior to 2.0.3) with
jython1.5
and it was fine. All I did was import the mx.DateTime package in my
code.
Even now, the old version of the mx Extension package works fine with
jython
2.1 except that it gives the copy_reg error first time I invoke jython.
Do
you think if I go in for commercial support you would be able to
configure
your mx Extension for jython2.1? The reason I am asking is that
otherwise, I
will have to shelve all the extension packages that I have been using
till
now. I might have to start using the time module in jython and write
some py
files of my own for date manipulations.

I will appreciate your reply.

Thank you for your input and time.
Prathibbha.


----- Original Message -----
From: "M.-A. Lemburg" <mal@lemburg.com>
To: "Prathibha Ram" <pramasub@bigmachines.com>
Cc: <egenix-users@lists.egenix.com>
Sent: Friday, April 05, 2002 12:08 AM
Subject: Re: [egenix-users] question


> > Prathibha Ram wrote:
> >
> > Hi all
> >
> > Since I have started using the new exgenix mx Base package, I keep
> > getting compilation errors in import. I was using the previous version
> > of the mx package and my import statement in files used to be import
> > mx.DateTime. What should this be changed to since this is no longer
> > recognized and I keep getting the compile error.
> >
> > Also now I get the following error
> > Traceback (innermost last):
> >   File "<string>", line 8, in ?
> >   File "/mach/jython-2.1/Lib/mx/DateTime/__init__.py", line 40, in ?
> >   File "/mach/jython-2.1/Lib/mx/DateTime/__init__.py", line 48, in
> > modinit
> >   File "/mach/jython-2.1/Lib/copy_reg.py", line 16, in pickle
> > TypeError: copy_reg is not intended for use with classes
> >
> > can anyone suggest anything about the above error?
>
> The eGenix mx Tools only support CPython, not Jython. You
> probably can still use them with Jython if you hook JPE up
> to the Java VM, though, or interface to them via JNI
> directly.
>
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> ______________________________________________________________________
> Company & Consulting:                           http://www.egenix.com/
> Python Software:                   http://www.egenix.com/files/python/
>
> PS: Please don't post HTML messages to the list. Thanks.
>

From mal@lemburg.com Fri Apr  5 23:51:46 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g35Lpks00336;
	Fri, 5 Apr 2002 23:51:46 +0200
Message-ID: <3CAE1CBC.B597D946@lemburg.com>
Date: Fri, 05 Apr 2002 23:53:00 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] ANN: eGenix.com mx BASE 2.1.0 (beta1) + EXPERIMENTAL 0.7.0 (beta1)
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Ok, I've finally found the time to wrap up the first betas
for the two packages. Here they are (sorry, no time to sort
these links):

http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.2_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py1.5.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.1_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.0.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.1.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.2_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.2.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.1_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.tar.gz
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.zip
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.0_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py1.5_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py1.5_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.0_1.i386.rpm

and 

http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.0.exe
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.1.exe
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.2.exe
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py1.5_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.1_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.0_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.1_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.0_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.zip
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.2_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.tar.gz
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py1.5_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.2_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py1.5.exe

Please have a look at the various documentation files for
a list of changes. Most important are probably the enhanced
mxBeeBase (BASE), the updated mxUID (EXP), better compile 
support for mxNumber (EXP) and the usual bunch of small 
bug fixes.

Have fun,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From Jim.Vickroy@noaa.gov Sat Apr  6 00:05:43 2002
Received: from cripplecreek.sec.noaa.gov (cripplecreek.sec.noaa.gov [140.172.224.30])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g35M5hs00888
	for <egenix-users@lists.egenix.com>; Sat, 6 Apr 2002 00:05:43 +0200
Received: from noaa.gov ([140.172.224.138]) by
          cripplecreek.sec.noaa.gov (Netscape Messaging Server 4.15) with
          ESMTP id GU481H00.LF0; Fri, 5 Apr 2002 15:05:41 -0700 
Message-ID: <3CAE1FB6.35B3EE2C@noaa.gov>
Date: Fri, 05 Apr 2002 15:05:43 -0700
From: "Jim Vickroy" <Jim.Vickroy@noaa.gov>
X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE 2.1.0 (beta1) + EXPERIMENTAL 
 0.7.0 (beta1)
References: <3CAE1CBC.B597D946@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Marc, I'm having an access difficulty.  When I click on a Windows link, here is the
message:

The requested URL /files/python/egenix-mx-base-2.1.0b1.win32-py2.2.exe was not found
on this server.


"M.-A. Lemburg" wrote:

> Ok, I've finally found the time to wrap up the first betas
> for the two packages. Here they are (sorry, no time to sort
> these links):
>
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.2_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py1.5.exe
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.1_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.0.exe
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.1.exe
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.2_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.2.exe
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.1_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.tar.gz
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.zip
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.0_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py1.5_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py1.5_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.0_1.i386.rpm
>
> and
>
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.0.exe
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.1.exe
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.2.exe
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py1.5_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.1_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.0_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.1_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.0_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.zip
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.2_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.tar.gz
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py1.5_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.2_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py1.5.exe
>
> Please have a look at the various documentation files for
> a list of changes. Most important are probably the enhanced
> mxBeeBase (BASE), the updated mxUID (EXP), better compile
> support for mxNumber (EXP) and the usual bunch of small
> bug fixes.
>
> Have fun,
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> ______________________________________________________________________
> Company & Consulting:                           http://www.egenix.com/
> Python Software:                   http://www.egenix.com/files/python/
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From Jim.Vickroy@noaa.gov Sat Apr  6 00:12:16 2002
Received: from cripplecreek.sec.noaa.gov (cripplecreek.sec.noaa.gov [140.172.224.30])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g35MCFs00980
	for <egenix-users@lists.egenix.com>; Sat, 6 Apr 2002 00:12:15 +0200
Received: from noaa.gov ([140.172.224.138]) by
          cripplecreek.sec.noaa.gov (Netscape Messaging Server 4.15) with
          ESMTP id GU48CE00.TDX; Fri, 5 Apr 2002 15:12:14 -0700 
Message-ID: <3CAE2140.799E1412@noaa.gov>
Date: Fri, 05 Apr 2002 15:12:16 -0700
From: "Jim Vickroy" <Jim.Vickroy@noaa.gov>
X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE 2.1.0 (beta1) + EXPERIMENTAL 
 0.7.0 (beta1)
References: <3CAE1CBC.B597D946@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

OK, I waited for a few minutes and now I can access the links.  Sorry about that, I
guess I just tried too soon the first time.

"M.-A. Lemburg" wrote:

> Ok, I've finally found the time to wrap up the first betas
> for the two packages. Here they are (sorry, no time to sort
> these links):
>
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.2_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py1.5.exe
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.1_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.0.exe
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.1.exe
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.2_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.win32-py2.2.exe
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.1_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.tar.gz
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1.zip
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.0_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py1.5_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py1.5_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b1-py2.0_1.i386.rpm
>
> and
>
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.0.exe
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.1.exe
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py2.2.exe
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py1.5_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.1_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.0_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.1_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.0_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.zip
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.2_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.tar.gz
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py1.5_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1-py2.2_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.win32-py1.5.exe
>
> Please have a look at the various documentation files for
> a list of changes. Most important are probably the enhanced
> mxBeeBase (BASE), the updated mxUID (EXP), better compile
> support for mxNumber (EXP) and the usual bunch of small
> bug fixes.
>
> Have fun,
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> ______________________________________________________________________
> Company & Consulting:                           http://www.egenix.com/
> Python Software:                   http://www.egenix.com/files/python/
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From mal@lemburg.com Sat Apr  6 00:43:35 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g35MhYs01499;
	Sat, 6 Apr 2002 00:43:34 +0200
Message-ID: <3CAE28E0.3AE4F5A4@lemburg.com>
Date: Sat, 06 Apr 2002 00:44:48 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Jim Vickroy <Jim.Vickroy@noaa.gov>
CC: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE 2.1.0 (beta1) + EXPERIMENTAL 
 0.7.0 (beta1)
References: <3CAE1CBC.B597D946@lemburg.com> <3CAE2140.799E1412@noaa.gov>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Jim Vickroy wrote:
> 
> OK, I waited for a few minutes and now I can access the links.  Sorry about that, I
> guess I just tried too soon the first time.

The upload took a little longer than expected ;-)
 
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From John.N.1@bwc.state.oh.us Mon Apr 15 18:19:51 2002
Received: from jupiter.bwc.state.oh.us (neptune.BWC.state.OH.US [198.234.212.100])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g3FGJps31586
	for <egenix-users@lists.egenix.com>; Mon, 15 Apr 2002 18:19:51 +0200
Received: by jupiter.bwc.state.oh.us; id MAA17272; Mon, 15 Apr 2002 12:19:31 -0400 (EDT)
From: <John.N.1@bwc.state.oh.us>
Received: from unknown(165.223.131.35) by neptune.bwc.state.oh.us via smap (V5.0)
	id xmaa17254; Mon, 15 Apr 02 12:19:07 -0400
Received: from mswg6.bwc.state.oh.us (MSWG6.bwc.state.oh.us [165.223.130.24])
	by venus.bwc.state.oh.us (8.9.3/8.9.1) with ESMTP id MAA02953
	for <egenix-users@lists.egenix.com>; Mon, 15 Apr 2002 12:19:00 -0400 (EDT)
Received: by MSWG6 with Internet Mail Service (5.5.2653.19)
	id <H4YRBT8Y>; Mon, 15 Apr 2002 12:19:27 -0400
Message-ID: <6FDE0867413DD21182BF00A0C97251920EA8CEBD@MSWG4>
To: egenix-users@lists.egenix.com
Date: Mon, 15 Apr 2002 12:19:20 -0400
X-Mailer: Internet Mail Service (5.5.2653.19)
Subject: [egenix-users] BeeDict setting keys/comparison to shelve
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Does anyone have comments on using Bdict instead of a standard shelf or
bsddb ver3?

Also, on Win2k, for me to change a dictionary element w/Bdict, I need to
first delete the key and then set it's value.
Should that be the case?

When I run:

    d = mx.BeeBase.BeeDict.BeeDict('c:/tmp/test-BeeDict2')
    print 'original',d['Marc9']
    d['Marc9']='betty1'
    d.commit()
    print 'dict change\t',d.changed(),d['Marc9']

    del(d['Marc9'])
    d.commit()
    d['Marc9']='betty2'
    print 'del dict change\t',d.changed(),d['Marc9']
    d.close()


produces:

original Sveta
dict change     0 Sveta
del dict change 1 betty2


Thanks for any help,

john


From bzimmer@ziclix.com Tue Apr 16 06:12:20 2002
Received: from eris.host4u.net (eris.host4u.net [216.71.64.44])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g3G4CJs04594
	for <egenix-users@lists.egenix.com>; Tue, 16 Apr 2002 06:12:20 +0200
Received: from mountain (24-148-34-1.na.21stcentury.net [24.148.34.1])
	by eris.host4u.net (8.11.6/8.11.6) with ESMTP id g3G4B9502954;
	Mon, 15 Apr 2002 23:11:09 -0500
From: "brian zimmer" <bzimmer@ziclix.com>
To: <egenix-users@lists.egenix.com>
Cc: <mal@lemburg.com>
Date: Mon, 15 Apr 2002 11:10:43 -0500
Message-ID: <001f01c1e498$1b5064e0$7401a8c0@mountain>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook, Build 10.0.2627
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200
Importance: Normal
Subject: [egenix-users] [ANN] zxDateTime 0.1
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am happy to announce the initial release of zxDateTime, a drop-in
replacement for mxDateTime written in Java, has been made available
today.  The next planned version will include optimizations as well 100%
API implementation (a couple methods are missing).  I am particularly
interested in getting feedback on the usefulness of this module as well
as the porting of other CPython extensions written in C.

The initial release can be found at:

http://sourceforge.net/projects/zxpy/

The API for mxDateTime can be found at:

http://www.egenix.com/files/python/mxDateTime.html

Installation directions are included in the distribution.  zxDateTime
has been tested with Jython 2.1(+), mxDateTime 2.0.3 and JDK1.3.1.
Other versions might work but I have not tested them as thoroughly/at
all.

thanks,

brian

ps: I'd like to thank Marc-Andre Lemburg for his assistance in porting
his work.
pss: I'd like to thank the primary Jython developers for making the
extending of Jython with Java so much fun :)


From mal@lemburg.com Tue Apr 16 12:29:49 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g3GATns06884;
	Tue, 16 Apr 2002 12:29:49 +0200
Message-ID: <3CBBFD80.F129BB4E@lemburg.com>
Date: Tue, 16 Apr 2002 12:31:28 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: brian zimmer <bzimmer@ziclix.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] [ANN] zxDateTime 0.1
References: <001f01c1e498$1b5064e0$7401a8c0@mountain>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

brian zimmer wrote:
> 
> I am happy to announce the initial release of zxDateTime, a drop-in
> replacement for mxDateTime written in Java, has been made available
> today.

Way cool !

> ps: I'd like to thank Marc-Andre Lemburg for his assistance in porting
> his work.

I'd like to thank you for taking the time to write this port
and for making it available to the general public.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From maxm@mxm.dk Mon Apr 29 10:55:56 2002
Received: from fe080.worldonline.dk (fe080.worldonline.dk [212.54.64.210])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g3T8tqs01604
	for <egenix-users@lists.egenix.com>; Mon, 29 Apr 2002 10:55:56 +0200
Received: (qmail 6594 invoked by uid 0); 29 Apr 2002 08:55:51 -0000
Received: from 213.237.27.77.adsl.od.worldonline.dk (HELO mxm.dk) (213.237.27.77)
  by fe080.worldonline.dk with SMTP; 29 Apr 2002 08:55:51 -0000
Message-ID: <3CCD0AC5.1030904@mxm.dk>
Date: Mon, 29 Apr 2002 10:56:37 +0200
From: Max M <maxm@mxm.dk>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.9) Gecko/20020311
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Error building egenix-mx-experimental-0.6.0
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am trying to build egenix-mx-experimental-0.6.0, on a Linux machine, 
on which I have only a normal user account. I have copied the .tgz 
source file to a directory and typed:

    /home/zope/Zope-2.5.1-linux2-x86/bin/python setup.py build

And then it stops at:

building 'mx.Number.mxNumber.mxNumber' extension
gcc -g -O2 -Wall -Wstrict-prototypes -fPIC -Imx/Number/mxNumber 
-I/home/zope/Zope-2.5.1-linux2-x86/include/python2.1 -c 
mx/Number/mxNumber/mxNumber.c -o 
build/temp.linux-i586-2.1/mx/Number/mxNumber/mxNumber/mxNumber.o
In file included from mx/Number/mxNumber/mxNumber.c:24:
mx/Number/mxNumber/mxNumber.h:33: gmp.h: No such file or directory
error: command 'gcc' failed with exit status 1

Am I doing it wrong or am I missing a file? I am not too acustomed to 
Linux so please bear with me.

The man page says that it's running gcc-2.95

regards Max M


From mal@lemburg.com Mon Apr 29 11:22:02 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g3T9Lrs01817;
	Mon, 29 Apr 2002 11:21:54 +0200
Message-ID: <3CCD1130.D10681DA@lemburg.com>
Date: Mon, 29 Apr 2002 11:24:00 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
X-Mailer: Mozilla 4.78 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Max M <maxm@mxm.dk>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Error building egenix-mx-experimental-0.6.0
References: <3CCD0AC5.1030904@mxm.dk>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Max M wrote:
> 
> I am trying to build egenix-mx-experimental-0.6.0, on a Linux machine,
> on which I have only a normal user account. I have copied the .tgz
> source file to a directory and typed:
> 
>     /home/zope/Zope-2.5.1-linux2-x86/bin/python setup.py build

Please try the lastest beta I posted here a couple of weeks
ago (see the list archive for the URLs).

The mxNumber build is broken in 0.6.0, but should be fixed
in 0.7.0b1.
 
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/

From mal@lemburg.com Fri May 17 13:18:10 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g4HBI9t01158;
	Fri, 17 May 2002 13:18:09 +0200
Message-ID: <3CE4E700.4090802@lemburg.com>
Date: Fri, 17 May 2002 13:18:24 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] ANN: eGenix.com mx BASE 2.1.0 (beta2)
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi everybody,

here's a second round of beta releases for the 2.1.0 release
of egenix-mx-base:

http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py1.5_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py1.5_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.0_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.0_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.1_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.1_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.2_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.2_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2.tar.gz
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2.zip

Beta 2 includes a few more updates amd bug fixes which were
found in the beta 1 cycle.

I think I forgot to mention last time that this release features
a brand new version of mxTextTools. It now comes with complete
Unicode support, a tag table compiler, support for string labels
(no more counting of tuple entries ;-) and a few other goodies
which will make future development much easier (most noteably
the addition of a context object).

Please try these out and report any bugs you find to this list.

PS: A new version of mxODBC is also in the making, but not quite
ready for prime-time yet. If you'd like to alpha test it, please
let me know and I'll send you a copy of mxODBC 2.1.0 for testing
purposes.

Thank you,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/


From mal@lemburg.com Fri May 17 20:05:42 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g4HI5ft05289;
	Fri, 17 May 2002 20:05:42 +0200
Message-ID: <3CE54688.8060801@lemburg.com>
Date: Fri, 17 May 2002 20:06:00 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE 2.1.0 (beta2)
References: <3CE4E700.4090802@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

M.-A. Lemburg wrote:
> Hi everybody,
> 
> here's a second round of beta releases for the 2.1.0 release
> of egenix-mx-base:
> 
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py1.5_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py1.5_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.0_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.0_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.1_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.1_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.2_1.i386.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2-py2.2_1.src.rpm
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2.tar.gz
> http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2.zip

Here are the Windows installers:

http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2.win32-py1.5.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2.win32-py2.0.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2.win32-py2.1.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b2.win32-py2.2.exe

> Beta 2 includes a few more updates amd bug fixes which were
> found in the beta 1 cycle.
> 
> I think I forgot to mention last time that this release features
> a brand new version of mxTextTools. It now comes with complete
> Unicode support, a tag table compiler, support for string labels
> (no more counting of tuple entries ;-) and a few other goodies
> which will make future development much easier (most noteably
> the addition of a context object).
> 
> Please try these out and report any bugs you find to this list.
> 
> PS: A new version of mxODBC is also in the making, but not quite
> ready for prime-time yet. If you'd like to alpha test it, please
> let me know and I'll send you a copy of mxODBC 2.1.0 for testing
> purposes.


Thank you,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/


From holtwick@spirito.de Fri May 24 11:25:09 2002
Received: from main.spirito.de (main.spirito.de [213.9.98.5])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g4O9P9t19403
	for <egenix-users@lists.egenix.com>; Fri, 24 May 2002 11:25:09 +0200
Received: (qmail 28560 invoked from network); 24 May 2002 09:31:17 -0000
Received: from pd9e20798.dip.t-dialin.net (HELO spirito.de) (holtwick@217.226.7.152)
  by main.spirito.de with SMTP; 24 May 2002 09:31:17 -0000
Message-ID: <3CEE0756.3000206@spirito.de>
Date: Fri, 24 May 2002 11:26:46 +0200
From: Dirk Holtwick <holtwick@spirito.de>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; de-AT; rv:1.0rc2) Gecko/20020510
X-Accept-Language: de, en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
References: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com> <3CAB0173.589E3584@lemburg.com> <3CABFBC3.5040405@spirito.de> <3CAC30C7.3C581021@lemburg.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Subject: [egenix-users] week of year
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi,

I noticed some strange behaviour with values for "week of year" with mx.DateTime. I use something like this in my program:

	Date(year, month, w).strftime("%W")

e.g.: Date(2002,5,1).strftime("%W") gives 17 as result. In my german calendar it should be 18, so I add 1. But
Date(2001,5,1).strftime("%W") gives 18 and in my calendar its also 18 so adding +1 dosn't work here. what can I do? I use Date(2001,5,1).iso_week[1]
and Date(2002,5,1).iso_week[1] that works. But shouldn't it also work with the method described above?

bye, dirk


---
spirito GmbH
Dirk Holtwick
Lerchenstraße 8
D-47057 Duisburg
Tel. 0203 3187777
holtwick@spirito.de
http://www.spirito.de




From mal@lemburg.com Mon May 27 11:28:23 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g4R9SNt13993;
	Mon, 27 May 2002 11:28:23 +0200
Message-ID: <3CF1FC52.1020603@lemburg.com>
Date: Mon, 27 May 2002 11:28:50 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Dirk Holtwick <holtwick@spirito.de>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] week of year
References: <Pine.LNX.4.44.0204021211110.2462-100000@zamboni.wc6.rackspace.com> <3CAB0173.589E3584@lemburg.com> <3CABFBC3.5040405@spirito.de> <3CAC30C7.3C581021@lemburg.com> <3CEE0756.3000206@spirito.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Dirk Holtwick wrote:
> Hi,
> 
> I noticed some strange behaviour with values for "week of year" with 
> mx.DateTime. I use something like this in my program:
> 
>     Date(year, month, w).strftime("%W")
> 
> e.g.: Date(2002,5,1).strftime("%W") gives 17 as result. In my german 
> calendar it should be 18, so I add 1. But
> Date(2001,5,1).strftime("%W") gives 18 and in my calendar its also 18 so 
> adding +1 dosn't work here. what can I do? I use Date(2001,5,1).iso_week[1]
> and Date(2002,5,1).iso_week[1] that works. But shouldn't it also work 
> with the method described above?

The .strftime() method interfaces directly to the C lib's
strftime() API, so if that implementation uses a non-ISO
week number calculation, then you see different results.

GLIBC:
"""
        %W     The week number of the current year as a decimal number,  range
               00  to  53,  starting with the first Monday as the first day of
               week 01.
"""

This is clearly not ISO (which is much more complicated) !

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/


From krissepu@vip.fi Sun Jun  9 16:28:13 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g59ESDU18781
	for <egenix-users@lists.egenix.com>; Sun, 9 Jun 2002 16:28:13 +0200
Received: from vip.fi (DynIP-132-175.Tre.vip.fi [213.173.132.175])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id RAA06551
	for <egenix-users@lists.egenix.com>; Sun, 9 Jun 2002 17:28:12 +0300
Message-ID: <3D036557.7E7360F1@vip.fi>
Date: Sun, 09 Jun 2002 17:25:27 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] How to create nested search pattern witn mxTextTools ?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am searching nested strings that are limited (and include)
with ?- and ! -signs.

I have created a nested EBNF-search pattern with Simpleparse-1.0 module
for mxTextTools. The problem is: I am interested only on matched strings

and cannot use flag (true or not ?) "AppendMatch" with SimpleParse.

What is the mxTextTool equivalent of the EBNF -notation below:

declaration := a,(match,a)*
match := '?',a,(match,a)*,'!'
<a> := [-_a-z0-9A-Z:. ]*        #Not returning this line

in case of a string "aa?BB?CC!DD!ee?FF!gg"
it should return:

[?BB?CC!DD!, ?CC!, ?FF!]

Any help appreciated,

    -pekka-



From mal@lemburg.com Sun Jun  9 16:56:46 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g59EujU18945;
	Sun, 9 Jun 2002 16:56:45 +0200
Message-ID: <3D036CDA.6000202@lemburg.com>
Date: Sun, 09 Jun 2002 16:57:30 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Pekka Niiranen <krissepu@vip.fi>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] How to create nested search pattern witn mxTextTools
 ?
References: <3D036557.7E7360F1@vip.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Pekka Niiranen wrote:
> I am searching nested strings that are limited (and include)
> with ?- and ! -signs.
> 
> I have created a nested EBNF-search pattern with Simpleparse-1.0 module
> for mxTextTools. The problem is: I am interested only on matched strings
> 
> and cannot use flag (true or not ?) "AppendMatch" with SimpleParse.
> 
> What is the mxTextTool equivalent of the EBNF -notation below:
> 
> declaration := a,(match,a)*
> match := '?',a,(match,a)*,'!'
> <a> := [-_a-z0-9A-Z:. ]*        #Not returning this line
> 
> in case of a string "aa?BB?CC!DD!ee?FF!gg"
> it should return:
> 
> [?BB?CC!DD!, ?CC!, ?FF!]
> 
> Any help appreciated,

You should have a look at the SubTable command. It would allow
you to do this.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/
Meet us at EuroPython 2002:                 http://www.europython.org/


From mal@lemburg.com Sun Jun  9 18:02:10 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g59G2AU19331;
	Sun, 9 Jun 2002 18:02:10 +0200
Message-ID: <3D037C2F.1030804@lemburg.com>
Date: Sun, 09 Jun 2002 18:02:55 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] mxODBC and FreeTDS to access MS SQL Server
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I'm currently working on getting FreeTDS to work with mxODBC.
Unfortunately, I don't have a MS SQL Server instance to test
it against.

If anyone is willing to try the following setup, please let
me know and I'll send you the code:

* WinXX server running MS SQL Server
* Linux client having FreeTDS installed (version 0.53)

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/
Meet us at EuroPython 2002:                 http://www.europython.org/


From mcfletch@rogers.com Sun Jun  9 21:21:53 2002
Received: from fep04-mail.bloor.is.net.cable.rogers.com (fep04-mail.bloor.is.net.cable.rogers.com [66.185.86.74])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g59JLrU20698
	for <egenix-users@lists.egenix.com>; Sun, 9 Jun 2002 21:21:53 +0200
Received: from rogers.com ([24.43.65.252])
          by fep04-mail.bloor.is.net.cable.rogers.com
          (InterMail vM.5.01.04.13 201-253-122-122-113-20020313) with ESMTP
          id <20020609192148.LAVP8996.fep04-mail.bloor.is.net.cable.rogers.com@rogers.com>;
          Sun, 9 Jun 2002 15:21:48 -0400
Message-ID: <3D03AACF.5060700@rogers.com>
Date: Sun, 09 Jun 2002 15:21:51 -0400
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0rc3) Gecko/20020523
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Pekka Niiranen <krissepu@vip.fi>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] How to create nested search pattern witn mxTextTools
 ?
References: <3D036557.7E7360F1@vip.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep04-mail.bloor.is.net.cable.rogers.com from [24.43.65.252] using ID <mcfletch@rogers.com> at Sun, 9 Jun 2002 15:21:48 -0400
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Pekka, are you sure you're not optimising this app too early?  I mean, 
you're only dealing with 2MB files.  The simple loop over the results 
table isn't likely to be a time problem compared to your original 
solution with line-by-line regex runs.  If you code the whole grammar as 
an EBNF so you can process the whole file in a single call to 
TextTools.tag, you're not likely going to be able to detect the time 
required to do the parsing, and the looping approach to getting the 
results from the tagging results is pretty fast for must uses.

As for the mxTextTool equivalent of the EBNF:

mxDecl = []
mxDecl.extend(
[
     (
         (None, 207, ((None, 204, (mxDecl, 2)),
                      (None, 207, (('match', 204, (mxDecl, 1)),
                                   (None, 204, (mxDecl, 2))), 1, 0))),),
     (
         (None, 207, (
             (None, 21, '?'),
             (None, 204,(mxDecl, 2)),
             (None, 207, (('match', 204, (mxDecl, 1)),
                          (None, 204, (mxDecl, 2))),1, 0),
             (None, 21, '!'))),),
     (
         (None, 207, (
             (None, 11, 
'-_abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ:. ', 
1),)),)
]

You can find it in the generator's tupleset attribute:

	table = generator.buildParser(
		declaration
	).tupleset

I've never felt the need to add AppendMatch, but the code is available 
if someone wants to add the syntax to the EBNF grammar and the 
objectgenerator code.

Enjoy,
Mike

Pekka Niiranen wrote:
> I am searching nested strings that are limited (and include)
> with ?- and ! -signs.
> 
> I have created a nested EBNF-search pattern with Simpleparse-1.0 module
> for mxTextTools. The problem is: I am interested only on matched strings
> 
> and cannot use flag (true or not ?) "AppendMatch" with SimpleParse.
> 
> What is the mxTextTool equivalent of the EBNF -notation below:
> 
> declaration := a,(match,a)*
> match := '?',a,(match,a)*,'!'
> <a> := [-_a-z0-9A-Z:. ]*        #Not returning this line
> 
> in case of a string "aa?BB?CC!DD!ee?FF!gg"
> it should return:
> 
> [?BB?CC!DD!, ?CC!, ?FF!]
> 
> Any help appreciated,
> 
>     -pekka-
> 
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users
> 


-- 
_______________________________________
   Mike C. Fletcher
   http://members.rogers.com/mcfletch/



From krissepu@vip.fi Sun Jun  9 22:46:39 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g59KkcU21220
	for <egenix-users@lists.egenix.com>; Sun, 9 Jun 2002 22:46:39 +0200
Received: from vip.fi (DynIP-132-158.Tre.vip.fi [213.173.132.158])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id XAA22272
	for <egenix-users@lists.egenix.com>; Sun, 9 Jun 2002 23:46:35 +0300
Message-ID: <3D03BE07.549505AC@vip.fi>
Date: Sun, 09 Jun 2002 23:43:51 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
CC: egenix-users@lists.egenix.com
References: <3D036557.7E7360F1@vip.fi> <3D03AACF.5060700@rogers.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] More questions and PEPs: How to create nested search pattern with
 mxTextTools?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I tried previously various approaches, but two problems remain:

1)    Re.findall() returns also empty matches, which I have to clean.
2)    I am looping thru several files and displaying results as dictionary:
        ("filename", [list of parameters in this file]) so when later
replacing
       parameters I only access those parameter that exist in a file.
       This should speed up replacements compared to a case where
       I run single huge merged list (like a sed -file ) of all
(parameter,replacement) -pairs
       to all files in one go. (i.e searching parameters that do not necessary

       exist in current processed file)

The current bottleneck is the building of [list of parameters in this file]
which leads to the following "PEPs":

a)    Parameter to re.findall() to allow only non-empty matches in search
result.
b)    Option to mxTextTools to return only unique matches from processed text
       as list of strings.

True, I can get rid of looping thru single lines, but then I have to take
account the contents of the previous line in EBNF as we discussed before.
I will try that in future too.

In your post below, I only have to replace the integer numbers as mxTextTool's
command
names and then add manually "+AppendMatch" -parameter to certain commands,
right ?

-pekka-

"Mike C. Fletcher" wrote:

> Pekka, are you sure you're not optimising this app too early?  I mean,
> you're only dealing with 2MB files.  The simple loop over the results
> table isn't likely to be a time problem compared to your original
> solution with line-by-line regex runs.  If you code the whole grammar as
> an EBNF so you can process the whole file in a single call to
> TextTools.tag, you're not likely going to be able to detect the time
> required to do the parsing, and the looping approach to getting the
> results from the tagging results is pretty fast for must uses.
>
> As for the mxTextTool equivalent of the EBNF:
>
> mxDecl = []
> mxDecl.extend(
> [
>      (
>          (None, 207, ((None, 204, (mxDecl, 2)),
>                       (None, 207, (('match', 204, (mxDecl, 1)),
>                                    (None, 204, (mxDecl, 2))), 1, 0))),),
>      (
>          (None, 207, (
>              (None, 21, '?'),
>              (None, 204,(mxDecl, 2)),
>              (None, 207, (('match', 204, (mxDecl, 1)),
>                           (None, 204, (mxDecl, 2))),1, 0),
>              (None, 21, '!'))),),
>      (
>          (None, 207, (
>              (None, 11,
> '-_abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ:. ',
> 1),)),)
> ]
>
> You can find it in the generator's tupleset attribute:
>
>         table = generator.buildParser(
>                 declaration
>         ).tupleset
>
> I've never felt the need to add AppendMatch, but the code is available
> if someone wants to add the syntax to the EBNF grammar and the
> objectgenerator code.
>
> Enjoy,
> Mike
>
> Pekka Niiranen wrote:
> > I am searching nested strings that are limited (and include)
> > with ?- and ! -signs.
> >
> > I have created a nested EBNF-search pattern with Simpleparse-1.0 module
> > for mxTextTools. The problem is: I am interested only on matched strings
> >
> > and cannot use flag (true or not ?) "AppendMatch" with SimpleParse.
> >
> > What is the mxTextTool equivalent of the EBNF -notation below:
> >
> > declaration := a,(match,a)*
> > match := '?',a,(match,a)*,'!'
> > <a> := [-_a-z0-9A-Z:. ]*        #Not returning this line
> >
> > in case of a string "aa?BB?CC!DD!ee?FF!gg"
> > it should return:
> >
> > [?BB?CC!DD!, ?CC!, ?FF!]
> >
> > Any help appreciated,
> >
> >     -pekka-
> >
> >
> >
> > _______________________________________________________________________
> > eGenix.com User Mailing List                     http://www.egenix.com/
> > http://lists.egenix.com/mailman/listinfo/egenix-users
> >
>
> --
> _______________________________________
>    Mike C. Fletcher
>    http://members.rogers.com/mcfletch/


From krissepu@vip.fi Sun Jun  9 22:53:58 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g59KrvU21261
	for <egenix-users@lists.egenix.com>; Sun, 9 Jun 2002 22:53:57 +0200
Received: from vip.fi (DynIP-132-158.Tre.vip.fi [213.173.132.158])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id XAA22548
	for <egenix-users@lists.egenix.com>; Sun, 9 Jun 2002 23:53:56 +0300
Message-ID: <3D03BFC0.886D1ECC@vip.fi>
Date: Sun, 09 Jun 2002 23:51:12 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] How to create nested search pattern with mxTextTools?
References: <3D036557.7E7360F1@vip.fi> <3D036CDA.6000202@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

M-A, Correct me if I am wrong, but does that mean:
I can reuse the parser returned by Simpleparse as subtable
and use "+AppendMatch" in that new merged table ?

The SimpleParse does not support all the commands of mxTextTool.

"M.-A. Lemburg" wrote:

> Pekka Niiranen wrote:
> > I am searching nested strings that are limited (and include)
> > with ?- and ! -signs.
> >
> > I have created a nested EBNF-search pattern with Simpleparse-1.0 module
> > for mxTextTools. The problem is: I am interested only on matched strings
> >
> > and cannot use flag (true or not ?) "AppendMatch" with SimpleParse.
> >
> > What is the mxTextTool equivalent of the EBNF -notation below:
> >
> > declaration := a,(match,a)*
> > match := '?',a,(match,a)*,'!'
> > <a> := [-_a-z0-9A-Z:. ]*        #Not returning this line
> >
> > in case of a string "aa?BB?CC!DD!ee?FF!gg"
> > it should return:
> >
> > [?BB?CC!DD!, ?CC!, ?FF!]
> >
> > Any help appreciated,
>
> You should have a look at the SubTable command. It would allow
> you to do this.
>
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> ______________________________________________________________________
> Company & Consulting:                           http://www.egenix.com/
> Python Software:                   http://www.egenix.com/files/python/
> Meet us at EuroPython 2002:                 http://www.europython.org/
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From mal@lemburg.com Mon Jun 10 13:26:56 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5ABQuU27531;
	Mon, 10 Jun 2002 13:26:56 +0200
Message-ID: <3D048D2D.5070708@lemburg.com>
Date: Mon, 10 Jun 2002 13:27:41 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Pekka Niiranen <krissepu@vip.fi>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] How to create nested search pattern with mxTextTools?
References: <3D036557.7E7360F1@vip.fi> <3D036CDA.6000202@lemburg.com> <3D03BFC0.886D1ECC@vip.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Pekka Niiranen wrote:
> M-A, Correct me if I am wrong, but does that mean:
> I can reuse the parser returned by Simpleparse as subtable
> and use "+AppendMatch" in that new merged table ?

Sure. SimpleParse generates the table for you as Mike
already outlined.

> The SimpleParse does not support all the commands of mxTextTool.

For the simple grammar you have in mind, you could just
as well hand code the tag table to suit your needs.
It is pretty straight forward and if you use the latest beta
of egenix-mx-base you even get string labels for free which
makes writing these a lot easier (also, you can then have
mxTextTools parse native Unicode no case you should ever
want to do that).

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/
Meet us at EuroPython 2002:                 http://www.europython.org/


From mcfletch@rogers.com Mon Jun 17 07:02:58 2002
Received: from fep01-mail.bloor.is.net.cable.rogers.com (fep01-mail.bloor.is.net.cable.rogers.com [66.185.86.71])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5H52qU28057
	for <egenix-users@lists.egenix.com>; Mon, 17 Jun 2002 07:02:58 +0200
Received: from rogers.com ([24.43.65.252])
          by fep01-mail.bloor.is.net.cable.rogers.com
          (InterMail vM.5.01.04.13 201-253-122-122-113-20020313) with ESMTP
          id <20020617050234.YLTH161368.fep01-mail.bloor.is.net.cable.rogers.com@rogers.com>;
          Mon, 17 Jun 2002 01:02:34 -0400
Message-ID: <3D0D6D4D.80702@rogers.com>
Date: Mon, 17 Jun 2002 01:02:05 -0400
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.0) Gecko/20020530
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users <egenix-users@lists.egenix.com>
CC: =?ISO-8859-1?Q?Marc-Andr=E9_Lemburg?= <mal@lemburg.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep01-mail.bloor.is.net.cable.rogers.com from [24.43.65.252] using ID <mcfletch@rogers.com> at Mon, 17 Jun 2002 01:02:34 -0400
Subject: [egenix-users] RfC: mx.TextTools Non-recursive Implementation
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I've been working on a non-recursive implementation of the mx.TextTools 
core loop this weekend, and am to the point where I could use some help 
in moving it forward.  (I'm posting to the users list because I figure 
people other than just Marc-André might be interested in hacking on the 
package).

As of now, I seem to have a functional, but still very rough, version of 
the engine.  It passes all of the unit tests I have (including 67 for 
the low-level mx.TextTools functionality (excluding Loop commands) and 
another 170 for SimpleParse functionality).

Why:

     The current loop uses a recursive call of the matching function for 
every table/subtable.  As a result, we tend to blow up the stack if we 
have large numbers of recursive loops.  The non-recursive rewrite 
attempts to eliminate that problem.  This allows a number of common EBNF 
grammar structures to be used which are otherwise almost impossible to 
support cleanly.

     The new loop structure consolidates all the return value and error 
reporting code, which substantially reduces the total amount of code in 
the module.

     The new loop structure should make it very easy to add "user error" 
classes, and to report the hierarchy of parents during user-error reporting.

     It should make it possible (with some thought-work) to add robust 
backtracking support as well (i.e. recording backtracks as frame-stacks 
with some extra information for re-starting)).  Similarly complex (and 
basically the same mechanism) would be adding re-start functionality on 
premature EOF cases.

     If I'm understanding correctly, it should eventually be possible to 
make the code process memory-mapped files (this is actually not specific 
to the new code, but it would be nice to have with either version).

     The new loop is fairly heavily commented by me, as I was figuring 
out what needed to get done and why.  It is also more rigid in it's 
structure, only allowing individual commands to access a defined set of 
variables to signal the result/error-handling clauses.  (This results in 
a slight slowdown, of course, compared to just setting the global 
variables).


Tradeoffs:

     The (unoptimised) first version of the code is ~ 75% of the speed 
of the 2.1.0b1 version from which it was derived (tested using the 
HTML.py script from mx.TextTools).  I'd guess that can be improved to 80 
or 90%, but I don't think there's any way this approach can be as fast 
as the recursive call + direct goto-jumping approach.  Why:

         It's doing all the work of copying variables into new (heap) 
memory manually (versus stack-pushing/call, which I'm assuming is very 
fast in C).
         Side-effect-encapsulation overhead (See last point above).
         It's using a loop, so winds up traversing the loop code on each 
iteration, whereas the goto just does a jump.

     The code is new (therefore largely untested), and is written by a 
first-time C coder (me).  I've tried to follow generally clean 
programming practices, but it's still going to need review by 
experienced C coders (both to check for errors and to optimise it).

     There are at least a few bugs in the module (I get a "no current 
thread" error, and there's probably one or two ref-count bugs in there). 
  There is a warning generated that "not all paths return a value" (I 
can't figure out which paths those are just from looking).


Needed work:
     1) Some sort of documentation and unit tests for the Loop api.
     2) Review of the code by experienced C coder(s), particularly for 
lost-references, improper memory/pointer usage, and that kind of stuff 
common to people who've never dealt with C code before.
     3) Optimisation.
     4) Expanded testing regiment.
     5) Add support for memory-mapped files.


How it Works:
     Following is rough pseudo-code for how the new engine works. It's a 
simple structure compared to the base code, which defined goto jumps for 
error handling, finish and next item, and had the result handling for 
each command in the definition of the command itself (with a call to 
another function to do the actual appending/calling).

while 1:
     while (index_in_table() and returnCode == NULL_CODE):
         decode the current table[index]
         if childReturnCode is NULL_CODE:
             #the current tag is not already processed
             reset tag variables
             switch( tag command ):
                 do what tag wants to do()
                 set tag-related variables
                 set childReturnCode (tag variable)
                 if table:
                     push_frame_stack()
                     set childReturnCode == PENDING
         switch(childReturnCode):
             # figure out what to do with child's results
             # possibly set table-wide returnValue
             childSuccess
                 append values
                 update table-wide values
                 set new index
             childFailure
                 rewind position
                 set new index
                 (possibly set table-wide return code)
             childError
                 signal error for whole table
             childPending
                 ignore/continue processing without updating list values 
(start a new table)
         reset childReturnCode

     #done table, figure out what to do now...
     if no explicit return value:
         figure out implicit
     if failure:
         truncate result list to previous length
         reset position
     if error:
         report error as exception
         exit
     else:
         if frame_stack():
             record table vars as child vars()
             pop_frame_stack()
             set childReturnCode
         else:
             return result

Where it is:
     http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/simpleparse/

What's there:
     The code is currently just a set of 5 files which replace the file 
mxte_impl.h in the 2.1.0 mx.TextTools source tree.  Dropping them in 
should allow you to compile the new version without changing anything 
else (use build --force, of course).

     mxte_impl.h --> the loop described above and the (trivial) 
implementation of the stack.  Quite a few comments.  I'm guessing the 
stack implementation could be much faster, I just don't know enough 
about C to guess how.

     *commands.h --> each of the command-families from the original code 
broken out into a file to make it easier to work with the core loop. 
Each command group has a description of the "contract" it works under in 
the system.  The commands tend to be much lighter (in terms of amount of 
code included) because of the new result-handling framework.

     In the SimpleParse package you'll find a tests directory.  There 
are only a few of those tests still up-to-date (sorry, this directory 
was a quick merge of 2 different versions of the project):
         mx_* --> low-level direct tests of the primary features of the 
  engine (these should eventually move to the Egenix package, likely 
(they aren't specific to the rewrite, so they should be able to test the 
original code as well)).  Run mx_test.py to run all of these.
         test_objectgenerator.py --> tests the individual components 
generated by SimpleParse for use in parsing
         test_simpleparsegrammar.py --> tests the SimpleParse 
parser-generator (i.e. goes from text definitions to parsers and tests 
those parsers).


If there are people interested in working on the code, I'd love a few 
eyes to pick it over and/or suggest better approaches.  People who have 
feedback regarding whether they might find the updated engine useful or 
not might want to share their thoughts as well.

With thanks for your time in listening, and for Marc-André's great work 
in producing TextTools,
Mike

_______________________________________
   Mike C. Fletcher
   http://members.rogers.com/mcfletch/



From mal@lemburg.com Wed Jun 19 19:17:19 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5JHHGU20409;
	Wed, 19 Jun 2002 19:17:18 +0200
Message-ID: <3D10BCD8.70308@lemburg.com>
Date: Wed, 19 Jun 2002 19:18:16 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "Mike C. Fletcher" <mcfletch@rogers.com>
CC: egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] RfC: mx.TextTools Non-recursive Implementation
References: <3D0D6D4D.80702@rogers.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Mike C. Fletcher wrote:
> I've been working on a non-recursive implementation of the mx.TextTools 
> core loop this weekend, and am to the point where I could use some help 
> in moving it forward.  (I'm posting to the users list because I figure 
> people other than just Marc-André might be interested in hacking on the 
> package).
> 
> As of now, I seem to have a functional, but still very rough, version of 
> the engine.  It passes all of the unit tests I have (including 67 for 
> the low-level mx.TextTools functionality (excluding Loop commands) and 
> another 170 for SimpleParse functionality).

Sounds interesting :-)

Now, I am thinking of how this could be integrated into the base package.
I can't rip out the existing code (for various reasons; one being that
I cannot maintain complex code written by someone else), so this would
have to be a separate option in mxTextTools, e.g. stackless_tag() ;-)

Ideal would be if you could separate out the code into a set of
new files, e.g. mxste_*.h|c. We also have to discuss licensing...
but that we can do in private.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/
Meet us at EuroPython 2002:                 http://www.europython.org/


From krissepu@vip.fi Sun Jun 23 19:23:19 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5NHNJU25859
	for <egenix-users@lists.egenix.com>; Sun, 23 Jun 2002 19:23:19 +0200
Received: from vip.fi (DynIP-132-91.Tre.vip.fi [213.173.132.91])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id UAA07153
	for <egenix-users@lists.egenix.com>; Sun, 23 Jun 2002 20:23:18 +0300
Message-ID: <3D16035B.402F8DAC@vip.fi>
Date: Sun, 23 Jun 2002 20:20:27 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Continuous searching of text thru all characters on line
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am using the mxTextTool in mxBase 2.1.0b2.

I am parsing a line that may contain multiple non-overlapping matches:

---- code starts ---
import os
import pprint
from mx.TextTools import *

letter_set = set(alpha)
linput = "aa?BB!aa?DD!aa"
head_pos = None


def pr(taglist,txt,l,r,subtag):
    """Print matched string"""
    print txt[l:r]

matchtable = ((pr, AllIn+CallTag, '?', +1),
              (pr, AllInSet+CallTag, letter_set, +1),
              (pr, AllIn+CallTag, '!', +1, MatchOk),
              (None, Fail, Here)) #This is needed in order to avoid
infinite loop


tagtable = ((None, AllInSet, letter_set, +1),
            ('m', Table+AppendMatch, matchtable),
            (None, Table, ThisTable)) # Continue searching after first
match on line.


result,taglist,next = tag(linput, tagtable)
print taglist
print "-------"

---- code ends ---

The problem is that "print taglist" returns only ['?BB!'] instead of
['?BB!', ?DD!']
i.e the recursive call of tagtable is not added into taglist. However,
as function pr
reveals, ?DD! is found by mxTextTool.

Is it possible to add all the matched strings into a single table that
does not subtables ?
(not ['?BB!, [?DD!]])

-pekka-


From mal@lemburg.com Mon Jun 24 10:06:13 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5O865U32038;
	Mon, 24 Jun 2002 10:06:12 +0200
Message-ID: <3D16D329.6020500@lemburg.com>
Date: Mon, 24 Jun 2002 10:07:05 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Pekka Niiranen <krissepu@vip.fi>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Continuous searching of text thru all characters
 on line
References: <3D16035B.402F8DAC@vip.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Pekka Niiranen wrote:
> I am using the mxTextTool in mxBase 2.1.0b2.
> 
> I am parsing a line that may contain multiple non-overlapping matches:
> 
> ---- code starts ---
> import os
> import pprint
> from mx.TextTools import *
> 
> letter_set = set(alpha)
> linput = "aa?BB!aa?DD!aa"
> head_pos = None
> 
> 
> def pr(taglist,txt,l,r,subtag):
>     """Print matched string"""
>     print txt[l:r]
> 
> matchtable = ((pr, AllIn+CallTag, '?', +1),
>               (pr, AllInSet+CallTag, letter_set, +1),
>               (pr, AllIn+CallTag, '!', +1, MatchOk),
>               (None, Fail, Here)) #This is needed in order to avoid
> infinite loop
> 
> 
> tagtable = ((None, AllInSet, letter_set, +1),
>             ('m', Table+AppendMatch, matchtable),
>             (None, Table, ThisTable)) # Continue searching after first
> match on line.
> 
> 
> result,taglist,next = tag(linput, tagtable)
> print taglist
> print "-------"
> 
> ---- code ends ---
> 
> The problem is that "print taglist" returns only ['?BB!'] instead of
> ['?BB!', ?DD!']
> i.e the recursive call of tagtable is not added into taglist. However,
> as function pr
> reveals, ?DD! is found by mxTextTool.

The reason is that failing sub table matches restore the tag list
to what it was before recursion. You should remove the (None, Fail, Here)
and replace (pr, AllIn+CallTag, '!', +1, MatchOk) with
(pr, AllIn+CallTag, '!', MatchFail, MatchOk).

> Is it possible to add all the matched strings into a single table that
> does not subtables ?
> (not ['?BB!, [?DD!]])

Yes. The command SubTable does this for you.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/
Meet us at EuroPython 2002:                 http://www.europython.org/


From krissepu@vip.fi Mon Jun 24 15:20:05 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5ODK5U01634
	for <egenix-users@lists.egenix.com>; Mon, 24 Jun 2002 15:20:05 +0200
Received: from vip.fi (DynIP-132-172.Tre.vip.fi [213.173.132.172])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id QAA00720;
	Mon, 24 Jun 2002 16:19:58 +0300
Message-ID: <3D171BD4.228A0045@vip.fi>
Date: Mon, 24 Jun 2002 16:17:08 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Continuous searching of text thru all characterson 
 line: Does not work, vol 1
References: <3D16035B.402F8DAC@vip.fi> <3D16D329.6020500@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Nope,

this code works the same:

---- code starts ---
import os
import pprint
from simpleparse import generator
from mx.TextTools import *

letter_set = set(alpha)
linput = "aa?BB!aa?DD!cc"
head_pos = None


def pr(taglist,txt,l,r,subtag):
    """Print matched string"""
    print txt[l:r]

matchtable = ((pr, AllIn+CallTag, '?', +1),
              (pr, AllInSet+CallTag, letter_set, +1),
              (pr, AllIn+CallTag, '!', MatchFail, MatchOk))


tagtable = ((None, AllInSet, letter_set, +1),
            ('Match', Table+AppendMatch, matchtable),
            (None, Table, ThisTable)) # Continue searching after first match
on line.


result,taglist,next = tag(linput, tagtable)
print taglist
print "-------"

---- code stops ---

Since one needs parsers mostly because of nested structures cannot be
searched with re-expressions, please add examples of nested searches in your
future documentations. Once I get this one running, I will send it to you

-pekka-


"M.-A. Lemburg" wrote:

> Pekka Niiranen wrote:
> > I am using the mxTextTool in mxBase 2.1.0b2.
> >
> > I am parsing a line that may contain multiple non-overlapping matches:
> >
> > ---- code starts ---
> > import os
> > import pprint
> > from mx.TextTools import *
> >
> > letter_set = set(alpha)
> > linput = "aa?BB!aa?DD!aa"
> > head_pos = None
> >
> >
> > def pr(taglist,txt,l,r,subtag):
> >     """Print matched string"""
> >     print txt[l:r]
> >
> > matchtable = ((pr, AllIn+CallTag, '?', +1),
> >               (pr, AllInSet+CallTag, letter_set, +1),
> >               (pr, AllIn+CallTag, '!', +1, MatchOk),
> >               (None, Fail, Here)) #This is needed in order to avoid
> > infinite loop
> >
> >
> > tagtable = ((None, AllInSet, letter_set, +1),
> >             ('m', Table+AppendMatch, matchtable),
> >             (None, Table, ThisTable)) # Continue searching after first
> > match on line.
> >
> >
> > result,taglist,next = tag(linput, tagtable)
> > print taglist
> > print "-------"
> >
> > ---- code ends ---
> >
> > The problem is that "print taglist" returns only ['?BB!'] instead of
> > ['?BB!', ?DD!']
> > i.e the recursive call of tagtable is not added into taglist. However,
> > as function pr
> > reveals, ?DD! is found by mxTextTool.
>
> The reason is that failing sub table matches restore the tag list
> to what it was before recursion. You should remove the (None, Fail, Here)
> and replace (pr, AllIn+CallTag, '!', +1, MatchOk) with
> (pr, AllIn+CallTag, '!', MatchFail, MatchOk).
>
> > Is it possible to add all the matched strings into a single table that
> > does not subtables ?
> > (not ['?BB!, [?DD!]])
>
> Yes. The command SubTable does this for you.
>
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> ______________________________________________________________________
> Company & Consulting:                           http://www.egenix.com/
> Python Software:                   http://www.egenix.com/files/python/
> Meet us at EuroPython 2002:                 http://www.europython.org/
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From mal@lemburg.com Mon Jun 24 17:09:52 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5OF9pU02286;
	Mon, 24 Jun 2002 17:09:52 +0200
Message-ID: <3D173680.3060901@lemburg.com>
Date: Mon, 24 Jun 2002 17:10:56 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: John.N.1@bwc.state.oh.us
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] BeeDict setting keys/comparison to shelve
References: <6FDE0867413DD21182BF00A0C97251920EA8CEBD@MSWG4>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

John.N.1@bwc.state.oh.us wrote:
> Does anyone have comments on using Bdict instead of a standard shelf or
> bsddb ver3?
> 
> Also, on Win2k, for me to change a dictionary element w/Bdict, I need to
> first delete the key and then set it's value.
> Should that be the case?
> 
> When I run:
> 
>     d = mx.BeeBase.BeeDict.BeeDict('c:/tmp/test-BeeDict2')
>     print 'original',d['Marc9']
>     d['Marc9']='betty1'
>     d.commit()
>     print 'dict change\t',d.changed(),d['Marc9']
> 
>     del(d['Marc9'])
>     d.commit()
>     d['Marc9']='betty2'
>     print 'del dict change\t',d.changed(),d['Marc9']
>     d.close()
> 
> 
> produces:
> 
> original Sveta
> dict change     0 Sveta
> del dict change 1 betty2

Have you tried this with the lastest beta of egenix-mx-base ?

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/
Meet us at EuroPython 2002:                 http://www.europython.org/


From mal@lemburg.com Mon Jun 24 20:29:36 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5OITZU03644;
	Mon, 24 Jun 2002 20:29:36 +0200
Message-ID: <3D176551.1080207@lemburg.com>
Date: Mon, 24 Jun 2002 20:30:41 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Pekka Niiranen <krissepu@vip.fi>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Continuous searching of text thru all characterson
  line: Does not work, vol 1
References: <3D16035B.402F8DAC@vip.fi> <3D16D329.6020500@lemburg.com> <3D171BD4.228A0045@vip.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Pekka Niiranen wrote:
> Nope,
> 
> this code works the same:
> 
> ---- code starts ---
> import os
> import pprint
> from simpleparse import generator
> from mx.TextTools import *
> 
> letter_set = set(alpha)
> linput = "aa?BB!aa?DD!cc"
> head_pos = None
> 
> 
> def pr(taglist,txt,l,r,subtag):
>     """Print matched string"""
>     print txt[l:r]
> 
> matchtable = ((pr, AllIn+CallTag, '?', +1),
>               (pr, AllInSet+CallTag, letter_set, +1),
>               (pr, AllIn+CallTag, '!', MatchFail, MatchOk))
> 
> 
> tagtable = ((None, AllInSet, letter_set, +1),
>             ('Match', Table+AppendMatch, matchtable),
>             (None, Table, ThisTable)) # Continue searching after first match
> on line.

Not sure what you want to achieve with the last line.
Shouldn't this be (None, Jump, To, -2) ?


> result,taglist,next = tag(linput, tagtable)
> print taglist
> print "-------"
> 
> ---- code stops ---
> 
> Since one needs parsers mostly because of nested structures cannot be
> searched with re-expressions, please add examples of nested searches in your
> future documentations. Once I get this one running, I will send it to you

You should consult the examples in the Examples directory.
There are a few instances of nested structures in there, e.g.
Tim.py.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/
Meet us at EuroPython 2002:                 http://www.europython.org/


From krissepu@vip.fi Thu Jun 27 18:28:06 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g5RGS6U31371
	for <egenix-users@lists.egenix.com>; Thu, 27 Jun 2002 18:28:06 +0200
Received: from vip.fi (DynIP-132-154.Tre.vip.fi [213.173.132.154])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id TAA02369;
	Thu, 27 Jun 2002 19:27:56 +0300
Message-ID: <3D1B3D10.44AD75DF@vip.fi>
Date: Thu, 27 Jun 2002 19:28:00 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
References: <3D16035B.402F8DAC@vip.fi> <3D16D329.6020500@lemburg.com> <3D171BD4.228A0045@vip.fi> <3D176551.1080207@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Lookahead parameter in MxTextTools ?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I managed to make my parser for nested structures workin by
inspecting your example code altRTF.py of the mxTextTool -package.
However, I have 3 questions of the code below:

1) Can I use LookAhead -parameter to replace this two liner in the code:
        (None,Is+CallTag,'!','nesting', +1),
        (None,Skip,-1,0,MatchOk),

    I could not find any examples of it.

2) It seems that last line
     (pr4, AllNotIn+CallTag, '?!',MatchFail,'start')

    never fails. Instead it seems the program allways jumps to 'start'.
    What am I missing ?

3) I would like to merge starting ?-sign and ending ! -sign to the match
    but creating additional group like

    ( 'match', Table+AppendMatch,
      ((pr2,Is+CallTag,'?','letters', +1),
       ('group',SubTable+AppendMatch,ThisTable),
       (pr3,Is+CallTag,'!'))),

    fails because jump address 'letters' must be found from the group itself.
    Any ideas ?

---code starts ---

import sys,string

from mx.TextTools import *

text = "aa??CC!DD!aa?FF!?GG!xxxx?XX!aa"

def pr1(taglist,txt,l,r,subtag):
    print 'pr1 ',txt[l:r]

def pr2(taglist,txt,l,r,subtag):
    print 'pr2 ',txt[l:r]

def pr3(taglist,txt,l,r,subtag):
    print 'pr3 ',txt[l:r]

def pr4(taglist,txt,l,r,subtag):
    print 'pr4 ',txt[l:r]

rtf = ('start',
       (None,Is+CallTag,'!','nesting', +1),
       (None,Skip,-1,0,MatchOk),

       'nesting',
       (pr2,Is+CallTag,'?','letters', +1),
       ('group',SubTable+AppendMatch,ThisTable),
       (pr3,Is+CallTag,'!'),
       (None,Jump,To,'start'),

       'letters',
       (pr4, AllNotIn+CallTag, '?!',MatchFail,'start'))


if __name__ == '__main__':

    result, taglist, nextindex = tag(text,rtf)
    print taglist

---code ends ---


-pekka-




From reggie@merfinllc.com Sat Jul  6 00:19:24 2002
Received: from catserver.merfinllc.com (merfinllc.com [63.73.180.140])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g65MJOU25153
	for <egenix-users@lists.egenix.com>; Sat, 6 Jul 2002 00:19:24 +0200
Received: from [63.73.180.172] by catserver.merfinllc.com (NTMail 7.00.0018/NT8468.00.01d051e4) with ESMTP id jlpzbaaa for egenix-users@lists.egenix.com; Fri, 5 Jul 2002 15:19:19 -0700
From: Reggie Dugard <reggie@merfinllc.com>
To: egenix-users@lists.egenix.com
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
X-Mailer: Ximian Evolution 1.0.8 
Date: 05 Jul 2002 15:19:17 -0700
Message-Id: <1025907558.12352.38.camel@auk>
Mime-Version: 1.0
Subject: [egenix-users] Roundoff problem in DateTime
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I'm using what I believe to be the latest version of mx.DateTime (2.0.3)
and I seem to have discovered a roundoff problem.  The problem occurs on
Redhat 7.1, but not under Windows 2000 SP2.  Both are running the same
versions of python and mx.DateTime.

After performing a floating point addition, I'm getting a time of
24:00:00 instead of getting 00:00:00 for the next day.  The release
notes mention a similar problem and seem to indicate that it has already
been addressed.  I'm able to consistently reproduce this my problem with
the simple example below.

So, I was wondering if anyone else has this problem or if there is a
patch/known workaround for it.

Thanks in advance,

Reggie Dugard
Merfin, LLC

$ uname -a
Linux auk 2.4.9-34 #1 Sat Jun 1 06:10:23 EDT 2002 i686 unknown
$ python
Python 2.2.1 (#1, Apr 29 2002, 15:21:53) 
[GCC 3.0.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mx.DateTime
>>> mx.DateTime.__version__
'2.0.3'
>>> t = mx.DateTime.DateTimeFromAbsDateTime(730488, 81317.647058823524)
>>> t
<DateTime object for '2001-01-03 22:35:17.64' at 8134e20>
>>> t + 1.0/17.0
<DateTime object for '2001-01-03 24:00:00.00' at 8166700>
>>> 



From mal@lemburg.com Mon Jul  8 10:32:07 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g688W5U13959;
	Mon, 8 Jul 2002 10:32:07 +0200
Message-ID: <3D294E54.6070706@lemburg.com>
Date: Mon, 08 Jul 2002 10:33:24 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Reggie Dugard <reggie@merfinllc.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Roundoff problem in DateTime
References: <1025907558.12352.38.camel@auk>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Reggie Dugard wrote:
> I'm using what I believe to be the latest version of mx.DateTime (2.0.3)
> and I seem to have discovered a roundoff problem.  The problem occurs on
> Redhat 7.1, but not under Windows 2000 SP2.  Both are running the same
> versions of python and mx.DateTime.
> 
> After performing a floating point addition, I'm getting a time of
> 24:00:00 instead of getting 00:00:00 for the next day.  The release
> notes mention a similar problem and seem to indicate that it has already
> been addressed.  I'm able to consistently reproduce this my problem with
> the simple example below.
> 
> So, I was wondering if anyone else has this problem or if there is a
> patch/known workaround for it.

Could you check whether the problem still persists with the
latest egenix-mx-base beta 2 ? (see the mailing list archives
for all the URLs)

> Reggie Dugard
> Merfin, LLC
> 
> $ uname -a
> Linux auk 2.4.9-34 #1 Sat Jun 1 06:10:23 EDT 2002 i686 unknown
> $ python
> Python 2.2.1 (#1, Apr 29 2002, 15:21:53) 
> [GCC 3.0.3] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> 
>>>>import mx.DateTime
>>>>mx.DateTime.__version__
>>>
> '2.0.3'
> 
>>>>t = mx.DateTime.DateTimeFromAbsDateTime(730488, 81317.647058823524)
>>>>t
>>>
> <DateTime object for '2001-01-03 22:35:17.64' at 8134e20>
> 
>>>>t + 1.0/17.0
>>>
> <DateTime object for '2001-01-03 24:00:00.00' at 8166700>

Could you provide a printout of the values of all attributes
this instance has (both on Windows and Linux) ?

t = ...
for attr in t.__members__:
     print attr, ':', getattr(t, attr)

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From reggie@merfinllc.com Mon Jul  8 20:37:01 2002
Received: from catserver.merfinllc.com (merfinllc.com [63.73.180.140])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g68Ib0U17731
	for <egenix-users@lists.egenix.com>; Mon, 8 Jul 2002 20:37:00 +0200
Received: from [63.73.180.172] by catserver.merfinllc.com (NTMail 7.00.0018/NT8468.00.01d051e4) with ESMTP id iiuzbaaa for egenix-users@lists.egenix.com; Mon, 8 Jul 2002 11:36:50 -0700
Subject: Re: [egenix-users] Roundoff problem in DateTime
From: Reggie Dugard <reggie@merfinllc.com>
To: "M.-A. Lemburg" <mal@lemburg.com>
Cc: egenix-users@lists.egenix.com
In-Reply-To: <3D294E54.6070706@lemburg.com>
References: <1025907558.12352.38.camel@auk>  <3D294E54.6070706@lemburg.com>
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
X-Mailer: Ximian Evolution 1.0.8 
Date: 08 Jul 2002 11:36:48 -0700
Message-Id: <1026153408.26011.7.camel@auk>
Mime-Version: 1.0
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I downloaded and compiled the beta 2 version of 2.1.0 and unfortunately
it didn't help.  I've printed out all the attributes below, as you
requested.

Let me know if you need anything else.

Reggie


Python 2.2.1 (#1, Apr 29 2002, 15:21:53) 
[GCC 3.0.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mx.DateTime
>>> mx.DateTime.__version__
'2.1.0'
>>> t = mx.DateTime.DateTimeFromAbsDateTime(730488,81317.647058823524)
>>> t
<DateTime object for '2001-01-03 22:35:17.65' at 8134e58>
>>> t + 1.0/17.0
<DateTime object for '2001-01-03 24:00:00.00' at 8167600>
>>> for attr in t.__members__:
...     print attr, ':', getattr(t,attr)
... 
year : 2001
month : 1
day : 3
hour : 22
minute : 35
second : 17.6470588235
absdays : 730487.941176
absdate : 730488
abstime : 81317.6470588
yearoffset : 730485
is_leapyear : 0
day_of_week : 2
day_of_year : 3
days_in_month : 31
tz : PST
dst : 0
iso_week : (2001, 1, 3)
mjd : 51912.9411765
tjd : 1912.94117647
tjd_myriad : 245
jdn : 2451913.44118
calendar : Gregorian
>>> 

On Mon, 2002-07-08 at 01:33, M.-A. Lemburg wrote:
> Reggie Dugard wrote:
> > I'm using what I believe to be the latest version of mx.DateTime (2.0.3)
> > and I seem to have discovered a roundoff problem.  The problem occurs on
> > Redhat 7.1, but not under Windows 2000 SP2.  Both are running the same
> > versions of python and mx.DateTime.
> > 
> > After performing a floating point addition, I'm getting a time of
> > 24:00:00 instead of getting 00:00:00 for the next day.  The release
> > notes mention a similar problem and seem to indicate that it has already
> > been addressed.  I'm able to consistently reproduce this my problem with
> > the simple example below.
> > 
> > So, I was wondering if anyone else has this problem or if there is a
> > patch/known workaround for it.
> 
> Could you check whether the problem still persists with the
> latest egenix-mx-base beta 2 ? (see the mailing list archives
> for all the URLs)
> 
> > Reggie Dugard
> > Merfin, LLC
> > 
> > $ uname -a
> > Linux auk 2.4.9-34 #1 Sat Jun 1 06:10:23 EDT 2002 i686 unknown
> > $ python
> > Python 2.2.1 (#1, Apr 29 2002, 15:21:53) 
> > [GCC 3.0.3] on linux2
> > Type "help", "copyright", "credits" or "license" for more information.
> > 
> >>>>import mx.DateTime
> >>>>mx.DateTime.__version__
> >>>
> > '2.0.3'
> > 
> >>>>t = mx.DateTime.DateTimeFromAbsDateTime(730488, 81317.647058823524)
> >>>>t
> >>>
> > <DateTime object for '2001-01-03 22:35:17.64' at 8134e20>
> > 
> >>>>t + 1.0/17.0
> >>>
> > <DateTime object for '2001-01-03 24:00:00.00' at 8166700>
> 
> Could you provide a printout of the values of all attributes
> this instance has (both on Windows and Linux) ?
> 
> t = ...
> for attr in t.__members__:
>      print attr, ':', getattr(t, attr)
> 
> Thanks,
> -- 
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> _______________________________________________________________________
> eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
> Python Consulting:                               http://www.egenix.com/
> Python Software:                    http://www.egenix.com/files/python/
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users



From reggie@merfinllc.com Mon Jul  8 20:48:24 2002
Received: from catserver.merfinllc.com (merfinllc.com [63.73.180.140])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g68ImOU17895
	for <egenix-users@lists.egenix.com>; Mon, 8 Jul 2002 20:48:24 +0200
Received: from [63.73.180.172] by catserver.merfinllc.com (NTMail 7.00.0018/NT8468.00.01d051e4) with ESMTP id siuzbaaa for egenix-users@lists.egenix.com; Mon, 8 Jul 2002 11:48:19 -0700
Subject: Re: [egenix-users] Roundoff problem in DateTime
From: Reggie Dugard <reggie@merfinllc.com>
To: Reggie Dugard <reggie@merfinllc.com>
Cc: "M.-A. Lemburg" <mal@lemburg.com>, egenix-users@lists.egenix.com
In-Reply-To: <1026153408.26011.7.camel@auk>
References: <1025907558.12352.38.camel@auk>  <3D294E54.6070706@lemburg.com>
	 <1026153408.26011.7.camel@auk>
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
X-Mailer: Ximian Evolution 1.0.8 
Date: 08 Jul 2002 11:48:16 -0700
Message-Id: <1026154096.26011.22.camel@auk>
Mime-Version: 1.0
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Sorry about that last e-mail, I included the attributes of the DateTime
instance BEFORE doing the addition (too little sleep I guess).  Here are
the ones you asked for.

Reggie


On Mon, 2002-07-08 at 11:36, Reggie Dugard wrote:
> I downloaded and compiled the beta 2 version of 2.1.0 and unfortunately
> it didn't help.  I've printed out all the attributes below, as you
> requested.
> 
> Let me know if you need anything else.
> 
> Reggie
> 
> 
> Python 2.2.1 (#1, Apr 29 2002, 15:21:53) 
> [GCC 3.0.3] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import mx.DateTime
> >>> mx.DateTime.__version__
> '2.1.0'
> >>> t = mx.DateTime.DateTimeFromAbsDateTime(730488,81317.647058823524)
> >>> t
> <DateTime object for '2001-01-03 22:35:17.65' at 8134e58>

>>> t += 1.0/17.0
>>> t
<DateTime object for '2001-01-03 24:00:00.00' at 818b088>
>>> for attr in t.__members__:
...     print attr, ':', getattr(t,attr)
... 
year : 2001
month : 1
day : 3
hour : 24
minute : 0
second : 0.0
absdays : 730488.0
absdate : 730488
abstime : 86400.0
yearoffset : 730485
is_leapyear : 0
day_of_week : 2
day_of_year : 3
days_in_month : 31
tz : PST
dst : 0
iso_week : (2001, 1, 3)
mjd : 51913.0
tjd : 1913.0
tjd_myriad : 245
jdn : 2451913.5
calendar : Gregorian
>>> 


> 
> On Mon, 2002-07-08 at 01:33, M.-A. Lemburg wrote:
> > Reggie Dugard wrote:
> > > I'm using what I believe to be the latest version of mx.DateTime (2.0.3)
> > > and I seem to have discovered a roundoff problem.  The problem occurs on
> > > Redhat 7.1, but not under Windows 2000 SP2.  Both are running the same
> > > versions of python and mx.DateTime.
> > > 
> > > After performing a floating point addition, I'm getting a time of
> > > 24:00:00 instead of getting 00:00:00 for the next day.  The release
> > > notes mention a similar problem and seem to indicate that it has already
> > > been addressed.  I'm able to consistently reproduce this my problem with
> > > the simple example below.
> > > 
> > > So, I was wondering if anyone else has this problem or if there is a
> > > patch/known workaround for it.
> > 
> > Could you check whether the problem still persists with the
> > latest egenix-mx-base beta 2 ? (see the mailing list archives
> > for all the URLs)
> > 
> > > Reggie Dugard
> > > Merfin, LLC
> > > 
> > > $ uname -a
> > > Linux auk 2.4.9-34 #1 Sat Jun 1 06:10:23 EDT 2002 i686 unknown
> > > $ python
> > > Python 2.2.1 (#1, Apr 29 2002, 15:21:53) 
> > > [GCC 3.0.3] on linux2
> > > Type "help", "copyright", "credits" or "license" for more information.
> > > 
> > >>>>import mx.DateTime
> > >>>>mx.DateTime.__version__
> > >>>
> > > '2.0.3'
> > > 
> > >>>>t = mx.DateTime.DateTimeFromAbsDateTime(730488, 81317.647058823524)
> > >>>>t
> > >>>
> > > <DateTime object for '2001-01-03 22:35:17.64' at 8134e20>
> > > 
> > >>>>t + 1.0/17.0
> > >>>
> > > <DateTime object for '2001-01-03 24:00:00.00' at 8166700>
> > 
> > Could you provide a printout of the values of all attributes
> > this instance has (both on Windows and Linux) ?
> > 
> > t = ...
> > for attr in t.__members__:
> >      print attr, ':', getattr(t, attr)
> > 
> > Thanks,
> > -- 
> > Marc-Andre Lemburg
> > CEO eGenix.com Software GmbH
> > _______________________________________________________________________
> > eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
> > Python Consulting:                               http://www.egenix.com/
> > Python Software:                    http://www.egenix.com/files/python/
> > 
> > 
> > _______________________________________________________________________
> > eGenix.com User Mailing List                     http://www.egenix.com/
> > http://lists.egenix.com/mailman/listinfo/egenix-users
> 
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users



From mal@lemburg.com Mon Jul  8 22:50:20 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g68KoDU18775;
	Mon, 8 Jul 2002 22:50:19 +0200
Message-ID: <3D29FB5A.1000403@lemburg.com>
Date: Mon, 08 Jul 2002 22:51:38 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Reggie Dugard <reggie@merfinllc.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Roundoff problem in DateTime
References: <1025907558.12352.38.camel@auk>  <3D294E54.6070706@lemburg.com>	 <1026153408.26011.7.camel@auk> <1026154096.26011.22.camel@auk>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Reggie Dugard wrote:
> Sorry about that last e-mail, I included the attributes of the DateTime
> instance BEFORE doing the addition (too little sleep I guess).  Here are
> the ones you asked for.

Thanks. I can reproduce the problem now.

I'll see whether I can find a fix for it. The problem is that
leap seconds show as .abstime == 86400.0 as well, so whether
or not a value is invalid is not straight forward to decide.

> On Mon, 2002-07-08 at 11:36, Reggie Dugard wrote:
> 
>>I downloaded and compiled the beta 2 version of 2.1.0 and unfortunately
>>it didn't help.  I've printed out all the attributes below, as you
>>requested.
>>
>>Let me know if you need anything else.
>>
>>Reggie
>>
>>
>>Python 2.2.1 (#1, Apr 29 2002, 15:21:53) 
>>[GCC 3.0.3] on linux2
>>Type "help", "copyright", "credits" or "license" for more information.
>>
>>>>>import mx.DateTime
>>>>>mx.DateTime.__version__
>>>>
>>'2.1.0'
>>
>>>>>t = mx.DateTime.DateTimeFromAbsDateTime(730488,81317.647058823524)
>>>>>t
>>>>
>><DateTime object for '2001-01-03 22:35:17.65' at 8134e58>
> 
> 
>>>>t += 1.0/17.0
>>>>t
>>>
> <DateTime object for '2001-01-03 24:00:00.00' at 818b088>
> 
>>>>for attr in t.__members__:
>>>
> ...     print attr, ':', getattr(t,attr)
> ... 
> year : 2001
> month : 1
> day : 3
> hour : 24
> minute : 0
> second : 0.0
> absdays : 730488.0
> absdate : 730488
> abstime : 86400.0
> yearoffset : 730485
> is_leapyear : 0
> day_of_week : 2
> day_of_year : 3
> days_in_month : 31
> tz : PST
> dst : 0
> iso_week : (2001, 1, 3)
> mjd : 51913.0
> tjd : 1913.0
> tjd_myriad : 245
> jdn : 2451913.5
> calendar : Gregorian

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Tue Jul  9 17:46:19 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g69Fk6U26777;
	Tue, 9 Jul 2002 17:46:06 +0200
Message-ID: <3D2B0592.6070700@lemburg.com>
Date: Tue, 09 Jul 2002 17:47:30 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: Reggie Dugard <reggie@merfinllc.com>, egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Roundoff problem in DateTime
References: <1025907558.12352.38.camel@auk>  <3D294E54.6070706@lemburg.com>	 <1026153408.26011.7.camel@auk> <1026154096.26011.22.camel@auk> <3D29FB5A.1000403@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I've had a look at the problem: it seems that either the compiler
generates weird code or that the ALU in the processor has trouble
passing doube arguments on the stack:

The function doing the calculations shows a diff of abstime - 86400.0
of -0.00000000000545696821 and abstime >= 86400.0 is false. However,
once that value has been passed over the stack to another function,
the diff goes down to 0.0 and abstime == 86400.0 .... weird.

M.-A. Lemburg wrote:
> Reggie Dugard wrote:
> 
>> Sorry about that last e-mail, I included the attributes of the DateTime
>> instance BEFORE doing the addition (too little sleep I guess).  Here are
>> the ones you asked for.
> 
> 
> Thanks. I can reproduce the problem now.
> 
> I'll see whether I can find a fix for it. The problem is that
> leap seconds show as .abstime == 86400.0 as well, so whether
> or not a value is invalid is not straight forward to decide.
> 
>> On Mon, 2002-07-08 at 11:36, Reggie Dugard wrote:
>>
>>> I downloaded and compiled the beta 2 version of 2.1.0 and unfortunately
>>> it didn't help.  I've printed out all the attributes below, as you
>>> requested.
>>>
>>> Let me know if you need anything else.
>>>
>>> Reggie
>>>
>>>
>>> Python 2.2.1 (#1, Apr 29 2002, 15:21:53) [GCC 3.0.3] on linux2
>>> Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>>>> import mx.DateTime
>>>>>> mx.DateTime.__version__
>>>>>
>>>>>
>>> '2.1.0'
>>>
>>>>>> t = mx.DateTime.DateTimeFromAbsDateTime(730488,81317.647058823524)
>>>>>> t
>>>>>
>>>>>
>>> <DateTime object for '2001-01-03 22:35:17.65' at 8134e58>
>>
>>
>>
>>>>> t += 1.0/17.0
>>>>> t
>>>>
>>>>
>> <DateTime object for '2001-01-03 24:00:00.00' at 818b088>
>>
>>>>> for attr in t.__members__:
>>>>
>>>>
>> ...     print attr, ':', getattr(t,attr)
>> ... year : 2001
>> month : 1
>> day : 3
>> hour : 24
>> minute : 0
>> second : 0.0
>> absdays : 730488.0
>> absdate : 730488
>> abstime : 86400.0
>> yearoffset : 730485
>> is_leapyear : 0
>> day_of_week : 2
>> day_of_year : 3
>> days_in_month : 31
>> tz : PST
>> dst : 0
>> iso_week : (2001, 1, 3)
>> mjd : 51913.0
>> tjd : 1913.0
>> tjd_myriad : 245
>> jdn : 2451913.5
>> calendar : Gregorian
> 
> 


-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Thu Jul 11 19:33:44 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6BHXiU14508;
	Thu, 11 Jul 2002 19:33:44 +0200
Message-ID: <3D2DC1CF.1020303@lemburg.com>
Date: Thu, 11 Jul 2002 19:35:11 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] mxODBC Zope DA
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am currently working on a Zope DA for mxODBC. Is anyone
willing to play alpha tester for this ? If so, please drop
me a line.

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From krissepu@vip.fi Sat Jul 13 21:21:16 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6DJLFU02327
	for <egenix-users@lists.egenix.com>; Sat, 13 Jul 2002 21:21:16 +0200
Received: from vip.fi (DynIP-132-244.Tre.vip.fi [213.173.132.244])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id WAA31895;
	Sat, 13 Jul 2002 22:21:10 +0300
Message-ID: <3D307DA1.B61A0B85@vip.fi>
Date: Sat, 13 Jul 2002 22:21:05 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: mcfletch@rogers.com, mal@lemburg.com, egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] SimpleParse 2.0 alpha (+ mx.TextTools 2.1 beta2)
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I used latest alpha of Simpleparse 2.0 and it worked OK in my problem, but

- I could not understand the section where AppendMatch, CallTag etc. were
explained.
  How do I enforce Simpleparse to use "AppendMatch  + Subtable" -parameters
together ?

- I hit the solution to the problem I mentioned on June with code 1 (Sheer
luck). However, could you
  explain why > - and < -sign are compulsonary in that solution ?

- The code 2 functions allmost as as code 1, with starting ? -sign missing from
returned items.
  Any ideas how to append that to results? (I should somehow merge ? -sign to
returned nested match)
  I doubt the tagtable returned by the Simpleparse is the shortest/quickest
solution.
  Maybe  I could LookAhead the "?" -sign and then add it to result only when I
am recursing ?

- Would it be possible to add support for compination "LookAhead+CallTag" to
mxTextTools ?
   This would help debugging.

--- code 1 starts --

import string, pprint, os
from mx.TextTools import TextTools
from simpleparse.parser import *

declaration = r'''
>line<  := (a/match)+
match   := '?', line, '!'
<a>     := -[?!]
'''
text1 = "?AA!aa??BB!!aa??CC!DD!aa?EE?FF!!aa?GG?HH?II!JJ!KK!"

parser = Parser(declaration)
success, children, nextcharacter = parser.parse(text1, production = "line")
print_tags(text1, children)

--- code 1 ends ---

--- code 2 starts --

import sys,string
from mx.TextTools import *

text = "?AA!aa??BB!!aa??CC!DD!aa?EE?FF!!aa?GG?HH?II!JJ!KK!"

rtf = ('start',
       (None, Is, '?', +1, 'nesting'),  # How to add ? -sign to result only when
we are nesting ?
       (None, Is, '!', +1, MatchOk),
       (None, AllNotIn, '?!', 0, 'start'),
       'nesting',
       ('group', SubTable+AppendMatch, ThisTable, 0, 'start'))

if __name__ == '__main__':

    result, taglist, nextindex = tag(text,rtf)
    print taglist

--- code 2 ends ---


-pekka-


From mal@lemburg.com Sat Jul 13 22:26:33 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6DKQUU02718;
	Sat, 13 Jul 2002 22:26:32 +0200
Message-ID: <3D308D4F.7010705@lemburg.com>
Date: Sat, 13 Jul 2002 22:27:59 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Pekka Niiranen <krissepu@vip.fi>
CC: mcfletch@rogers.com, egenix-users@lists.egenix.com
Subject: Re: [egenix-users] SimpleParse 2.0 alpha (+ mx.TextTools 2.1 beta2)
References: <3D307DA1.B61A0B85@vip.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Pekka Niiranen wrote:
> - Would it be possible to add support for compination "LookAhead+CallTag" 
 >   to mxTextTools ?
>    This would help debugging.

This will be possible starting with beta 3 of the egenix-mx-base
package. It was a bug in beta 2.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From krissepu@vip.fi Tue Jul 16 22:24:19 2002
Received: from populo.vip.fi ([213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6GKNrU00402
	for <egenix-users@lists.egenix.com>; Tue, 16 Jul 2002 22:24:19 +0200
Received: from vip.fi (DynIP-132-76.Tre.vip.fi [213.173.132.76])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id XAA26404;
	Tue, 16 Jul 2002 23:22:56 +0300
Message-ID: <3D348099.9B4B63BA@vip.fi>
Date: Tue, 16 Jul 2002 23:22:49 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
Newsgroups: comp.lang.python
To: egenix-users@lists.egenix.com, mcfletch@rogers.com, mertz@gnosis.cx,
   pyth@devel.trillke.net, dalke@acm.org, fredrik@pythonware.com
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] SOLUTIONS: Parsing nested strings
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Thank you all for your help and inspiration! It is payback time ;)

I have tried past two months to create parser that returns
strings limited by two different letters. The strings can be nested.
I considered recursive call of regular expression to be too slow
and decided to use mxTextTools 2.1 beta2 and the latest alpha of
Simpleparse 2.0.

Below are three solutions I found.
Note that Simpleparse creates different tagtable as the "manually"
found.

Further ideas to be implemented:

1) Input of limiting letters as parameters (easy)
2) Unicode support
3) Test for equal amount of limiting letters before calling of parser
(will this speed up the solution ?)
4) Parsing one line at a time without looping thru lines of the text
with "while" or "for"
    (maybe "None, AllNotIn, '()\n'" )

One development idea to mxTextTools:

1) Instead of using list of tables to recurse, would it be possible to
use "global jump" to outside of current table ?


--- solution 1 starts (with limiting letters)---

from mx.TextTools import *
text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
tables = [] # used for recursion only

tab = ('start',
       (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "("
then recurse
       (None,Is,')',+1,MatchOk), # If current character is ")" then stop
or return from recursion
       (None,AllNotIn,'()',0,'start'), # Search all characters except
"(" and ")"
       'nesting',
       ('group',SubTable+AppendMatch,((None,Is,'(',0,+1), # Since we
have looked ahead, collect "(" -sign
                                      (None,SubTableInList,
(tables,0)))), # Recurse
       (None,Jump,To,'start')) # After recursion jump back to 'start'

tables.append(tab) # Add tab to tables

if __name__ == '__main__':

    result, taglist, nextindex = tag(text,tab)
    print taglist

--- solution 1 ends ---

--- solution 2 starts  (without limiting letters) ---

from mx.TextTools import *

text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"

tab = ('start',
       (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is
seen stop recursion
       (None, Is, '(', 'letters', +1),
       ('group', SubTable+AppendMatch, ThisTable), # Recurse
       (None, Skip, 1, 0, 'start'), # Last character in recursion was
")" so jump over it back to 'start'
       'letters',
       (None, AllNotIn, '()', 0, 'start')) # Collect all characters
except "(" and ")"

result,taglist,next = tag(text, tab)
print taglist

--- solution 2 ends ---

--- solution 3 starts (Simpleparse solution) ---

from simpleparse.parser import Parser
from mx.TextTools import *

declaration = r'''
>line<  := (a/match)+
match   := '(', line, ')'
<a>     := -[()]
'''
text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"

parser = Parser(declaration)
success, children, nextcharacter = parser.parse(text, production =
"line")
print_tags(text,children)

--- solution 3 ends ---

-pekka-


From mcfletch@rogers.com Thu Jul 18 10:15:52 2002
Received: from fep02-mail.bloor.is.net.cable.rogers.com (fep02-mail.bloor.is.net.cable.rogers.com [66.185.86.72] (may be forged))
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6I8FVU15716
	for <egenix-users@lists.egenix.com>; Thu, 18 Jul 2002 10:15:52 +0200
Received: from rogers.com ([24.43.65.252])
          by fep02-mail.bloor.is.net.cable.rogers.com
          (InterMail vM.5.01.05.06 201-253-122-126-106-20020509) with ESMTP
          id <20020718081431.ZFGZ334399.fep02-mail.bloor.is.net.cable.rogers.com@rogers.com>;
          Thu, 18 Jul 2002 04:14:31 -0400
Message-ID: <3D3678CC.30007@rogers.com>
Date: Thu, 18 Jul 2002 04:14:04 -0400
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.0) Gecko/20020530
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Python List <python-list@python.org>,
   SimpleParse Users
 <simpleparse-users@lists.sourceforge.net>
CC: egenix-users <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep02-mail.bloor.is.net.cable.rogers.com from [24.43.65.252] using ID <mcfletch@rogers.com> at Thu, 18 Jul 2002 04:14:31 -0400
Subject: [egenix-users] SimpleParse 2.0.0a4 released, mailing list created...
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I've just released version 2.0.0a4 of SimpleParse.  This includes an 
eXample/eXperimental XML parser (including DTD parser), a mechanism for 
generating SyntaxErrors on the failure of any production/element-token, 
and LookAhead support.

     http://simpleparse.sf.net/

I will be restricting further package announcements to the SimpleParse 
Users list.  The Python and eGenix Lists will only get messages about 
major updates to the package.  Those interested in more frequent updates 
and/or discussion should see the mailing list at:

     http://lists.sourceforge.net/lists/listinfo/simpleparse-users


What is SimpleParse (From the WebSite):

SimpleParse is a BSD-licensed Python package providing a simple parser 
generator for use with the mxTextTools text-tagging engine. SimpleParse 
allows you to generate tagging tables for use with the text-tagging 
engine directly from your EBNF grammar.

Features:

New in 2.0.0a4/a3:

     * Exposure of "LookAhead" mechanism in mxTextTools (allows you to 
spell "is followed by", "is not followed by", or "matches x but doesn't 
match y" in SimpleParse EBNF grammars)
     * "Error on fail" error-reporting facility, allows you to raise 
Parser Syntax Errors when particular productions (or element tokens) 
fail to match.  This is not an automated system, but does allow for 
fairly flexible error reporting.  To specify, just add a '!' character 
after the element token that must match.
     * The beginnings of an example XML-Parser (including DTD parsing) 
based on the XML specification's EBNF (this is not a production parser, 
merely an example for parsing a complex file format, and is not yet 
Unicode capable)


New in 2.0.0a2

     * New, refactored and simplified API. Most of the time you only 
need to deal with a single class for all your interactions with the 
parser system, and one module if you decide to use the provided 
post-processing mechanism.
     * Compatability API for SimpleParse 1.0 applications
     * "Expanded Productions" -- allow you to define productions whose 
children are reported as if the enclosing production did not exist 
(allows you to use productions for organisational as well as reporting 
purposes)
     * Rewritten Generators -- the generator interface has been 
seperated from the parser interfaces, this makes it possible to write 
grammars directly using generator objects if desired, and allows 
defining the EBNF grammar using the same tools as generate derived parsers
     * Hexidecimal escapes for string and character ranges
     * Exposure of callout mechanism in mxTextTools
     * With the non-recursive mxTextTools, can process (albeit 
inefficiently) recursion-as-repetition grammars
     * Non-recursive rewrite of mxTextTools now ~95% of the speed of the 
recursive version

General

     * Simple-to-use interface, define an EBNF and start parsing
     * Fast for small files -- this is primarily a feature of the 
underlying TextTools engine, rather than a particular feature of the 
parser generator.
     * Allows pre-built and external parsing functions, which allows you 
to define Python methods to handle tricky parsing tasks


Enjoy yourselves,
Mike
_______________________________________
   Mike C. Fletcher
   Why, yes. I am looking for a job...
   http://members.rogers.com/mcfletch/



From mal@lemburg.com Mon Jul 22 10:57:00 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6M8v0U21569;
	Mon, 22 Jul 2002 10:57:00 +0200
Message-ID: <3D3BC8E3.4000500@lemburg.com>
Date: Mon, 22 Jul 2002 10:57:07 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b3
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

          eGenix.com mx BASE Extension Package for Python
                        Version 2.1.0 beta 3


Here is a new beta release of the 2.1.0 base package. It contains
a lot of small bug fixes over beta 2, esp. in the mxTextTools package
(most of these were found by Mike C. Fletcher who uses it in
his SimpleParse package).

This is expected to be the last beta before the final release,
so please give the package a try.

http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3-py1.5_1.i386.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3-py1.5_1.src.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3-py2.0_1.i386.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3-py2.0_1.src.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3-py2.1_1.i386.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3-py2.1_1.src.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3-py2.2_1.i386.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3-py2.2_1.src.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3.tar.gz
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3.win32-py1.5.exe
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3.win32-py2.0.exe
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3.win32-py2.1.exe
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3.win32-py2.2.exe
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b3.zip

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Mon Jul 22 12:34:21 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6MAYLU22266;
	Mon, 22 Jul 2002 12:34:21 +0200
Message-ID: <3D3BDFB4.7070301@lemburg.com>
Date: Mon, 22 Jul 2002 12:34:28 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b3
References: <3D3BC8E3.4000500@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Sorry, I used the wrong URLs.

M.-A. Lemburg wrote:
> 
>          eGenix.com mx BASE Extension Package for Python
>                        Version 2.1.0 beta 3
> 
> 
> Here is a new beta release of the 2.1.0 base package. It contains
> a lot of small bug fixes over beta 2, esp. in the mxTextTools package
> (most of these were found by Mike C. Fletcher who uses it in
> his SimpleParse package).
> 
> This is expected to be the last beta before the final release,
> so please give the package a try.

Here are the correct ones:

http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3-py1.5_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3-py1.5_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3-py2.0_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3-py2.0_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3-py2.1_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3-py2.1_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3-py2.2_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3-py2.2_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3.tar.gz
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3.win32-py1.5.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3.win32-py2.0.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3.win32-py2.1.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3.win32-py2.2.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b3.zip

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From krissepu@vip.fi Fri Jul 26 20:59:21 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6QIx7U32297
	for <egenix-users@lists.egenix.com>; Fri, 26 Jul 2002 20:59:20 +0200
Received: from vip.fi (DynIP-132-119.Tre.vip.fi [213.173.132.119])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id VAA21258
	for <egenix-users@lists.egenix.com>; Fri, 26 Jul 2002 21:58:41 +0300
Message-ID: <3D419BD7.46F95A39@vip.fi>
Date: Fri, 26 Jul 2002 21:58:31 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] PROBLEM: eGenix.com mxBASE beta 3
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi,

        I tried the latest beta 3 by:

        a) compiling it myself from sources and
        b) installing from the precompiled package for python v2.2

        Of the scripts below only the script that uses Simpleparse returns
anything.
        The others run without errors, but return [].

        They all run OK with the beta 2 though.

        I am using Windows 2000 professional, Python 2.2.1 and Winpython
v148.

-pekka-


Pekka Niiranen wrote:

> Thank you all for your help and inspiration! It is payback time ;)
>
> I have tried past two months to create parser that returns
> strings limited by two different letters. The strings can be nested.
> I considered recursive call of regular expression to be too slow
> and decided to use mxTextTools 2.1 beta2 and the latest alpha of
> Simpleparse 2.0.
>
> Below are three solutions I found.
> Note that Simpleparse creates different tagtable as the "manually"
> found.
>
> Further ideas to be implemented:
>
> 1) Input of limiting letters as parameters (easy)
> 2) Unicode support
> 3) Test for equal amount of limiting letters before calling of parser
> (will this speed up the solution ?)
> 4) Parsing one line at a time without looping thru lines of the text
> with "while" or "for"
>     (maybe "None, AllNotIn, '()\n'" )
>
> One development idea to mxTextTools:
>
> 1) Instead of using list of tables to recurse, would it be possible to
> use "global jump" to outside of current table ?
>
> --- solution 1 starts (with limiting letters)---
>
> from mx.TextTools import *
> text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> tables = [] # used for recursion only
>
> tab = ('start',
>        (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "("
> then recurse
>        (None,Is,')',+1,MatchOk), # If current character is ")" then stop
> or return from recursion
>        (None,AllNotIn,'()',0,'start'), # Search all characters except
> "(" and ")"
>        'nesting',
>        ('group',SubTable+AppendMatch,((None,Is,'(',0,+1), # Since we
> have looked ahead, collect "(" -sign
>                                       (None,SubTableInList,
> (tables,0)))), # Recurse
>        (None,Jump,To,'start')) # After recursion jump back to 'start'
>
> tables.append(tab) # Add tab to tables
>
> if __name__ == '__main__':
>
>     result, taglist, nextindex = tag(text,tab)
>     print taglist
>
> --- solution 1 ends ---
>
> --- solution 2 starts  (without limiting letters) ---
>
> from mx.TextTools import *
>
> text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>
> tab = ('start',
>        (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is
> seen stop recursion
>        (None, Is, '(', 'letters', +1),
>        ('group', SubTable+AppendMatch, ThisTable), # Recurse
>        (None, Skip, 1, 0, 'start'), # Last character in recursion was
> ")" so jump over it back to 'start'
>        'letters',
>        (None, AllNotIn, '()', 0, 'start')) # Collect all characters
> except "(" and ")"
>
> result,taglist,next = tag(text, tab)
> print taglist
>
> --- solution 2 ends ---
>
> --- solution 3 starts (Simpleparse solution) ---
>
> from simpleparse.parser import Parser
> from mx.TextTools import *
>
> declaration = r'''
> >line<  := (a/match)+
> match   := '(', line, ')'
> <a>     := -[()]
> '''
> text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>
> parser = Parser(declaration)
> success, children, nextcharacter = parser.parse(text, production =
> "line")
> print_tags(text,children)
>
> --- solution 3 ends ---
>
> -pekka-


From mal@lemburg.com Sat Jul 27 11:41:49 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6R9fSU06043;
	Sat, 27 Jul 2002 11:41:49 +0200
Message-ID: <3D426AD6.7050004@lemburg.com>
Date: Sat, 27 Jul 2002 11:41:42 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Pekka Niiranen <krissepu@vip.fi>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] PROBLEM: eGenix.com mxBASE beta 3
References: <3D419BD7.46F95A39@vip.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Pekka Niiranen wrote:
> Hi,
> 
>         I tried the latest beta 3 by:
> 
>         a) compiling it myself from sources and
>         b) installing from the precompiled package for python v2.2
> 
>         Of the scripts below only the script that uses Simpleparse returns
> anything.
>         The others run without errors, but return [].
> 
>         They all run OK with the beta 2 though.

If they did, then you've hit a bug in beta2. Here are the corrected
versions. Note that the problem was with the EOF handling. If AllNotIn
doesn't match at least one char it'll fail and using 0 as jne offset
causes the same effect as MatchFail.

#--- solution 1 starts (with limiting letters)---

from mx.TextTools import *

def test1():

     text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"

     tables = [] # used for recursion only

     tab = ('start',
            (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "(" then recurse
            (None,Is,')',+1,MatchOk), # If current character is ")" then stop or return from recursion
            (None,AllNotIn,'()',+1,'start'), # Search all characters except "(" and ")"
            (None,EOF,Here,MatchOk),
            'nesting',
            ('group',SubTable+AppendMatch,
             ((None,Is,'(',MatchFail,+1), # Since we have looked ahead, collect "(" -sign
              (None,SubTableInList, (tables,0)),  # Recurse
              )
             ),
            (None,Jump,To,'start')) # After recursion jump back to 'start'

     tables.append(tab) # Add tab to tables

     result, taglist, nextindex = tag(text,tab)
     print result, nextindex
     print taglist

#--- solution 2 starts  (without limiting letters) ---

def test2():

     text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"

     tab = ('start',
            (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is seen stop recursion
            (None, Is, '(', 'letters', +1),
            ('group', SubTable+AppendMatch, ThisTable), # Recurse
            (None, Skip, 1, MatchFail, 'start'), # Last character in recursion was ")" so jump over it back to 'start'
            'letters',
            (None, AllNotIn, '()', +1, 'start'),  # Collect all characters except "(" and ")"
            (None, EOF, Here, MatchOk),
            )

     result,taglist,nextindex = tag(text, tab)
     print result, nextindex
     print taglist

print 'Test 1:'
test1()
print

print 'Test 2:'
test2()
print


>         I am using Windows 2000 professional, Python 2.2.1 and Winpython
> v148.
> 
> -pekka-
> 
> 
> Pekka Niiranen wrote:
> 
> 
>>Thank you all for your help and inspiration! It is payback time ;)
>>
>>I have tried past two months to create parser that returns
>>strings limited by two different letters. The strings can be nested.
>>I considered recursive call of regular expression to be too slow
>>and decided to use mxTextTools 2.1 beta2 and the latest alpha of
>>Simpleparse 2.0.
>>
>>Below are three solutions I found.
>>Note that Simpleparse creates different tagtable as the "manually"
>>found.
>>
>>Further ideas to be implemented:
>>
>>1) Input of limiting letters as parameters (easy)
>>2) Unicode support
>>3) Test for equal amount of limiting letters before calling of parser
>>(will this speed up the solution ?)
>>4) Parsing one line at a time without looping thru lines of the text
>>with "while" or "for"
>>    (maybe "None, AllNotIn, '()\n'" )
>>
>>One development idea to mxTextTools:
>>
>>1) Instead of using list of tables to recurse, would it be possible to
>>use "global jump" to outside of current table ?
>>
>>--- solution 1 starts (with limiting letters)---
>>
>>from mx.TextTools import *
>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>>tables = [] # used for recursion only
>>
>>tab = ('start',
>>       (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "("
>>then recurse
>>       (None,Is,')',+1,MatchOk), # If current character is ")" then stop
>>or return from recursion
>>       (None,AllNotIn,'()',0,'start'), # Search all characters except
>>"(" and ")"
>>       'nesting',
>>       ('group',SubTable+AppendMatch,((None,Is,'(',0,+1), # Since we
>>have looked ahead, collect "(" -sign
>>                                      (None,SubTableInList,
>>(tables,0)))), # Recurse
>>       (None,Jump,To,'start')) # After recursion jump back to 'start'
>>
>>tables.append(tab) # Add tab to tables
>>
>>if __name__ == '__main__':
>>
>>    result, taglist, nextindex = tag(text,tab)
>>    print taglist
>>
>>--- solution 1 ends ---
>>
>>--- solution 2 starts  (without limiting letters) ---
>>
>>from mx.TextTools import *
>>
>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>>
>>tab = ('start',
>>       (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is
>>seen stop recursion
>>       (None, Is, '(', 'letters', +1),
>>       ('group', SubTable+AppendMatch, ThisTable), # Recurse
>>       (None, Skip, 1, 0, 'start'), # Last character in recursion was
>>")" so jump over it back to 'start'
>>       'letters',
>>       (None, AllNotIn, '()', 0, 'start')) # Collect all characters
>>except "(" and ")"
>>
>>result,taglist,next = tag(text, tab)
>>print taglist
>>
>>--- solution 2 ends ---
>>
>>--- solution 3 starts (Simpleparse solution) ---
>>
>>from simpleparse.parser import Parser
>>from mx.TextTools import *
>>
>>declaration = r'''
>>
>>>line<  := (a/match)+
>>
>>match   := '(', line, ')'
>><a>     := -[()]
>>'''
>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>>
>>parser = Parser(declaration)
>>success, children, nextcharacter = parser.parse(text, production =
>>"line")
>>print_tags(text,children)
>>
>>--- solution 3 ends ---
>>
>>-pekka-
> 
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From krissepu@vip.fi Mon Jul 29 21:24:13 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6TJOCU28020
	for <egenix-users@lists.egenix.com>; Mon, 29 Jul 2002 21:24:12 +0200
Received: from vip.fi (DynIP-132-138.Tre.vip.fi [213.173.132.138])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id WAA04413;
	Mon, 29 Jul 2002 22:23:44 +0300
Message-ID: <3D459635.129291C2@vip.fi>
Date: Mon, 29 Jul 2002 22:23:33 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] PROBLEM: eGenix.com mxBASE beta 3
References: <3D419BD7.46F95A39@vip.fi> <3D426AD6.7050004@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Fine,

but the line:

(None,EOF,Here,MatchOk)

will make text = "aa(AA" match too. If I analysed it correctly,
it is because EOF matches allways. Would it be possible
to add mxTextTool parameter that will make EOF cause failing if necessary ?

Something like: "if EOF is encountered here, fail the whole subgroup ?"

-pekka-


"M.-A. Lemburg" wrote:

> Pekka Niiranen wrote:
> > Hi,
> >
> >         I tried the latest beta 3 by:
> >
> >         a) compiling it myself from sources and
> >         b) installing from the precompiled package for python v2.2
> >
> >         Of the scripts below only the script that uses Simpleparse returns
> > anything.
> >         The others run without errors, but return [].
> >
> >         They all run OK with the beta 2 though.
>
> If they did, then you've hit a bug in beta2. Here are the corrected
> versions. Note that the problem was with the EOF handling. If AllNotIn
> doesn't match at least one char it'll fail and using 0 as jne offset
> causes the same effect as MatchFail.
>
> #--- solution 1 starts (with limiting letters)---
>
> from mx.TextTools import *
>
> def test1():
>
>      text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>
>      tables = [] # used for recursion only
>
>      tab = ('start',
>             (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "(" then recurse
>             (None,Is,')',+1,MatchOk), # If current character is ")" then stop or return from recursion
>             (None,AllNotIn,'()',+1,'start'), # Search all characters except "(" and ")"
>             (None,EOF,Here,MatchOk),
>             'nesting',
>             ('group',SubTable+AppendMatch,
>              ((None,Is,'(',MatchFail,+1), # Since we have looked ahead, collect "(" -sign
>               (None,SubTableInList, (tables,0)),  # Recurse
>               )
>              ),
>             (None,Jump,To,'start')) # After recursion jump back to 'start'
>
>      tables.append(tab) # Add tab to tables
>
>      result, taglist, nextindex = tag(text,tab)
>      print result, nextindex
>      print taglist
>
> #--- solution 2 starts  (without limiting letters) ---
>
> def test2():
>
>      text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>
>      tab = ('start',
>             (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is seen stop recursion
>             (None, Is, '(', 'letters', +1),
>             ('group', SubTable+AppendMatch, ThisTable), # Recurse
>             (None, Skip, 1, MatchFail, 'start'), # Last character in recursion was ")" so jump over it back to 'start'
>             'letters',
>             (None, AllNotIn, '()', +1, 'start'),  # Collect all characters except "(" and ")"
>             (None, EOF, Here, MatchOk),
>             )
>
>      result,taglist,nextindex = tag(text, tab)
>      print result, nextindex
>      print taglist
>
> print 'Test 1:'
> test1()
> print
>
> print 'Test 2:'
> test2()
> print
>
> >         I am using Windows 2000 professional, Python 2.2.1 and Winpython
> > v148.
> >
> > -pekka-
> >
> >
> > Pekka Niiranen wrote:
> >
> >
> >>Thank you all for your help and inspiration! It is payback time ;)
> >>
> >>I have tried past two months to create parser that returns
> >>strings limited by two different letters. The strings can be nested.
> >>I considered recursive call of regular expression to be too slow
> >>and decided to use mxTextTools 2.1 beta2 and the latest alpha of
> >>Simpleparse 2.0.
> >>
> >>Below are three solutions I found.
> >>Note that Simpleparse creates different tagtable as the "manually"
> >>found.
> >>
> >>Further ideas to be implemented:
> >>
> >>1) Input of limiting letters as parameters (easy)
> >>2) Unicode support
> >>3) Test for equal amount of limiting letters before calling of parser
> >>(will this speed up the solution ?)
> >>4) Parsing one line at a time without looping thru lines of the text
> >>with "while" or "for"
> >>    (maybe "None, AllNotIn, '()\n'" )
> >>
> >>One development idea to mxTextTools:
> >>
> >>1) Instead of using list of tables to recurse, would it be possible to
> >>use "global jump" to outside of current table ?
> >>
> >>--- solution 1 starts (with limiting letters)---
> >>
> >>from mx.TextTools import *
> >>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> >>tables = [] # used for recursion only
> >>
> >>tab = ('start',
> >>       (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "("
> >>then recurse
> >>       (None,Is,')',+1,MatchOk), # If current character is ")" then stop
> >>or return from recursion
> >>       (None,AllNotIn,'()',0,'start'), # Search all characters except
> >>"(" and ")"
> >>       'nesting',
> >>       ('group',SubTable+AppendMatch,((None,Is,'(',0,+1), # Since we
> >>have looked ahead, collect "(" -sign
> >>                                      (None,SubTableInList,
> >>(tables,0)))), # Recurse
> >>       (None,Jump,To,'start')) # After recursion jump back to 'start'
> >>
> >>tables.append(tab) # Add tab to tables
> >>
> >>if __name__ == '__main__':
> >>
> >>    result, taglist, nextindex = tag(text,tab)
> >>    print taglist
> >>
> >>--- solution 1 ends ---
> >>
> >>--- solution 2 starts  (without limiting letters) ---
> >>
> >>from mx.TextTools import *
> >>
> >>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> >>
> >>tab = ('start',
> >>       (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is
> >>seen stop recursion
> >>       (None, Is, '(', 'letters', +1),
> >>       ('group', SubTable+AppendMatch, ThisTable), # Recurse
> >>       (None, Skip, 1, 0, 'start'), # Last character in recursion was
> >>")" so jump over it back to 'start'
> >>       'letters',
> >>       (None, AllNotIn, '()', 0, 'start')) # Collect all characters
> >>except "(" and ")"
> >>
> >>result,taglist,next = tag(text, tab)
> >>print taglist
> >>
> >>--- solution 2 ends ---
> >>
> >>--- solution 3 starts (Simpleparse solution) ---
> >>
> >>from simpleparse.parser import Parser
> >>from mx.TextTools import *
> >>
> >>declaration = r'''
> >>
> >>>line<  := (a/match)+
> >>
> >>match   := '(', line, ')'
> >><a>     := -[()]
> >>'''
> >>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> >>
> >>parser = Parser(declaration)
> >>success, children, nextcharacter = parser.parse(text, production =
> >>"line")
> >>print_tags(text,children)
> >>
> >>--- solution 3 ends ---
> >>
> >>-pekka-
> >
> >
> >
> > _______________________________________________________________________
> > eGenix.com User Mailing List                     http://www.egenix.com/
> > http://lists.egenix.com/mailman/listinfo/egenix-users
>
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> _______________________________________________________________________
> eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
> Python Consulting:                               http://www.egenix.com/
> Python Software:                    http://www.egenix.com/files/python/
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From mal@lemburg.com Mon Jul 29 21:37:00 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g6TJb0U28127;
	Mon, 29 Jul 2002 21:37:00 +0200
Message-ID: <3D459971.5030207@lemburg.com>
Date: Mon, 29 Jul 2002 21:37:21 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Pekka Niiranen <krissepu@vip.fi>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] PROBLEM: eGenix.com mxBASE beta 3
References: <3D419BD7.46F95A39@vip.fi> <3D426AD6.7050004@lemburg.com> <3D459635.129291C2@vip.fi>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Pekka Niiranen wrote:
> Fine,
> 
> but the line:
> 
> (None,EOF,Here,MatchOk)
> 
> will make text = "aa(AA" match too. If I analysed it correctly,
> it is because EOF matches allways. Would it be possible
> to add mxTextTool parameter that will make EOF cause failing if necessary ?
> 
> Something like: "if EOF is encountered here, fail the whole subgroup ?"

EOF only matches iff the head position is beyond the right slice
of the text slice being processed. If you need balanced parens,
you should rewrite the tab tables to have the nesting table match
both the opening and the closing paren.

> -pekka-
> 
> 
> "M.-A. Lemburg" wrote:
> 
> 
>>Pekka Niiranen wrote:
>>
>>>Hi,
>>>
>>>        I tried the latest beta 3 by:
>>>
>>>        a) compiling it myself from sources and
>>>        b) installing from the precompiled package for python v2.2
>>>
>>>        Of the scripts below only the script that uses Simpleparse returns
>>>anything.
>>>        The others run without errors, but return [].
>>>
>>>        They all run OK with the beta 2 though.
>>
>>If they did, then you've hit a bug in beta2. Here are the corrected
>>versions. Note that the problem was with the EOF handling. If AllNotIn
>>doesn't match at least one char it'll fail and using 0 as jne offset
>>causes the same effect as MatchFail.
>>
>>#--- solution 1 starts (with limiting letters)---
>>
>>from mx.TextTools import *
>>
>>def test1():
>>
>>     text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>>
>>     tables = [] # used for recursion only
>>
>>     tab = ('start',
>>            (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "(" then recurse
>>            (None,Is,')',+1,MatchOk), # If current character is ")" then stop or return from recursion
>>            (None,AllNotIn,'()',+1,'start'), # Search all characters except "(" and ")"
>>            (None,EOF,Here,MatchOk),
>>            'nesting',
>>            ('group',SubTable+AppendMatch,
>>             ((None,Is,'(',MatchFail,+1), # Since we have looked ahead, collect "(" -sign
>>              (None,SubTableInList, (tables,0)),  # Recurse
>>              )
>>             ),
>>            (None,Jump,To,'start')) # After recursion jump back to 'start'
>>
>>     tables.append(tab) # Add tab to tables
>>
>>     result, taglist, nextindex = tag(text,tab)
>>     print result, nextindex
>>     print taglist
>>
>>#--- solution 2 starts  (without limiting letters) ---
>>
>>def test2():
>>
>>     text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>>
>>     tab = ('start',
>>            (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is seen stop recursion
>>            (None, Is, '(', 'letters', +1),
>>            ('group', SubTable+AppendMatch, ThisTable), # Recurse
>>            (None, Skip, 1, MatchFail, 'start'), # Last character in recursion was ")" so jump over it back to 'start'
>>            'letters',
>>            (None, AllNotIn, '()', +1, 'start'),  # Collect all characters except "(" and ")"
>>            (None, EOF, Here, MatchOk),
>>            )
>>
>>     result,taglist,nextindex = tag(text, tab)
>>     print result, nextindex
>>     print taglist
>>
>>print 'Test 1:'
>>test1()
>>print
>>
>>print 'Test 2:'
>>test2()
>>print
>>
>>
>>>        I am using Windows 2000 professional, Python 2.2.1 and Winpython
>>>v148.
>>>
>>>-pekka-
>>>
>>>
>>>Pekka Niiranen wrote:
>>>
>>>
>>>
>>>>Thank you all for your help and inspiration! It is payback time ;)
>>>>
>>>>I have tried past two months to create parser that returns
>>>>strings limited by two different letters. The strings can be nested.
>>>>I considered recursive call of regular expression to be too slow
>>>>and decided to use mxTextTools 2.1 beta2 and the latest alpha of
>>>>Simpleparse 2.0.
>>>>
>>>>Below are three solutions I found.
>>>>Note that Simpleparse creates different tagtable as the "manually"
>>>>found.
>>>>
>>>>Further ideas to be implemented:
>>>>
>>>>1) Input of limiting letters as parameters (easy)
>>>>2) Unicode support
>>>>3) Test for equal amount of limiting letters before calling of parser
>>>>(will this speed up the solution ?)
>>>>4) Parsing one line at a time without looping thru lines of the text
>>>>with "while" or "for"
>>>>   (maybe "None, AllNotIn, '()\n'" )
>>>>
>>>>One development idea to mxTextTools:
>>>>
>>>>1) Instead of using list of tables to recurse, would it be possible to
>>>>use "global jump" to outside of current table ?
>>>>
>>>>--- solution 1 starts (with limiting letters)---
>>>>
>>>
>>>>from mx.TextTools import *
>>>
>>>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>>>>tables = [] # used for recursion only
>>>>
>>>>tab = ('start',
>>>>      (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "("
>>>>then recurse
>>>>      (None,Is,')',+1,MatchOk), # If current character is ")" then stop
>>>>or return from recursion
>>>>      (None,AllNotIn,'()',0,'start'), # Search all characters except
>>>>"(" and ")"
>>>>      'nesting',
>>>>      ('group',SubTable+AppendMatch,((None,Is,'(',0,+1), # Since we
>>>>have looked ahead, collect "(" -sign
>>>>                                     (None,SubTableInList,
>>>>(tables,0)))), # Recurse
>>>>      (None,Jump,To,'start')) # After recursion jump back to 'start'
>>>>
>>>>tables.append(tab) # Add tab to tables
>>>>
>>>>if __name__ == '__main__':
>>>>
>>>>   result, taglist, nextindex = tag(text,tab)
>>>>   print taglist
>>>>
>>>>--- solution 1 ends ---
>>>>
>>>>--- solution 2 starts  (without limiting letters) ---
>>>>
>>>
>>>>from mx.TextTools import *
>>>
>>>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>>>>
>>>>tab = ('start',
>>>>      (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is
>>>>seen stop recursion
>>>>      (None, Is, '(', 'letters', +1),
>>>>      ('group', SubTable+AppendMatch, ThisTable), # Recurse
>>>>      (None, Skip, 1, 0, 'start'), # Last character in recursion was
>>>>")" so jump over it back to 'start'
>>>>      'letters',
>>>>      (None, AllNotIn, '()', 0, 'start')) # Collect all characters
>>>>except "(" and ")"
>>>>
>>>>result,taglist,next = tag(text, tab)
>>>>print taglist
>>>>
>>>>--- solution 2 ends ---
>>>>
>>>>--- solution 3 starts (Simpleparse solution) ---
>>>>
>>>
>>>>from simpleparse.parser import Parser
>>>>from mx.TextTools import *
>>>
>>>>declaration = r'''
>>>>
>>>>
>>>>>line<  := (a/match)+
>>>>
>>>>match   := '(', line, ')'
>>>><a>     := -[()]
>>>>'''
>>>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
>>>>
>>>>parser = Parser(declaration)
>>>>success, children, nextcharacter = parser.parse(text, production =
>>>>"line")
>>>>print_tags(text,children)
>>>>
>>>>--- solution 3 ends ---
>>>>
>>>>-pekka-
>>>
>>>
>>>
>>>_______________________________________________________________________
>>>eGenix.com User Mailing List                     http://www.egenix.com/
>>>http://lists.egenix.com/mailman/listinfo/egenix-users
>>
>>--
>>Marc-Andre Lemburg
>>CEO eGenix.com Software GmbH
>>_______________________________________________________________________
>>eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
>>Python Consulting:                               http://www.egenix.com/
>>Python Software:                    http://www.egenix.com/files/python/
>>
>>_______________________________________________________________________
>>eGenix.com User Mailing List                     http://www.egenix.com/
>>http://lists.egenix.com/mailman/listinfo/egenix-users
> 
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From krissepu@vip.fi Sat Aug  3 21:51:24 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g73JpNU14097
	for <egenix-users@lists.egenix.com>; Sat, 3 Aug 2002 21:51:23 +0200
Received: from vip.fi (DynIP-132-219.Tre.vip.fi [213.173.132.219])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id WAA26947;
	Sat, 3 Aug 2002 22:50:44 +0300
Message-ID: <3D4C3407.CC74698F@vip.fi>
Date: Sat, 03 Aug 2002 22:50:31 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
References: <3D419BD7.46F95A39@vip.fi> <3D426AD6.7050004@lemburg.com> <3D459635.129291C2@vip.fi> <3D459971.5030207@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Is this possible ?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Ok,

 I did as you told:

-- code starts --
from mx.TextTools import *
text = "Xaa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aaY"

tables = []

tab = ('start',
       (None, AllNotIn,'()', +1),
       (None, Is+LookAhead, '(', MatchOk, 'nesting'),
       'nesting',
       ('group',SubTable+AppendMatch,((None, Is, '(', +1),
                                      (None, SubTableInList, (tables,0)),
                                      (None, Is, ')', MatchFail, MatchOk))),
       (None,Jump,To,'start'))

tables.append(tab) # Add tab to tables

if __name__ == '__main__':

    result, taglist, nextindex = tag(text,tab)
    print taglist

-- code ends --

There remains one quirk (see code above):

The code stops searching whenever there is an extra ) -sign in the middle of text.
How can I make the engine to return nothing (i.e. empty match)
if there are extra ) -sign AND it is not recursing currently ?

Should we have a parameter:  "Fail if not currently recursing" ?

Try adding ) -sign after X -letter and then after Y -letter in text above. In both cases
the result should be an empty match.

This is a matter of taste, I agree, but then one could always say:
"It did not find anything, because of the number of (- and )- signs
did not add up". => one python error message that
I could print when MatchFail happens => less analysing to do => more speed.
In code above only extra ( -signs make engine fail.

-pekka-

"M.-A. Lemburg" wrote:

> Pekka Niiranen wrote:
> > Fine,
> >
> > but the line:
> >
> > (None,EOF,Here,MatchOk)
> >
> > will make text = "aa(AA" match too. If I analysed it correctly,
> > it is because EOF matches allways. Would it be possible
> > to add mxTextTool parameter that will make EOF cause failing if necessary ?
> >
> > Something like: "if EOF is encountered here, fail the whole subgroup ?"
>
> EOF only matches iff the head position is beyond the right slice
> of the text slice being processed. If you need balanced parens,
> you should rewrite the tab tables to have the nesting table match
> both the opening and the closing paren.
>
> > -pekka-
> >
> >
> > "M.-A. Lemburg" wrote:
> >
> >
> >>Pekka Niiranen wrote:
> >>
> >>>Hi,
> >>>
> >>>        I tried the latest beta 3 by:
> >>>
> >>>        a) compiling it myself from sources and
> >>>        b) installing from the precompiled package for python v2.2
> >>>
> >>>        Of the scripts below only the script that uses Simpleparse returns
> >>>anything.
> >>>        The others run without errors, but return [].
> >>>
> >>>        They all run OK with the beta 2 though.
> >>
> >>If they did, then you've hit a bug in beta2. Here are the corrected
> >>versions. Note that the problem was with the EOF handling. If AllNotIn
> >>doesn't match at least one char it'll fail and using 0 as jne offset
> >>causes the same effect as MatchFail.
> >>
> >>#--- solution 1 starts (with limiting letters)---
> >>
> >>from mx.TextTools import *
> >>
> >>def test1():
> >>
> >>     text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> >>
> >>     tables = [] # used for recursion only
> >>
> >>     tab = ('start',
> >>            (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "(" then recurse
> >>            (None,Is,')',+1,MatchOk), # If current character is ")" then stop or return from recursion
> >>            (None,AllNotIn,'()',+1,'start'), # Search all characters except "(" and ")"
> >>            (None,EOF,Here,MatchOk),
> >>            'nesting',
> >>            ('group',SubTable+AppendMatch,
> >>             ((None,Is,'(',MatchFail,+1), # Since we have looked ahead, collect "(" -sign
> >>              (None,SubTableInList, (tables,0)),  # Recurse
> >>              )
> >>             ),
> >>            (None,Jump,To,'start')) # After recursion jump back to 'start'
> >>
> >>     tables.append(tab) # Add tab to tables
> >>
> >>     result, taglist, nextindex = tag(text,tab)
> >>     print result, nextindex
> >>     print taglist
> >>
> >>#--- solution 2 starts  (without limiting letters) ---
> >>
> >>def test2():
> >>
> >>     text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> >>
> >>     tab = ('start',
> >>            (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is seen stop recursion
> >>            (None, Is, '(', 'letters', +1),
> >>            ('group', SubTable+AppendMatch, ThisTable), # Recurse
> >>            (None, Skip, 1, MatchFail, 'start'), # Last character in recursion was ")" so jump over it back to 'start'
> >>            'letters',
> >>            (None, AllNotIn, '()', +1, 'start'),  # Collect all characters except "(" and ")"
> >>            (None, EOF, Here, MatchOk),
> >>            )
> >>
> >>     result,taglist,nextindex = tag(text, tab)
> >>     print result, nextindex
> >>     print taglist
> >>
> >>print 'Test 1:'
> >>test1()
> >>print
> >>
> >>print 'Test 2:'
> >>test2()
> >>print
> >>
> >>
> >>>        I am using Windows 2000 professional, Python 2.2.1 and Winpython
> >>>v148.
> >>>
> >>>-pekka-
> >>>
> >>>
> >>>Pekka Niiranen wrote:
> >>>
> >>>
> >>>
> >>>>Thank you all for your help and inspiration! It is payback time ;)
> >>>>
> >>>>I have tried past two months to create parser that returns
> >>>>strings limited by two different letters. The strings can be nested.
> >>>>I considered recursive call of regular expression to be too slow
> >>>>and decided to use mxTextTools 2.1 beta2 and the latest alpha of
> >>>>Simpleparse 2.0.
> >>>>
> >>>>Below are three solutions I found.
> >>>>Note that Simpleparse creates different tagtable as the "manually"
> >>>>found.
> >>>>
> >>>>Further ideas to be implemented:
> >>>>
> >>>>1) Input of limiting letters as parameters (easy)
> >>>>2) Unicode support
> >>>>3) Test for equal amount of limiting letters before calling of parser
> >>>>(will this speed up the solution ?)
> >>>>4) Parsing one line at a time without looping thru lines of the text
> >>>>with "while" or "for"
> >>>>   (maybe "None, AllNotIn, '()\n'" )
> >>>>
> >>>>One development idea to mxTextTools:
> >>>>
> >>>>1) Instead of using list of tables to recurse, would it be possible to
> >>>>use "global jump" to outside of current table ?
> >>>>
> >>>>--- solution 1 starts (with limiting letters)---
> >>>>
> >>>
> >>>>from mx.TextTools import *
> >>>
> >>>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> >>>>tables = [] # used for recursion only
> >>>>
> >>>>tab = ('start',
> >>>>      (None,Is+LookAhead,'(',+1,'nesting'), # If next character is "("
> >>>>then recurse
> >>>>      (None,Is,')',+1,MatchOk), # If current character is ")" then stop
> >>>>or return from recursion
> >>>>      (None,AllNotIn,'()',0,'start'), # Search all characters except
> >>>>"(" and ")"
> >>>>      'nesting',
> >>>>      ('group',SubTable+AppendMatch,((None,Is,'(',0,+1), # Since we
> >>>>have looked ahead, collect "(" -sign
> >>>>                                     (None,SubTableInList,
> >>>>(tables,0)))), # Recurse
> >>>>      (None,Jump,To,'start')) # After recursion jump back to 'start'
> >>>>
> >>>>tables.append(tab) # Add tab to tables
> >>>>
> >>>>if __name__ == '__main__':
> >>>>
> >>>>   result, taglist, nextindex = tag(text,tab)
> >>>>   print taglist
> >>>>
> >>>>--- solution 1 ends ---
> >>>>
> >>>>--- solution 2 starts  (without limiting letters) ---
> >>>>
> >>>
> >>>>from mx.TextTools import *
> >>>
> >>>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> >>>>
> >>>>tab = ('start',
> >>>>      (None, Is+LookAhead, ')', +1, MatchOk), # When character ")" is
> >>>>seen stop recursion
> >>>>      (None, Is, '(', 'letters', +1),
> >>>>      ('group', SubTable+AppendMatch, ThisTable), # Recurse
> >>>>      (None, Skip, 1, 0, 'start'), # Last character in recursion was
> >>>>")" so jump over it back to 'start'
> >>>>      'letters',
> >>>>      (None, AllNotIn, '()', 0, 'start')) # Collect all characters
> >>>>except "(" and ")"
> >>>>
> >>>>result,taglist,next = tag(text, tab)
> >>>>print taglist
> >>>>
> >>>>--- solution 2 ends ---
> >>>>
> >>>>--- solution 3 starts (Simpleparse solution) ---
> >>>>
> >>>
> >>>>from simpleparse.parser import Parser
> >>>>from mx.TextTools import *
> >>>
> >>>>declaration = r'''
> >>>>
> >>>>
> >>>>>line<  := (a/match)+
> >>>>
> >>>>match   := '(', line, ')'
> >>>><a>     := -[()]
> >>>>'''
> >>>>text = "aa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aa"
> >>>>
> >>>>parser = Parser(declaration)
> >>>>success, children, nextcharacter = parser.parse(text, production =
> >>>>"line")
> >>>>print_tags(text,children)
> >>>>
> >>>>--- solution 3 ends ---
> >>>>
> >>>>-pekka-
> >>>
> >>>
> >>>
> >>>_______________________________________________________________________
> >>>eGenix.com User Mailing List                     http://www.egenix.com/
> >>>http://lists.egenix.com/mailman/listinfo/egenix-users
> >>
> >>--
> >>Marc-Andre Lemburg
> >>CEO eGenix.com Software GmbH
> >>_______________________________________________________________________
> >>eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
> >>Python Consulting:                               http://www.egenix.com/
> >>Python Software:                    http://www.egenix.com/files/python/
> >>
> >>_______________________________________________________________________
> >>eGenix.com User Mailing List                     http://www.egenix.com/
> >>http://lists.egenix.com/mailman/listinfo/egenix-users
> >
> >
> >
> > _______________________________________________________________________
> > eGenix.com User Mailing List                     http://www.egenix.com/
> > http://lists.egenix.com/mailman/listinfo/egenix-users
>
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> _______________________________________________________________________
> eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
> Python Consulting:                               http://www.egenix.com/
> Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Thu Aug  8 21:13:00 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g78JD0U30959;
	Thu, 8 Aug 2002 21:13:00 +0200
Message-ID: <3D52C2C4.1080800@lemburg.com>
Date: Thu, 08 Aug 2002 21:13:08 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Subject: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b4
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

           eGenix.com mx BASE Extension Package for Python
                         Version 2.1.0 beta 4


Here is a new beta release of the 2.1.0 base package. It contains
a number of small bug fixes, esp. in the mxTextTools package
(most of these were found by Mike C. Fletcher who uses it in
his SimpleParse package), adds better support for applications
which embed Python and adds a new clause to the license which
allows integrating third party software under different licenses.

http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py1.5_1.i386.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py1.5_1.src.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.0_1.i386.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.0_1.src.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.1_1.i386.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.1_1.src.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.2_1.i386.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.2_1.src.rpm
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.tar.gz
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py1.5.exe
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.0.exe
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.1.exe
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.2.exe
http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.zip


Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Thu Aug  8 21:26:10 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g78JQAU31084;
	Thu, 8 Aug 2002 21:26:10 +0200
Message-ID: <3D52C5DA.5000409@lemburg.com>
Date: Thu, 08 Aug 2002 21:26:18 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: John.N.1@bwc.state.oh.us
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] BeeDict setting keys/comparison to shelve
References: <6FDE0867413DD21182BF00A0C97251920EA8CEBD@MSWG4>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

John.N.1@bwc.state.oh.us wrote:
> Does anyone have comments on using Bdict instead of a standard shelf or
> bsddb ver3?
> 
> Also, on Win2k, for me to change a dictionary element w/Bdict, I need to
> first delete the key and then set it's value.
> Should that be the case?
> 
> When I run:
> 
>     d = mx.BeeBase.BeeDict.BeeDict('c:/tmp/test-BeeDict2')
>     print 'original',d['Marc9']
>     d['Marc9']='betty1'
>     d.commit()
>     print 'dict change\t',d.changed(),d['Marc9']
> 
>     del(d['Marc9'])
>     d.commit()
>     d['Marc9']='betty2'
>     print 'del dict change\t',d.changed(),d['Marc9']
>     d.close()
> 
> 
> produces:
> 
> original Sveta
> dict change     0 Sveta
> del dict change 1 betty2

FYI, with egenix-mx-base 2.1.0b4 I get:

import mx.BeeBase.BeeDict

def test():
     d = mx.BeeBase.BeeDict.BeeDict('testjohn.dat')
     d['Marc9']='Sveta'
     d.commit()
     d.close()

     d = mx.BeeBase.BeeDict.BeeDict('testjohn.dat')
     print 'original',d['Marc9']
     d['Marc9']='betty1'
     d.commit()
     print 'dict change\t',d.changed(),d['Marc9']

     del(d['Marc9'])
     d.commit()
     d['Marc9']='betty2'
     print 'del dict change\t',d.changed(),d['Marc9']
     d.close()


test()

...

original Sveta
dict change     0 betty1
del dict change 1 betty2

Note that the 0 on the first change line indicates that
there are no changes in the cache (because you have called
.commit() on the line before). The second change line
still has the change in the cache, so 1 is returned and
the .close() will roll back the transaction.

HTH,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From Jim.Vickroy@noaa.gov Thu Aug  8 21:41:51 2002
Received: from cripplecreek.sec.noaa.gov (cripplecreek.sec.noaa.gov [140.172.224.30])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g78JfpU31206
	for <egenix-users@lists.egenix.com>; Thu, 8 Aug 2002 21:41:51 +0200
Received: from noaa.gov ([140.172.224.138]) by
          cripplecreek.sec.noaa.gov (Netscape Messaging Server 4.15) with
          ESMTP id H0JIPL00.OI5; Thu, 8 Aug 2002 13:41:45 -0600 
Message-ID: <3D52C97A.7661C06@noaa.gov>
Date: Thu, 08 Aug 2002 13:41:46 -0600
From: "Jim Vickroy" <Jim.Vickroy@noaa.gov>
X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b4
References: <3D52C2C4.1080800@lemburg.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

When I try to download the MS Windows binary installer for Python 2.2, I am
prompted for a name and password.


"M.-A. Lemburg" wrote:

>            eGenix.com mx BASE Extension Package for Python
>                          Version 2.1.0 beta 4
>
> Here is a new beta release of the 2.1.0 base package. It contains
> a number of small bug fixes, esp. in the mxTextTools package
> (most of these were found by Mike C. Fletcher who uses it in
> his SimpleParse package), adds better support for applications
> which embed Python and adds a new clause to the license which
> allows integrating third party software under different licenses.
>
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py1.5_1.i386.rpm
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py1.5_1.src.rpm
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.0_1.i386.rpm
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.0_1.src.rpm
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.1_1.i386.rpm
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.1_1.src.rpm
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.2_1.i386.rpm
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.2_1.src.rpm
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.tar.gz
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py1.5.exe
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.0.exe
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.1.exe
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.2.exe
> http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.zip
>
> Thanks,
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> _______________________________________________________________________
> eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
> Python Consulting:                               http://www.egenix.com/
> Python Software:                    http://www.egenix.com/files/python/
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From krissepu@vip.fi Thu Aug  8 21:48:54 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g78JmrU31292
	for <egenix-users@lists.egenix.com>; Thu, 8 Aug 2002 21:48:53 +0200
Received: from vip.fi (DynIP-132-89.Tre.vip.fi [213.173.132.89])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id WAA11874;
	Thu, 8 Aug 2002 22:48:04 +0300
Message-ID: <3D52CAE3.F4D92A92@vip.fi>
Date: Thu, 08 Aug 2002 22:47:48 +0300
From: Pekka Niiranen <krissepu@vip.fi>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: Jim Vickroy <Jim.Vickroy@noaa.gov>
CC: "M.-A. Lemburg" <mal@lemburg.com>, egenix-users@lists.egenix.com
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b4
References: <3D52C2C4.1080800@lemburg.com> <3D52C97A.7661C06@noaa.gov>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am prompted too and my egenix's userlist username+password do not work..

Jim Vickroy wrote:

> When I try to download the MS Windows binary installer for Python 2.2, I am
> prompted for a name and password.
>
> "M.-A. Lemburg" wrote:
>
> >            eGenix.com mx BASE Extension Package for Python
> >                          Version 2.1.0 beta 4
> >
> > Here is a new beta release of the 2.1.0 base package. It contains
> > a number of small bug fixes, esp. in the mxTextTools package
> > (most of these were found by Mike C. Fletcher who uses it in
> > his SimpleParse package), adds better support for applications
> > which embed Python and adds a new clause to the license which
> > allows integrating third party software under different licenses.
> >
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py1.5_1.i386.rpm
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py1.5_1.src.rpm
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.0_1.i386.rpm
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.0_1.src.rpm
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.1_1.i386.rpm
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.1_1.src.rpm
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.2_1.i386.rpm
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4-py2.2_1.src.rpm
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.tar.gz
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py1.5.exe
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.0.exe
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.1.exe
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.win32-py2.2.exe
> > http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.zip
> >
> > Thanks,
> > --
> > Marc-Andre Lemburg
> > CEO eGenix.com Software GmbH
> > _______________________________________________________________________
> > eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
> > Python Consulting:                               http://www.egenix.com/
> > Python Software:                    http://www.egenix.com/files/python/
> >
> > _______________________________________________________________________
> > eGenix.com User Mailing List                     http://www.egenix.com/
> > http://lists.egenix.com/mailman/listinfo/egenix-users
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users


From mal@lemburg.com Thu Aug  8 21:51:45 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g78JpjU31353;
	Thu, 8 Aug 2002 21:51:45 +0200
Message-ID: <3D52CBDA.2050603@lemburg.com>
Date: Thu, 08 Aug 2002 21:51:54 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Jim Vickroy <Jim.Vickroy@noaa.gov>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b4
References: <3D52C2C4.1080800@lemburg.com> <3D52C97A.7661C06@noaa.gov>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Jim Vickroy wrote:
> When I try to download the MS Windows binary installer for Python 2.2, I am
> prompted for a name and password.

Oh dear. Same mistake as last time...

> "M.-A. Lemburg" wrote:
> 
> 
>>           eGenix.com mx BASE Extension Package for Python
>>                         Version 2.1.0 beta 4
>>
>>Here is a new beta release of the 2.1.0 base package. It contains
>>a number of small bug fixes, esp. in the mxTextTools package
>>(most of these were found by Mike C. Fletcher who uses it in
>>his SimpleParse package), adds better support for applications
>>which embed Python and adds a new clause to the license which
>>allows integrating third party software under different licenses.

Here are the correct URLs:

http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4-py1.5_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4-py1.5_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4-py2.0_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4-py2.0_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4-py2.1_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4-py2.1_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4-py2.2_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4-py2.2_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4.tar.gz
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4.win32-py1.5.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4.win32-py2.0.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4.win32-py2.1.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4.win32-py2.2.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b4.zip

Sorry,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From bhoel@web.de Thu Aug  8 22:02:51 2002
Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.185])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g78K2pU31512
	for <egenix-users@lists.egenix.com>; Thu, 8 Aug 2002 22:02:51 +0200
Received: from [212.227.126.160] (helo=mrelayng0.kundenserver.de)
	by moutng7.kundenserver.de with esmtp (Exim 3.35 #2)
	id 17ctUR-0000aJ-00; Thu, 08 Aug 2002 22:02:35 +0200
Received: from [80.129.132.188] (helo=pchoel.privat.uni-hamburg.de)
	by mrelayng0.kundenserver.de with asmtp (Exim 3.35 #2)
	id 17ctUQ-00052D-00; Thu, 08 Aug 2002 22:02:35 +0200
Received: by pchoel.privat.uni-hamburg.de (Postfix on SuSE Linux 8.0 (i386), from userid 501)
	id DFFDEC9EE; Thu,  8 Aug 2002 22:02:26 +0200 (CEST)
To: "M.-A. Lemburg" <mal@lemburg.com>
Cc: egenix-users@lists.egenix.com
References: <3D52C2C4.1080800@lemburg.com>
From: bhoel@web.de (Berthold =?iso-8859-15?q?H=F6llmann?=)
Date: 08 Aug 2002 22:02:26 +0200
In-Reply-To: <3D52C2C4.1080800@lemburg.com>
Message-ID: <m2u1m5w23x.fsf@pchoel.privat.uni-hamburg.de>
Lines: 27
User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Subject: [egenix-users] Re: ANN: eGenix.com mx BASE Extension Package 2.1.0b4
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

"M.-A. Lemburg" <mal@lemburg.com> writes:

>            eGenix.com mx BASE Extension Package for Python
>                          Version 2.1.0 beta 4

Hello,

Trying to download egenix-mx-base-2.1.0b4.tar.gz I get

> env LANG=C wget http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.tar.gz
--22:01:59--  http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.tar.gz
           => `egenix-mx-base-2.1.0b4.tar.gz'
Resolving www.egenix.com... done.
Connecting to www.egenix.com[217.115.138.139]:80... connected.
HTTP request sent, awaiting response... 401 Authorization Required
Authorization failed.

I Authorization really needed?

Cheers

Berthold
-- 
bhoel@web.de / http://starship.python.net/crew/bhoel/
        It is unlawful to use this email address for unsolicited ads
        (USC Title 47 Sec.227). I will assess a US$500 charge for
        reviewing and deleting each unsolicited ad.

From mal@lemburg.com Thu Aug  8 22:05:06 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g78K56U31547;
	Thu, 8 Aug 2002 22:05:06 +0200
Message-ID: <3D52CEFB.2050704@lemburg.com>
Date: Thu, 08 Aug 2002 22:05:15 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: =?ISO-8859-1?Q?Berthold_H=F6llmann?= <bhoel@web.de>
CC: egenix-users@lists.egenix.com
References: <3D52C2C4.1080800@lemburg.com> <m2u1m5w23x.fsf@pchoel.privat.uni-hamburg.de>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Subject: [egenix-users] Re: ANN: eGenix.com mx BASE Extension Package 2.1.0b4
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>


Berthold Höllmann wrote:
> "M.-A. Lemburg" <mal@lemburg.com> writes:
> 
> 
>>           eGenix.com mx BASE Extension Package for Python
>>                         Version 2.1.0 beta 4
> 
> 
> Hello,
> 
> Trying to download egenix-mx-base-2.1.0b4.tar.gz I get
> 
> 
>>env LANG=C wget http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.tar.gz
> 
> --22:01:59--  http://www.egenix.com/files/python/beta/egenix-mx-base-2.1.0b4.tar.gz
>            => `egenix-mx-base-2.1.0b4.tar.gz'
> Resolving www.egenix.com... done.
> Connecting to www.egenix.com[217.115.138.139]:80... connected.
> HTTP request sent, awaiting response... 401 Authorization Required
> Authorization failed.
> 
> I Authorization really needed?

No the URL was wrong... try without hthe /beta/.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Fri Aug  9 10:02:02 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g79821U05847;
	Fri, 9 Aug 2002 10:02:02 +0200
Message-ID: <3D5376FD.7060206@lemburg.com>
Date: Fri, 09 Aug 2002 10:02:05 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
CC: "M.-A. Lemburg" <mal@lemburg.com>
Subject: Re: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b4
References: <3D52C2C4.1080800@lemburg.com> <3D52C97A.7661C06@noaa.gov> <3D52CBDA.2050603@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I just noted that there seems to be a problem in the install_data
command of mxSetup.py. As a result, the data files will always
be placed in the $prefix directory, which is /usr/local or \PythonX.X
on Windows.

I guess there's no other way to fix this than to ship yet another
beta version, since pretty much all archives posted yesterday
have this problem... lucky that I'm not on vacation until next
Wednesday :-)

I'll post a new set later today.

Sorry for the mixups,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Fri Aug  9 12:14:17 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g79AEHU06660;
	Fri, 9 Aug 2002 12:14:17 +0200
Message-ID: <3D5395FD.10709@lemburg.com>
Date: Fri, 09 Aug 2002 12:14:21 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Subject: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.1.0b5
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

            eGenix.com mx BASE Extension Package for Python
                          Version 2.1.0 beta 5


Here is a new beta release of the 2.1.0 base package. It contains
a number of small bug fixes, esp. in the mxTextTools package
(most of these were found by Mike C. Fletcher who uses it in
his SimpleParse package), adds better support for applications
which embed Python and adds a new clause to the license which
allows integrating third party software under different licenses.

Beta 5 fixes a bug in the installation scripts which caused the
included text and support files to be installed in the $prefix
directory rather than under site-packages.

These are the available download links:
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py1.5_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py1.5_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.0_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.0_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.1_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.1_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.2_1.i386.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5-py2.2_1.src.rpm
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.tar.gz
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.win32-py1.5.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.win32-py2.0.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.win32-py2.1.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.win32-py2.2.exe
http://www.egenix.com/files/python/egenix-mx-base-2.1.0b5.zip

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From gtalvola@nameconnector.com Fri Aug  9 17:07:21 2002
Received: from battersbox.nameconnector.com ([66.9.109.141])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g79F7KU08804
	for <egenix-users@lists.egenix.com>; Fri, 9 Aug 2002 17:07:20 +0200
Received: from MAILBOX.nameconnector.com ([10.1.64.1]) by battersbox.nameconnector.com with Microsoft SMTPSVC(5.0.2195.4905);
	 Fri, 9 Aug 2002 11:07:20 -0400
Received: by MAILBOX.nameconnector.com with Internet Mail Service (5.5.2653.19)
	id <Q3KPMM81>; Fri, 9 Aug 2002 11:07:20 -0400
Message-ID: <61957B071FF421419E567A28A45C7FE514A650@MAILBOX.nameconnector.com>
From: Geoffrey Talvola <gtalvola@nameconnector.com>
To: "'egenix-users@lists.egenix.com'" <egenix-users@lists.egenix.com>
Date: Fri, 9 Aug 2002 11:07:16 -0400 
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: text/plain;
	charset="iso-8859-1"
X-OriginalArrivalTime: 09 Aug 2002 15:07:20.0465 (UTC) FILETIME=[75513810:01C23FB6]
Subject: [egenix-users] Windows debug build of mxDateTime
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

For various reasons I'd like to get my hands on a debug build of mxDateTime
for Windows for Python 1.5.2.  I've downloaded the source and successfully
compiled the regular release version, but I don't see any obvious way to get
it to build a debug version (i.e. the mxDateTime_d.pyd that can be used with
a python_d.exe debug build of Python).

Anyone know how to get this to happen?

- Geoff

From mal@lemburg.com Fri Aug  9 20:24:36 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g79IO1U10304;
	Fri, 9 Aug 2002 20:24:35 +0200
Message-ID: <3D5408CA.5000902@lemburg.com>
Date: Fri, 09 Aug 2002 20:24:10 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Geoffrey Talvola <gtalvola@nameconnector.com>
CC: "'egenix-users@lists.egenix.com'" <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] Windows debug build of mxDateTime
References: <61957B071FF421419E567A28A45C7FE514A650@MAILBOX.nameconnector.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Geoffrey Talvola wrote:
> For various reasons I'd like to get my hands on a debug build of mxDateTime
> for Windows for Python 1.5.2.  I've downloaded the source and successfully
> compiled the regular release version, but I don't see any obvious way to get
> it to build a debug version (i.e. the mxDateTime_d.pyd that can be used with
> a python_d.exe debug build of Python).
> 
> Anyone know how to get this to happen?

python setup.py install --debug

should get you there, but you are on your own then... I only
rarely build a debug version myself, so it's not clear whether
that setup works or not (esp. because memory allocation is different
in debug builds and I know of at least one bug which will be
fixed in 2.1.0).

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From gtalvola@nameconnector.com Fri Aug  9 20:37:02 2002
Received: from battersbox.nameconnector.com ([66.9.109.141])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g79Ib2U10419
	for <egenix-users@lists.egenix.com>; Fri, 9 Aug 2002 20:37:02 +0200
Received: from MAILBOX.nameconnector.com ([10.1.64.1]) by battersbox.nameconnector.com with Microsoft SMTPSVC(5.0.2195.4905);
	 Fri, 9 Aug 2002 14:36:52 -0400
Received: by MAILBOX.nameconnector.com with Internet Mail Service (5.5.2653.19)
	id <Q3KPMN1Y>; Fri, 9 Aug 2002 14:36:52 -0400
Message-ID: <61957B071FF421419E567A28A45C7FE514A654@MAILBOX.nameconnector.com>
From: Geoffrey Talvola <gtalvola@nameconnector.com>
To: "'M.-A. Lemburg'" <mal@lemburg.com>
Cc: "'egenix-users@lists.egenix.com'" <egenix-users@lists.egenix.com>
Subject: RE: [egenix-users] Windows debug build of mxDateTime
Date: Fri, 9 Aug 2002 14:36:47 -0400 
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: text/plain;
	charset="iso-8859-1"
X-OriginalArrivalTime: 09 Aug 2002 18:36:52.0519 (UTC) FILETIME=[BAD86B70:01C23FD3]
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

M.-A. Lemburg wrote:
> Geoffrey Talvola wrote:
> > For various reasons I'd like to get my hands on a debug 
> build of mxDateTime
> > for Windows for Python 1.5.2.  I've downloaded the source 
> and successfully
> > compiled the regular release version, but I don't see any 
> obvious way to get
> > it to build a debug version (i.e. the mxDateTime_d.pyd that 
> can be used with
> > a python_d.exe debug build of Python).
> > 
> > Anyone know how to get this to happen?
> 
> python setup.py install --debug
> 
> should get you there, but you are on your own then... I only
> rarely build a debug version myself, so it's not clear whether
> that setup works or not (esp. because memory allocation is different
> in debug builds and I know of at least one bug which will be
> fixed in 2.1.0).

Thanks.  Actually, that didn't work (it didn't recognize the --debug
option), but

	python setup.py build --debug

did work and built the dlls I need.

- Geoff

From mal@lemburg.com Fri Aug  9 20:51:29 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g79IpTU10556;
	Fri, 9 Aug 2002 20:51:29 +0200
Message-ID: <3D540F3A.4040201@lemburg.com>
Date: Fri, 09 Aug 2002 20:51:38 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Geoffrey Talvola <gtalvola@nameconnector.com>
CC: "'egenix-users@lists.egenix.com'" <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] Windows debug build of mxDateTime
References: <61957B071FF421419E567A28A45C7FE514A654@MAILBOX.nameconnector.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Geoffrey Talvola wrote:
> M.-A. Lemburg wrote:
> 
>>python setup.py install --debug
>>
>>should get you there, but you are on your own then... I only
>>rarely build a debug version myself, so it's not clear whether
>>that setup works or not (esp. because memory allocation is different
>>in debug builds and I know of at least one bug which will be
>>fixed in 2.1.0).
> 
> 
> Thanks.  Actually, that didn't work (it didn't recognize the --debug
> option), but
> 
> 	python setup.py build --debug
> 
> did work and built the dlls I need.

Funny, that's what I tested (since I didn't want to overwrite
my installation with a debug build). It's strange how distutils
sometimes support command line argument syndication and sometimes
doesn't.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From gtalvola@nameconnector.com Fri Aug  9 20:56:54 2002
Received: from battersbox.nameconnector.com ([66.9.109.141])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g79IurU10611
	for <egenix-users@lists.egenix.com>; Fri, 9 Aug 2002 20:56:53 +0200
Received: from MAILBOX.nameconnector.com ([10.1.64.1]) by battersbox.nameconnector.com with Microsoft SMTPSVC(5.0.2195.4905);
	 Fri, 9 Aug 2002 14:56:53 -0400
Received: by MAILBOX.nameconnector.com with Internet Mail Service (5.5.2653.19)
	id <Q3KPMNF3>; Fri, 9 Aug 2002 14:56:53 -0400
Message-ID: <61957B071FF421419E567A28A45C7FE514A655@MAILBOX.nameconnector.com>
From: Geoffrey Talvola <gtalvola@nameconnector.com>
To: "'M.-A. Lemburg'" <mal@lemburg.com>
Cc: "'egenix-users@lists.egenix.com'" <egenix-users@lists.egenix.com>
Subject: RE: [egenix-users] Windows debug build of mxDateTime
Date: Fri, 9 Aug 2002 14:56:46 -0400 
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: text/plain;
	charset="iso-8859-1"
X-OriginalArrivalTime: 09 Aug 2002 18:56:53.0672 (UTC) FILETIME=[86C9D280:01C23FD6]
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

M.-A. Lemburg wrote:
> Geoffrey Talvola wrote:
> > M.-A. Lemburg wrote:
> > 
> >>python setup.py install --debug
> >>
> >>should get you there, but you are on your own then... I only
> >>rarely build a debug version myself, so it's not clear whether
> >>that setup works or not (esp. because memory allocation is different
> >>in debug builds and I know of at least one bug which will be
> >>fixed in 2.1.0).
> > 
> > 
> > Thanks.  Actually, that didn't work (it didn't recognize the --debug
> > option), but
> > 
> > 	python setup.py build --debug
> > 
> > did work and built the dlls I need.
> 
> Funny, that's what I tested (since I didn't want to overwrite
> my installation with a debug build). It's strange how distutils
> sometimes support command line argument syndication and sometimes
> doesn't.

After running the above build command both with and without the --debug
flag, then "python setup.py install" installed both the release _and_ debug
.pyd's to the correct destination.  There's no problem of overwriting the
installation with a debug build because the filenames are different;
mxDateTime_d.pyd gets used if you're running python_d.exe and mxDateTime.pyd
gets used if you're running python.exe.  They live happily side by side.

This is exactly what I wanted, so I'm happy :-)

- Geoff

From krissepu@vip.fi Sun Aug 11 21:08:54 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7BJ8gU28676
	for <egenix-users@lists.egenix.com>; Sun, 11 Aug 2002 21:08:54 +0200
Received: from vip.fi (DynIP-132-142.Tre.vip.fi [213.173.132.142])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id WAA21586
	for <egenix-users@lists.egenix.com>; Sun, 11 Aug 2002 22:08:26 +0300
Message-ID: <3D56B619.1060001@vip.fi>
Date: Sun, 11 Aug 2002 22:08:09 +0300
From: Pekka Niiranen <krissepu@vip.fi>
User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.4.1) Gecko/20020508 Netscape6/6.2.3
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Help needed for context object in mxTextTools 2.1.0
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi,

I am currently perfecting my parser by
trying to add error messages to it.
I found error messages mentioned in documentation
were context object were explained, but had problems
understanding what is meant with "context".

If I understood correctly I should be able to:

1)  instead of saying "MatchFail", jump to a location
     were I call python function that prints Errortext first and
     only then call "MatchFail".

2)  set flag that tells I am recursing at the moment and at error
     check flag and print messages according to flags' value.

a) Should I use Call or CallTag -function ?
b) What is the difference of adding Python function to tag() -command 
instead of  using CallTag ?
c) should I use mxStack instead of a python variable for the flag ? This 
is a speed issue.
d) Merging error printing with mxTextTools C-engine's MatchFail -state. 
Possible ?

---code starts ---

NOTE: IF-ELSE -structure can (and must ?) be implemented with jumps.

from mx.TextTools import *

text = "Xaa(AA)a((BB))aa((CC)DD)aa(EE(FF))aa(GG(HH(II)JJ)KK)aaY"

tables = []

tab = ('start',
       (None, AllNotIn,'()', +1),
       (None, Is+LookAhead, '(', "IF FLAG IS NOT SET PRINT ERROR 
'SPURIOUS )-SIGN' and MatchFail"\
                                                 ELSE UNSET FLAG and 
MatchOk", 'nesting'),
       'nesting',
       "SET FLAG ON",
       ('group',SubTable+AppendMatch,((None, Is, '(', +1),
                                      (None, SubTableInList, (tables,0)),
                                      (None, Is, ')', "PRINT ERROR 
'SPURIOUS (-SIGN' and MatchFail", MatchOk))),
       (None,Jump,To,'start'))

tables.append(tab) # Add tab to tables

if __name__ == '__main__':

    result, taglist, nextindex = tag(text,tab)
    print taglist

--code stops---

-pekka-


From krissepu@vip.fi Sat Aug 17 20:11:12 2002
Received: from populo.vip.fi (populo.vip.fi [213.173.130.25])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7HIB7U22234
	for <egenix-users@lists.egenix.com>; Sat, 17 Aug 2002 20:11:11 +0200
Received: from vip.fi (DynIP-132-253.Tre.vip.fi [213.173.132.253])
	by populo.vip.fi (8.8.8/8.8.5) with ESMTP id VAA28123
	for <egenix-users@lists.egenix.com>; Sat, 17 Aug 2002 21:11:00 +0300
Message-ID: <3D5E91A0.508@vip.fi>
Date: Sat, 17 Aug 2002 21:10:40 +0300
From: Pekka Niiranen <krissepu@vip.fi>
User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.4.1) Gecko/20020508 Netscape6/6.2.3
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: egenix-users@lists.egenix.com
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] Use of function in mxTextTools
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi,

if I call function when string matches, is it
possible to specify inside function the action that is taken ?

I am considering a function that checks whether a "match" is valid:
if match = = valid:
    continue as if string matched
else.
    continue as if match failed.

In other words I should be able to include some additonal
logic to simple character check in order to evaluate whether I
have a valid match. That logic should be python or C -code.

What I miss is access to recursion state: for example a flag
that is accessible with mxTextTool's parameters and that tells
wheter mxTextTools is recursing at the moment

-pekka-

       


From mcfletch@rogers.com Sun Aug 25 22:38:58 2002
Received: from fep01-mail.bloor.is.net.cable.rogers.com (fep01-mail.bloor.is.net.cable.rogers.com [66.185.86.71])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7PKcsU00569
	for <egenix-users@lists.egenix.com>; Sun, 25 Aug 2002 22:38:57 +0200
Received: from rogers.com ([24.43.65.252])
          by fep01-mail.bloor.is.net.cable.rogers.com
          (InterMail vM.5.01.05.06 201-253-122-126-106-20020509) with ESMTP
          id <20020825203844.YZTE4814.fep01-mail.bloor.is.net.cable.rogers.com@rogers.com>;
          Sun, 25 Aug 2002 16:38:44 -0400
Message-ID: <3D69404F.30501@rogers.com>
Date: Sun, 25 Aug 2002 16:38:39 -0400
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.0) Gecko/20020530
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: SimpleParse Users <simpleparse-users@lists.sourceforge.net>,
   Python List
 <python-list@python.org>,
   egenix-users <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep01-mail.bloor.is.net.cable.rogers.com from [24.43.65.252] using ID <mcfletch@rogers.com> at Sun, 25 Aug 2002 16:38:44 -0400
Subject: [egenix-users] [ANN] SimpleParse 2.0.0 final released
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I have just released version 2.0.0 of the SimpleParse parser-generation 
system.  Version 2.0.0 is a major upgrade from SimpleParse 1.0 include a 
significant set of new features and a completely rewritten core engine, 
but it should still be compatible with your 1.0 grammars.

     http://simpleparse.sourceforge.net/

for optimal operation, I would suggest using Python 2.2.x and 
mxTextTools 2.1.x, but the package should run (though in some cases with 
subtle errors, particularly when using mxTextTools 2.0.x) under 1.5.2 
and above with mxTextTools 2.0.x and above.

About SimpleParse...

SimpleParse is a BSD-licensed Python package providing a simple parser 
generator for use with the mxTextTools text-tagging engine. SimpleParse 
allows you to generate tagging tables for use with the text-tagging 
engine directly from your EBNF grammar.

Unlike most parser generators, SimpleParse generates single-pass parsers 
(there is no distinct tokenization stage), an approach taken from the 
predecessor project (mcf.pars) which attempted to create "autonomously 
parsing regex objects". The resulting parsers are not as generalized as 
those created by, for instance, the Earley algorithm, but they do tend 
to be useful for the parsing of computer file formats and the like (as 
distinct from natural language and similar "hard" parsing problems).

See:
     http://simpleparse.sourceforge.net/
for details and documentation.

Have fun,
Mike
_______________________________________
   Mike C. Fletcher
   Designer, VR Plumber, Coder
   http://members.rogers.com/mcfletch/


From liste@publisher.de Tue Aug 27 10:04:21 2002
Received: from mailb.telia.com (mailb.telia.com [194.22.194.6])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7R84KU14634
	for <egenix-users@lists.egenix.com>; Tue, 27 Aug 2002 10:04:21 +0200
Received: from d1o1069.telia.com (d1o1069.telia.com [212.181.173.241])
	by mailb.telia.com (8.12.5/8.12.5) with ESMTP id g7R840Ih021667
	for <egenix-users@lists.egenix.com>; Tue, 27 Aug 2002 10:04:00 +0200 (CEST)
X-Original-Recipient: <egenix-users@lists.egenix.com>
Received: from gustav.entenhausen (h22n2fls20o1069.telia.com [213.64.217.22])
	by d1o1069.telia.com (8.10.2/8.10.1) with ESMTP id g7R840n28909
	for <egenix-users@lists.egenix.com>; Tue, 27 Aug 2002 10:04:00 +0200 (CEST)
Date: Tue, 27 Aug 2002 10:04:00 +0200
From: Ulrich Wisser <liste@publisher.de>
X-Mailer: The Bat! (v1.61) Business
Reply-To: Ulrich Wisser <u.wisser@publisher.de>
Organization: WWW Publisher
X-Priority: 3 (Normal)
Message-ID: <17964083724.20020827100400@publisher.de>
To: egenix-users@lists.egenix.com
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] strftime restricted
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hello,

I installed mxDateTime 2.0.3 on Zope 2.5.1 (python 2.1).
When I try to access strftime from Zope DTML documents I get
an "Unauthorized" error.

Any ideas?

Regards

Ulrich

-- 
Searchengine Know How  - Webpromotion - Optimization - Internal Search
World Wide Web Publisher, Ulrich Wisser, Odensvag 13, S-14571 Norsborg
http://www.publisher.de   Tel: +46-8-53460905    Fax: +46-8-534 609 06


From mcfletch@rogers.com Wed Aug 28 06:27:13 2002
Received: from fep01-mail.bloor.is.net.cable.rogers.com (fep01-mail.bloor.is.net.cable.rogers.com [66.185.86.71])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7S4RCU23141
	for <egenix-users@lists.egenix.com>; Wed, 28 Aug 2002 06:27:13 +0200
Received: from rogers.com ([24.43.65.252])
          by fep01-mail.bloor.is.net.cable.rogers.com
          (InterMail vM.5.01.05.06 201-253-122-126-106-20020509) with ESMTP
          id <20020828042703.PIF4814.fep01-mail.bloor.is.net.cable.rogers.com@rogers.com>
          for <egenix-users@lists.egenix.com>;
          Wed, 28 Aug 2002 00:27:03 -0400
Message-ID: <3D6C50FF.7080505@rogers.com>
Date: Wed, 28 Aug 2002 00:26:39 -0400
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: egenix-users <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep01-mail.bloor.is.net.cable.rogers.com from [24.43.65.252] using ID <mcfletch@rogers.com> at Wed, 28 Aug 2002 00:27:03 -0400
Subject: [egenix-users] Anyone successfully compiled mxTextTools beta5 with MingW32?
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I've been poking at this problem for a while now, basically, my attempts 
always fail with this error:

c:\bin\cygwin\bin\gcc.exe -mno-cygwin -mdll -static -s 
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxtexttools.o 
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o 
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxbmse.o 
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTools.def 
-LC:\bin\lang\py22\libs -L/lib -lpython22 -o 
build\lib.win32-2.2\mx\TextTools\mxTextTools\mxTextTools.pyd
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.text+0x1b74):mxte.c: 
undefined reference to `_imp__mxTagTable_Type'
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.text+0x1bf0):mxte.c: 
undefined reference to `_imp__mxTagTable_Type'
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.text+0x2fb4):mxte.c: 
undefined reference to `_imp__mxTagTable_Type'
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.text+0x3030):mxte.c: 
undefined reference to `_imp__mxTagTable_Type'
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1

Which, is just about what VC++6 also complains about as well:
    Creating library 
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTools.lib 
and object 
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTools.exp
LINK : warning LNK4049: locally defined symbol "_mxTagTable_Type" imported


Now, if I understand this problem correctly, the __declspec( dllexport ) 
stuff that's defined in mxTextTools.h and mxh.h for mxTagTable_Type is 
somehow making mxTagTable_Type wind up mangled as if it were a 
dll-loaded function within mxte.c instead of a locally-defined but 
exported one?  VC++ seems able to work about it, but not MingW32.

I'm not really a C/C++ guy, so I'm not sure what the _solution_ to the 
problem would be.  All discussions I can find on the web about it seem 
to assume it's such an obvious fix that there's no point describing it :o/ .

Any suggestions welcome,
Mike
_______________________________________
   Mike C. Fletcher
   Designer, VR Plumber, Coder
   http://members.rogers.com/mcfletch/



From liste@publisher.de Wed Aug 28 09:39:40 2002
Received: from maile.telia.com (maile.telia.com [194.22.190.16])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7S7deU24277
	for <egenix-users@lists.egenix.com>; Wed, 28 Aug 2002 09:39:40 +0200
Received: from d1o1069.telia.com (d1o1069.telia.com [212.181.173.241])
	by maile.telia.com (8.12.5/8.12.5) with ESMTP id g7S7dKqS028930
	for <egenix-users@lists.egenix.com>; Wed, 28 Aug 2002 09:39:20 +0200 (CEST)
X-Original-Recipient: <egenix-users@lists.egenix.com>
Received: from gustav.entenhausen (h22n2fls20o1069.telia.com [213.64.217.22])
	by d1o1069.telia.com (8.10.2/8.10.1) with ESMTP id g7S7dKn01173
	for <egenix-users@lists.egenix.com>; Wed, 28 Aug 2002 09:39:20 +0200 (CEST)
Date: Wed, 28 Aug 2002 09:39:19 +0200
From: Ulrich Wisser <liste@publisher.de>
X-Mailer: The Bat! (v1.61) Business
Reply-To: Ulrich Wisser <u.wisser@publisher.de>
Organization: WWW Publisher
X-Priority: 3 (Normal)
Message-ID: <53149007326.20020828093919@publisher.de>
To: egenix-users <egenix-users@lists.egenix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] mxDateTime and Zope
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hello,

after more investigation I found that mxDateTime has
replaced the Zope builtin DateTime module. I belive, but
did not verify, that the option --with-zope to the configure
script did the trick. Anyway, this led to the fact that
DateTime could no longer be used in DTML and PageTemplates.
After restoring the original DateTime everything works fine.

Any idea why that is so and why the option --with-zope
exists if it doesn't work?

Regards

Ulrich

-- 
Searchengine Know How  - Webpromotion - Optimization - Internal Search
World Wide Web Publisher, Ulrich Wisser, Odensvag 13, S-14571 Norsborg
http://www.publisher.de   Tel: +46-8-53460905    Fax: +46-8-534 609 06


From sklein@cpcug.org Mon Aug 19 22:36:19 2002
Received: from server12.safepages.com (server12.safepages.com [216.127.146.26])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7JKZmU09075
	for <egenix-users@lists.egenix.com>; Mon, 19 Aug 2002 22:36:19 +0200
Received: from LOCALNAME (1Cust71.tnt4.dca5.da.uu.net [67.242.155.71])
	by server12.safepages.com (Postfix) with SMTP id 544B213618F
	for <egenix-users@lists.egenix.com>; Mon, 19 Aug 2002 20:34:45 +0000 (GMT)
Message-Id: <3.0.5.16.20020819131710.3c8f6c86@cpcug.org>
X-Sender: sklein@cpcug.org (Unverified)
X-Mailer: QUALCOMM Windows Eudora Pro Version 3.0.5 (16)
Date: Mon, 19 Aug 2002 13:17:10
To: egenix-users@lists.egenix.com
From: "Stanley A. Klein" <sklein@cpcug.org>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Subject: [egenix-users] The mxDateTime rpms are non-compliant with the Linux Standards
 Base
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

When I installed the rpm for mxDateTime, the package was installed in
/usr/local.  I'm running Red Hat 7.2, which complies with the Linux
Standards Base (LSB).  The LSB requires that packages similar to mxDateTime
install in /usr/share.  

When I tried to run GNU Enterprise, which uses mxDateTime, I got error
messages until I doscovered the problem and made a link from the directory
under /usr/local to the equivalent directory under /usr/share where Python
was looking for the files.

I would like to suggest that the packager either make the rpms compliant
with the LSB or include a README telling the user of the need to make the
link.  I suggest making LSB compliance the preferred approach because most
of the major distributions that use rpms are also LSB compliant.

Thanks.


Stan Klein

From tommi.auvinen@wicom.com Wed Aug 21 13:05:26 2002
Received: from postman.wicom.com ([62.236.218.18])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7LB53U25115
	for <egenix-users@lists.egenix.com>; Wed, 21 Aug 2002 13:05:26 +0200
x-fsavag4mse-ts: 92b7f1998033781a
Content-Class: urn:content-classes:message
Keywords: disclaimer
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C24902.96198F98"
Date: Wed, 21 Aug 2002 14:04:57 +0300
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
Message-ID: <53404C1181500348B8F07B400D418EB10905FB@postman.wicom.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: SQL Server 2000, mxODBC version 2.0.4 for Python 1.5.2 and' ntext data type
thread-index: AcJJAtE2AXoKvHXyRLGESykVu9nz/Q==
From: "Tommi Auvinen" <tommi.auvinen@wicom.com>
To: <egenix-users@lists.egenix.com>
Subject: [egenix-users] SQL Server 2000, mxODBC version 2.0.4 for Python 1.5.2 and' ntext data type
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

This is a multi-part message in MIME format.

------_=_NextPart_001_01C24902.96198F98
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

Is it a known feature (or even a bug ;) that if data type is 'ntext'
then something goes wrong around every 1024 characters? There seems to
be an extra 000 (null) character. The data is fetched OK if I change the
data type in DB to 'text' or change the query to something like ".
CONVERT(text, Data) AS Data".
 
R:TAU

------_=_NextPart_001_01C24902.96198F98
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DProgId content=3DWord.Document>
<meta name=3DGenerator content=3D"Microsoft Word 10">
<meta name=3DOriginator content=3D"Microsoft Word 10">
<link rel=3DFile-List href=3D"cid:filelist.xml@01C2491B.F67DA810">
<!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:DoNotRelyOnCSS/>
 </o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:DocumentKind>DocumentEmail</w:DocumentKind>
  <w:HyphenationZone>21</w:HyphenationZone>
  <w:EnvelopeVis/>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]-->
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0cm;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;
	text-underline:single;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	mso-style-noshow:yes;
	mso-ansi-font-size:10.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:Arial;
	mso-ascii-font-family:Arial;
	mso-hansi-font-family:Arial;
	mso-bidi-font-family:Arial;
	color:windowtext;}
span.SpellE
	{mso-style-name:"";
	mso-spl-e:yes;}
span.GramE
	{mso-style-name:"";
	mso-gram-e:yes;}
@page Section1
	{size:595.3pt 841.9pt;
	margin:70.85pt 2.0cm 70.85pt 2.0cm;
	mso-header-margin:35.4pt;
	mso-footer-margin:35.4pt;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */=20
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";}
</style>
<![endif]-->
</head>

<body lang=3DFI link=3Dblue vlink=3Dpurple =
style=3D'tab-interval:65.2pt'>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial;mso-ansi-language:EN-GB'>Is it a known feature =
(or even
a bug ;) that if data type is &#8216;<span =
class=3DSpellE>ntext</span>&#8217;
then something goes wrong around every 1024 characters? There seems to =
be an extra
000 (null) character. The data is fetched OK if I change the data type =
in DB to
&#8216;text&#8217; or change the query to something like &#8220;&#8230; =
<span
class=3DGramE>CONVERT(</span>text, Data) AS =
Data&#8221;.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial;mso-ansi-language:EN-GB'><o:p>&nbsp;</o:p></span=
></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial;mso-ansi-language:EN-GB'>R<span =
class=3DGramE>:TAU</span><o:p></o:p></span></font></p>

</div>

</body>

</html>

------_=_NextPart_001_01C24902.96198F98--

From ChuckEsterbrook@StockAlerts.com Sun Aug 25 10:14:07 2002
Received: from fed1mtao04.cox.net (fed1mtao04.cox.net [68.6.19.241])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7P8E6U28985
	for <egenix-users@lists.egenix.com>; Sun, 25 Aug 2002 10:14:06 +0200
Received: from there ([68.5.108.3]) by fed1mtao04.cox.net
          (InterMail vM.5.01.04.05 201-253-122-122-105-20011231) with SMTP
          id <20020825081400.YNLW4808.fed1mtao04.cox.net@there>
          for <egenix-users@lists.egenix.com>;
          Sun, 25 Aug 2002 04:14:00 -0400
Content-Type: text/plain;
  charset="iso-8859-1"
From: Chuck Esterbrook <ChuckEsterbrook@StockAlerts.com>
To: egenix-users@lists.egenix.com
Date: Sun, 25 Aug 2002 01:14:00 -0700
X-Mailer: KMail [version 1.3.1]
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Message-Id: <20020825081400.YNLW4808.fed1mtao04.cox.net@there>
Subject: [egenix-users] egenix experimental installation error
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi,

When running "python setup.py install" in 
"egenix-mx-experimental-0.6.0" as root, mxNumber complains that it 
can't find "gmp.h".

I actually only need mxTidy (not mxNumber) so if there is some option 
to leave out mxNumber, that would be great.

Any ideas?

I'm running Mandrake 8.1 (Linux 2.4.8-26mdk) and Python 2.2.1. More 
details:

[root@workstation egenix-mx-experimental-0.6.0]# python setup.py install
running install
running build
running build_py
...
running build_ext
skipping 'mx.Tidy.mxTidy.mxTidy' extension (up-to-date)
skipping 'mx.URL.mxURL.mxURL' extension (up-to-date)
skipping 'mx.UID.mxUID.mxUID' extension (up-to-date)
building 'mx.Number.mxNumber.mxNumber' extension
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC 
-Imx/Number/mxNumber -I/usr/include/python2.2 -c 
mx/Number/mxNumber/mxNumber.c -o 
build/temp.linux-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o
In file included from mx/Number/mxNumber/mxNumber.c:24:
mx/Number/mxNumber/mxNumber.h:33:17: gmp.h: No such file or directory
error: command 'gcc' failed with exit status 1


-Chuck

From mal@lemburg.com Sat Aug 31 22:35:09 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7VKYSU24231;
	Sat, 31 Aug 2002 22:35:09 +0200
Message-ID: <3D71286E.7000203@lemburg.com>
Date: Sat, 31 Aug 2002 22:34:54 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "Stanley A. Klein" <sklein@cpcug.org>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] The mxDateTime rpms are non-compliant with the
 Linux Standards Base
References: <3.0.5.16.20020819131710.3c8f6c86@cpcug.org>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Stanley A. Klein wrote:
> When I installed the rpm for mxDateTime, the package was installed in
> /usr/local.  I'm running Red Hat 7.2, which complies with the Linux
> Standards Base (LSB).  The LSB requires that packages similar to mxDateTime
> install in /usr/share.  
> 
> When I tried to run GNU Enterprise, which uses mxDateTime, I got error
> messages until I doscovered the problem and made a link from the directory
> under /usr/local to the equivalent directory under /usr/share where Python
> was looking for the files.
> 
> I would like to suggest that the packager either make the rpms compliant
> with the LSB or include a README telling the user of the need to make the
> link.  I suggest making LSB compliance the preferred approach because most
> of the major distributions that use rpms are also LSB compliant.

The egenix-mx-*.rpm archives are built using Python's distutils
package and this defaults to installing into the Python
installation in the /usr/local tree (this is also the
default location of the RPMs of Python itself).

AFAIK, you can relocate the packages to other locations
using RPM command line options.

I'm not really sure why you'd want to install them
to /usr/share, though, because the packages depend on
the Python installation and include binary shared libs
which are certainly not machine independent (like the
files you'd normalls install in /usr/share). Perhaps
you have something else in mind here ?

Thanks,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Sat Aug 31 22:44:01 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7VKhHU24282;
	Sat, 31 Aug 2002 22:44:00 +0200
Message-ID: <3D712A7E.5090701@lemburg.com>
Date: Sat, 31 Aug 2002 22:43:42 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Chuck Esterbrook <ChuckEsterbrook@StockAlerts.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] egenix experimental installation error
References: <20020825081400.YNLW4808.fed1mtao04.cox.net@there>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Chuck Esterbrook wrote:
> Hi,
> 
> When running "python setup.py install" in 
> "egenix-mx-experimental-0.6.0" as root, mxNumber complains that it 
> can't find "gmp.h".

That's fixed in the latest beta of 0.7.0 (see the mailing list
archive for download links). Building of mxNumber is made optional
in those versions and the package should build without mxNumber
if you don't have GMP installed.

> I actually only need mxTidy (not mxNumber) so if there is some option 
> to leave out mxNumber, that would be great.
> 
> Any ideas?
> 
> I'm running Mandrake 8.1 (Linux 2.4.8-26mdk) and Python 2.2.1. More 
> details:
> 
> [root@workstation egenix-mx-experimental-0.6.0]# python setup.py install
> running install
> running build
> running build_py
> ...
> running build_ext
> skipping 'mx.Tidy.mxTidy.mxTidy' extension (up-to-date)
> skipping 'mx.URL.mxURL.mxURL' extension (up-to-date)
> skipping 'mx.UID.mxUID.mxUID' extension (up-to-date)
> building 'mx.Number.mxNumber.mxNumber' extension
> gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC 
> -Imx/Number/mxNumber -I/usr/include/python2.2 -c 
> mx/Number/mxNumber/mxNumber.c -o 
> build/temp.linux-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o
> In file included from mx/Number/mxNumber/mxNumber.c:24:
> mx/Number/mxNumber/mxNumber.h:33:17: gmp.h: No such file or directory
> error: command 'gcc' failed with exit status 1
> 
> 
> -Chuck
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Sat Aug 31 22:42:06 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g7VKfTU24272;
	Sat, 31 Aug 2002 22:42:05 +0200
Message-ID: <3D712A13.8030408@lemburg.com>
Date: Sat, 31 Aug 2002 22:41:55 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Tommi Auvinen <tommi.auvinen@wicom.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] SQL Server 2000, mxODBC version 2.0.4 for Python
 1.5.2 and' ntext data type
References: <53404C1181500348B8F07B400D418EB10905FB@postman.wicom.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Tommi Auvinen wrote:
> Is it a known feature (or even a bug ;) that if data type is ntext 
> then something goes wrong around every 1024 characters? There seems to 
> be an extra 000 (null) character. The data is fetched OK if I change the 
> data type in DB to text or change the query to something like  
> CONVERT(text, Data) AS Data.

ntext is managed as Unicode in SQL Server, but mxODBC requests
these columns as strings (unless you set cursor.stringformat)
in chunks of 1024 bytes. Could be that the ODBC driver messes
up the inplace conversion of Unicode to 8-bit strings when using
this kind of chunked retrieval.

Have you tried this with the latest ODBC driver versions available
for SQL Server ?

If the problem persists, we'll have to look into adding a
work-around to mxODBC.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Mon Sep  2 16:18:21 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g82EHlU08473;
	Mon, 2 Sep 2002 16:18:21 +0200
Message-ID: <3D737315.7040401@lemburg.com>
Date: Mon, 02 Sep 2002 16:17:57 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Ulrich Wisser <u.wisser@publisher.de>
CC: egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] mxDateTime and Zope
References: <53149007326.20020828093919@publisher.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Ulrich Wisser wrote:
> Hello,
> 
> after more investigation I found that mxDateTime has
> replaced the Zope builtin DateTime module. I belive, but
> did not verify, that the option --with-zope to the configure
> script did the trick. Anyway, this led to the fact that
> DateTime could no longer be used in DTML and PageTemplates.
> After restoring the original DateTime everything works fine.
> 
> Any idea why that is so and why the option --with-zope
> exists if it doesn't work?

I am not aware of such an option in distutils. You should
install the mx base package directly into lib/python:

python setup.py install --install-lib=zopedir/lib/python --install-data=zopedir/lib/python

(with zopedir replaced by the Zope instance directory)

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From sklein@cpcug.org Sun Sep  1 03:29:18 2002
Received: from server10.safepages.com (server10.safepages.com [216.127.146.24])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g811TIU26523
	for <egenix-users@lists.egenix.com>; Sun, 1 Sep 2002 03:29:18 +0200
Received: from LOCALNAME (1Cust224.tnt4.dca5.da.uu.net [67.242.155.224])
	by server10.safepages.com (Postfix) with SMTP
	id DC7C73C393; Sun,  1 Sep 2002 01:28:31 +0000 (GMT)
Message-Id: <3.0.5.16.20020831181102.447fc84e@cpcug.org>
X-Sender: sklein@cpcug.org
X-Mailer: QUALCOMM Windows Eudora Pro Version 3.0.5 (16)
Date: Sat, 31 Aug 2002 18:11:02
To: "M.-A. Lemburg" <mal@lemburg.com>
From: "Stanley A. Klein" <sklein@cpcug.org>
Subject: Re: [egenix-users] The mxDateTime rpms are non-compliant with
  the Linux Standards Base
Cc: egenix-users@lists.egenix.com
In-Reply-To: <3D71286E.7000203@lemburg.com>
References: <3.0.5.16.20020819131710.3c8f6c86@cpcug.org>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I don't know about the distutils default.  Perhaps all other Python rpm
packagers change from the default to /usr/share during rpm packaging.

I have Python 1.5 and 2.1, wxPython, and (I think) some other packages
installed on my system.  All of them automatically install in /usr/ahare.
To the best of my knowledge that is where Python packagers are supposed to
put their packages.  These packages are packaged in compliance with the
Linux Standards Base specification, which (I understand) may have clarified
or modified for Linux the definition of what is supposed to go into
/usr/share versus /usr/local.  (Essentially, all downloaded packages or
those supplied with distributions go into /usr/share.  I don't recall the
purpose assigned to /usr/local, except that it may be reserved for uniquely
local packages developed by the system administrator.)

mxDateTime is the only Python package installed on my system that I had to
fix because it installed in /usr/local.  (I fixed it by putting a link in
the appropriate site-packages directory in the /usr/share tree.)


Stan Klein


At 10:34 PM 8/31/2002 +0200, M.-A. Lemburg wrote:
>Stanley A. Klein wrote:
>> When I installed the rpm for mxDateTime, the package was installed in
>> /usr/local.  I'm running Red Hat 7.2, which complies with the Linux
>> Standards Base (LSB).  The LSB requires that packages similar to mxDateTime
>> install in /usr/share.  
>> 
>> When I tried to run GNU Enterprise, which uses mxDateTime, I got error
>> messages until I doscovered the problem and made a link from the directory
>> under /usr/local to the equivalent directory under /usr/share where Python
>> was looking for the files.
>> 
>> I would like to suggest that the packager either make the rpms compliant
>> with the LSB or include a README telling the user of the need to make the
>> link.  I suggest making LSB compliance the preferred approach because most
>> of the major distributions that use rpms are also LSB compliant.
>
>The egenix-mx-*.rpm archives are built using Python's distutils
>package and this defaults to installing into the Python
>installation in the /usr/local tree (this is also the
>default location of the RPMs of Python itself).
>
>AFAIK, you can relocate the packages to other locations
>using RPM command line options.
>
>I'm not really sure why you'd want to install them
>to /usr/share, though, because the packages depend on
>the Python installation and include binary shared libs
>which are certainly not machine independent (like the
>files you'd normalls install in /usr/share). Perhaps
>you have something else in mind here ?
>
>Thanks,
>-- 
>Marc-Andre Lemburg
>CEO eGenix.com Software GmbH
>_______________________________________________________________________
>eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
>Python Consulting:                               http://www.egenix.com/
>Python Software:                    http://www.egenix.com/files/python/
>
>
>

From mal@lemburg.com Mon Sep  2 19:12:14 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g82HC7U09785;
	Mon, 2 Sep 2002 19:12:14 +0200
Message-ID: <3D739BF4.4090009@lemburg.com>
Date: Mon, 02 Sep 2002 19:12:20 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "Stanley A. Klein" <sklein@cpcug.org>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] The mxDateTime rpms are non-compliant with  the
 Linux Standards Base
References: <3.0.5.16.20020819131710.3c8f6c86@cpcug.org> <3.0.5.16.20020831181102.447fc84e@cpcug.org>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Stanley A. Klein wrote:
> I don't know about the distutils default.  Perhaps all other Python rpm
> packagers change from the default to /usr/share during rpm packaging.

I think you're mixing something up here: /usr/share is for code and
data which can be shared between platforms (e.g. in an NFS environment).
The /usr/local default stems from the fact that a manually installed
Python version always installs into /usr/local per default and that's
what we are using to build the RPMs.

Now, perhaps you are right in that the RPMs we ship should install
into /usr/share for the doc files and /use/lib/pythonX.X/site-packages
for the rest.

> I have Python 1.5 and 2.1, wxPython, and (I think) some other packages
> installed on my system.  All of them automatically install in /usr/ahare.
> To the best of my knowledge that is where Python packagers are supposed to
> put their packages.  These packages are packaged in compliance with the
> Linux Standards Base specification, which (I understand) may have clarified
> or modified for Linux the definition of what is supposed to go into
> /usr/share versus /usr/local.  (Essentially, all downloaded packages or
> those supplied with distributions go into /usr/share.  I don't recall the
> purpose assigned to /usr/local, except that it may be reserved for uniquely
> local packages developed by the system administrator.)

I don't believe that's correct... /usr/local is reserved for
applications which do not come with your OS distribution. Other
OSes such as Solaris use /opt/local for the same thing.

It just happens that Python has become so popular that the
default "installation" today is the one that comes with the
OS distribution and not the one you built youself.

> mxDateTime is the only Python package installed on my system that I had to
> fix because it installed in /usr/local.  (I fixed it by putting a link in
> the appropriate site-packages directory in the /usr/share tree.)

And that's the correct fix.

I think we'll move to /usr for the upcoming 2.1 release... That
should also make it possible to upgrade RedHat's version of
egenix-mx-base (they call it mx-base for some reason).

PS: Please sign up to the mailing list before posting. Otherwise
all messages will be upheld for moderator approval.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Thu Sep  5 11:09:44 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8599hD11370;
	Thu, 5 Sep 2002 11:09:43 +0200
Message-ID: <3D771F60.3040005@lemburg.com>
Date: Thu, 05 Sep 2002 11:09:52 +0200
From: "M.-A. Lemburg" <mal@egenix.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "Mike C. Fletcher" <mcfletch@rogers.com>
CC: egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] Anyone successfully compiled mxTextTools beta5
 with MingW32?
References: <3D6C50FF.7080505@rogers.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Mike C. Fletcher wrote:
> I've been poking at this problem for a while now, basically, my attempts 
> always fail with this error:
> 
> c:\bin\cygwin\bin\gcc.exe -mno-cygwin -mdll -static -s 
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxtexttools.o 
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o 
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxbmse.o 
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTools.def 
> -LC:\bin\lang\py22\libs -L/lib -lpython22 -o 
> build\lib.win32-2.2\mx\TextTools\mxTextTools\mxTextTools.pyd
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.text+0x1b74):mxte.c: 
> undefined reference to `_imp__mxTagTable_Type'
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.text+0x1bf0):mxte.c: 
> undefined reference to `_imp__mxTagTable_Type'
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.text+0x2fb4):mxte.c: 
> undefined reference to `_imp__mxTagTable_Type'
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.text+0x3030):mxte.c: 
> undefined reference to `_imp__mxTagTable_Type'
> collect2: ld returned 1 exit status
> error: command 'gcc' failed with exit status 1
> 
> Which, is just about what VC++6 also complains about as well:
>    Creating library 
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTools.lib 
> and object 
> build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTools.exp 
> 
> LINK : warning LNK4049: locally defined symbol "_mxTagTable_Type" imported

Is this the latest beta you are testing here ?

http://lists.egenix.com/mailman-archives/egenix-users/2002-August/000078.html

It should be compatible to CYGWIN since Steve Holden has done a lot
of testing on that platform.

> Now, if I understand this problem correctly, the __declspec( dllexport ) 
> stuff that's defined in mxTextTools.h and mxh.h for mxTagTable_Type is 
> somehow making mxTagTable_Type wind up mangled as if it were a 
> dll-loaded function within mxte.c instead of a locally-defined but 
> exported one?  VC++ seems able to work about it, but not MingW32.
> 
> I'm not really a C/C++ guy, so I'm not sure what the _solution_ to the 
> problem would be.  All discussions I can find on the web about it seem 
> to assume it's such an obvious fix that there's no point describing it 
> :o/ .
> 
> Any suggestions welcome,
> Mike
> _______________________________________
>   Mike C. Fletcher
>   Designer, VR Plumber, Coder
>   http://members.rogers.com/mcfletch/
> 
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From sholden@holdenweb.com Thu Sep  5 13:11:43 2002
Received: from mail10.atl.registeredsite.com (mail10.atl.registeredsite.com [64.224.219.84])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g85BBgD12121;
	Thu, 5 Sep 2002 13:11:43 +0200
Received: from mail.holdenweb.com (mail.holdenweb.com [64.224.159.178])
	by mail10.atl.registeredsite.com (8.12.2/8.12.5) with ESMTP id g85BBbWn006022;
	Thu, 5 Sep 2002 07:11:38 -0400
Received: from COMPUTER [64.224.159.178] by mail.holdenweb.com
  (SMTPD32-6.06) id ABE72E2900A8; Thu, 05 Sep 2002 07:11:35 -0400
Message-ID: <00c901c254cc$430444d0$6300000a@holdenweb.com>
From: "Steve Holden" <sholden@holdenweb.com>
To: "M.-A. Lemburg" <mal@egenix.com>, "Mike C. Fletcher" <mcfletch@rogers.com>
Cc: "egenix-users" <egenix-users@lists.egenix.com>
References: <3D6C50FF.7080505@rogers.com> <3D771F60.3040005@lemburg.com>
Subject: Re: [egenix-users] Anyone successfully compiled mxTextTools beta5 with MingW32?
Date: Thu, 5 Sep 2002 07:06:18 -0400
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4807.1700
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I can confirm that 2.1.0b5 compiles successfully builds and installs on my
Cygwin/Win2k platform - just downloaded the source from the link Marc-Andre
provided. Not sure what the problem is here, but I know that the original
difficulty was ironed out after we found that external symbol definitions
weren't making it through.

I'm not really a C/C++ guy myself, but M-A was a tremendous help.

regards
-----------------------------------------------------------------------
Steve Holden                                  http://www.holdenweb.com/
Python Web Programming                        pydish.holdenweb.com/pwp/
Previous .sig file retired to                    www.homeforoldsigs.com
-----------------------------------------------------------------------
----- Original Message -----
From: "M.-A. Lemburg" <mal@egenix.com>
To: "Mike C. Fletcher" <mcfletch@rogers.com>
Cc: "egenix-users" <egenix-users@lists.egenix.com>
Sent: Thursday, September 05, 2002 5:09 AM
Subject: Re: [egenix-users] Anyone successfully compiled mxTextTools beta5
with MingW32?


> Mike C. Fletcher wrote:
> > I've been poking at this problem for a while now, basically, my attempts
> > always fail with this error:
> >
> > c:\bin\cygwin\bin\gcc.exe -mno-cygwin -mdll -static -s
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxtexttool
s.o
> > build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxbmse.o
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTool
s.def
> > -LC:\bin\lang\py22\libs -L/lib -lpython22 -o
> > build\lib.win32-2.2\mx\TextTools\mxTextTools\mxTextTools.pyd
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.te
xt+0x1b74):mxte.c:
> > undefined reference to `_imp__mxTagTable_Type'
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.te
xt+0x1bf0):mxte.c:
> > undefined reference to `_imp__mxTagTable_Type'
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.te
xt+0x2fb4):mxte.c:
> > undefined reference to `_imp__mxTagTable_Type'
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxte.o(.te
xt+0x3030):mxte.c:
> > undefined reference to `_imp__mxTagTable_Type'
> > collect2: ld returned 1 exit status
> > error: command 'gcc' failed with exit status 1
> >
> > Which, is just about what VC++6 also complains about as well:
> >    Creating library
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTool
s.lib
> > and object
> >
build\temp.win32-2.2\Release\mx\TextTools\mxTextTools\mxTextTools\mxTextTool
s.exp
> >
> > LINK : warning LNK4049: locally defined symbol "_mxTagTable_Type"
imported
>
> Is this the latest beta you are testing here ?
>
>
http://lists.egenix.com/mailman-archives/egenix-users/2002-August/000078.htm
l
>
> It should be compatible to CYGWIN since Steve Holden has done a lot
> of testing on that platform.
>
> > Now, if I understand this problem correctly, the __declspec( dllexport )
> > stuff that's defined in mxTextTools.h and mxh.h for mxTagTable_Type is
> > somehow making mxTagTable_Type wind up mangled as if it were a
> > dll-loaded function within mxte.c instead of a locally-defined but
> > exported one?  VC++ seems able to work about it, but not MingW32.
> >
> > I'm not really a C/C++ guy, so I'm not sure what the _solution_ to the
> > problem would be.  All discussions I can find on the web about it seem
> > to assume it's such an obvious fix that there's no point describing it
> > :o/ .
> >
> > Any suggestions welcome,
> > Mike
> > _______________________________________
> >   Mike C. Fletcher
> >   Designer, VR Plumber, Coder
> >   http://members.rogers.com/mcfletch/
> >
> >
> >
> > _______________________________________________________________________
> > eGenix.com User Mailing List                     http://www.egenix.com/
> > http://lists.egenix.com/mailman/listinfo/egenix-users
>
> --
> Marc-Andre Lemburg
> CEO eGenix.com Software GmbH
> _______________________________________________________________________
> eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
> Python Consulting:                               http://www.egenix.com/
> Python Software:                    http://www.egenix.com/files/python/
>
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users
>
>



From mcfletch@rogers.com Thu Sep  5 15:46:39 2002
Received: from fep01-mail.bloor.is.net.cable.rogers.com (fep01-mail.bloor.is.net.cable.rogers.com [66.185.86.71])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g85DkcD13144
	for <egenix-users@lists.egenix.com>; Thu, 5 Sep 2002 15:46:38 +0200
Received: from rogers.com ([24.43.65.252])
          by fep01-mail.bloor.is.net.cable.rogers.com
          (InterMail vM.5.01.05.06 201-253-122-126-106-20020509) with ESMTP
          id <20020905134623.RQPX4814.fep01-mail.bloor.is.net.cable.rogers.com@rogers.com>;
          Thu, 5 Sep 2002 09:46:23 -0400
Message-ID: <3D776024.7030800@rogers.com>
Date: Thu, 05 Sep 2002 09:46:12 -0400
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@egenix.com>
CC: egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] Anyone successfully compiled mxTextTools beta5
 with MingW32?
References: <3D6C50FF.7080505@rogers.com> <3D771F60.3040005@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep01-mail.bloor.is.net.cable.rogers.com from [24.43.65.252] using ID <mcfletch@rogers.com> at Thu, 5 Sep 2002 09:46:23 -0400
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

The package does compile w/out problem for the _Cygwin port of Python_, 
but what I'm trying to do is to compile it with the Mingw32 extensions 
to GCC so that the resulting binaries can be used with the "regular" 
ActiveState/PythonLabs distributions (compiled with VC++).

I've asked Steve to confirm whether he's got the Mingw32 or the Cygwin 
version working, but given my tests here, I'm assuming he was working on 
the pure-Cygwin version, not the Mingw32 version (or that I'm missing 
something about something :) ).

Oh, it's the latest beta-5, no alterations, just unzipping and running 
setup.py

Have fun all,
Mike

M.-A. Lemburg wrote:
> Mike C. Fletcher wrote:
> 
>> I've been poking at this problem for a while now, basically, my 
>> attempts always fail with this error:
>>
>> c:\bin\cygwin\bin\gcc.exe -mno-cygwin -mdll -static -s 
...
>> undefined reference to `_imp__mxTagTable_Type'
>> collect2: ld returned 1 exit status
>> error: command 'gcc' failed with exit status 1
...
> Is this the latest beta you are testing here ?
> 
> http://lists.egenix.com/mailman-archives/egenix-users/2002-August/000078.html 
> 
> 
> It should be compatible to CYGWIN since Steve Holden has done a lot
> of testing on that platform.
> 
>> Now, if I understand this problem correctly, the __declspec( dllexport 
>> ) stuff that's defined in mxTextTools.h and mxh.h for mxTagTable_Type 
>> is somehow making mxTagTable_Type wind up mangled as if it were a 
>> dll-loaded function within mxte.c instead of a locally-defined but 
>> exported one?  VC++ seems able to work about it, but not MingW32.
>>
>> I'm not really a C/C++ guy, so I'm not sure what the _solution_ to the 
>> problem would be.  All discussions I can find on the web about it seem 
>> to assume it's such an obvious fix that there's no point describing it 
>> :o/ .
>>
>> Any suggestions welcome,
>> Mike
...


From mal@lemburg.com Thu Sep  5 19:02:58 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g85H2sD14553;
	Thu, 5 Sep 2002 19:02:58 +0200
Message-ID: <3D778E4B.4010704@lemburg.com>
Date: Thu, 05 Sep 2002 19:03:07 +0200
From: "M.-A. Lemburg" <mal@egenix.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "Mike C. Fletcher" <mcfletch@rogers.com>
CC: "M.-A. Lemburg" <mal@egenix.com>,
   egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] Anyone successfully compiled mxTextTools beta5
 with MingW32?
References: <3D6C50FF.7080505@rogers.com> <3D771F60.3040005@lemburg.com> <3D776024.7030800@rogers.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Mike C. Fletcher wrote:
> The package does compile w/out problem for the _Cygwin port of Python_, 
> but what I'm trying to do is to compile it with the Mingw32 extensions 
> to GCC so that the resulting binaries can be used with the "regular" 
> ActiveState/PythonLabs distributions (compiled with VC++).

I'm pretty sure that he used CYGWIN all the way.

Why would you want to build using MinGW32 ? eGenix.com provides
the binaries you need as installers for Windows.

> I've asked Steve to confirm whether he's got the Mingw32 or the Cygwin 
> version working, but given my tests here, I'm assuming he was working on 
> the pure-Cygwin version, not the Mingw32 version (or that I'm missing 
> something about something :) ).
> 
> Oh, it's the latest beta-5, no alterations, just unzipping and running 
> setup.py
> 
> Have fun all,
> Mike
> 
> M.-A. Lemburg wrote:
> 
>> Mike C. Fletcher wrote:
>>
>>> I've been poking at this problem for a while now, basically, my 
>>> attempts always fail with this error:
>>>
>>> c:\bin\cygwin\bin\gcc.exe -mno-cygwin -mdll -static -s 
>>
> ...
> 
>>> undefined reference to `_imp__mxTagTable_Type'
>>> collect2: ld returned 1 exit status
>>> error: command 'gcc' failed with exit status 1
>>
> ...
> 
>> Is this the latest beta you are testing here ?
>>
>> http://lists.egenix.com/mailman-archives/egenix-users/2002-August/000078.html 
>>
>>
>> It should be compatible to CYGWIN since Steve Holden has done a lot
>> of testing on that platform.
>>
>>> Now, if I understand this problem correctly, the __declspec( 
>>> dllexport ) stuff that's defined in mxTextTools.h and mxh.h for 
>>> mxTagTable_Type is somehow making mxTagTable_Type wind up mangled as 
>>> if it were a dll-loaded function within mxte.c instead of a 
>>> locally-defined but exported one?  VC++ seems able to work about it, 
>>> but not MingW32.
>>>
>>> I'm not really a C/C++ guy, so I'm not sure what the _solution_ to 
>>> the problem would be.  All discussions I can find on the web about it 
>>> seem to assume it's such an obvious fix that there's no point 
>>> describing it :o/ .
>>>
>>> Any suggestions welcome,
>>> Mike
>>
> ...
> 
> 
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mcfletch@rogers.com Thu Sep  5 19:25:34 2002
Received: from fep03-mail.bloor.is.net.cable.rogers.com ([66.185.86.73])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g85HPXD14702
	for <egenix-users@lists.egenix.com>; Thu, 5 Sep 2002 19:25:33 +0200
Received: from rogers.com ([24.43.65.252])
          by fep03-mail.bloor.is.net.cable.rogers.com
          (InterMail vM.5.01.05.06 201-253-122-126-106-20020509) with ESMTP
          id <20020905172433.EFBZ383482.fep03-mail.bloor.is.net.cable.rogers.com@rogers.com>;
          Thu, 5 Sep 2002 13:24:33 -0400
Message-ID: <3D779345.9030509@rogers.com>
Date: Thu, 05 Sep 2002 13:24:21 -0400
From: "Mike C. Fletcher" <mcfletch@rogers.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@egenix.com>
CC: egenix-users <egenix-users@lists.egenix.com>
Subject: Re: [egenix-users] Anyone successfully compiled mxTextTools beta5
 with MingW32?
References: <3D6C50FF.7080505@rogers.com> <3D771F60.3040005@lemburg.com> <3D776024.7030800@rogers.com> <3D778E4B.4010704@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep03-mail.bloor.is.net.cable.rogers.com from [24.43.65.252] using ID <mcfletch@rogers.com> at Thu, 5 Sep 2002 13:24:33 -0400
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Well, sure, but not for the non-recursive rewrite (which I eventually 
want to build for people, I'm just starting with the unmodifed package 
to isolate any potential problems from my modifications).  Using Mingw32 
would let me build and distribute binaries of the non-recursive version 
for use with SimpleParse.

No other major conspiracies in the wing,
Mike

M.-A. Lemburg wrote:
> Mike C. Fletcher wrote:
...
> I'm pretty sure that he used CYGWIN all the way.
> 
> Why would you want to build using MinGW32 ? eGenix.com provides
> the binaries you need as installers for Windows.
...


From sholden@holdenweb.com Fri Sep  6 01:29:44 2002
Received: from mail8.atl.registeredsite.com (mail8.atl.registeredsite.com [64.224.219.82])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g85NThw18184;
	Fri, 6 Sep 2002 01:29:44 +0200
Received: from mail.holdenweb.com (mail.holdenweb.com [64.224.159.178])
	by mail8.atl.registeredsite.com (8.12.2/8.12.5) with ESMTP id g85NTe9V024270;
	Thu, 5 Sep 2002 19:29:41 -0400
Received: from COMPUTER [64.224.159.178] by mail.holdenweb.com
  (SMTPD32-6.06) id A8DF3CE40136; Thu, 05 Sep 2002 19:29:35 -0400
Message-ID: <01c301c25533$65650ed0$6300000a@holdenweb.com>
From: "Steve Holden" <sholden@holdenweb.com>
To: "Mike C. Fletcher" <mcfletch@rogers.com>, "M.-A. Lemburg" <mal@egenix.com>
Cc: "egenix-users" <egenix-users@lists.egenix.com>
References: <3D6C50FF.7080505@rogers.com> <3D771F60.3040005@lemburg.com> <3D776024.7030800@rogers.com> <3D778E4B.4010704@lemburg.com> <3D779345.9030509@rogers.com>
Subject: Re: [egenix-users] Anyone successfully compiled mxTextTools beta5 with MingW32?
Date: Thu, 5 Sep 2002 19:24:33 -0400
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4807.1700
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

[Mike C. Fletcher]=
> Well, sure, but not for the non-recursive rewrite (which I eventually
> want to build for people, I'm just starting with the unmodifed package
> to isolate any potential problems from my modifications).  Using Mingw32
> would let me build and distribute binaries of the non-recursive version
> for use with SimpleParse.
>
> No other major conspiracies in the wing,
> Mike
>
> M.-A. Lemburg wrote:
> > Mike C. Fletcher wrote:
> ...
> > I'm pretty sure that he used CYGWIN all the way.
> >
> > Why would you want to build using MinGW32 ? eGenix.com provides
> > the binaries you need as installers for Windows.
> ...

Just wanted to confirm that I did indeed only use pure Cygwin.

I know that someone recently (maybe in the last three months) has managed to
compile Python using MingW32 (maybe it was you? :-)

I presume that you are interested in using MingW32 to avoid the need to
purchase VC++ or similar. Good luck!

regards
-----------------------------------------------------------------------
Steve Holden                                  http://www.holdenweb.com/
Python Web Programming                        pydish.holdenweb.com/pwp/
Previous .sig file retired to                    www.homeforoldsigs.com
-----------------------------------------------------------------------



From nthomas@cise.ufl.edu Tue Sep 10 09:29:26 2002
Received: from mail.cise.ufl.edu (beach.cise.ufl.edu [128.227.205.211])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8A7TQw25162
	for <egenix-users@lists.egenix.com>; Tue, 10 Sep 2002 09:29:26 +0200
Received: from shine.cise.ufl.edu (shine.cise.ufl.edu [128.227.205.20])
	by mail.cise.ufl.edu (Postfix) with ESMTP id 4926B6B13
	for <egenix-users@lists.egenix.com>; Tue, 10 Sep 2002 03:29:25 -0400 (EDT)
Received: (from nthomas@localhost) by shine.cise.ufl.edu (8.9.1a/8.9.1) id DAA02130 for egenix-users@lists.egenix.com; Tue, 10 Sep 2002 03:29:23 -0400 (EDT)
Date: Tue, 10 Sep 2002 03:29:23 -0400
From: "N. Thomas" <nthomas@cise.ufl.edu>
To: egenix-users@lists.egenix.com
Message-ID: <20020910072923.GA2087@cise.ufl.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.3.28i
Subject: [egenix-users] DateTime bus error on Solaris
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I am using egenix-mx-base-2.0.3, Python 2.1.1 on a Sun Sparc machine running
Solaris 8 (SunOS 5.8).

When I run any program that uses DateTime (or indeed, any module that calls
it) I get the following error:

    $ python foo.py
    zsh: bus error  python foo.py

In fact, any program with the line

    from mx.DateTime import *

or 

    import mx.DateTime

causes this to happen. Has anyone else experienced this problem?

thanks,
thomas

P.S. Proxy, Tools, and TextTools all seem to work okay.

-- 
N. Thomas
nthomas@cise.ufl.edu
Etiamsi occiderit me, in ipso sperabo

From nthomas@cise.ufl.edu Tue Sep 10 10:00:49 2002
Received: from mail.cise.ufl.edu (beach.cise.ufl.edu [128.227.205.211])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8A80iw25375
	for <egenix-users@lists.egenix.com>; Tue, 10 Sep 2002 10:00:45 +0200
Received: from shine.cise.ufl.edu (shine.cise.ufl.edu [128.227.205.20])
	by mail.cise.ufl.edu (Postfix) with ESMTP id 6FF1A6C23
	for <egenix-users@lists.egenix.com>; Tue, 10 Sep 2002 03:59:30 -0400 (EDT)
Received: (from nthomas@localhost) by shine.cise.ufl.edu (8.9.1a/8.9.1) id DAA03719 for egenix-users@lists.egenix.com; Tue, 10 Sep 2002 03:59:28 -0400 (EDT)
Date: Tue, 10 Sep 2002 03:59:28 -0400
From: "N. Thomas" <nthomas@cise.ufl.edu>
To: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] DateTime bus error on Solaris
Message-ID: <20020910075928.GA3494@cise.ufl.edu>
References: <20020910072923.GA2087@cise.ufl.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20020910072923.GA2087@cise.ufl.edu>
User-Agent: Mutt/1.3.28i
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

* N. Thomas <nthomas@cise.ufl.edu> [2002-09-10 03:29:23 -0400]:
> I am using egenix-mx-base-2.0.3, Python 2.1.1 on a Sun Sparc machine
> running Solaris 8 (SunOS 5.8).
> 
> When I run any program that uses DateTime (or indeed, any module that
> calls it) I get the following error:
> 
>     $ python foo.py
>     zsh: bus error  python foo.py

A bit of digging on Google tells me that it might possibly be a problem with
byte alignment on Sparc. I would like to check this, and pass the
"-mno-unaligned-doubles" flag to gcc when it compiles, how can I do this?

-- 
N. Thomas
nthomas@cise.ufl.edu
Etiamsi occiderit me, in ipso sperabo

From dnaber@t-online.de Thu Sep 12 03:04:41 2002
Received: from mailout05.sul.t-online.com (mailout05.sul.t-online.com [194.25.134.82])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8C14fw09540
	for <egenix-users@lists.egenix.com>; Thu, 12 Sep 2002 03:04:41 +0200
Received: from fwd04.sul.t-online.de 
	by mailout05.sul.t-online.com with smtp 
	id 17pIPH-0003wo-00; Thu, 12 Sep 2002 03:04:31 +0200
Received: from pluto.gt.owl.de (320035630613-0001@[217.225.47.73]) by fmrl04.sul.t-online.com
	with esmtp id 17pIP6-1DF4iGC; Thu, 12 Sep 2002 03:04:20 +0200
Received: from localhost (localhost [[UNIX: localhost]])
	by pluto.gt.owl.de (8.11.3/8.11.3/SuSE Linux 8.11.1-0.5) id g8C11BW07790
	for egenix-users@lists.egenix.com; Thu, 12 Sep 2002 03:01:11 +0200
From: Daniel Naber <daniel.naber@t-online.de>
To: egenix-users@lists.egenix.com
Date: Thu, 12 Sep 2002 03:01:11 +0200
User-Agent: KMail/1.4.7
MIME-Version: 1.0
Content-Disposition: inline
Content-Type: text/plain;
  charset="us-ascii"
Message-Id: <200209120301.11205@danielnaber.de>
X-Sender: 320035630613-0001@t-dialin.net
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by www.egenix.com id g8C14fw09540
Subject: [egenix-users] BeeDict memory usage
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi,

I'm using BeeDict (egenix-mx-base-2.1.0b2) with the following code:

self.table = BeeDict(self.db_name, min_recordsize=0, readonly=0, \
	recover=0, autocommit=1, validate=0)

self.table is then used to save quite some (nested) data, i.e. lists and 
dictionaries. This works well, but there's one problem: too much memory is 
used when adding data. I had hoped that "on-disk" means something like: 
save the data to disk if there's a flush() or commit() call so that the 
data doesn't take up memory. I tried that, but it doesn't help (actually 
commit()ing after adding a certain amount of data will leave the index 
incomplete in the end).

Does anybody have an idea how to save memory when adding data?

Regards
 Daniel

-- 
http://www.danielnaber.de

From mal@lemburg.com Mon Sep 16 12:53:47 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8GArbw16873;
	Mon, 16 Sep 2002 12:53:47 +0200
Message-ID: <3D85B83E.5040306@lemburg.com>
Date: Mon, 16 Sep 2002 12:53:50 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Daniel Naber <daniel.naber@t-online.de>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] BeeDict memory usage
References: <200209120301.11205@danielnaber.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Daniel Naber wrote:
> Hi,
> 
> I'm using BeeDict (egenix-mx-base-2.1.0b2) with the following code:
> 
> self.table = BeeDict(self.db_name, min_recordsize=0, readonly=0, \
> 	recover=0, autocommit=1, validate=0)
> 
> self.table is then used to save quite some (nested) data, i.e. lists and 
> dictionaries. This works well, but there's one problem: too much memory is 
> used when adding data. I had hoped that "on-disk" means something like: 
> save the data to disk if there's a flush() or commit() call so that the 
> data doesn't take up memory. I tried that, but it doesn't help (actually 
> commit()ing after adding a certain amount of data will leave the index 
> incomplete in the end).
> 
> Does anybody have an idea how to save memory when adding data?

BeeDicts keep an internal cache which could be the cause of the
memory footprint you are seeing. You can explicitly clear the
cache by calling .free_cache().

Perhaps it would be a good idea to have .flush() also free
the cache ?!

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From dnaber@t-online.de Mon Sep 16 16:14:02 2002
Received: from mailout10.sul.t-online.com (mailout10.sul.t-online.com [194.25.134.21])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8GEE2w18442
	for <egenix-users@lists.egenix.com>; Mon, 16 Sep 2002 16:14:02 +0200
Received: from fwd09.sul.t-online.de 
	by mailout10.sul.t-online.com with smtp 
	id 17qwdN-0000nh-06; Mon, 16 Sep 2002 16:13:53 +0200
Received: from pluto.gt.owl.de (320035630613-0001@[80.130.211.193]) by fmrl09.sul.t-online.com
	with esmtp id 17qwdD-0LvVnUC; Mon, 16 Sep 2002 16:13:43 +0200
Received: from localhost (localhost [[UNIX: localhost]])
	by pluto.gt.owl.de (8.11.3/8.11.3/SuSE Linux 8.11.1-0.5) id g8GEEAX04064;
	Mon, 16 Sep 2002 16:14:10 +0200
From: Daniel Naber <daniel.naber@t-online.de>
To: "M.-A. Lemburg" <mal@lemburg.com>
Subject: Re: [egenix-users] BeeDict memory usage
Date: Mon, 16 Sep 2002 16:14:09 +0200
User-Agent: KMail/1.4.7
References: <200209120301.11205@danielnaber.de> <3D85B83E.5040306@lemburg.com>
In-Reply-To: <3D85B83E.5040306@lemburg.com>
Cc: egenix-users@lists.egenix.com
MIME-Version: 1.0
Content-Type: text/plain;
  charset="us-ascii"
Content-Disposition: inline
Message-Id: <200209161614.10077@danielnaber.de>
X-Sender: 320035630613-0001@t-dialin.net
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by www.egenix.com id g8GEE2w18442
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

On Monday 16 September 2002 12:53, you wrote:

> BeeDicts keep an internal cache which could be the cause of the
> memory footprint you are seeing. You can explicitly clear the
> cache by calling .free_cache().

This helps with the memory usage, but now I've got the same problem as 
before, when I called flush(): the generated index files are smaller and 
some information is missing. I'm trying to write a search engine, and the 
index that calls free_cache() on every 50th file gets less matches when 
searching (yes, the call to free_cache() is really the only difference in 
the program).

Regards
 Daniel

-- 
http://www.danielnaber.de

From mal@lemburg.com Mon Sep 16 17:52:45 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8GFqjw19134;
	Mon, 16 Sep 2002 17:52:45 +0200
Message-ID: <3D85FE5C.2010402@lemburg.com>
Date: Mon, 16 Sep 2002 17:53:00 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Daniel Naber <daniel.naber@t-online.de>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] BeeDict memory usage
References: <200209120301.11205@danielnaber.de> <3D85B83E.5040306@lemburg.com> <200209161614.10077@danielnaber.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Daniel Naber wrote:
> On Monday 16 September 2002 12:53, you wrote:
> 
> 
>>BeeDicts keep an internal cache which could be the cause of the
>>memory footprint you are seeing. You can explicitly clear the
>>cache by calling .free_cache().
> 
> 
> This helps with the memory usage, but now I've got the same problem as 
> before, when I called flush(): the generated index files are smaller and 
> some information is missing. I'm trying to write a search engine, and the 
> index that calls free_cache() on every 50th file gets less matches when 
> searching (yes, the call to free_cache() is really the only difference in 
> the program).

That's strange indeed. Can you come up with a short demo which
displays the problem ?

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From dnaber@t-online.de Mon Sep 16 18:51:00 2002
Received: from mailout02.sul.t-online.com (mailout02.sul.t-online.com [194.25.134.17])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8GGp0w19655
	for <egenix-users@lists.egenix.com>; Mon, 16 Sep 2002 18:51:00 +0200
Received: from fwd09.sul.t-online.de 
	by mailout02.sul.t-online.com with smtp 
	id 17qz5H-0005YA-0D; Mon, 16 Sep 2002 18:50:51 +0200
Received: from pluto.gt.owl.de (320035630613-0001@[217.225.46.123]) by fmrl09.sul.t-online.com
	with esmtp id 17qz5B-2AfHySC; Mon, 16 Sep 2002 18:50:45 +0200
Received: from localhost (localhost [[UNIX: localhost]])
	by pluto.gt.owl.de (8.11.3/8.11.3/SuSE Linux 8.11.1-0.5) id g8GGose05997;
	Mon, 16 Sep 2002 18:50:54 +0200
From: Daniel Naber <daniel.naber@t-online.de>
To: "M.-A. Lemburg" <mal@lemburg.com>
Subject: Re: [egenix-users] BeeDict memory usage
Date: Mon, 16 Sep 2002 18:50:53 +0200
User-Agent: KMail/1.4.7
References: <200209120301.11205@danielnaber.de> <200209161614.10077@danielnaber.de> <3D85FE5C.2010402@lemburg.com>
In-Reply-To: <3D85FE5C.2010402@lemburg.com>
Cc: egenix-users@lists.egenix.com
MIME-Version: 1.0
Content-Type: Multipart/Mixed;
  boundary="Boundary-00=_tvgh9YWRd0Qjwlb"
Message-Id: <200209161850.53994@danielnaber.de>
X-Sender: 320035630613-0001@t-dialin.net
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

--Boundary-00=_tvgh9YWRd0Qjwlb
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On Monday 16 September 2002 17:53, you wrote:

> > index that calls free_cache() on every 50th file gets less matches
> > when searching (yes, the call to free_cache() is really the only
> > difference in the program).
>
> That's strange indeed. Can you come up with a short demo which
> displays the problem ?

Okay, this is not very short, as it seems you need a certain amount of data=
=20
to trigger the problem. Call this script like this:

=2E/FullText2.py /data/bigindex/test/ widget

The first parameter is a directory, the second one a search term. Then look=
=20
for "####" in the script and comment in the free_cache() call and run the=20
script again with the same parameters and you should get less matches when=
=20
free_cache is called, and the data files are also smaller. If it doesn't=20
work I can send you an archive of about 30 HTML files that let you=20
reproduce the problem .

Regards
 Daniel

=2D-=20
http://www.danielnaber.de

--Boundary-00=_tvgh9YWRd0Qjwlb
Content-Type: text/x-python;
  charset="us-ascii";
  name="FullText2.py"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="FullText2.py"

#!/usr/bin/python
# (C) Copyright 2002 Daniel Naber <daniel.naber@t-online.de>

import os
import re
import stat
import sys

from mx.BeeBase.BeeDict import BeeDict

class Indexer:

	def __init__(self, update):
		self.update = update
		self.sizecount = 0
		self.rec_count = 0
		return
	
	def start(self, directory, index_name):
		self.idx = FullTextIndex(index_name)
		self.idx.deleteData()
		self.idx.bindData()
		self.indexDirectories(directory)
		print "FILES = %d" % self.idx.count
		print "FILESIZES = %dkb" % (self.sizecount/1024)
		self.idx.commitData()

	def indexDirectories(self, directory):
		"Recursive."
		print "Entering %s..." % directory
		self.rec_count = self.rec_count + 1
		dir_content = os.listdir(directory)
		for filename in dir_content:
			filename = os.path.join(directory, filename)
			if os.path.isdir(filename):
				self.indexDirectories(filename)
			elif os.path.isfile(filename):
				filesize = os.stat(filename)[stat.ST_SIZE]
				self.sizecount = self.sizecount + filesize
				filesize = filesize/1024.0
				f = open(filename)
				contents = f.read()
				f.close()
				print "\t%d: adding   '%s' (%.1f kb)" % (self.idx.count, filename, filesize)
				self.idx.addDocument(self.idx.count, contents, filename)
			else:
				print "Ignoring %s (link?)" % filename
		self.rec_count = self.rec_count - 1
		return

class FullTextIndex:

	def __init__(self, db_name_prefix):
		self.db_name = db_name_prefix+"_terms_bee"
		self.table = {}		# the inverted index
		self.count = 0
		self.min_length = 3
		self.max_length = 15
		return

	def bindData(self):
		self.table = BeeDict(self.db_name, min_recordsize=0, readonly=0, \
			recover=0, autocommit=1, validate=0)

	def commitData(self):
		print >> sys.stderr, "Known words = %d" % len(self.table.keys())
		print >> sys.stderr, "Commiting results..."
		self.table.commit()
		print >> sys.stderr, "Closing results..."
		self.table.close()
		return

	def deleteData(self):
		try:
			print >> sys.stderr, "Deleting old data files..."
			os.remove(self.db_name + ".dat")
			os.remove(self.db_name + ".idx")
		except OSError:
			print >> sys.stderr, "Files not found..."
		return

	def addDocument(self, doc_id, text, filename="fixme_demo_only"):
		self.count = self.count + 1
		text = re.compile("<[^>]*>", re.DOTALL).sub("", text)
		text = re.compile("[^\w\d\s-]", re.DOTALL).sub("", text)
		terms = re.compile("\s+").split(text)
		term_pos = 0
		for term in terms:
			if len(term) < self.min_length:
				continue
			if len(term) > self.max_length:
				continue
			if self.table.has_key(term):
				#print "self.table.has_key(%s)" % term
				subtable = self.table[term]
				# save the position inside the doc, so we can later do
				# phrase and proximity search:
				if subtable.has_key(doc_id):
					subtable[doc_id].append(term_pos)
				else:
					subtable[doc_id] = [term_pos]
			else:
				#print "subtable[%s] = [%s]" % (doc_id, term_pos)
				subtable = {}
				subtable[doc_id] = [term_pos]
				self.table[term] = subtable
			term_pos = term_pos + 1

		# save memory: steps = 50 take twice as long for indexing (tested with /data/bigindex/doc)
		# but only used 30MB RAM instead of up to 90MB RAM!
		# fixme: doesn't work, index is not complete!!!
		steps = 10
		if doc_id % steps == 0:
			##### comment in/out:
			pass
			#print "Flush..."
			#self.table.free_cache()
			#####

	def searchTerm(self, term):
		"Returns list of Document IDs"
		if not self.table.has_key(term):
			return []
		else:
			l = []
			for key in self.table[term].keys():
				l.append(key)
			return l

def main():
	if len(sys.argv) != 3:
		print "Usage: FullText2.py <dir> <term>"
		return

	indexer = Indexer(update=0)
	indexer.start(directory=sys.argv[1], index_name="test_db/index")

	idx = FullTextIndex("test_db/index")
	idx.bindData()
	matches = idx.searchTerm(sys.argv[2])
	print "Matches: %d" % len(matches)
	print matches

main()

--Boundary-00=_tvgh9YWRd0Qjwlb--

From mal@lemburg.com Mon Sep 16 21:54:50 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8GJsow20898;
	Mon, 16 Sep 2002 21:54:50 +0200
Message-ID: <3D86371C.2030109@lemburg.com>
Date: Mon, 16 Sep 2002 21:55:08 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Daniel Naber <daniel.naber@t-online.de>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] BeeDict memory usage
References: <200209120301.11205@danielnaber.de> <200209161614.10077@danielnaber.de> <3D85FE5C.2010402@lemburg.com> <200209161850.53994@danielnaber.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Daniel Naber wrote:
> On Monday 16 September 2002 17:53, you wrote:
> 
> 
>>>index that calls free_cache() on every 50th file gets less matches
>>>when searching (yes, the call to free_cache() is really the only
>>>difference in the program).
>>
>>That's strange indeed. Can you come up with a short demo which
>>displays the problem ?
> 
> 
> Okay, this is not very short, as it seems you need a certain amount of data 
> to trigger the problem. Call this script like this:
> 
> ./FullText2.py /data/bigindex/test/ widget
> 
> The first parameter is a directory, the second one a search term. Then look 
> for "####" in the script and comment in the free_cache() call and run the 
> script again with the same parameters and you should get less matches when 
> free_cache is called, and the data files are also smaller. If it doesn't 
> work I can send you an archive of about 30 HTML files that let you 
> reproduce the problem .

Thanks for the script. I can reproduce the problem here, but
still don't understand what is causing it. The table index size
is the same in both cases, the file sizes differs.

This could relate to the way you store the data: using dictionaries
of lists as values in the BeeDict. I'll have to investigate this
some more.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From nthomas@cise.ufl.edu Tue Sep 17 04:11:33 2002
Received: from mail.cise.ufl.edu (beach.cise.ufl.edu [128.227.205.211])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8H2Aqw23937
	for <egenix-users@lists.egenix.com>; Tue, 17 Sep 2002 04:11:32 +0200
Received: from shine.cise.ufl.edu (shine.cise.ufl.edu [128.227.205.20])
	by mail.cise.ufl.edu (Postfix) with ESMTP id 8462C69AA
	for <egenix-users@lists.egenix.com>; Mon, 16 Sep 2002 22:10:07 -0400 (EDT)
Received: (from nthomas@localhost) by shine.cise.ufl.edu (8.9.1a/8.9.1) id WAA23062 for egenix-users@lists.egenix.com; Mon, 16 Sep 2002 22:10:07 -0400 (EDT)
Date: Mon, 16 Sep 2002 22:10:07 -0400
From: "N. Thomas" <nthomas@cise.ufl.edu>
To: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] DateTime bus error on Solaris
Message-ID: <20020917021007.GA23047@cise.ufl.edu>
References: <20020910072923.GA2087@cise.ufl.edu> <20020910075928.GA3494@cise.ufl.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20020910075928.GA3494@cise.ufl.edu>
User-Agent: Mutt/1.4i
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

* N. Thomas <nthomas@cise.ufl.edu> [2002-09-10 03:59:28 -0400]:
> > I am using egenix-mx-base-2.0.3, Python 2.1.1 on a Sun Sparc machine
> > running Solaris 8 (SunOS 5.8).
> > 
> > When I run any program that uses DateTime (or indeed, any module that
> > calls it) I get the following error:
> > 
> >     $ python foo.py
> >     zsh: bus error  python foo.py
> 
> A bit of digging on Google tells me that it might possibly be a problem
> with byte alignment on Sparc. I would like to check this, and pass the
> "-mno-unaligned-doubles" flag to gcc when it compiles, how can I do this?

This didn't seem to work. Anybody have any suggestions on how to debug this?

thanks,
thomas

-- 
N. Thomas
nthomas@cise.ufl.edu
Etiamsi occiderit me, in ipso sperabo

From nthomas@cise.ufl.edu Tue Sep 17 04:50:08 2002
Received: from mail.cise.ufl.edu ([128.227.205.211])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8H2ntw24225
	for <egenix-users@lists.egenix.com>; Tue, 17 Sep 2002 04:50:07 +0200
Received: from shine.cise.ufl.edu (shine.cise.ufl.edu [128.227.205.20])
	by mail.cise.ufl.edu (Postfix) with ESMTP id AB6DA6ACE
	for <egenix-users@lists.egenix.com>; Mon, 16 Sep 2002 22:49:14 -0400 (EDT)
Received: (from nthomas@localhost) by shine.cise.ufl.edu (8.9.1a/8.9.1) id WAA23461 for egenix-users@lists.egenix.com; Mon, 16 Sep 2002 22:49:14 -0400 (EDT)
Date: Mon, 16 Sep 2002 22:49:14 -0400
From: "N. Thomas" <nthomas@cise.ufl.edu>
To: egenix-users@lists.egenix.com
Message-ID: <20020917024914.GA23391@cise.ufl.edu>
References: <20020910072923.GA2087@cise.ufl.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20020910072923.GA2087@cise.ufl.edu>
User-Agent: Mutt/1.4i
Subject: [egenix-users] Re: DateTime bus error on Solaris
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

* N. Thomas <nthomas@cise.ufl.edu> [2002-09-10 03:29:23 -0400]:
> I am using egenix-mx-base-2.0.3, Python 2.1.1 on a Sun Sparc machine running
> Solaris 8 (SunOS 5.8).
> 
> When I run any program that uses DateTime (or indeed, any module that calls
> it) I get the following error:
> 
>     $ python foo.py
>     zsh: bus error  python foo.py

Thanks to a helpful python guru on #python, I was able to use gdb to track
down the cause of the crash, and shed some more light on the situation. Here
is the relevant info from gdb:

    Program received signal SIGSEGV, Segmentation fault.
    mxDateTime_New () at mx/DateTime/mxDateTime/mxDateTime.c:333
    333             _Py_NewReference(datetime);

I'm assuming _Py_NewReference() is part of Python and not mxDateTime. What
could be causing this?

thomas

-- 
N. Thomas
nthomas@cise.ufl.edu
Etiamsi occiderit me, in ipso sperabo



From mal@lemburg.com Tue Sep 17 10:59:34 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8H8xXw26540;
	Tue, 17 Sep 2002 10:59:34 +0200
Message-ID: <3D86EF01.8010300@lemburg.com>
Date: Tue, 17 Sep 2002 10:59:45 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "M.-A. Lemburg" <mal@lemburg.com>
CC: Daniel Naber <daniel.naber@t-online.de>, egenix-users@lists.egenix.com
Subject: Re: [egenix-users] BeeDict memory usage
References: <200209120301.11205@danielnaber.de> <200209161614.10077@danielnaber.de> <3D85FE5C.2010402@lemburg.com> <200209161850.53994@danielnaber.de> <3D86371C.2030109@lemburg.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

M.-A. Lemburg wrote:
> Daniel Naber wrote:
> 
>> On Monday 16 September 2002 17:53, you wrote:
>>
>>
>>>> index that calls free_cache() on every 50th file gets less matches
>>>> when searching (yes, the call to free_cache() is really the only
>>>> difference in the program).
>>>
>>>
>>> That's strange indeed. Can you come up with a short demo which
>>> displays the problem ?
>>
>>
>>
>> Okay, this is not very short, as it seems you need a certain amount of 
>> data to trigger the problem. Call this script like this:
>>
>> ./FullText2.py /data/bigindex/test/ widget
>>
>> The first parameter is a directory, the second one a search term. Then 
>> look for "####" in the script and comment in the free_cache() call and 
>> run the script again with the same parameters and you should get less 
>> matches when free_cache is called, and the data files are also 
>> smaller. If it doesn't work I can send you an archive of about 30 HTML 
>> files that let you reproduce the problem .
> 
> 
> Thanks for the script. I can reproduce the problem here, but
> still don't understand what is causing it. The table index size
> is the same in both cases, the file sizes differs.
> 
> This could relate to the way you store the data: using dictionaries
> of lists as values in the BeeDict. I'll have to investigate this
> some more.

Ok, I've tracked down the problem.

There are two things to watch out for:

1. When modifying mutable values in place you have to explicitly
    reassign the dictionary item after all modifications have taken
    place. This is necessary to mark the item as modified so that
    a subsequent .commit() can write it back to the on-disk version,
    e.g.
    # get value
    listvalue = d['key']
    # modify in place
    listvalue.append(1)
    # mark as modified
    d['key'] = listvalue

2. You should call .commit() before calling .free_cache() in order
    to free up more memory. .free_cache() will otherwise only remove
    items from the in-memory cache which have not been marked
    modified. Since you are mostly adding new items in your script,
    almost all entries are marked as modified, so the effect without
    .commit() is minimal.

In the egenix-mx-base 2.1 final release I'll add a new parameter
maxcachesize to BeeDicts which lets you tune the cache size
on a per-object basis.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From dnaber@t-online.de Tue Sep 17 17:06:07 2002
Received: from mailout03.sul.t-online.com (mailout03.sul.t-online.com [194.25.134.81])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8HF67w28910
	for <egenix-users@lists.egenix.com>; Tue, 17 Sep 2002 17:06:07 +0200
Received: from fwd00.sul.t-online.de 
	by mailout03.sul.t-online.com with smtp 
	id 17rJv3-00076p-02; Tue, 17 Sep 2002 17:05:41 +0200
Received: from pluto.gt.owl.de (320035630613-0001@[80.130.210.226]) by fmrl00.sul.t-online.com
	with esmtp id 17rJum-01yMlMC; Tue, 17 Sep 2002 17:05:24 +0200
Received: from localhost (localhost [[UNIX: localhost]])
	by pluto.gt.owl.de (8.11.3/8.11.3/SuSE Linux 8.11.1-0.5) id g8HF2sg09064;
	Tue, 17 Sep 2002 17:02:54 +0200
From: Daniel Naber <daniel.naber@t-online.de>
To: "M.-A. Lemburg" <mal@lemburg.com>
Subject: Re: [egenix-users] BeeDict memory usage
Date: Tue, 17 Sep 2002 17:02:54 +0200
User-Agent: KMail/1.4.7
References: <200209120301.11205@danielnaber.de> <3D86371C.2030109@lemburg.com> <3D86EF01.8010300@lemburg.com>
In-Reply-To: <3D86EF01.8010300@lemburg.com>
Cc: egenix-users@lists.egenix.com
MIME-Version: 1.0
Content-Type: text/plain;
  charset="us-ascii"
Content-Disposition: inline
Message-Id: <200209171702.54128@danielnaber.de>
X-Sender: 320035630613-0001@t-dialin.net
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by www.egenix.com id g8HF67w28910
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

On Tuesday 17 September 2002 10:59, you wrote:

> Ok, I've tracked down the problem.
>
> There are two things to watch out for:

That helps, thanks! Indexing now needs 25% of the memory it used to need, 
but it's also 4 times as slow - but this had to happen I guess. I wonder 
how search engines like htdig can have such a fast indexing. It's probably 
because they have somehow heavily optimized their data structures for 
full-text indexing.

Regards
 Daniel

-- 
http://www.danielnaber.de

From mal@lemburg.com Tue Sep 17 20:36:01 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8HIa1w30289;
	Tue, 17 Sep 2002 20:36:01 +0200
Message-ID: <3D877622.7010808@lemburg.com>
Date: Tue, 17 Sep 2002 20:36:18 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Daniel Naber <daniel.naber@t-online.de>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] BeeDict memory usage
References: <200209120301.11205@danielnaber.de> <3D86371C.2030109@lemburg.com> <3D86EF01.8010300@lemburg.com> <200209171702.54128@danielnaber.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Daniel Naber wrote:
> On Tuesday 17 September 2002 10:59, you wrote:
> 
> 
>>Ok, I've tracked down the problem.
>>
>>There are two things to watch out for:
> 
> 
> That helps, thanks! Indexing now needs 25% of the memory it used to need, 
> but it's also 4 times as slow - but this had to happen I guess. I wonder 
> how search engines like htdig can have such a fast indexing. It's probably 
> because they have somehow heavily optimized their data structures for 
> full-text indexing.

I think that the solution is to use a specialized key between
the on-disk dictionary and the indexer -- often used terms
should probably be kept in this cache and only written to disk
at the very end.

The fact that you can subclass the BeeDict class should help
with this: you can easily implement your own caching strategy,
e.g. for indexing you don't need .rollback transaction support,
so a priority queue driven cache strategy probably fits better.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Tue Sep 17 21:44:22 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8HJiMw30784;
	Tue, 17 Sep 2002 21:44:22 +0200
Message-ID: <3D878628.9030001@lemburg.com>
Date: Tue, 17 Sep 2002 21:44:40 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "N. Thomas" <nthomas@cise.ufl.edu>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Re: DateTime bus error on Solaris
References: <20020910072923.GA2087@cise.ufl.edu> <20020917024914.GA23391@cise.ufl.edu>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

N. Thomas wrote:
> * N. Thomas <nthomas@cise.ufl.edu> [2002-09-10 03:29:23 -0400]:
> 
>>I am using egenix-mx-base-2.0.3, Python 2.1.1 on a Sun Sparc machine running
>>Solaris 8 (SunOS 5.8).
>>
>>When I run any program that uses DateTime (or indeed, any module that calls
>>it) I get the following error:
>>
>>    $ python foo.py
>>    zsh: bus error  python foo.py
> 
> 
> Thanks to a helpful python guru on #python, I was able to use gdb to track
> down the cause of the crash, and shed some more light on the situation. Here
> is the relevant info from gdb:
> 
>     Program received signal SIGSEGV, Segmentation fault.
>     mxDateTime_New () at mx/DateTime/mxDateTime/mxDateTime.c:333
>     333             _Py_NewReference(datetime);
> 
> I'm assuming _Py_NewReference() is part of Python and not mxDateTime. What
> could be causing this?

This could have something to do with the free list used in mxDateTime.
Try compiling mxDateTime without free list support (edit mxDateTime.c
near the top and disable the two defines).

If that helps, you're set. The bus error sounds very much
like a compiler optimization bug to me. I've never heard of any
bug report related to _Py_NewReference().

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From nthomas@cise.ufl.edu Wed Sep 18 03:08:14 2002
Received: from mail.cise.ufl.edu (beach.cise.ufl.edu [128.227.205.211])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8I17lw01313
	for <egenix-users@lists.egenix.com>; Wed, 18 Sep 2002 03:08:14 +0200
Received: from shine.cise.ufl.edu (shine.cise.ufl.edu [128.227.205.20])
	by mail.cise.ufl.edu (Postfix) with ESMTP
	id 348626B13; Tue, 17 Sep 2002 21:07:09 -0400 (EDT)
Received: (from nthomas@localhost) by shine.cise.ufl.edu (8.9.1a/8.9.1) id VAA13523; Tue, 17 Sep 2002 21:07:08 -0400 (EDT)
Date: Tue, 17 Sep 2002 21:07:08 -0400
From: "N. Thomas" <nthomas@cise.ufl.edu>
To: "M.-A. Lemburg" <mal@lemburg.com>
Cc: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] Re: DateTime bus error on Solaris
Message-ID: <20020918010708.GA13197@cise.ufl.edu>
References: <20020910072923.GA2087@cise.ufl.edu> <20020917024914.GA23391@cise.ufl.edu> <3D878628.9030001@lemburg.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <3D878628.9030001@lemburg.com>
User-Agent: Mutt/1.4i
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

* M.-A. Lemburg <mal@lemburg.com> [2002-09-17 21:44:40 +0200]:
> >    Program received signal SIGSEGV, Segmentation fault.
> >    mxDateTime_New () at mx/DateTime/mxDateTime/mxDateTime.c:333
> >    333             _Py_NewReference(datetime);
> >
> 
> This could have something to do with the free list used in mxDateTime. Try
> compiling mxDateTime without free list support (edit mxDateTime.c near the
> top and disable the two defines).

Excellent! That worked! Thanks so much for your help!

thomas

-- 
N. Thomas
nthomas@cise.ufl.edu
Etiamsi occiderit me, in ipso sperabo

From yasusii@lowlife.jp Wed Sep 18 14:50:21 2002
Received: from st42.arena.ne.jp (st42.arena.ne.jp [210.150.209.2])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8ICoJw05476
	for <egenix-users@lists.egenix.com>; Wed, 18 Sep 2002 14:50:20 +0200
Received: (qmail 4429 invoked by uid 114); 18 Sep 2002 21:50:19 +0900
Received: from yasusii@lowlife.jp by st42.arena.ne.jp
	 by uid 111 with qmail-scanner-1.10 (sophie: 2.10/3.61. . Clear:0. Processed in 0.029331 secs); 18 Sep 2002 21:50:19 +0900
Received: from unknown (HELO localhost) (61.197.222.1)
  by lowlife.jp with SMTP; 18 Sep 2002 21:50:18 +0900
Date: Wed, 18 Sep 2002 21:48:08 +0900 (JST)
Message-Id: <20020918.214808.41630713.yasusii@lowlife.jp>
To: egenix-users@lists.egenix.com
From: Yasushi Iwata <yasusii@lowlife.jp>
X-Mailer: Mew version 2.2 on Emacs 21.2 / Mule 5.0 (SAKAKI)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] PROBLEM: mxCGIPython 0.5.0
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

I build mxCGIPython 0.5.0 binary with Python 2.2 on Red Hat Linux
7.3. It works well on the machine. But same binary displays warning
message like bellow on other machines running Red Hat 7.3.

  $ cat hello
  print 'Hello!'
  $ ./cgipython hello
  'import site' failed; use -v for traceback
  Hello!

Same problem is reported on FreeBSD and Solaris 8 at Python Japanese
users mailing list.


From mal@lemburg.com Thu Sep 19 10:55:28 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8J8svw13780;
	Thu, 19 Sep 2002 10:55:28 +0200
Message-ID: <3D8990EF.2020202@lemburg.com>
Date: Thu, 19 Sep 2002 10:55:11 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Yasushi Iwata <yasusii@lowlife.jp>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] PROBLEM: mxCGIPython 0.5.0
References: <20020918.214808.41630713.yasusii@lowlife.jp>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Yasushi Iwata wrote:
> I build mxCGIPython 0.5.0 binary with Python 2.2 on Red Hat Linux
> 7.3. It works well on the machine. But same binary displays warning
> message like bellow on other machines running Red Hat 7.3.
> 
>   $ cat hello
>   print 'Hello!'
>   $ ./cgipython hello
>   'import site' failed; use -v for traceback
>   Hello!
> 
> Same problem is reported on FreeBSD and Solaris 8 at Python Japanese
> users mailing list.

This could be caused by missing codecs. Please set the environment
variable PYTHONVERBOSE and rerun the script to see the traceback.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From yasusii@lowlife.jp Thu Sep 19 12:40:49 2002
Received: from st42.arena.ne.jp (st42.arena.ne.jp [210.150.209.2])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8JAemw14416
	for <egenix-users@lists.egenix.com>; Thu, 19 Sep 2002 12:40:49 +0200
Received: (qmail 2797 invoked by uid 114); 19 Sep 2002 19:40:44 +0900
Received: from yasusii@lowlife.jp by st42.arena.ne.jp
	 by uid 111 with qmail-scanner-1.10 (sophie: 2.10/3.61. . Clear:0. Processed in 0.031335 secs); 19 Sep 2002 19:40:44 +0900
Received: from unknown (HELO localhost) (61.197.222.1)
  by lowlife.jp with SMTP; 19 Sep 2002 19:40:44 +0900
Date: Thu, 19 Sep 2002 19:38:27 +0900 (JST)
Message-Id: <20020919.193827.71082838.yasusii@lowlife.jp>
To: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] PROBLEM: mxCGIPython 0.5.0
From: Yasushi Iwata <yasusii@lowlife.jp>
In-Reply-To: <3D8990EF.2020202@lemburg.com>
References: <20020918.214808.41630713.yasusii@lowlife.jp>
	<3D8990EF.2020202@lemburg.com>
X-Mailer: Mew version 2.2 on Emacs 21.2 / Mule 5.0 (SAKAKI)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

On Thu, 19 Sep 2002 10:55:11 +0200 you wrote:

> This could be caused by missing codecs. Please set the environment
> variable PYTHONVERBOSE and rerun the script to see the traceback.

The traceback is:

$ export PYTHONVERBOSE=x
$ ./cgipython hello
import site # frozen
import os # frozen
import posix # builtin
import posixpath # frozen
import stat # frozen
import UserDict # frozen
import copy_reg # frozen
import types # frozen
import __future__ # frozen
'import site' failed; traceback:
Traceback (most recent call last):
  File "/tmp/Python-2.2.1/Lib/site.py", line 95, in ?
IndexError: list index out of range
Python 2.2.1 (#1, Sep 18 2002, 20:42:17) 
[GCC 2.96 20000731 (Red Hat Linux 7.3 2.96-112)]
Copyright (c) 2001, 2002 Python Software Foundation.
All Rights Reserved.

Copyright (c) 2000 BeOpen.com.
All Rights Reserved.

Copyright (c) 1995-2001 Corporation for National Research Initiatives.
All Rights Reserved.

Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
All Rights Reserved.
import __main__ # frozen
Hello!

          -- SNIP --


From mal@lemburg.com Thu Sep 19 13:11:42 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8JBBgw14594;
	Thu, 19 Sep 2002 13:11:42 +0200
Message-ID: <3D89B0FC.9050700@lemburg.com>
Date: Thu, 19 Sep 2002 13:11:56 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Yasushi Iwata <yasusii@lowlife.jp>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] PROBLEM: mxCGIPython 0.5.0
References: <20020918.214808.41630713.yasusii@lowlife.jp>	<3D8990EF.2020202@lemburg.com> <20020919.193827.71082838.yasusii@lowlife.jp>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Yasushi Iwata wrote:
> On Thu, 19 Sep 2002 10:55:11 +0200 you wrote:
> 
> 
>>This could be caused by missing codecs. Please set the environment
>>variable PYTHONVERBOSE and rerun the script to see the traceback.
> 
> 
> The traceback is:
> 
> $ export PYTHONVERBOSE=x
> $ ./cgipython hello
> import site # frozen
> import os # frozen
> import posix # builtin
> import posixpath # frozen
> import stat # frozen
> import UserDict # frozen
> import copy_reg # frozen
> import types # frozen
> import __future__ # frozen
> 'import site' failed; traceback:
> Traceback (most recent call last):
>   File "/tmp/Python-2.2.1/Lib/site.py", line 95, in ?
> IndexError: list index out of range

Interesting. This is the line causing the problem:

# Append ./build/lib.<platform> in case we're running in the build dir
# (especially for Guido :-)
if os.name == "posix" and os.path.basename(sys.path[-1]) == "Modules":
     ...

Looks as if sys.path is empty at the time site.py is loaded.

I tried a similar setup (no PYTHONPATH set, no PYTHONHOME) on
Linux:

private/tmp> ./cgipython test
'import site' failed; use -v for traceback
Hello World!
['.']

with test:

import sys
print 'Hello World!'
print sys.path

The problem goes away if you define the environment variable
PYTHONPATH as empty.

I'd say this is a bug in site.py; I can't see how it can assume
that sys.path is always set. I've fixed this in Python CVS.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From jds@kc.rr.com Sat Sep 21 04:33:41 2002
Received: from mail3.kc.rr.com (fe3.rdc-kc.rr.com [24.94.163.50])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8L2XeQ05318
	for <egenix-users@lists.egenix.com>; Sat, 21 Sep 2002 04:33:41 +0200
Received: from DELL4100 ([216.87.44.54]) by mail3.kc.rr.com  with Microsoft SMTPSVC(5.5.1877.537.53);
	 Fri, 20 Sep 2002 21:29:52 -0500
Message-ID: <000e01c26117$59984a50$362c57d8@DELL4100>
From: "Joe" <jds@kc.rr.com>
To: <egenix-users@lists.egenix.com>
Date: Fri, 20 Sep 2002 21:34:02 -0500
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_000B_01C260ED.704FAA60"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Subject: [egenix-users] mx.ODBC.windows Transaction Problem
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

This is a multi-part message in MIME format.

------=_NextPart_000_000B_01C260ED.704FAA60
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hello everyone,

I am using the ODBC windows module to connect to a MSSQL 2000 server, =
everything works except manual-transaction mode. I set it to =
clear_auto_commit (default), so I can use .commit() and .rollback(), and =
I get the Error: Attribute Error: commit. The docs say this means the =
database doesn't support transactions but I know this isn't the case. I =
have a perl script using DBI::ODBC that is able to use transactions. Do =
I need to recompile the module with certain flags to allow the module to =
recognize that the DB supports transactions? Any light that could be =
shed on this problem would be appreciated! Here's a code snippet that =
throws the AttributeError:

import mx.ODBC.Windows

db =3D mx.ODBC.Windows.DriverConnect('DSN=3Dtest;uid=3Dxxx;pwd=3Dxxx')
cursor =3D db.cursor()
cursor.execute("update users set name=3D'bob' where users_pk =3D 15")
cursor.commit()
cursor.close
db.close


------=_NextPart_000_000B_01C260ED.704FAA60
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2716.2200" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Hello everyone,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>I am using the ODBC windows module to =
connect to a=20
MSSQL 2000 server, everything works except manual-transaction mode. I =
set it to=20
clear_auto_commit (default), so I can use .commit() and .rollback(), and =
I get=20
the Error: Attribute Error: commit. The docs say this means the database =
doesn't=20
support transactions but I know this isn't the case. I have a perl =
script using=20
DBI::ODBC that is able to use transactions. Do I need to recompile the =
module=20
with certain flags to allow the module to recognize that the DB supports =

transactions? Any light that could be shed on this problem would be =
appreciated!=20
Here's a code snippet that throws the AttributeError:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>import mx.ODBC.Windows</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>db =3D=20
mx.ODBC.Windows.DriverConnect('DSN=3Dtest;uid=3Dxxx;pwd=3Dxxx')<BR>cursor=
 =3D=20
db.cursor()</FONT></DIV><FONT face=3DArial=20
size=3D2>cursor.execute("update&nbsp;users set name=3D'bob' where =
users_pk =3D=20
15")<BR>cursor.commit()</FONT>
<DIV><FONT face=3DArial size=3D2>cursor.close<BR>db.close</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV></BODY></HTML>

------=_NextPart_000_000B_01C260ED.704FAA60--



From mal@lemburg.com Sat Sep 21 21:54:04 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8LJs3Q10945;
	Sat, 21 Sep 2002 21:54:04 +0200
Message-ID: <3D8CCE68.7020207@lemburg.com>
Date: Sat, 21 Sep 2002 21:54:16 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Joe <jds@kc.rr.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] mx.ODBC.windows Transaction Problem
References: <000e01c26117$59984a50$362c57d8@DELL4100>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Joe wrote:
> Hello everyone,
>  
> I am using the ODBC windows module to connect to a MSSQL 2000 server, 
> everything works except manual-transaction mode. I set it to 
> clear_auto_commit (default), so I can use .commit() and .rollback(), and 
> I get the Error: Attribute Error: commit. The docs say this means the 
> database doesn't support transactions but I know this isn't the case. I 
> have a perl script using DBI::ODBC that is able to use transactions. Do 
> I need to recompile the module with certain flags to allow the module to 
> recognize that the DB supports transactions? 

connection.commit() will always succeed -- even on connections which
don't support transactions. connection.rollback() will either
raise an AttributeError or NotSupportedError is the connection
does not support transactions.

 > Any light that could be
> shed on this problem would be appreciated! Here's a code snippet that 
> throws the AttributeError:
>  
> import mx.ODBC.Windows
>  
> db = mx.ODBC.Windows.DriverConnect('DSN=test;uid=xxx;pwd=xxx')
> cursor = db.cursor()
> cursor.execute("update users set name='bob' where users_pk = 15")
> cursor.commit()

.commit() is a method on the connection object, not the cursor.

When calling .commit on the connection you commit all work done
with all cursors currently working on the active transaction
and you implicitly start a new transaction (on all cursors still
possibly open on the connection).

> cursor.close
> db.close

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From marklists@mceahern.com Mon Sep 23 22:08:42 2002
Received: from mailhost.bcv1.ameritech.net (mailhost1-bcvloh.bcvloh.ameritech.net [66.73.20.42])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8NK8gQ29569
	for <egenix-users@lists.egenix.com>; Mon, 23 Sep 2002 22:08:42 +0200
Received: from LAPMARK ([64.108.128.240]) by mailhost.bcv1.ameritech.net
          (InterMail vM.4.01.02.17 201-229-119) with ESMTP
          id <20020923200842.TXKB12029.mailhost.bcv1.ameritech.net@LAPMARK>
          for <egenix-users@lists.egenix.com>;
          Mon, 23 Sep 2002 16:08:42 -0400
From: "Mark McEahern" <marklists@mceahern.com>
To: <egenix-users@lists.egenix.com>
Date: Mon, 23 Sep 2002 15:08:21 -0500
Message-ID: <JHEOKEOOLIGLDHCMAHMOOENDEAAA.marklists@mceahern.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0)
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Importance: Normal
Subject: [egenix-users] mxExperimental on cygwin
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi, here's a patch that allowed me to build and install mxExperimental on
cygwin.  I previously sent a message that is being held for moderator
approval detailing the error messages I was getting when trying to install.
I didn't do anything special when installing gmp on cygwin:  I used the
latest (4.1) and simply did './configure; make; make install'.

The patch:

Index: mxEXPERIMENTAL.py
===================================================================
RCS file: /home/cvs/ysi/contrib/mxExperimental/mxEXPERIMENTAL.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -c -r1.1 -r1.2
*** mxEXPERIMENTAL.py	19 Sep 2002 19:36:04 -0000	1.1
--- mxEXPERIMENTAL.py	23 Sep 2002 19:59:55 -0000	1.2
***************
*** 135,140 ****
--- 135,148 ----
                           libraries=['gmp31'],
                           library_dirs=['mx/Number/mxNumber/win32']),
              ]
+     elif sys.platform == 'cygwin':
+         ext_modules[len(ext_modules):] = [
+
+             mx_Extension('mx.Number.mxNumber.mxNumber',
+                          ['mx/Number/mxNumber/mxNumber.c'],
+                          include_dirs=['mx/Number/mxNumber'],
+                          libraries=['gmp']),
+             ]
      else:
          ext_modules[len(ext_modules):] = [



From mark@mceahern.com Mon Sep 23 20:55:49 2002
Received: from mailhost.bcv1.ameritech.net (mailhost1-bcvloh.bcvloh.ameritech.net [66.73.20.42])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8NItnQ29065
	for <egenix-users@lists.egenix.com>; Mon, 23 Sep 2002 20:55:49 +0200
Received: from LAPMARK ([64.108.128.240]) by mailhost.bcv1.ameritech.net
          (InterMail vM.4.01.02.17 201-229-119) with ESMTP
          id <20020923185546.SXVS12029.mailhost.bcv1.ameritech.net@LAPMARK>
          for <egenix-users@lists.egenix.com>;
          Mon, 23 Sep 2002 14:55:46 -0400
From: "Mark McEahern" <mark@mceahern.com>
To: <egenix-users@lists.egenix.com>
Date: Mon, 23 Sep 2002 13:55:27 -0500
Message-ID: <JHEOKEOOLIGLDHCMAHMOAEMLEAAA.mark@mceahern.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0)
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Importance: Normal
Subject: [egenix-users] mxExperimental on cygwin
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Hi, I'm trying to install mxExperimental in cygwin.  I've attached the full
output (stdout and stderr) from:

  python setup.py install

below.

I first installed gmp on cygwin (configure; make; make install) and that
seemed to work fine.  I can compile and run the example.c program from gmp's
install docs.  I have the gmp libraries in /usr/local/lib:

  $ ls -l /usr/local/lib
  total 2538
  -rw-r--r--    1 mark     None      2597856 Sep 19 15:32 libgmp.a
  -rw-r--r--    1 mark     None          645 Sep 19 15:32 libgmp.la

I'm not sure whether the reason the setup.py is failing is because it can't
find libgmp, but it looks like that.  How do I tell mxExperimental's
setup.py that libgmp is in /usr/local/lib, assuming that's the problem (and
solution)?

Thanks,

// mark

running install
running build
running build_py
creating build
creating build/lib.cygwin-1.3.12-i686-2.2
creating build/lib.cygwin-1.3.12-i686-2.2/mx
copying mx/__init__.py -> build/lib.cygwin-1.3.12-i686-2.2/mx
creating build/lib.cygwin-1.3.12-i686-2.2/mx/Number
copying mx/Number/LazyModule.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/Number
copying mx/Number/Number.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/Number
copying mx/Number/__init__.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/Number
creating build/lib.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber
copying mx/Number/mxNumber/test.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber
copying mx/Number/mxNumber/__init__.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber
creating build/lib.cygwin-1.3.12-i686-2.2/mx/Tidy
copying mx/Tidy/Tidy.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/Tidy
copying mx/Tidy/__init__.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/Tidy
creating build/lib.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy
copying mx/Tidy/mxTidy/test.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy
copying mx/Tidy/mxTidy/testWalter.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy
copying mx/Tidy/mxTidy/__init__.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy
creating build/lib.cygwin-1.3.12-i686-2.2/mx/URL
copying mx/URL/LazyModule.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/URL
copying mx/URL/Listing.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/URL
copying mx/URL/URL.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/URL
copying mx/URL/__init__.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/URL
creating build/lib.cygwin-1.3.12-i686-2.2/mx/URL/mxURL
copying mx/URL/mxURL/test.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/URL/mxURL
copying mx/URL/mxURL/__init__.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/URL/mxURL
creating build/lib.cygwin-1.3.12-i686-2.2/mx/UID
copying mx/UID/UID.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/UID
copying mx/UID/__init__.py -> build/lib.cygwin-1.3.12-i686-2.2/mx/UID
creating build/lib.cygwin-1.3.12-i686-2.2/mx/UID/mxUID
copying mx/UID/mxUID/test.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/UID/mxUID
copying mx/UID/mxUID/__init__.py ->
build/lib.cygwin-1.3.12-i686-2.2/mx/UID/mxUID
running build_clib
building 'libtidy' library
creating build/temp.cygwin-1.3.12-i686-2.2
creating build/temp.cygwin-1.3.12-i686-2.2/libtidy
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/attrs.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/attrs.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/attrs.c:9:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/clean.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/clean.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/clean.c:47:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/config.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/config.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/config.c:17:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/entities.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/entities.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/entities.c:10:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/istack.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/istack.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/istack.c:10:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/lexer.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/lexer.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/lexer.c:34:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/localize.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/localize.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/localize.c:13:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/parser.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/parser.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/parser.c:10:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/pprint.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/pprint.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/pprint.c:13:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/tags.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/tags.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/tags.c:14:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -DCOMPILING_TI
DY=1 -Imx/Tidy/mxTidy/libtidy -c mx/Tidy/mxTidy/libtidy/tidy.c -o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/tidy.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/libtidy/tidy.c:70:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
ar -cr build/temp.cygwin-1.3.12-i686-2.2/liblibtidy.a
build/temp.cygwin-1.3.12-i686-2.2/libtidy/attrs.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/clean.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/config.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/entities.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/istack.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/lexer.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/localize.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/parser.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/pprint.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/tags.o
build/temp.cygwin-1.3.12-i686-2.2/libtidy/tidy.o
running mx_autoconf
macros to define: []
macros to undefine: []
running build_ext
building 'mx.Tidy.mxTidy.mxTidy' extension
creating build/temp.cygwin-1.3.12-i686-2.2/mx
creating build/temp.cygwin-1.3.12-i686-2.2/mx/Tidy
creating build/temp.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy
creating build/temp.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy/mxTidy
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -Imx/Tidy/mxTi
dy -Imx/Tidy/mxTidy/libtidy -I/usr/include/python2.2 -c
mx/Tidy/mxTidy/mxTidy.c -o
build/temp.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy/mxTidy/mxTidy.o
In file included from mx/Tidy/mxTidy/libtidy/htmltidy.h:12,
                 from mx/Tidy/mxTidy/mxTidy.c:27:
mx/Tidy/mxTidy/libtidy/platform.h:99: warning: redefinition of `uint'
/usr/include/sys/types.h:65: warning: `uint' previously declared here
gcc -shared -Wl,--enable-auto-image-base
build/temp.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy/mxTidy/mxTidy.o -Lmx/Tidy/m
xTidy/libtidy -L/usr/lib/python2.2/config -Lbuild/temp.cygwin-1.3.12-i686-2.
2 -llibtidy -lpython2.2 -llibtidy -o
build/lib.cygwin-1.3.12-i686-2.2/mx/Tidy/mxTidy/mxTidy.dll
building 'mx.URL.mxURL.mxURL' extension
creating build/temp.cygwin-1.3.12-i686-2.2/mx/URL
creating build/temp.cygwin-1.3.12-i686-2.2/mx/URL/mxURL
creating build/temp.cygwin-1.3.12-i686-2.2/mx/URL/mxURL/mxURL
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -Imx/URL/mxURL
 -I/usr/include/python2.2 -c mx/URL/mxURL/mxURL.c -o
build/temp.cygwin-1.3.12-i686-2.2/mx/URL/mxURL/mxURL/mxURL.o
gcc -shared -Wl,--enable-auto-image-base
build/temp.cygwin-1.3.12-i686-2.2/mx/URL/mxURL/mxURL/mxURL.o -L/usr/lib/pyth
on2.2/config -Lbuild/temp.cygwin-1.3.12-i686-2.2 -lpython2.2 -llibtidy -o
build/lib.cygwin-1.3.12-i686-2.2/mx/URL/mxURL/mxURL.dll
building 'mx.UID.mxUID.mxUID' extension
creating build/temp.cygwin-1.3.12-i686-2.2/mx/UID
creating build/temp.cygwin-1.3.12-i686-2.2/mx/UID/mxUID
creating build/temp.cygwin-1.3.12-i686-2.2/mx/UID/mxUID/mxUID
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -Imx/UID/mxUID
 -I/usr/include/python2.2 -c mx/UID/mxUID/mxUID.c -o
build/temp.cygwin-1.3.12-i686-2.2/mx/UID/mxUID/mxUID/mxUID.o
gcc -shared -Wl,--enable-auto-image-base
build/temp.cygwin-1.3.12-i686-2.2/mx/UID/mxUID/mxUID/mxUID.o -L/usr/lib/pyth
on2.2/config -Lbuild/temp.cygwin-1.3.12-i686-2.2 -lpython2.2 -llibtidy -o
build/lib.cygwin-1.3.12-i686-2.2/mx/UID/mxUID/mxUID.dll
building 'mx.Number.mxNumber.mxNumber' extension
creating build/temp.cygwin-1.3.12-i686-2.2/mx/Number
creating build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber
creating build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -Imx/Number/mx
Number -I/usr/include/python2.2 -c mx/Number/mxNumber/mxNumber.c -o
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o
mx/Number/mxNumber/mxNumber.c: In function `mxInteger_Getattr':
mx/Number/mxNumber/mxNumber.c:632: warning: label `onError' defined but not
used
mx/Number/mxNumber/mxNumber.c: In function `mxRational_FromLong':
mx/Number/mxNumber/mxNumber.c:1712: warning: label `onError' defined but not
used
mx/Number/mxNumber/mxNumber.c: In function `_mxRational_FromFloat':
mx/Number/mxNumber/mxNumber.c:1958: warning: label `onError' defined but not
used
mx/Number/mxNumber/mxNumber.c: In function `mxRational_FromTwoObjects':
mx/Number/mxNumber/mxNumber.c:2295: warning: label `onError' defined but not
used
mx/Number/mxNumber/mxNumber.c: In function `mxRational_Getattr':
mx/Number/mxNumber/mxNumber.c:2530: warning: label `onError' defined but not
used
mx/Number/mxNumber/mxNumber.c: In function `mxFloat_New':
mx/Number/mxNumber/mxNumber.c:3139: warning: label `onError' defined but not
used
mx/Number/mxNumber/mxNumber.c: In function `mxFloat_Getattr':
mx/Number/mxNumber/mxNumber.c:3598: warning: label `onError' defined but not
used
gcc -shared -Wl,--enable-auto-image-base
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o -L/
usr/lib/python2.2/config -Lbuild/temp.cygwin-1.3.12-i686-2.2 -lpython2.2 -ll
ibtidy -o build/lib.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber.dll
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_FromString':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:399
: undefined reference to `__gmpz_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:282
: undefined reference to `__gmpz_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_FromPyLong':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:435
: undefined reference to `__gmpz_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:282
: undefined reference to `__gmpz_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_FromObject':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:320
: undefined reference to `__gmpz_set_si'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:333
: undefined reference to `__gmpz_set_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Compare':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:690
: undefined reference to `__gmpz_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:725
: undefined reference to `__gmpz_cmp'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Hash':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:562
: undefined reference to `__gmpz_get_str'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Add':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:942
: undefined reference to `__gmpz_add'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Subtract':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:943
: undefined reference to `__gmpz_sub'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Multiply':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:944
: undefined reference to `__gmpz_mul'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Divide':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:945
: undefined reference to `__gmpz_tdiv_q'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Negative':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Negative':
/usr/local/include/gmp.h:1598: undefined reference to `__gmpz_set'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Absolute':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Absolute':
/usr/local/include/gmp.h:1503: undefined reference to `__gmpz_set'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Invert':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:948
: undefined reference to `__gmpz_com'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_And':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:949
: undefined reference to `__gmpz_and'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Or':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:950
: undefined reference to `__gmpz_ior'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Remainder':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:951
: undefined reference to `__gmpz_tdiv_r'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Divmod':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:952
: undefined reference to `__gmpz_tdiv_qr'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Xor':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:976
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:977
: undefined reference to `__gmpz_ior'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:980
: undefined reference to `__gmpz_and'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:983
: undefined reference to `__gmpz_com'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:985
: undefined reference to `__gmpz_and'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:988
: undefined reference to `__gmpz_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Power':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:103
3: undefined reference to `__gmpz_pow_ui'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:104
2: undefined reference to `__gmpz_powm'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_root':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:115
9: undefined reference to `__gmpz_root'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_gcd':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:126
1: undefined reference to `__gmpz_gcd'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_lcm':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:128
8: undefined reference to `__gmpz_lcm'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_jacobi':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:131
5: undefined reference to `__gmpz_jacobi'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_legendre':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:134
0: undefined reference to `__gmpz_jacobi'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_factorial':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:137
1: undefined reference to `__gmpz_fac_ui'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_hamdist':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:144
9: undefined reference to `__gmpz_hamdist'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `farey_rational':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:178
8: undefined reference to `__gmpf_get_prec'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:178
8: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:178
9: undefined reference to `__gmpf_neg'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:179
4: undefined reference to `__gmpf_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:180
7: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:180
8: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:180
9: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:181
0: undefined reference to `__gmpf_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:181
1: undefined reference to `__gmpf_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:181
4: undefined reference to `__gmpq_set_si'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:181
5: undefined reference to `__gmpq_set_si'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:182
2: undefined reference to `__gmpq_set_num'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:182
3: undefined reference to `__gmpz_add'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:182
4: undefined reference to `__gmpq_set_den'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:182
5: undefined reference to `__gmpz_add'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:183
6: undefined reference to `__gmpf_set'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:183
7: undefined reference to `__gmpf_set_z'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:183
8: undefined reference to `__gmpf_mul'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:184
1: undefined reference to `__gmpf_set_z'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:184
4: undefined reference to `__gmpf_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:184
6: undefined reference to `__gmpz_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:185
3: undefined reference to `__gmpz_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:185
7: undefined reference to `__gmpz_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:186
0: undefined reference to `__gmpq_set'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:186
4: undefined reference to `__gmpz_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:186
8: undefined reference to `__gmpq_set'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:187
3: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:187
4: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:187
5: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:187
6: undefined reference to `__gmpf_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:187
7: undefined reference to `__gmpf_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:188
0: undefined reference to `__gmpq_canonicalize'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_FromFareyApprox':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:190
5: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:190
9: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:191
3: undefined reference to `__gmpq_set'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:191
4: undefined reference to `__gmpq_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_FromFloat':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:193
8: undefined reference to `__gmpf_get_prec'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:194
1: undefined reference to `__gmpf_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:194
2: undefined reference to `__gmpf_set'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:194
3: undefined reference to `__gmpf_mul_2exp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:194
4: undefined reference to `__gmpf_trunc'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:194
5: undefined reference to `__gmpz_set_f'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:194
6: undefined reference to `__gmpf_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:194
9: undefined reference to `__gmpz_set_ui'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:195
0: undefined reference to `__gmpz_mul_2exp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:195
3: undefined reference to `__gmpq_canonicalize'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_FromString':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:201
0: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:201
5: undefined reference to `__gmpz_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:165
2: undefined reference to `__gmpq_set_z'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:202
9: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:203
0: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:204
4: undefined reference to `__gmpz_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:204
6: undefined reference to `__gmpz_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
6: undefined reference to `__gmpq_set_num'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
7: undefined reference to `__gmpq_set_den'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
8: undefined reference to `__gmpq_canonicalize'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:205
2: undefined reference to `__gmpz_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:205
3: undefined reference to `__gmpz_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:205
7: undefined reference to `__gmpz_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:205
8: undefined reference to `__gmpz_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:206
6: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:206
7: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:206
8: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:206
9: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:207
0: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:209
2: undefined reference to `__gmpz_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:209
4: undefined reference to `__gmpq_set_z'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:209
6: undefined reference to `__gmpz_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:209
8: undefined reference to `__gmpz_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:210
2: undefined reference to `__gmpq_set_num'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:210
3: undefined reference to `__gmpq_set_den'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:210
4: undefined reference to `__gmpq_canonicalize'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:210
6: undefined reference to `__gmpq_add'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:210
8: undefined reference to `__gmpq_sub'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:163
9: undefined reference to `__gmpq_set'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:211
1: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:211
2: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:211
3: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:211
4: undefined reference to `__gmpz_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:211
5: undefined reference to `__gmpz_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:211
9: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:212
0: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:212
1: undefined reference to `__gmpq_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:212
2: undefined reference to `__gmpz_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:212
3: undefined reference to `__gmpz_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_FromObject':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:170
7: undefined reference to `__gmpq_set_si'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:172
4: undefined reference to `__gmpq_set_d'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:165
2: undefined reference to `__gmpq_set_z'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_FromTwoIntegers':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
6: undefined reference to `__gmpq_set_num'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
7: undefined reference to `__gmpq_set_den'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
8: undefined reference to `__gmpq_canonicalize'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
6: undefined reference to `__gmpq_set_num'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
7: undefined reference to `__gmpq_set_den'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
8: undefined reference to `__gmpq_canonicalize'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_FromTwoObjects':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:168
9: undefined reference to `__gmpq_set_si'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:169
0: undefined reference to `__gmpq_canonicalize'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
6: undefined reference to `__gmpq_set_num'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
7: undefined reference to `__gmpq_set_den'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:166
8: undefined reference to `__gmpq_canonicalize'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_AsStringObject':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:237
3: undefined reference to `__gmpz_sizeinbase'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:237
3: undefined reference to `__gmpz_sizeinbase'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:238
2: undefined reference to `__gmpz_get_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:239
1: undefined reference to `__gmpz_get_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:240
6: undefined reference to `__gmpq_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Getattr':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:307
: undefined reference to `__gmpz_set'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:307
: undefined reference to `__gmpz_set'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Compare':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:258
8: undefined reference to `__gmpq_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:262
3: undefined reference to `__gmpq_cmp'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Add':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:283
6: undefined reference to `__gmpq_add'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Subtract':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:283
7: undefined reference to `__gmpq_sub'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Multiply':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:283
8: undefined reference to `__gmpq_mul'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Divide':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:283
9: undefined reference to `__gmpq_div'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Negative':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:160
1: undefined reference to `__gmpq_init'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Negative':
/usr/local/include/gmp.h:1674: undefined reference to `__gmpq_set'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_FromString':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:327
3: undefined reference to `__gmpf_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:314
9: undefined reference to `__gmpf_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_FromPyLong':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:330
6: undefined reference to `__gmpf_set_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:314
9: undefined reference to `__gmpf_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_FromObject':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:320
0: undefined reference to `__gmpf_set_si'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:321
3: undefined reference to `__gmpf_set_d'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:325
2: undefined reference to `__gmpf_set_q'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_AsStringObject':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:342
2: undefined reference to `__gmpf_get_str'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:347
5: undefined reference to `__gmpf_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Getattr':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:358
8: undefined reference to `__gmpf_get_prec'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Compare':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:364
0: undefined reference to `__gmpf_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:365
3: undefined reference to `__gmpf_cmp'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Add':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:384
6: undefined reference to `__gmpf_add'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Subtract':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:384
7: undefined reference to `__gmpf_sub'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Multiply':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:384
8: undefined reference to `__gmpf_mul'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Divide':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:384
9: undefined reference to `__gmpf_div'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Negative':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:385
0: undefined reference to `__gmpf_neg'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Absolute':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:313
3: undefined reference to `__gmpf_init2'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:385
1: undefined reference to `__gmpf_abs'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxNumber_AsPyFloat':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:523
: undefined reference to `__gmpz_get_d'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:234
2: undefined reference to `__gmpq_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `initmxNumber':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:452
2: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:452
3: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:452
4: undefined reference to `__gmpz_set_si'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:452
5: undefined reference to `__gmpz_set_si'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Free':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:282
: undefined reference to `__gmpz_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_AsPyLong':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:562
: undefined reference to `__gmpz_get_str'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_AsPyFloat':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:523
: undefined reference to `__gmpz_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_AsPyInt':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:505
: undefined reference to `__gmpz_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:505
: undefined reference to `__gmpz_cmp'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:510
: undefined reference to `__gmpz_get_si'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Str':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:537
: undefined reference to `__gmpz_get_str'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_Repr':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:537
: undefined reference to `__gmpz_get_str'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_sqrt':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:113
3: undefined reference to `__gmpz_sqrt'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_has_root':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:118
3: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:118
4: undefined reference to `__gmpz_root'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:118
7: undefined reference to `__gmpz_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_is_perfect_power':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:120
1: undefined reference to `__gmpz_perfect_power_p'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_is_perfect_square':
/usr/local/include/gmp.h:1614: undefined reference to
`__gmpn_perfect_square_p'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_prime':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:123
6: undefined reference to `__gmpz_probab_prime_p'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_over':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:139
7: undefined reference to `__gmpz_bin_ui'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxInteger_popcount':
/usr/local/include/gmp.h:1630: undefined reference to `__gmpn_popcount'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Free':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:161
4: undefined reference to `__gmpq_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_AsPyFloat':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:234
2: undefined reference to `__gmpq_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxRational_Hash':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:234
2: undefined reference to `__gmpq_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Free':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:314
9: undefined reference to `__gmpf_clear'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_AsPyFloat':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:339
1: undefined reference to `__gmpf_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_AsPyInt':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:337
2: undefined reference to `__gmpf_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxFloat_Hash':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:339
1: undefined reference to `__gmpf_get_d'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxNumber_Factorial':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:438
3: undefined reference to `__gmpz_fac_ui'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxNumber_Binomial':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:440
9: undefined reference to `__gmpz_bin_uiui'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxNumber_Fibonacci':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:269
: undefined reference to `__gmpz_init'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:443
5: undefined reference to `__gmpz_fib_ui'
build/temp.cygwin-1.3.12-i686-2.2/mx/Number/mxNumber/mxNumber/mxNumber.o: In
function `mxNumberModule_Cleanup':
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:450
1: undefined reference to `__gmpz_clear'
/home/mark/proj/ysi/contrib/mxExperimental/mx/Number/mxNumber/mxNumber.c:450
2: undefined reference to `__gmpz_clear'
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1


From mal@lemburg.com Tue Sep 24 09:55:34 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8O7tOQ02372;
	Tue, 24 Sep 2002 09:55:34 +0200
Message-ID: <3D901A7A.8090305@lemburg.com>
Date: Tue, 24 Sep 2002 09:55:38 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Mark McEahern <mark@mceahern.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] mxExperimental on cygwin
References: <JHEOKEOOLIGLDHCMAHMOAEMLEAAA.mark@mceahern.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Mark McEahern wrote:
> Hi, I'm trying to install mxExperimental in cygwin.  I've attached the full
> output (stdout and stderr) from:
> 
>   python setup.py install
> 
> below.
> 
> I first installed gmp on cygwin (configure; make; make install) and that
> seemed to work fine.  I can compile and run the example.c program from gmp's
> install docs.  I have the gmp libraries in /usr/local/lib:
> 
>   $ ls -l /usr/local/lib
>   total 2538
>   -rw-r--r--    1 mark     None      2597856 Sep 19 15:32 libgmp.a
>   -rw-r--r--    1 mark     None          645 Sep 19 15:32 libgmp.la
> 
> I'm not sure whether the reason the setup.py is failing is because it can't
> find libgmp, but it looks like that.  How do I tell mxExperimental's
> setup.py that libgmp is in /usr/local/lib, assuming that's the problem (and
> solution)?

First: are you using the beta1 of egenix-mx-experimental ?
If not, please try that version first. setup.py should look in
/usr/local/lib per default, so no special options are needed.

Makes me think: I should probably ship a new beta of that
package...

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mark@mceahern.com Tue Sep 24 15:11:59 2002
Received: from mceahern.com (maxmail002.maximumasp.com [216.26.162.8])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8ODBmQ04516
	for <egenix-users@lists.egenix.com>; Tue, 24 Sep 2002 15:11:59 +0200
Received: from LAPMARK [64.108.128.240] by mceahern.com with ESMTP
  (SMTPD32-7.12) id A46F508008A; Tue, 24 Sep 2002 09:11:11 -0400
From: "Mark McEahern" <mark@mceahern.com>
To: "M.-A. Lemburg" <mal@lemburg.com>
Cc: <egenix-users@lists.egenix.com>
Subject: RE: [egenix-users] mxExperimental on cygwin
Date: Tue, 24 Sep 2002 08:11:00 -0500
Message-ID: <JHEOKEOOLIGLDHCMAHMOGEAJEBAA.mark@mceahern.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0)
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Importance: Normal
In-Reply-To: <3D901A7A.8090305@lemburg.com>
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

[M.-A. Lemburg]
> First: are you using the beta1 of egenix-mx-experimental ?
> If not, please try that version first. setup.py should look in
> /usr/local/lib per default, so no special options are needed.
>
> Makes me think: I should probably ship a new beta of that
> package...

I'm sorry, I should have specified what version I was using in my original
email.  I'm using this version:

  http://www.egenix.com/files/python/egenix-mx-experimental-0.6.0.tar.gz

Is that what you're referring to as beta1?  I assume you saw the patch I
posted to mxEXPERIMENTAL.py where the distutils package is defined.  I was
able to install it successfully on cygwin simply by explicitly specifying
the library:


http://lists.egenix.com/mailman-archives/egenix-users/2002-September/000126.
html

Of course, I'm not a master at using either gcc or distutils, so there may
be an obvious reason why my patch is braindead.

I really appreciate this package.  In particular I'm using mxTidy and it
works dandy.  Thanks!

Cheers,

// mark

-


From mal@lemburg.com Tue Sep 24 15:57:25 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8ODvOQ04837;
	Tue, 24 Sep 2002 15:57:24 +0200
Message-ID: <3D906F56.6010701@lemburg.com>
Date: Tue, 24 Sep 2002 15:57:42 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Mark McEahern <mark@mceahern.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] mxExperimental on cygwin
References: <JHEOKEOOLIGLDHCMAHMOGEAJEBAA.mark@mceahern.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Mark McEahern wrote:
> [M.-A. Lemburg]
> 
>>First: are you using the beta1 of egenix-mx-experimental ?
>>If not, please try that version first. setup.py should look in
>>/usr/local/lib per default, so no special options are needed.
>>
>>Makes me think: I should probably ship a new beta of that
>>package...
> 
> 
> I'm sorry, I should have specified what version I was using in my original
> email.  I'm using this version:
> 
>   http://www.egenix.com/files/python/egenix-mx-experimental-0.6.0.tar.gz

This is the latest beta:

    http://www.egenix.com/files/python/egenix-mx-experimental-0.7.0b1.tar.gz

> Is that what you're referring to as beta1?  I assume you saw the patch I
> posted to mxEXPERIMENTAL.py where the distutils package is defined.  I was
> able to install it successfully on cygwin simply by explicitly specifying
> the library:
> 
> 
> http://lists.egenix.com/mailman-archives/egenix-users/2002-September/000126.
> html
 >
> Of course, I'm not a master at using either gcc or distutils, so there may
> be an obvious reason why my patch is braindead.

Not at all: the explicit mention is what was missing in 0.6.0 :-)

> I really appreciate this package.  In particular I'm using mxTidy and it
> works dandy.  Thanks!

You're welcome.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From marklists@mceahern.com Tue Sep 24 17:13:51 2002
Received: from mailhost.bcv2.ameritech.net (mailhost2-bcvloh.bcvloh.ameritech.net [66.73.20.44])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8OFDjQ05490
	for <egenix-users@lists.egenix.com>; Tue, 24 Sep 2002 17:13:51 +0200
Received: from LAPMARK ([64.108.128.240]) by mailhost.bcv2.ameritech.net
          (InterMail vM.4.01.02.17 201-229-119) with SMTP
          id <20020924151330.HEII339.mailhost.bcv2.ameritech.net@LAPMARK>
          for <egenix-users@lists.egenix.com>;
          Tue, 24 Sep 2002 11:13:30 -0400
From: "Mark McEahern" <marklists@mceahern.com>
To: <egenix-users@lists.egenix.com>
Subject: RE: [egenix-users] mxExperimental on cygwin
Date: Tue, 24 Sep 2002 10:13:16 -0500
Message-ID: <JHEOKEOOLIGLDHCMAHMOKEBEEBAA.marklists@mceahern.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0)
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Importance: Normal
In-Reply-To: <3D906F56.6010701@lemburg.com>
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

[M.-A. Lemburg [mailto:mal@lemburg.com]]
>Not at all: the explicit mention is what was missing in 0.6.0 :-)

I think part of the reason I was unsure about the validity of my hack for
cygwin is that it was entirely unnecessary on Linux.  That is, without
explicitly mentioning gmp (by the way, is that pronounced "gimp"?) in the
libraries, it worked on Linux (RH 7.3), so no mods were necessary with
0.6.0.

Cheers,

// m


From mal@lemburg.com Tue Sep 24 17:23:37 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8OFNbQ05602;
	Tue, 24 Sep 2002 17:23:37 +0200
Message-ID: <3D90838B.8040609@lemburg.com>
Date: Tue, 24 Sep 2002 17:23:55 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Mark McEahern <marklists@mceahern.com>
CC: egenix-users@lists.egenix.com
Subject: Re: [egenix-users] mxExperimental on cygwin
References: <JHEOKEOOLIGLDHCMAHMOKEBEEBAA.marklists@mceahern.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

Mark McEahern wrote:
> [M.-A. Lemburg [mailto:mal@lemburg.com]]
> 
>>Not at all: the explicit mention is what was missing in 0.6.0 :-)
> 
> 
> I think part of the reason I was unsure about the validity of my hack for
> cygwin is that it was entirely unnecessary on Linux.  That is, without
> explicitly mentioning gmp (by the way, is that pronounced "gimp"?)

No, GIMP is a graphics tool.

 > in the
> libraries, it worked on Linux (RH 7.3), so no mods were necessary with
> 0.6.0.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/


From mal@lemburg.com Wed Sep 25 18:14:27 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8PGERQ15685;
	Wed, 25 Sep 2002 18:14:27 +0200
Message-ID: <3D91E0D2.3040702@lemburg.com>
Date: Wed, 25 Sep 2002 18:14:10 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] ANN: eGenix.com mx BASE Extension Package 2.0.4
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.egenix.com>
List-Subscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=subscribe>
List-Id: eGenix.com User Mailinglist <egenix-users.lists.egenix.com>
List-Unsubscribe: <http://lists.egenix.com/mailman/listinfo/egenix-users>,
	<mailto:egenix-users-request@lists.egenix.com?subject=unsubscribe>
List-Archive: <http://lists.egenix.com/mailman-archives/egenix-users/>

________________________________________________________________________

ANNOUNCING:

              eGenix.com mx BASE Extension Package for Python
                              Version 2.0.4

        Open Source Python extensions providing important and useful
                    services for Python programmers.


________________________________________________________________________

WHAT IS IT ?:

The eGenix.com mx BASE Extensions for Python are a collection of
professional quality software tools which enhance Python's usability
in many important areas such as fast text searching, date/time
processing and high speed datatypes.

Python is an object-oriented Open Source programming language which
runs on all modern platforms (http://www.python.org/). By integrating
ease-of-use, clarity in coding, enterprise application connectivity
and rapid application design, Python establishes an ideal programming
platform for todays IT challenges.

The tools have a proven record of being portable across many Unix and
Windows platforms. You can write applications which use the tools on
Windows and then run them on Unix platforms without change due to the
consistent platform independent interfaces.

All available packages have proven their stability and usefulness in
many mission critical applications and various commercial settings all
around the world.

________________________________________________________________________

WHAT'S NEW ?

The RPM packages were updated to install to /usr/ instead
of /usr/local/ to comply with the Linux Standard Base (LSB)
and to be compatible with the Python RPMs which are available
from python.org.

As always we are providing precompiled versions of the package for
Windows and Linux as well as sources which allow you to install the
package on all other supported platforms.

________________________________________________________________________

EGENIX.COM MX BASE PACKAGE OVERVIEW:

mxDateTime - Generic Date/Time Types

       mxDateTime is an extension package that provides three new object
       types, DateTime, DateTimeDelta and RelativeDateTime, which let
       you store and handle date/time values in a much more natural way
       than by using ticks (seconds since 1.1.70 0:00 UTC; the encoding
       used by the time module).

       You can add, subtract and even multiply instances, pickle and
       copy them and convert the results to strings, COM dates, ticks
       and some other more esoteric values. In addition, there are
       several convenient constructors and formatters at hand to greatly
       simplify dealing with dates and times in real-world applications.

       In addition to providing an easy-to-use Python interface the
       package also exports a comfortable C API interface for other
       extensions to build upon. This is especially interesting for
       database applications which often have to deal with date/time
       values (the mxODBC package is one example of an extension using
       this interface).

mxTextTools - Fast Text Processing Tools

       mxTextTools is an extension package for Python that provides
       several useful functions and types that implement
       high-performance text manipulation and searching algorithms in
       addition to a very flexible and extendable state machine, the
       Tagging Engine, that allows scanning and processing text based on
       low-level byte-code "programs" written using Python tuples. It
       gives you access to the speed of C without the need to do any
       compile and link steps every time you change the parsing
       description.

       Applications include parsing structured text, finding and
       extracting text (either exact or using translation tables) and
       recombining strings to form new text.

mxStack - Fast and Memory-Efficient Stack Type

       mxStack is an extension package that provides a new object type
       called Stack. It works much like what you would expect from such
       a type, having .push() and .pop() methods and focusses on
       obtaining maximum speed at low memory costs.

mxTools - Collection of Additional Builtins

       mxTools is an extension package that includes a collection of
       handy functions and objects giving additional functionality in
       form of new builtins to the Python programmer.

       The package auto-installs the new functions and objects as
       builtins upon first import. This means that they become
       instantely available to all other modules without any further
       action on your part. Add the line import NewBuiltins to your
       site.py script and they will be available to all users at your
       site as if they were installed in the Python interpreter itself.

mxProxy - Generic Proxy Wrapper Type

       mxProxy is an extension package that provides a new type that is
       suitable to implement Bastion like features without the need to
       use restricted execution environments.

       The type's main features are secure data encapsulation (the
       hidden objects are not accessible from Python since they are
       stored in internal C structures), customizable attribute lookup
       methods and a cleanup protocol that helps in breaking circular
       references prior to object deletion.

       The latest version adds a very interesting new feature: weak
       references which help you work with circular references in a way
       that doesn't cause memory leakage in a Python system. Note that
       even though Python 2.1+ has its own weak reference implemetation,
       this package can be used to write applications which also work on
       Python 1.5.2 and 2.0.

mxBeeBase - On-disk B+Tree Based Database Kit

       mxBeeBase is a high performance construction kit for disk based
       indexed databases. It offers components which you can plug
       together to easily build your own custom mid-sized databases (the
       current size limit is sizeof(long) which gives you an address
       range of around 2GB on 32-bit platforms).

       The two basic building blocks in mxBeeBase are storage and
       index. Storage is implemented as variable record length data
       storage with integrated data protection features, automatic data
       recovery and locking for multi process access. Indexes use a high
       performance optimized B+Tree implementation built on top of
       Thomas Niemann's Cookbook B+Tree implementation
       (http://epaperpress.com/).

________________________________________________________________________

WHERE CAN I GET IT ?

The download archives and instructions for installing the packages can
be found at:

       http://www.egenix.com/

________________________________________________________________________

WHAT DOES IT COST ?

The BASE package comes with a Python 2.0 style license, which means
that you can use it in both commercial and non-commercial settings
without fee or charge. The package comes with full source code.


________________________________________________________________________

WHERE CAN I GET SUPPORT ?

Commercial quality support for these packages is available from
eGenix.com Software GmbH. Please see

http://www.egenix.com/files/python/eGenix-mx-Extensions.html#Support

for details about the eGenix support offerings.

________________________________________________________________________


Enjoy,
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/





From mal@lemburg.com Wed Sep 25 18:14:27 2002
Received: from lemburg.com (www.egenix.com [217.115.138.139])
	by www.egenix.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id g8PGEQQ15680;
	Wed, 25 Sep 2002 18:14:26 +0200
Message-ID: <3D91E0C0.5060407@lemburg.com>
Date: Wed, 25 Sep 2002 18:13:52 +0200
From: "M.-A. Lemburg" <mal@lemburg.com>
Organization: eGenix.com Software GmbH
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1b) Gecko/20020722
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "eGenix.com User Mailinglist" <egenix-users@lists.egenix.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [egenix-users] ANN: eGenix.com mx EXPERIMENTAL Package 0.7.0
Sender: egenix-users-admin@lists.egenix.com
Errors-To: egenix-users-admin@lists.egenix.com
X-BeenThere: egenix-users@lists.egenix.com
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:egenix-users-request@lists.egenix.com?subject=help>
List-Post: <mailto:egenix-users@lists.
