hi there, folks:
I'd really like to release 0.7.0 but I would like it to be at least a
little bit tested before I do so. Could those of you with CVS trees check
everything out and see if it performs as advertised? Deeper bugs than
that will have to wait for the next release, but I'd at least like to know
if it works for someone other than me.
______ __ __ _____ _ _
| ____ | \_/ |_____] |_____|
|_____| |_____ | | | |
@ t w i s t e d m a t r i x . c o m
Attached is a short patch to add a --resource option to "mktap web",
here is the --help for it:
-r, --resource= <class> is the name (including module) of a subclass of
twisted.web.resource.Resource to publish.
So you can have any subclass of t.w.r.Resource be the 'root' of your
I have also been working on a few other things:
- an async Pytho-only PostgreSQL interface (not t.e.adbapi
compatible, since I am not usre I like it's interface and need
to play a bit before I figure out how I would like an async
SQL-database interface to behave.)
- a SQLResultWidget, very dull right now but I will probably hack
some BoboDTML support into it.
Sune Kirkeby | /* we're still looking for the end of the
| * server's header ... (does that make header
| * parsing an "out of body experience" ? */
| -- jcc.c in junkex source-code
Because the twisted.enterprise docs currently suck (i.e. I couldn't figure
it out without help :), I decided to write a small tutorial that should
hopefully explain things a bit better.
I've put a copy up at http://poetry.puzzling.org/twisted_db.html. I'd
appreciate any feedback anyone has, in particular:
* Have I stuffed up anything major?
* Is my terminology ok (e.g. "...dispatch queries to your ConnectionPool...")
* Am I demonstrating "best practice" use of twisted.enterprise, or should
I be structuring my code differently?
If someone wants to place this (or an edited version of it) on
twistedmatrix.com, or distribute it with Twisted, or both, they are welcome.
Glyph has set up a CafePress storefront -- now you too can be proudly
emblazoned with the Twisted Logo!
(I went ahead and paid the outrageous 2nd day air shipping to make sure
my shirt arrives before IPC 10...)
Excuse the forward, but this touches on some of the personal information
space considerations of Twisted. For additional illustration, may I
suggest adding a Bruce Sterling book of short stories to your reading
list, "A Good Old-Fashioned Future". In particular, the story "Maneki
Neko" illustrates a future application of portable machines and
Memex/Twisted/ReputationNetwork systems for distributed gift-culture
collectives. Like ours. :-)
Begin forwarded message:
> From: "David P. Reed" <dpreed(a)reed.com>
> Date: Thu Jan 31, 2002 12:20:41 PM US/Central
> To: rhodes(a)alum.mit.edu, "Thad E. Starner" <thad(a)cc.gatech.edu>
> Cc: wearables(a)cc.gatech.edu
> Subject: Re: [wearables] commercial survey - IEEE Pervasive Computing
> Though I'm still quite excited about the potential of self-contained
> general purpose wearables, I have to say that the capabilities of my
> Kyocera QCP6035 Smartphone, the Samsung palmphone and the upcoming Treo
> are impressively general, and because they can be augmented by
> intelligence on the Internet quite easily (having escaped the walled
> garden of WAP), they can be quite general purpose. Already they can do
> something quite cool - you can attach a small GPS receiver (Pharos) to
> them and get live location info that drives the navigation through
> geographic data on the Internet. There are no car-mount or portable
> GPS navigation systems that can access up-to-date maps and directions -
> they run off of internal data only.
> Thus the commercial world surrounding the Palm OS-based phones is
> actually poised ready to go beyond PIMs into new apps. The big limit
> is the bitrate on CDMA and GSM nets that is available (very low, so it
> pays to have local cache).
> The real problem inhibiting the market is the odd idea that what you
> want to do with a mobile device is the class of things you do sitting
> at a desk in your study or office. I don't want to browse the Web in
> general - or compose documents or read long Microsoft word attachments.
> But the Palm phones are plenty powerful enough to do cool things in
> conjunction with general purpose intelligence elsewhere.
> At 09:56 AM 1/31/2002 -0800, Bradley Rhodes wrote:
>> >Computer enthusiasts have been known to rewrite a MP3 player's
>> >interface software to allow the uploading and downloading of any
>> >type of data, effectively making the device into the equivalent
>> >of a large floppy disk. More recently, these devices are
>> >merging with PDAs and cellular phones to create a wide variety
>> >of available products. IDC expects sales of portable devices
>> >with digital audio playback capability to grow to 15 million
>> >units by 2005. In a sense, these devic
>> It's not just computer enthusiasts anymore. The iPod is both an
>> MP3 player or, at the flip of a switch, a firewire 5G hard
>> drive. A friend of mine uses it both to play music and to store
>> all her personal email, so she can read email at work without
>> tainting company disk with it.
>> You touched on the question of general-purpose, but I'd love to
>> see it addressed further. The average PC owner has a web browser,
>> email reader, full office suite and game machine all in one
>> box. Because of inherent interface constraints, the Palm Pilot is
>> only widely used for PIM applications: short memos, calendar,
>> phone and to-do lists. Wearables have even more interface
>> constraints than pen-based systems, which implies to me they'll
>> be even more task specific, at least until we get a bluetooth
>> equivalent that lets you have task-specific interfaces all
>> sharing one processor/memory/battery attached to the belt
>> Bradley Rhodes
>> Intelligence Augmentation | Software Agents | Wearable Computing
> - David
> WWW Page: http://www.reed.com/dpr.html
I recently upgraded to 0.14.0, but I'm still seeing Factory.startFactory()
being called twice when I start my server.
If I start my server with the following code (adapted from simpleserv.py):
app = Application('spam')
Then by using traceback.format_stack() in MyFactory.startFactory I can see
that it gets called twice, here:
File "F:\Python22\Lib\site-packages\twisted\internet\app.py", line 350, in run
File "F:\Python22\Lib\site-packages\twisted\internet\tcp.py", line 395, in startListening
File "F:\Python22\Lib\site-packages\twisted\internet\app.py", line 357, in run
I'm currently using
if not hasattr(self, 'once'):
self.once = 1
To workaround it, but it'd be nice to not need to do this.
The docs suggest that it will get called twice, "both after an application
has been unserialized and before all the ports begin accepting connections."
Which is fine, except that I'm not unserialising...
It's a minor glitch in an otherwise beautiful system :)
I've released a new version of PB for Java. The new version is required for
compatability with Twisted 0.14. The new version also adds support for using
and sending Copyables from Java, jellying instances (not that you'd want to
do this), and sending String objects over PB and Jelly.
You can download it from: http://itamarst.org/software/
I was wanting to use manhole to connect to a new pb service I am
creating (a contact manager), but I am getting a traceback when I try
to run manhole. Also, it dumps core if I don't have my $DISPLAY
variable set. :) Anyway, here is the traceback (latest CVS, etc.)
Traceback (most recent call last):
File "./manhole", line 57, in ?
from twisted.manhole.ui import gtkmanhole
File "/home/slt5v/data/projects/Twisted/twisted/manhole/ui/gtkmanhole.py", line 39, in ?
File "/home/slt5v/data/projects/Twisted/twisted/manhole/ui/spelunk_gnome.py", line 679, in ?
File "twisted/spread/flavors.py", line 68, in setCopierForClassTree
NameError: global name 'types' is not defined
This sounds interesting for us, since you could use it to have your .tap
always uptodate, instead of just saving on shutdown. and other
interesting uses. The correct day is actually Wednesday.
-------- Original Message --------
Subject: [ZODB-Dev] ANNOUNCE: Python 10 Birds of a Feather session on a
Python persistence framework
Date: Fri, 25 Jan 2002 19:12:39 -0500
From: Jim Fulton <jim(a)zope.com>
Organization: Zope Corporation
We plan to have a Birds of a Feather (BOF) session at the Python 10
Conference, http://python10.org, on a Python persistence framework.
The Zope object database, ZODB, includes frameworks
for persistence and transaction management. These frameworks
depend very little on the rest of ZODB and will be factored
out of ZODB and made into separate packages in the next generation
of ZODB, ZODB 4.
The ZODB persistence framework provides significant benefits to
- Objects are automatically loaded and stored. The programmer
doesn't have to keep tack of when objects have been
modified. The objects track modification and notify the
transaction manager of changes. The transaction manager
coordinates storing data. Data are loaded when needed, with
loads triggered by access from other objects.
- An object cache automates moving data out of memory when no
longer needed. A cache invalidation protocol helps to keep object
consistence across multiple applications or application
We would like to see these benefits made available for other
databases. We'd especially like to see a persistence framework
using relational databases, reusing object-relational mapping
efforts, such as MiddleKit and others.
We'd like to kick off an effort to design a persistence framework
to encompass ZODB, relational databases, and other persistence
The BOF will begin with a presentation of the ZODB Persistence
The time and location are TBD. Check the BOF schedule when you get to
Jim Fulton mailto:email@example.com Python Powered!
CTO (888) 344-4332 http://www.python.org
Zope Corporation http://www.zope.comhttp://www.zope.org
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev(a)zope.org