All,

        I read a bunch of the code yesterday, after reading a few Python tutorials.
        I follow it so much more.

Well, I've spent the day hacking about.

I refactored GumpBase to be GumpXMLObject (so  I can use it for the gump
model plus xdocs) and I've broken things badly, & then fixed it a good few
times. Good lessons.

A few things:

1) I have no check-in permissions on gump, so I can't commit what I've done.
I've done a reasonably significant refactor (to move gump.GumpBase into
gump.xmlutils.GumpXMLObject and gump.model.GumpModelObject). Unless other
suggestions are made, I will submit a mungo patch when done. [BTW: I'm not
proud, I learned Python today, you can code review/change whatever I
submit.]

2) This took me a while, not sure if it was GC or something more
straightforward what, but a missing return here had me head scratching for
ages. I'd go from a Workspace to a NoneType. Maybe it is something that only
manifests itself in ActiveState Python.

def load(file):
  try:
    return loadWorkspace(file)          <--- return was missing
  except IOError, detail:
    log.critical(detail)
    sys.exit(1)

def loadWorkspace(file):
  """Run a file through a saxdispatcher.

3) I found the per module :

        # init logging
        log = logging.getLogger(__name__)

wasn't much help when I wanted a single default log level of DEBUG, so I
change it to:

        from gump import log

I hope that doesn't upset anybody. I can put it back later if the former way
is better for log ini managed levels.

4) Exec

        1) There is a TODO in the existing code to actually launch "cvs" or launch
        "ant" and capture their exit status and output. I could see the need for
        some sort of launcher class to do this, and an result class to capture
        status & a file reference for stdout/stderr (combined?) [Perhaps this
        launcher could have a "timeout" in it, that would zap a long running
process
        & set another status.]

I've written this, but I need to consider (1) environment [CLASSPATH] (2)
CWD. I am calling "system", which is a tad OS sensetive (they say), but the
spawns didn't seem particularly nice either, I wasn't sure how to redirect
stdout/stderr to a file w/ them. Work to do here...

5) I'm about to start on this next. Input welcomed.

        2) We need (IMHO) to represent the results of operations per project --
        those operations are "configure" (merge/whatever), "update" and "build" & I
        see the latter two having the output from above. I could see this having
        "project gump status = SUCCESS/FAIL/PREREQ MISSING/TIMEOUT/CONFIG ERROR.

        When I think of gump I think "batch builds" so I'd see this as one
        aggregating class per project (and a named array per pro, but I fear that'd
        impact use cases other prefer (simple re-testing, whatever). Any thoughts
on
        this?

6) I got started w/ this ... then I noticed Cheetah mentioned & found out
about it. Anybody got any views on imposing such a dependency on gump?

        3) Ok, so given that "result set" we need one or more presentations. I am
        eager to work with forrest (via xdocs) so I was thinking of creating some
        sort of simple XDoc class w/ Book/Tab/Page type sub-classes. Nothing fancy,
        just enough to serialize out some simple xdocs.

regards

Adam


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to