Good style for multi-valued returns

Aahz Maruch aahz at
Fri Apr 21 13:02:57 EDT 2000

In article <43E1059BD6C613C1.19161A8DC1C439F1.3E710DAA95C4F8D8 at>,
Cameron Laird <claird at> wrote:
>Particular thanks to the three people who've already gently written to
>remind me that what I really want in the complex-and-big case is to
>return an *object* (but why do you all call it a class?  To my ear, it
>truly sounds like a confusion to say, "class", rather than, "instance
>of a class").

Well, if I wanted to be technically accurate, I'd say "class object" or
"class instance", but I was being lazy and only wrote the first five
characters.  ;-)

>I think I still have special cases where I want to move dictionaries
>around, but I'm learning that their proper domain is much smaller than
>I used to believe.

Well, yeah.  For passing information around, dictionaries are
appropriate when the key/value linkage is external rather than an
artifact of your program logic -- basically using a dict as an in-memory
database.  In addition, I find dictionaries extremely useful for
managing % strings.

I think the use of dicts as a substitute for a class is a bit of a
Perlism.  Classes should be used any time you'd create a C struct.
                      --- Aahz (Copyright 2000 by aahz at

Androgynous poly kinky vanilla queer het    <*>
Hugs and backrubs -- I break Rule 6

Why is this newsgroup different from all other newsgroups?  --Aahz

Return-Path: <sabren at>
Delivered-To: python-list at
Received: from ( [])
	by (Postfix) with ESMTP id 418881CD1C
	for <python-list at>; Fri, 21 Apr 2000 03:26:42 -0400 (EDT)
Received: from localhost (sabren at localhost) by (8.9.1/8.6.12) with ESMTP id DAA13285; Fri, 21 Apr 2000 03:26:44 -0400 (EDT)
X-Envelope-To: python-list at
Date: Fri, 21 Apr 2000 03:26:43 -0400 (EDT)
From: "Michal Wallace (sabren)" <sabren at>
X-Sender: sabren at
To: Undisclosed.recipients: ;
Subject: help wanted:
Message-ID: <Pine.BSF.4.10.10004210259150.13031-100000 at>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: python-list-admin at
Errors-To: python-list-admin at
X-BeenThere: python-list at
X-Mailman-Version: 2.0beta3
Precedence: bulk
List-Id: General discussion list for the Python programming language <>

Hey all,

I'm looking for some volunteers to help with a, a
python-based website which monitors various weblogs (constantly
updated personal pages that link to sites on the net) and newsfeeds
and updates users when they've changed.

Linkwatcher is growing. What we want to do now is to build it into a
powerful reporting and monitoring tool for the weblog community. Later
on, it could even grow into a distributed system capable of indexing
and monitoring many thousands of pages and newsfeeds, and making all
of this data available in real time.

The system is free for everyone. There's no ads on the site, though we
may sell some premium services in the future.

Along the way, we're building some fairly powerful, open source
tools for python developers. Here's an outline of the challenges
we're looking to tackle:

-- core technologies --

* Generic web library for python - stuff like sessions,
  authentication, etc. I've been working on a port of the 
  PHP base classes to python, and have it working with a 
  MySQL database. It's about 80% usable.

* User, Node, and Content objects - these are objects that
  control user management and globs of text. User works with
  the authentication system above to let users sign up and becom
  members of the system .Node is for tree-like structures (eg, for
  categorizing blogs).. Content may or may not apply to linkwatcher
  proper, but I'm bundling it in with the others because I've
  been planning to wrap them in a set of objects which more or less
  competes with Manila. (codename 'zikebase' but I'm looking for
  a better name)

* linkwatcher objects - this is what I was talking about in
  the post the other day. the objects are (at least) Url, Blog,
  Channel, and History. They provide a high level interface to
  records in the MySQL database.

-- Once those are mostly working, the really fun stuff can start: --

* Favorites - allow users to pick the blogs and RDF channels
  they want to see.

* Collaborative Filtering - given the above, it should be possible
  to say "people who like the blogs you like also like..."

* Registration system - submit a blog to the list

* Administration system - approve and categorize blogs, administer channels, etc

* Better search engine - keep track of links on a page, so that we can
  see, for example "new links to" (vs permanent links
  to So, if Joe Blogger has a permanent link to, but
  sees something interesting on it and adds another link inside HIS blog,
  the new link will show up in the search engine.

* Custom channels - if you monitor keywords / links to your blog, why
  not just have the search results show up on your custom page?

* Scoop index - since we track all the links, we can do fun reports off 
  of them. what's the hottest link, who linked it first, etc, etc..

* Bloggerbot - blogger publishes an XML feed of all its pages, and when
  they were updated. This data ought to go into linkwatcher.

* Pitas / Groksoup / edithispage - work with these services so we can
  get updates for their pages, too... We'll only actually fetch pages
  for indexing if they are both updated AND on the list of blogs..

* Distribute the bot - this opens up a LOT of possibilities for making
  linkwatcher a more powerful search engine.

* Distribute the server ??????????? Hey, if napster and freenet can do
  this.. maybe there's some way we can do it too... I don't know if
  this is even possible.

* Blogger profiles - articles/pictures/etc about the people who run
  the blogs..

* Promote the site - get people using it, etc..

* Make it look pretty (and make it usable!) - UI, graphics, etc..

* channelbot - need a parser for RDF/RSS in python.. (there may already be
  one from the python xml-sig, but I don't think so)

* channelMAKERbot - turn html into rdf for people who don't have 
  xml generators but want headlines

The source code for everything we have so far is online at with cvs access available from

Anyway, we're looking for people. There's quite a few interested
people. Right now, most of that interest is from the weblog community
itself. We've got quite a few developers, but not many who know
python. I've made the offer to help any of them learn python, and
I'll extend the same offer to any python newbies around here who are
interested in helping out.

Anyone who's interested can email me (sabren at or
join the project's egroup:


- Michal

More information about the Python-list mailing list