Re: [Tutor] Learning about callbaks

2008-01-02 Thread Michael Bernhard Arp Sørensen
Greetings, my master.

I think you need to strip back and simplify, it looks like
> you may have been reading too many different resources
> and incorporated some ideas without really understanding
> what they do and why.


I'm humbled by your insight. This is absolutely true.

I did some research, reading and test last night and I finally got it
working. There was a missing bit that I needed to understand, and suddenly I
saw the light. :-) In a manner of speaking. I wrote this piece of code:

class UserInput:
def __init__(self):
pass
def test_callback(self, this_callback):
print "testing the callback"
this_callback

class Game:
def __init__(self):
self.ui = UserInput()
def hello(self):
print "hello world"
def useUI(self):
self.ui.test_callback(self.hello())

g = Game()
g.useUI()

I wanted to understand how a "parent" object could send a callback to a
"child" object, and now I got it.

Feel free to comment on this, please.

Thank you for your patience, Alan.

-- 
Med venlig hilsen/Kind regards

Michael B. Arp Sørensen
Programmør / BOFH
I am /root and if you see me laughing you better have a backup.
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Learning about callbaks

2008-01-02 Thread Alan Gauld
"Michael Bernhard Arp Sørensen" <[EMAIL PROTECTED]> 
wrote

> I did some research, reading and test last night and I finally got 
> it
> working.

Sorry, but you didn't! However you are very nearly there...

class UserInput:
def __init__(self):
pass
def test_callback(self, this_callback):
print "testing the callback"
this_callback

To actually use the callback you need to use parens:

this_callback()

But this won't work because of the problem below...

class Game:
def __init__(self):
self.ui = UserInput()
def hello(self):
print "hello world"
def useUI(self):
self.ui.test_callback(self.hello())

Here you do not pass the function object to your test_callback 
function,
you actually call it here! You bneed to pass the function as an object
then call it in the receiver

self.ui.test_callback(self, self.hello)   # no parens means treat as 
object

What you have done is executed the function(which prints the message
thus leading you to think it has worked) and passes the return 
vaklue(None)
to your test_callback. But since you never actually call the function 
there
(missing parens) there is no error message.

You can prove this by inserting a raw_input statement into
your test_callback before you use the callback. That way the
message should only appear after you hit return...

> I wanted to understand how a "parent" object could send a callback
> to a "child" object, and now I got it.

Nearly. You apply the parens when you want to execute the function
you omit parens when you want to treat the function as an object.
You need to swap your use of parens.

HTH,

-- 
Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld 


___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Learning about callbaks

2008-01-02 Thread Michael Bernhard Arp Sørensen
Hi again.

On Jan 2, 2008 2:25 PM, Alan Gauld <[EMAIL PROTECTED]> wrote:

> > I did some research, reading and test last night and I finally got
> > it
> > working.
>
> Sorry, but you didn't! However you are very nearly there...
>

Darn. :-(

I've read what to wrote about the *parentheses*. I see why I was wrong in my
premature assumption. but I fail to understand why it did work.

Anyway, I removed the parentheses from the game method and added it in the
userinput method. It still works. Do I dare say that I'm "there" now? :-)

Thanks a lot for this test of my humility and for your effort.

-- 
Med venlig hilsen/Kind regards

Michael B. Arp Sørensen
Programmør / BOFH
I am /root and if you see me laughing you better have a backup.
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


[Tutor] Choice of GUI builders

2008-01-02 Thread Roy Chen
Hello all,

I've been using PythonCard to build a GUI for a simple program I'm trying to
write. It's simple and easy to use, and rather intuitive.

However, it seems that it hasn't been updated in some time, and so I would
like a recommendation for a cross-platform (preferably) GUI builder. I'm
leaning towards wxPython so far (it's had a recent release just a month or
so ago), but if anyone has any suggestions, that'd be great.

Thanks in advance,
Roy Chen
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


[Tutor] need a way to get my own ip address

2008-01-02 Thread shawn bright
Greetings,

i am looking for an easy way to get my own ip address as a string from
python.
I am using Ubuntu Linux if that makes any difference.
thanks !

shawn
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] need a way to get my own ip address

2008-01-02 Thread jay
You could perhaps use this method

import socket
myIP = socket.gethostbyaddr(socket.gethostname())[2]

Jay

On Jan 2, 2008 8:25 AM, shawn bright <[EMAIL PROTECTED]> wrote:

> Greetings,
>
> i am looking for an easy way to get my own ip address as a string from
> python.
> I am using Ubuntu Linux if that makes any difference.
> thanks !
>
> shawn
>
> ___
> Tutor maillist  -  Tutor@python.org
> http://mail.python.org/mailman/listinfo/tutor
>
>
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] need a way to get my own ip address

2008-01-02 Thread shawn bright
Thanks, Jay,
in IDLE, this gave me 127.0.0.1
is there a way to get my assigned ip instead of the localhost one?
thanks

On Jan 2, 2008 8:31 AM, jay <[EMAIL PROTECTED]> wrote:

> You could perhaps use this method
>
> import socket
> myIP = socket.gethostbyaddr(socket.gethostname())[2]
>
> Jay
>
> On Jan 2, 2008 8:25 AM, shawn bright < [EMAIL PROTECTED]> wrote:
>
> > Greetings,
> >
> > i am looking for an easy way to get my own ip address as a string from
> > python.
> > I am using Ubuntu Linux if that makes any difference.
> > thanks !
> >
> > shawn
> >
> > ___
> > Tutor maillist  -  Tutor@python.org
> > http://mail.python.org/mailman/listinfo/tutor
> >
> >
>
> ___
> Tutor maillist  -  Tutor@python.org
> http://mail.python.org/mailman/listinfo/tutor
>
>
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] need a way to get my own ip address

2008-01-02 Thread jay
Well that will return the reverse lookup of the current hostname assigned to
your system.  Is this a Windows or Linux/Unix system?  What does this
return?

print socket.gethostname()
print socket.gethostbyaddr(socket.gethostname())

j

On Jan 2, 2008 8:45 AM, shawn bright <[EMAIL PROTECTED]> wrote:

> Thanks, Jay,
> in IDLE, this gave me 127.0.0.1
> is there a way to get my assigned ip instead of the localhost one?
> thanks
>
>
> On Jan 2, 2008 8:31 AM, jay < [EMAIL PROTECTED]> wrote:
>
> > You could perhaps use this method
> >
> > import socket
> > myIP = socket.gethostbyaddr(socket.gethostname())[2]
> >
> > Jay
> >
> > On Jan 2, 2008 8:25 AM, shawn bright < [EMAIL PROTECTED]> wrote:
> >
> > > Greetings,
> > >
> > > i am looking for an easy way to get my own ip address as a string from
> > > python.
> > > I am using Ubuntu Linux if that makes any difference.
> > > thanks !
> > >
> > > shawn
> > >
> > > ___
> > > Tutor maillist  -  Tutor@python.org
> > > http://mail.python.org/mailman/listinfo/tutor
> > >
> > >
> >
> > ___
> > Tutor maillist  -  Tutor@python.org
> > http://mail.python.org/mailman/listinfo/tutor
> >
> >
>
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Choice of GUI builders

2008-01-02 Thread Michael Langford
While some people are Adobe haters("They hate the web...etc"), I think
a slick alternative available now is Flex2 calling python via XMLRPC.

I've been doing so lately. It is fast to pick up and makes slick
looking GUI's rather quickly. It has a cheap GUI builder that actually
works if you don't feel like just typing out MXML files. You can use
Apollo to do desktop apps and just Flex to do web apps, and all the
controls are the same. (The difference is a build setting and a change
to a couple tags, and voila, desktop app is on the web or vice versa).

Bruce Eckel (the thinking in Java Guy) has written an article on this
Approach: http://www.artima.com/weblogs/viewpost.jsp?thread=208528

The ActionScript module I'm currently using for XMLRPC:
http://code.google.com/p/as3python-xmlrpc-lib/

You don't really need to know any ActionScript to do this. Very little
is required to marshal data in and out of the controls. Other then
that, everything is python!

Flex is open source now, so you even have that going for you. And it's
actively maintained (and updated) by Adobe. The install on a client
computer is easier than with wxPython as the GUI toolkit, and I've
done several wxPython apps that needed installers. The python back end
to all this is SimpleXMLRPCServer, which is also, very easy to use.
Exceptions even work well (a big surprise for me). And the fact this
approach is cross platform, for "platform" being defined as Windows,
Linux, Mac, Firefox, IE6, IE7 and Opera, makes this a great choice for
a easy UI toolkit.

 --Michael

On Jan 2, 2008 9:08 AM, Roy Chen <[EMAIL PROTECTED]> wrote:
> Hello all,
>
> I've been using PythonCard to build a GUI for a simple program I'm trying to 
> write. It's simple and easy to use, and rather intuitive.
>
> However, it seems that it hasn't been updated in some time, and so I would 
> like a recommendation for a cross-platform (preferably) GUI builder. I'm 
> leaning towards wxPython so far (it's had a recent release just a month or so 
> ago), but if anyone has any suggestions, that'd be great.
>
> Thanks in advance,
> Roy Chen
>
> ___
> Tutor maillist  -  Tutor@python.org
> http://mail.python.org/mailman/listinfo/tutor
>
>



-- 
Michael Langford
Phone: 404-386-0495
Consulting: http://www.RowdyLabs.com
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] need a way to get my own ip address

2008-01-02 Thread shawn bright
It returns this
('hostname', [], ['127.0.1.1'])
i am running this on a linux system
thanks

On Jan 2, 2008 8:50 AM, jay <[EMAIL PROTECTED]> wrote:

> Well that will return the reverse lookup of the current hostname assigned
> to your system.  Is this a Windows or Linux/Unix system?  What does this
> return?
>
> print socket.gethostname()
> print socket.gethostbyaddr(socket.gethostname ())
>
> j
>
>
> On Jan 2, 2008 8:45 AM, shawn bright <[EMAIL PROTECTED]> wrote:
>
> > Thanks, Jay,
> > in IDLE, this gave me 127.0.0.1
> > is there a way to get my assigned ip instead of the localhost one?
> > thanks
> >
> >
> > On Jan 2, 2008 8:31 AM, jay < [EMAIL PROTECTED]> wrote:
> >
> > > You could perhaps use this method
> > >
> > > import socket
> > > myIP = socket.gethostbyaddr(socket.gethostname())[2]
> > >
> > > Jay
> > >
> > > On Jan 2, 2008 8:25 AM, shawn bright < [EMAIL PROTECTED]> wrote:
> > >
> > > > Greetings,
> > > >
> > > > i am looking for an easy way to get my own ip address as a string
> > > > from python.
> > > > I am using Ubuntu Linux if that makes any difference.
> > > > thanks !
> > > >
> > > > shawn
> > > >
> > > > ___
> > > > Tutor maillist  -  Tutor@python.org
> > > > http://mail.python.org/mailman/listinfo/tutor
> > > >
> > > >
> > >
> > > ___
> > > Tutor maillist  -  Tutor@python.org
> > > http://mail.python.org/mailman/listinfo/tutor
> > >
> > >
> >
>
> ___
> Tutor maillist  -  Tutor@python.org
> http://mail.python.org/mailman/listinfo/tutor
>
>
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] need a way to get my own ip address

2008-01-02 Thread jay
Well that is what I normally use, but I always have my hostname setup
properly.  In your case, that socket call won't work.  You could try this
link I found on google

http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/439094

jay

On Jan 2, 2008 9:00 AM, shawn bright <[EMAIL PROTECTED]> wrote:

> It returns this
> ('hostname', [], ['127.0.1.1'])
> i am running this on a linux system
> thanks
>
>
> On Jan 2, 2008 8:50 AM, jay < [EMAIL PROTECTED]> wrote:
>
> > Well that will return the reverse lookup of the current hostname
> > assigned to your system.  Is this a Windows or Linux/Unix system?  What does
> > this return?
> >
> > print socket.gethostname()
> > print socket.gethostbyaddr(socket.gethostname ())
> >
> > j
> >
> >
> > On Jan 2, 2008 8:45 AM, shawn bright <[EMAIL PROTECTED] > wrote:
> >
> > > Thanks, Jay,
> > > in IDLE, this gave me 127.0.0.1
> > > is there a way to get my assigned ip instead of the localhost one?
> > > thanks
> > >
> > >
> > > On Jan 2, 2008 8:31 AM, jay < [EMAIL PROTECTED]> wrote:
> > >
> > > > You could perhaps use this method
> > > >
> > > > import socket
> > > > myIP = socket.gethostbyaddr(socket.gethostname())[2]
> > > >
> > > > Jay
> > > >
> > > > On Jan 2, 2008 8:25 AM, shawn bright < [EMAIL PROTECTED]> wrote:
> > > >
> > > > > Greetings,
> > > > >
> > > > > i am looking for an easy way to get my own ip address as a string
> > > > > from python.
> > > > > I am using Ubuntu Linux if that makes any difference.
> > > > > thanks !
> > > > >
> > > > > shawn
> > > > >
> > > > > ___
> > > > > Tutor maillist  -  Tutor@python.org
> > > > > http://mail.python.org/mailman/listinfo/tutor
> > > > >
> > > > >
> > > >
> > > > ___
> > > > Tutor maillist  -  Tutor@python.org
> > > > http://mail.python.org/mailman/listinfo/tutor
> > > >
> > > >
> > >
> >
> > ___
> > Tutor maillist  -  Tutor@python.org
> > http://mail.python.org/mailman/listinfo/tutor
> >
> >
>
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] need a way to get my own ip address

2008-01-02 Thread shawn bright
Thanks, Jay,
just what i was looking for. Works great.

shawn

On Jan 2, 2008 9:10 AM, jay <[EMAIL PROTECTED]> wrote:

> Well that is what I normally use, but I always have my hostname setup
> properly.  In your case, that socket call won't work.  You could try this
> link I found on google
>
> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/439094
>
> jay
>
>
> On Jan 2, 2008 9:00 AM, shawn bright <[EMAIL PROTECTED]> wrote:
>
> > It returns this
> > ('hostname', [], [' 127.0.1.1'])
> > i am running this on a linux system
> > thanks
> >
> >
> > On Jan 2, 2008 8:50 AM, jay < [EMAIL PROTECTED]> wrote:
> >
> > > Well that will return the reverse lookup of the current hostname
> > > assigned to your system.  Is this a Windows or Linux/Unix system?  What 
> > > does
> > > this return?
> > >
> > > print socket.gethostname()
> > > print socket.gethostbyaddr(socket.gethostname ())
> > >
> > > j
> > >
> > >
> > > On Jan 2, 2008 8:45 AM, shawn bright <[EMAIL PROTECTED] > wrote:
> > >
> > > > Thanks, Jay,
> > > > in IDLE, this gave me 127.0.0.1
> > > > is there a way to get my assigned ip instead of the localhost one?
> > > > thanks
> > > >
> > > >
> > > > On Jan 2, 2008 8:31 AM, jay < [EMAIL PROTECTED]> wrote:
> > > >
> > > > > You could perhaps use this method
> > > > >
> > > > > import socket
> > > > > myIP = socket.gethostbyaddr(socket.gethostname())[2]
> > > > >
> > > > > Jay
> > > > >
> > > > > On Jan 2, 2008 8:25 AM, shawn bright < [EMAIL PROTECTED]> wrote:
> > > > >
> > > > > > Greetings,
> > > > > >
> > > > > > i am looking for an easy way to get my own ip address as a
> > > > > > string from python.
> > > > > > I am using Ubuntu Linux if that makes any difference.
> > > > > > thanks !
> > > > > >
> > > > > > shawn
> > > > > >
> > > > > > ___
> > > > > > Tutor maillist  -  Tutor@python.org
> > > > > > http://mail.python.org/mailman/listinfo/tutor
> > > > > >
> > > > > >
> > > > >
> > > > > ___
> > > > > Tutor maillist  -  Tutor@python.org
> > > > > http://mail.python.org/mailman/listinfo/tutor
> > > > >
> > > > >
> > > >
> > >
> > > ___
> > > Tutor maillist  -  Tutor@python.org
> > > http://mail.python.org/mailman/listinfo/tutor
> > >
> > >
> >
>
> ___
> Tutor maillist  -  Tutor@python.org
> http://mail.python.org/mailman/listinfo/tutor
>
>
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Learning about callbaks

2008-01-02 Thread Alan Gauld

"Michael Bernhard Arp Sørensen" <[EMAIL PROTECTED]> 
wrote

> I've read what to wrote about the *parentheses*. I see why I was 
> wrong in my
> premature assumption. but I fail to understand why it did work.

I suspect that if you look closely you'll find that the "testing" 
print statement
came after the "hello world" rather than before it.

def test_callback(self, this_callback):
print "testing the callback"
this_callback

> Anyway, I removed the parentheses from the game method and added it 
> in the
> userinput method. It still works. Do I dare say that I'm "there" 
> now? :-)

I hope so, and it should now display the "testing" message before
the "hello" message. As to whether you are "there" yet that really 
depends
on whether you are comfortable that you understand the concept 
clearly.

Can you modify the program *without modifying the classes* to use an
ordinary function as the callback? Say this goodbye function:

def goodbye():
 print "goodbye world"

This should not require more than 5 lines of new code and no changes 
to the
existing code. It could be done in 3...

If you succeed then I'll be happy that you've grasped it.

Alan G. 


___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Choice of GUI builders

2008-01-02 Thread johnf
On Wednesday 02 January 2008 06:56:54 am Michael Langford wrote:
> While some people are Adobe haters("They hate the web...etc"), I think
> a slick alternative available now is Flex2 calling python via XMLRPC.
>
> I've been doing so lately. It is fast to pick up and makes slick
> looking GUI's rather quickly. It has a cheap GUI builder that actually
> works if you don't feel like just typing out MXML files. You can use
> Apollo to do desktop apps and just Flex to do web apps, and all the
> controls are the same. (The difference is a build setting and a change
> to a couple tags, and voila, desktop app is on the web or vice versa).
>
> Bruce Eckel (the thinking in Java Guy) has written an article on this
> Approach: http://www.artima.com/weblogs/viewpost.jsp?thread=208528
>
> The ActionScript module I'm currently using for XMLRPC:
> http://code.google.com/p/as3python-xmlrpc-lib/
>
> You don't really need to know any ActionScript to do this. Very little
> is required to marshal data in and out of the controls. Other then
> that, everything is python!
>
> Flex is open source now, so you even have that going for you. And it's
> actively maintained (and updated) by Adobe. The install on a client
> computer is easier than with wxPython as the GUI toolkit, and I've
> done several wxPython apps that needed installers. The python back end
> to all this is SimpleXMLRPCServer, which is also, very easy to use.
> Exceptions even work well (a big surprise for me). And the fact this
> approach is cross platform, for "platform" being defined as Windows,
> Linux, Mac, Firefox, IE6, IE7 and Opera, makes this a great choice for
> a easy UI toolkit.
>
>  --Michael
I have been very interested in the Flex solution. Mostly because it supports 
both desktops and the web. I use Dabo for my UI solution and found it covers 
most everything I need at the moment.   But I have real concerns regarding 
data access using Flex.

Flex is asynchronous and most desktop data app's are synchronous when it comes 
to accessing data.  All I have been doing is reading about Flex so maybe 
there is a solution I am not aware of.  It sounds like you are working with 
Flex - is there a solution?

-- 
John Fabiani
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Choice of GUI builders

2008-01-02 Thread Alan Gauld

"johnf" <[EMAIL PROTECTED]> wrote

> On Wednesday 02 January 2008 06:08:10 am Roy Chen wrote:
>> Hello all,
>>
>> I've been using PythonCard ...
>> However, it seems that it hasn't been updated in some time, and so 
>> I would
>> like a recommendation for a cross-platform (preferably) GUI 
>> builder.

I tried to fined a decent GUI builder for wxPython but failed.
There are two or three available but none of them really worked
all that well. SPE seemed the best of a poor bunch.

However...

> Take a look at Dabo
> www.dabodev.com

This looked promising but doesn't use the standard wxPython
widget set (this was also why I didn't choose PythonCard!), you have
to learn the Dabo API. But coming from PythonCard you would
have to learn the wxPython API anyway so that may not be an
issue for you.

Alan G.



___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Choice of GUI builders

2008-01-02 Thread johnf
On Wednesday 02 January 2008 09:41:46 am Alan Gauld wrote:

> I tried to fined a decent GUI builder for wxPython but failed.
> There are two or three available but none of them really worked
> all that well. SPE seemed the best of a poor bunch.
>
> However...
>
> > Take a look at Dabo
> > www.dabodev.com
>
> This looked promising but doesn't use the standard wxPython
> widget set (this was also why I didn't choose PythonCard!), you have
> to learn the Dabo API. But coming from PythonCard you would
> have to learn the wxPython API anyway so that may not be an
> issue for you.
>
> Alan G.

Dabo does use slightly different names (in most cases) but is nothing more 
than subclasses of the wxPython.  And of course Dabo does nothing to prevent 
the programmer from using wxPython directly.  

The work is learning how to use the subclasses with all of the added 
properties and attributes.



-- 
John Fabiani
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Choice of GUI builders

2008-01-02 Thread Michael Langford
When running local, the flex/xmlrpc solution is just as responsive as
a traditional GUI app in my experience with regards to data loading,
etc. The network/python latency isn't especially noticeable when
running the GUI local to the flex UI.

I didn't really get caught up on a difference between the async/sync
nature of the GUI, then again I come from a background (electronics
and embedded software) where asynchronous communications is more
common than for normal software development. If you have a concern
beyond latency, I'll need an example as to what you're worried about.
I don't think I understand your concern enough to address it. Are you
worried about reliability? Error checking? What in particular?

Perhaps you could cut and paste a bit of code you've already written
that you think would be complicated by the Async?

--Michael

On Jan 2, 2008 12:51 PM, johnf <[EMAIL PROTECTED]> wrote:
>
> On Wednesday 02 January 2008 06:56:54 am Michael Langford wrote:
> > While some people are Adobe haters("They hate the web...etc"), I think
> > a slick alternative available now is Flex2 calling python via XMLRPC.
> >
> > I've been doing so lately. It is fast to pick up and makes slick
> > looking GUI's rather quickly. It has a cheap GUI builder that actually
> > works if you don't feel like just typing out MXML files. You can use
> > Apollo to do desktop apps and just Flex to do web apps, and all the
> > controls are the same. (The difference is a build setting and a change
> > to a couple tags, and voila, desktop app is on the web or vice versa).
> >
> > Bruce Eckel (the thinking in Java Guy) has written an article on this
> > Approach: http://www.artima.com/weblogs/viewpost.jsp?thread=208528
> >
> > The ActionScript module I'm currently using for XMLRPC:
> > http://code.google.com/p/as3python-xmlrpc-lib/
> >
> > You don't really need to know any ActionScript to do this. Very little
> > is required to marshal data in and out of the controls. Other then
> > that, everything is python!
> >
> > Flex is open source now, so you even have that going for you. And it's
> > actively maintained (and updated) by Adobe. The install on a client
> > computer is easier than with wxPython as the GUI toolkit, and I've
> > done several wxPython apps that needed installers. The python back end
> > to all this is SimpleXMLRPCServer, which is also, very easy to use.
> > Exceptions even work well (a big surprise for me). And the fact this
> > approach is cross platform, for "platform" being defined as Windows,
> > Linux, Mac, Firefox, IE6, IE7 and Opera, makes this a great choice for
> > a easy UI toolkit.
> >
> >  --Michael
> I have been very interested in the Flex solution. Mostly because it supports
> both desktops and the web. I use Dabo for my UI solution and found it covers
> most everything I need at the moment.   But I have real concerns regarding
> data access using Flex.
>
> Flex is asynchronous and most desktop data app's are synchronous when it comes
> to accessing data.  All I have been doing is reading about Flex so maybe
> there is a solution I am not aware of.  It sounds like you are working with
> Flex - is there a solution?
>
> --
> John Fabiani
>
> ___
> Tutor maillist  -  Tutor@python.org
> http://mail.python.org/mailman/listinfo/tutor
>



-- 
Michael Langford
Phone: 404-386-0495
Consulting: http://www.RowdyLabs.com
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Choice of GUI builders

2008-01-02 Thread johnf
On Wednesday 02 January 2008 06:08:10 am Roy Chen wrote:
> Hello all,
>
> I've been using PythonCard to build a GUI for a simple program I'm trying
> to write. It's simple and easy to use, and rather intuitive.
>
> However, it seems that it hasn't been updated in some time, and so I would
> like a recommendation for a cross-platform (preferably) GUI builder. I'm
> leaning towards wxPython so far (it's had a recent release just a month or
> so ago), but if anyone has any suggestions, that'd be great.
>
> Thanks in advance,
> Roy Chen

Take a look at Dabo 
www.dabodev.com

and check the screencasts

-- 
John Fabiani
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] providing a Python command line within a Tkinter appl

2008-01-02 Thread Tiger12506
eval will seriously limit you in this instance because eval only works on 
expressions, not statements. (Assignment won't work, for example). You can 
use exec though. (in which case, you wouldn't necessarily want a result 
back)

just fyi

> text =my_get_pythoncommand()   # text is the line of text entered in
> the window by the user
> try:
>   result=eval(text)
>   my_print_pythoncommand_result(result) # echoing the result of the
> command back to the user
> except error1:
>   some error message
> except error2:
>   some other error message
> except error3:
>   ... etc ...
> except:
>   some generic error message for unrecognised errors
>
> The question is does this make sense or is there an easier way,
> particularly one where I'd be able to get the same error messages
> provided by the command line python interpreter?
>
> I guess the other question I have is if this the way to go, are there
> any gotchas re the Python code I can execute in this way. Remember I
> am trying to provide a means of doing analyses  that are not provided
> by the framework so it would nice to just say to the user "Enter
> anything that is valid Python ... just like in the Python interpreter
> or IDLE".
>
>
> 
> Prof Garry Willgoose,
> Australian Professorial Fellow in Environmental Engineering,
> Director, Centre for Climate Impact Management (C2IM),
> School of Engineering, The University of Newcastle,
> Callaghan, 2308
> Australia.
>
> Centre webpage: www.c2im.org.au
>
> Phone: (International) +61 2 4921 6050 (Tues-Fri AM); +61 2 6545 9574
> (Fri PM-Mon)
> FAX: (International) +61 2 4921 6991 (Uni); +61 2 6545 9574 (personal
> and Telluric)
> Env. Engg. Secretary: (International) +61 2 4921 6042
>
> email:  [EMAIL PROTECTED];
> [EMAIL PROTECTED]
> email-for-life: [EMAIL PROTECTED]
> personal webpage: www.telluricresearch.com/garry
> 
> "Do not go where the path may lead, go instead where there is no path
> and leave a trail"
>   Ralph Waldo Emerson
> 
>
>
>
>
>
> ___
> Tutor maillist  -  Tutor@python.org
> http://mail.python.org/mailman/listinfo/tutor
> 

___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Learning about callbaks

2008-01-02 Thread Michael Bernhard Arp Sørensen
Hi.

On Jan 2, 2008 6:36 PM, Alan Gauld <[EMAIL PROTECTED]> wrote:

> Can you modify the program *without modifying the classes* to use an
> ordinary function as the callback? Say this goodbye function:
>
> def goodbye():
> print "goodbye world"
>
> This should not require more than 5 lines of new code and no changes
> to the
> existing code. It could be done in 3...
>

Like this?:

class UserInput:
def __init__(self):
pass

def test_callback(self, this_callback):
print "testing the callback"
this_callback()

class Game:
def __init__(self):
self.ui = UserInput()

def hello(self):
print "hello world"

def useUI(self):
self.ui.test_callback(self.hello)

def goodbye():
print "goodbye world"

g = Game()
g.useUI()
g.ui.test_callback(goodbye)

It took me a couple of minutes to understand your challenge. :-) Then I
remembered that "ui" is instantiated inside "g" and therefore callable with
the right parameter.

Thank you very, very much. I enjoy a good challenge.

-- 
Med venlig hilsen/Kind regards

Michael B. Arp Sørensen
Programmør / BOFH
I am /root and if you see me laughing you better have a backup.
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Learning about callbaks

2008-01-02 Thread ALAN GAULD
Yes, exactly like that. 
Well done, you are now callback aware :-)

Alan G.

- Original Message 
From: Michael Bernhard Arp Sørensen <[EMAIL PROTECTED]>
To: Alan Gauld <[EMAIL PROTECTED]>
Cc: tutor@python.org
Sent: Wednesday, 2 January, 2008 8:19:23 PM
Subject: Re: [Tutor] Learning about callbaks

Hi.

On Jan 2, 2008 6:36 PM, Alan Gauld <[EMAIL PROTECTED]> wrote:

Can you modify the program *without modifying the classes* to use an
ordinary function as the callback? Say this goodbye function:

def goodbye():
 print "goodbye world"

This should not require more than 5 lines of new code and no changes

to the
existing code. It could be done in 3...


Like this?:

class UserInput:

def __init__(self):
pass


def test_callback(self, this_callback):
print "testing the callback"

this_callback()


class Game:
def __init__(self):

self.ui = UserInput()


def hello(self):
print "hello world"


def useUI(self):
self.ui.test_callback(self.hello)


def goodbye():

print "goodbye world"

g = Game()

g.useUI()
g.ui.test_callback(goodbye)


It took me a couple of minutes to understand your challenge. :-) Then I 
remembered that "ui" is instantiated inside "g" and therefore callable with the 
right parameter.

Thank you very, very much. I enjoy a good challenge.


-- 
Med venlig hilsen/Kind regards

Michael B. Arp Sørensen
Programmør / BOFH
I am /root and if you see me laughing you better have a backup.



___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Choice of GUI builders

2008-01-02 Thread Roy Chen
Thanks, that certainly looks interesting and I'll give it a try. Perhaps
it's a little too much work for what I have in mind, but definitely
something useful to learn in the long run.

Best regards,
Roy

On Jan 2, 2008 11:56 PM, Michael Langford <[EMAIL PROTECTED]>
wrote:

> While some people are Adobe haters("They hate the web...etc"), I think
> a slick alternative available now is Flex2 calling python via XMLRPC.
>
> I've been doing so lately. It is fast to pick up and makes slick
> looking GUI's rather quickly. It has a cheap GUI builder that actually
> works if you don't feel like just typing out MXML files. You can use
> Apollo to do desktop apps and just Flex to do web apps, and all the
> controls are the same. (The difference is a build setting and a change
> to a couple tags, and voila, desktop app is on the web or vice versa).
>
> Bruce Eckel (the thinking in Java Guy) has written an article on this
> Approach: http://www.artima.com/weblogs/viewpost.jsp?thread=208528
>
> The ActionScript module I'm currently using for XMLRPC:
> http://code.google.com/p/as3python-xmlrpc-lib/
>
> You don't really need to know any ActionScript to do this. Very little
> is required to marshal data in and out of the controls. Other then
> that, everything is python!
>
> Flex is open source now, so you even have that going for you. And it's
> actively maintained (and updated) by Adobe. The install on a client
> computer is easier than with wxPython as the GUI toolkit, and I've
> done several wxPython apps that needed installers. The python back end
> to all this is SimpleXMLRPCServer, which is also, very easy to use.
> Exceptions even work well (a big surprise for me). And the fact this
> approach is cross platform, for "platform" being defined as Windows,
> Linux, Mac, Firefox, IE6, IE7 and Opera, makes this a great choice for
> a easy UI toolkit.
>
> --Michael
>
> On Jan 2, 2008 9:08 AM, Roy Chen <[EMAIL PROTECTED]> wrote:
> > Hello all,
> >
> > I've been using PythonCard to build a GUI for a simple program I'm
> trying to write. It's simple and easy to use, and rather intuitive.
> >
> > However, it seems that it hasn't been updated in some time, and so I
> would like a recommendation for a cross-platform (preferably) GUI builder.
> I'm leaning towards wxPython so far (it's had a recent release just a month
> or so ago), but if anyone has any suggestions, that'd be great.
> >
> > Thanks in advance,
> > Roy Chen
> >
> > ___
> > Tutor maillist  -  Tutor@python.org
> > http://mail.python.org/mailman/listinfo/tutor
> >
> >
>
>
>
> --
> Michael Langford
> Phone: 404-386-0495
> Consulting: http://www.RowdyLabs.com
>
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Choice of GUI builders

2008-01-02 Thread Roy Chen
Thanks for all the help, Dabo looks interesting, but perhaps a bit overkill
right now for what I have in mind. Certainly something useful to learn in
the long run, though.

I suppose with any GUI toolkit/builder, you're going to have learn some part
of the API anyway. I might just see how I go with wxPython for now.

Best regards,
Roy

On Jan 3, 2008 2:58 AM, johnf <[EMAIL PROTECTED]> wrote:

> On Wednesday 02 January 2008 09:41:46 am Alan Gauld wrote:
>
> > I tried to fined a decent GUI builder for wxPython but failed.
> > There are two or three available but none of them really worked
> > all that well. SPE seemed the best of a poor bunch.
> >
> > However...
> >
> > > Take a look at Dabo
> > > www.dabodev.com
> >
> > This looked promising but doesn't use the standard wxPython
> > widget set (this was also why I didn't choose PythonCard!), you have
> > to learn the Dabo API. But coming from PythonCard you would
> > have to learn the wxPython API anyway so that may not be an
> > issue for you.
> >
> > Alan G.
>
> Dabo does use slightly different names (in most cases) but is nothing more
> than subclasses of the wxPython.  And of course Dabo does nothing to
> prevent
> the programmer from using wxPython directly.
>
> The work is learning how to use the subclasses with all of the added
> properties and attributes.
>
>
>
> --
> John Fabiani
> ___
> Tutor maillist  -  Tutor@python.org
> http://mail.python.org/mailman/listinfo/tutor
>
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


[Tutor] is it legal to have a class within a def

2008-01-02 Thread johnf
def someMethod():
   class MyClass(object):
   .
  if something:
 .
 return someval

-- 
John Fabiani
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] is it legal to have a class within a def

2008-01-02 Thread bob gailer
johnf wrote:
> def someMethod():
>class MyClass(object):
>.
>   if something:
>  .
>  return someval
>   
>   
Legal? Well the police won't come after you!

Python allows a class statement anywhere. So this use is part of the 
language.

So the question becomes "why would you want to do that?"

Considerations:

1 - this usage creates a local object MyClass. The object will not be 
visible outside the function. The class definition is executed each time 
the function is called.

2 - the object could be returned or assigned to a global or added to a 
parameter that is a collection.

3 - if no instances are created in the function the object will 
disappear once the function execution ends.

___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


[Tutor] How to convert ogg to MP3

2008-01-02 Thread goldgod a
hi,
I would like to convert ogg files to mp3 files. how can I do that.
Is there any inbuilt package.

-- 
Thanks & Regards,
goldgod
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] is it legal to have a class within a def

2008-01-02 Thread johnf
On Wednesday 02 January 2008 09:31:19 pm you wrote:
> johnf wrote:
> > def someMethod():
> >class MyClass(object):
> >.
> >   if something:
> >  .
> >  return someval
>
> Legal? Well the police won't come after you!
>
That's a good thing!
> Python allows a class statement anywhere. So this use is part of the
> language.
>
> So the question becomes "why would you want to do that?"
>
> Considerations:
>
> 1 - this usage creates a local object MyClass. The object will not be
> visible outside the function. The class definition is executed each time
> the function is called.
>
> 2 - the object could be returned or assigned to a global or added to a
> parameter that is a collection.
>
> 3 - if no instances are created in the function the object will
> disappear once the function execution ends.

1 and 3 are my reasons.  I'm creating a Dabo app.  When I attempted to create 
a special class that contained a dialog box I discovered that the dialog 
class created an indepentant type of window and allowed my program to 
continue running without waiting for the dialog to return a value first.  
However, I noticed if I created the dialog within a function my program 
stopped and waited until the dialog was closed to continue.   I think that I 
could define the Classes outside of the function and just import them when 
needed.  But then I wanted a self contained function so I asked why not place 
the class code in the function?  What is the difference?

-- 
John Fabiani
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor