Re: Mutable Strings - Any libraries that offer this?

2009-07-22 Thread casebash
Thanks all for your advice. I'm not actually going to use the mutable
string right at the moment, but I thought I might in the future and I
was just curious if it existed. I suppose a list of characters is
close enough for most purposes.

On Jul 22, 10:28 am, greg  wrote:
> Ben Finney wrote:
> > My point was rather meant to imply that
> > subclassing the built-in (immutable)stringtypes was the best way to
> > usefully get all their functionality
>
> However, it would be difficult to do that without changing
> all C code that deals with strings, including that in extension
> modules.
>
> That's because the existingstringtype stores the characters
> in thestringobject itself. Amutablevariant would have to
> contain a pointer to a resizable memory block, and therefore
> couldn't be used as a drop-in replacement by existing C
> code that expects astring.
>
> --
> Greg

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: win32api install problem

2009-07-22 Thread Tim Roberts
Gerry  wrote:

>I'm running Python 2.6 under XP.
>
>I've installed Windows 32 extensions for Python 2.6 version 1.4
>(pywin32-214.win32-py2.6.exe).
>
>But If I try to import win32api, I get:
>
>  File "C:\python_projects\euler\driveletters.py", line 1, in 
>import win32api
>ImportError: DLL load failed: The specified module could not be found.
>
>\Python26\Lib\site-packages has:
>
>03/23/2009  08:35 AM  win32
>07/20/2009  09:08 AM  win32com
>02/18/2009  01:21 PM  win32comext
>
>Can anyone offer a suggestion?

It is very unusual that those three directories should have different
creation dates.  Normally, all three would have the same date and time,
from whenever you ran the installer.

I would suggest that you go into Add and Remove Programs, uninstall
pywin32, and run the installer again.
-- 
Tim Roberts, [email protected]
Providenza & Boekelheide, Inc.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Running a Python Service under the LocalService or NetworkService Account

2009-07-22 Thread David Adamo Jr.
On Jul 21, 8:05 pm, "Martin P. Hellwig" 
wrote:
> David Adamo Jr. wrote:
> > On Jul 21, 10:40 am, "Martin P. Hellwig" 
> > wrote:
> >> sightseer wrote:
>
> >> 
>
> >>> Error Installing Service: Access is Denied. (5)
> >> 
> >> Are you trying to do this on windows vista?
>
> >> --
> >> MPHhttp://blog.dcuktec.com
> >> 'If consumed, best digested with added seasoning to own preference.'
>
> > Yeah, I was trying to do it on Vista. Someone has just helped me out.
> > I had to deactivate User Account Control on Windows Vista...and now
> > everything is rosy. Thanks guys.
>
> No need to deactivate it, just right click on the command shell program
> and say run as administrator, than you can install the service via the
> command line.
>
> --
> MPHhttp://blog.dcuktec.com
> 'If consumed, best digested with added seasoning to own preference.'

Thanks MPH
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: trouble with minidom

2009-07-22 Thread Miles Kaufmann

On Jul 21, 2009, at 8:08 PM, Ronn Ross wrote:

Hello I'm trying to read an xml file using minidome. The xml looks  
like:


   
  myProj
  /here/
   


My code looks like so:
from xml.dom.minidom import parse

dom = parse("myfile.xml")

for node in dom.getElementsByTagName("project'):
   print('name: %s, path: %s \n') % (node.childNodes[0].nodeValue,  
node.childNodes[1])


Unfortunately, it returns 'nodeValue as none. I'm trying to read the  
value out of the node fir example name: myProj. I haven't found much  
help in the documentation. Can someone point me in the right  
direction?


Two issues:

In your example XML file, the first child node of the project Element  
is the Text node containing the whitespace between the  and  
 tags.  node.childNodes[0] will select that whitespace node.


The nodeValue of an Element is null (None).  In order to get the text  
contents of an element, you must get the nodeValue of the Text child  
node of the Element.


Like Gabriel, I would recommend using an XML library with a more  
concise API than the W3C DOM (I like lxml.objectify).  But if you  
stick with xml.dom, use the specification as a reference:


http://www.w3.org/TR/REC-DOM-Level-1/
--
http://mail.python.org/mailman/listinfo/python-list


Re: Workflow Libraries (DB vs Code)

2009-07-22 Thread Thomas Guettler
Diez B. Roggisch schrieb:
> Thomas Guettler wrote:
> 
>> Hi,
>>
>> I need to write some simple workflows with web interface.
>>
>> For the web stuff I will use django, but I am not sure how
>> to do the workflow part.
> 
> Did you consider using OpenERP? It comes with a web-frontend
> (TG1.0.8-based), but also offers a XMLRPC-server to connect to, so using it
> from within django shouldn't be any difficult.
> 
> Workflow-definitions are stored in the DB, and can be generated visually,
> not sure if they have to though.

Thank you for this hint. OpenERP seems well done.

But the licence is GPL and the dependency is too big. But I will have a look
at how they did it.

  Thomas


-- 
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Regular exprssion for IRC messages

2009-07-22 Thread Jon Clements
On 22 July, 06:43, "Gabriel Genellina"  wrote:
> En Fri, 17 Jul 2009 13:59:47 -0300, nohics nohics   
> escribió:
>
> > When an IRC client receive a messages, this message in in a special  
> > format
> > defined here: Message format in pseudo
> > BNF(
>
> > I want to transforme the message format defined in the irc protocole in  
> > the
> > last link, to a regular expression to get the nickname, the username, the
> > host, the commad, it's arguments if exist, and the message after ":"
>
> You may want to use the pyparsing module instead of a monstruous and  
> unmantainable regular expression:
>
> http://pyparsing.wikispaces.com/
>
> --
> Gabriel Genellina

Alternatively, if IIRC, the twisted framework has an IRC client, which
automatically parses server messages.
-- 
http://mail.python.org/mailman/listinfo/python-list


Ideas for problem with chat server application!

2009-07-22 Thread David Adamo Jr.
I developed a chat application with an attendant chat server.
Everything is working fine. The issue now is the fact that whenever
the chat server goes down (for instance, the server system shuts down
as a result of power failure or some other problem), by the time the
server system come back on, the chat server would have to be restarted
manually.

I believe (and I know) it is more appropriate for the chat server
application to restart itself when the computer comes back on (and of
course regardless of who is logged in and of course, even before
anyone logs in). I have a batch file that executes the chat server. My
attempt was to create a windows service that start automatically and
runs this batch file using a Network Service account on the server
system. Although, I'm having a hard time with this (temporarily), I
would love to ask if there are any alternatives to using a windows
service. Suggestions are highly appreciated.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Detect target name in descriptor __set__ method

2009-07-22 Thread Jon Clements
On 22 July, 06:02, "Gabriel Genellina"  wrote:
> I have a class attribute 'foo' which is a data descriptor. I create an  
> instance of such class. When I say instance.foo = value, the descriptor  
> __set__ method is called. Is there any way to obtain the name being  
> assigned to? ('foo' in this example). That is, I want to know the target  
> name for the assignment that triggered the __set__ method call.
>
> class descriptor(object):
>    def __get__(self, instance, owner):
>      print 'descriptor.__get__ self=%r instance=%r owner=%r' % (
>        self, instance, owner)
>      return self
>
>    def __set__(self, instance, value):
>      # I want to know the *name* this value is being assigned to
>      print 'descriptor.__set__ self=%r instance=%r value=%r' % (
>        self, instance, value)
>
>    def __delete__(self, instance):
>      print 'descriptor.__delete__ self=%r instance=%r' % (
>        self, instance)
>
> class X(object):
>    foo = descriptor()
>
> x = X()
> x.foo = "value"
>
> I can obtain the name descriptor() was assigned to at the time the X class  
> was defined, using a custom metaclass:
>
> class Meta(type):
>    def __new__(meta, name, bases, dict):
>      for key,value in dict.iteritems():
>        if isinstance(value, descriptor):
>          value.name = key
>      return type.__new__(meta, name, bases, dict)
>
> class Y(object):
>    __metaclass__ = Meta
>    foo = descriptor()
>
> y = Y()
> print y.foo.name # prints 'foo'
>
> This is good enough for me (assuming no one modifies the class after  
> defining it, no two names refer to the same descriptor, no two classes  
> share the same descriptor instance...). But I would like to use a more  
> direct/robust approach, if available.
>
> Any ideas?
>
> --
> Gabriel Genellina

>>> class Test:
def __setattr__(self, what, value):
print what, value


>>> t = Test()
>>> t.foo = 'x'
foo x

Is that what you're after?

Jon.
-- 
http://mail.python.org/mailman/listinfo/python-list


Suggestions for Python MapReduce?

2009-07-22 Thread Phillip B Oldham
I understand that there are a number of MapReduce frameworks/tools
that play nicely with Python (Disco, Dumbo/Hadoop), however these have
"large" dependencies (Erlang/Java). Are there any MapReduce frameworks/
tools which are either pure-Python, or play nicely with Python but
don't require the Java/Erlang runtime environments?
-- 
http://mail.python.org/mailman/listinfo/python-list


binary literal

2009-07-22 Thread superpollo

hello clp.

i can insert a hex value for a character literal in a string:

>>> stuff = "\x45"
>>> print stuff
E
>>>

can i do something like the above, but using a *binary* number? (e.g. 
00101101 instead of 45) ?


bye
--
http://mail.python.org/mailman/listinfo/python-list


Re: binary literal

2009-07-22 Thread Pablo Martí Gamboa
2009/7/22 superpollo 

> hello clp.
>
> i can insert a hex value for a character literal in a string:
>
> >>> stuff = "\x45"
> >>> print stuff
> E
> >>>
>
> can i do something like the above, but using a *binary* number? (e.g.
> 00101101 instead of 45) ?


(Python 3)

 >>> bin(45)
'0b101101'
>>> int(_, 2)
45

-- 
Pablo Martí
http://www.linkedin.com/in/pmarti || http://www.warp.es
python -c "print '706d6172746940776172702e6573'.decode('hex')"
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Python

2009-07-22 Thread TNR
Hi,

Check the below links..
http://www.tutorialspoint.com/python/
http://www.java2s.com/Tutorial/Python/CatalogPython.htm

Hope that helps.

Cheers
-theajo



On Wed, Jul 22, 2009 at 5:42 AM, Prateek  wrote:

> Chk dis out ...
>
> http://www.swaroopch.com/notes/Python
>
> It's gr8 guide for beginners
>
> Cheers!!!
> Prateek
> --
> http://mail.python.org/mailman/listinfo/python-list
>
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Fast reading and unpacking of binary data (struct module)

2009-07-22 Thread John Machin
Daniel Platz  googlemail.com> writes:

> 
> Hi,
> 
> I have a Python newbie question about reading data from a binary file.
> I have an huge binary file from an external program.

Please translate "huge" into Mb. Also, how much free real memory do you have?

> I want to read
> and process the data in this file in a reasonable time. It turns out
> that the reading of the data itself and the processing do not need
> most of the time. However, when using the read(bytes) method Python
> returns a string representing the binary information in hex.

"In hex" is not part of the string's nature. If you look at it through
hexadecimal/decimal/octal/binary spectacles, you'll see respectively
hex/decimal/octal/binary.

> This
> string I have to "cast/translate" into a number (in my case a signed
> short). For this I am using the method struct.unpack from the struct
> module. This unpacking part of the program takes by far the most time.
> Is there a way to speed this up or to do it the unpacking more
> cleverly than with the struct module?

Are you reading the file (a) two bytes at a time (b) several Kb at a time (c)
whole file?

Are you unpacking it ... [same options as above but the two answers may differ]?

What are you planning to do with this large list/array? The array option that
Gabriel mentioned should be fastest to load, and take up least memory, but
working with the elements will require making int objects out of the shorts (and
the reverse if you are updating the array).

Is numpy (http://numpy.scipy.org/) a possibility?

Cheers,

John

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: binary literal

2009-07-22 Thread Ulrich Eckhardt
superpollo wrote:
> i can insert a hex value for a character literal in a string:
> 
>  >>> stuff = "\x45"
>  >>> print stuff
> E
>  >>>
> 
> can i do something like the above, but using a *binary* number? (e.g.
> 00101101 instead of 45) ?

There are binary number literals since 2.6 and there is the chr() function.

 >>> print chr(0b1000101)
E

Uli

-- 
Sator Laser GmbH
Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Mechanize not recognized by py2exe

2009-07-22 Thread Scott David Daniels

OrcaSoul wrote:

...it's too late to name my first born after you, but
I did have a cat named Gabriel - she was a great cat!


Remember Gabriel in English uses a hard A, as in the horn
player, not Gabrielle.  I know because when I first read
his posts I made the same trick in my head, and hence
imagined a woman.  I suspect it would come to irk one
almost enough to become a Gabe.

--Scott David Daniels
[email protected]
--
http://mail.python.org/mailman/listinfo/python-list


Documentation Problems

2009-07-22 Thread Mark du Preez
Hi

Can anyone tell me where to go to suggest changes to the Python 
documentation?

Thanks. 


-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Fast reading and unpacking of binary data (struct module)

2009-07-22 Thread Neal Becker
Daniel Platz wrote:

> Hi,
> 
> I have a Python newbie question about reading data from a binary file.
> I have an huge binary file from an external program. I want to read
> and process the data in this file in a reasonable time. It turns out
> that the reading of the data itself and the processing do not need
> most of the time. However, when using the read(bytes) method Python
> returns a string representing the binary information in hex. This
> string I have to "cast/translate" into a number (in my case a signed
> short). For this I am using the method struct.unpack from the struct
> module. This unpacking part of the program takes by far the most time.
> Is there a way to speed this up or to do it the unpacking more
> cleverly than with the struct module?
> 
> Thanks in advance.
> 
> With kind regards,
> 
> Daniel

Consider mmap
Consider numpy
Consider numpy+mmap


-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Documentation Problems

2009-07-22 Thread Tim Golden

Mark du Preez wrote:

Hi

Can anyone tell me where to go to suggest changes to the Python 
documentation?


Drop an entry in the tracker:

 http://bugs.python.org

Patches are always welcome, or at least suggested wording rather
than vague "I don't think it should say that" -- although that's
better than nothing!

TJG
--
http://mail.python.org/mailman/listinfo/python-list


GTK+ ques

2009-07-22 Thread nipun batra
I need to develop a GUI preferably in GTK using c or PYGTK.I have little
idea about Python.
Following are requiremnts of the application:
should be GUI
Sould be real time
Should interface serial port
should display moving maps,like google earth
It is basically for Ground control station of a UAV.
How would Python+Pygtk combo work?
is python slower than c/c++ ,if then by how much?
any suggestions for the applcation?
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Documentation Problems

2009-07-22 Thread Diez B. Roggisch
Mark du Preez wrote:

> Hi
> 
> Can anyone tell me where to go to suggest changes to the Python
> documentation?
> 
> Thanks.

http://docs.python.org/ has a "bugs"-section that leads to

http://docs.python.org/bugs.html

You can file doc-bugs in the tracker, and check if they are already fixed in
the dev-docs.

Diez
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: Shed Skin 0.2, an experimental (restricted) Python-to-C++ compiler

2009-07-22 Thread William Dode
I updated the script (python, c and java) with your unrolled version 
+ somes litle thinks.

I also tried with python3.1, unladen Q2, ironpython1.1.1

Unfortunately it doesn't work more with shedskin, i'll see on the 
shedskin group...

c 1.85s
gcj 2.15s
java 2.8s
python2.5 + psyco 3.1s
unladen-2009Q2 145s (2m45)
python2.5 254s (4m14s)
python3.1 300s (5m)
ironpython1.1.1 680s (11m20)


-- 
William Dodé - http://flibuste.net
Informaticien Indépendant
-- 
http://mail.python.org/mailman/listinfo/python-list


Python ctypes on win64

2009-07-22 Thread ulf
Hi,

Does anybody know if python includes a win64 version of ctypes?

According to the documentation it should be included - at least
there's no special remarks for win64, and I haven't found any recent
notes saying that it shouldn't work on win64. Yet it looks like both
the installer from Python.org and from ActiveState.com have disabled
it.

regards

/ulfw
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Help understanding the decisions *behind* python?

2009-07-22 Thread Duncan Booth
Steven D'Aprano  wrote:

> But that's the wrong solution to the problem. The OP wants the largest
> (or smallest) item, which he expects to get by sorting, then grabbing
> the first element:
> 
> sorted(alist)[0]
> 
> That requires sorting the entire list, only to throw away everything 
> except the first item. A better solution is to use min() and max(), 
> neither of which sort the list, so they are much faster.
> 
And if they want the n smallest or largest items (where n is significantly 
less than the length of the list[*]) they might consider using 
heapq.nsmallest() and heapq.nlargest()

I find it interesting that the heapq functions tell you in the 
documentation that they aren't suitable for use where n==1 or where n is 
near the total size of the sequence whereas random.sample() chooses what it 
thinks is the best algorithm based on the input. At the very least I would 
have thought the heapq functions could check for n==1 and call min/max when 
it is.

[*] Some quick playing with timeit seems to indicate that with a list of 
200 integers nsmallest is fastest (by a very small margin) when n==2 and 
n==3 but is beaten by sorted[:n] when n==4, so I guess you need a 
reasonably long list to make it worth not sorting it: with list of 20,000 
integers it isn't worth sorting unless you want more than about 700 items.

-- 
Duncan Booth http://kupuguy.blogspot.com
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: List insertion cost

2009-07-22 Thread Diez B. Roggisch
Lucas P Melo wrote:

> Hello,
> I would like to know how much it costs to insert an element into a list
> using this operation:
> a[2:2] = [ 1 ]
> i. e, what is the complexity of the operation above (given that len(a) =
> n)?

O(n) I'd say. You need to copy nearly the whole list, and sometimes
re-allocate it's storage (they are internally stored as arrays of object
references)

Diez
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: doted filenames in import statements

2009-07-22 Thread Jean-Michel Pichavant

Piet van Oostrum wrote:


[snip]


JP> file = "/home/dsp/4.6.0.0/test.py"
JP> test = __import__(file)
JP> => no module name blalalal found.



  

JP> Any suggestion ? I tried multiple escape technics without any success.



Rightly so.

I think the best would be to add the directory to sys.path 
sys.path.add('/home/dsp/4.6.0.0')

and then
__import__('test', ... ) 
  


I see. My problem is that a have to import 2 different files having de 
same name. In the same name space I have 2 objects from 2 different 
software branches, let's say 4.6.0 and 4.6.1.

The first object shall import 4.6.0/orb.py and the second one 4.6.1/orb.py.

If I add 4.6.1 to sys.path, the import statement will look like:
self._orb = __import__('orb')
The problem is, python wil assume orb is already imported and will 
assign the module from the 4.6.0 branch to my 4.6.1 object.


Do I have to mess up with sys.modules keys to make python import the 
correct file ? Is there a standard/proper way to do that ?


JM
--
http://mail.python.org/mailman/listinfo/python-list


Re: Re: Changing the private variables content

2009-07-22 Thread Ryniek90




Temat:
Re: Changing the private variables content
Od:
Gary Herron 
Data:
Tue, 21 Jul 2009 14:14:44 -0700
Do:
Ryniek90 

Do:
Ryniek90 
Kopia:
[email protected]


Ryniek90 wrote:

Hi.
I'm writing some class, and decided to use inside private method and 
some private variables. While with method i haven't got any problem's 
with variables i have.

Maybe some example.
A class with private method and private variable:

"
>>> class Secret(object):
   #
   def __init__(self):
   self._number = 1
   #
   def _secret(self):
   print self._number
   def showit(self):
   print "Secret number is:\n"
   self._secret()

>>> sec = Secret()
>>> sec.showit()
Secret number is:

1
>>> sec._number
1
>>> sec._number = 2
>>> sec._number
2
>>> sec._number += 3
>>> sec._number
5
>>>
"

As You can see, i made class with private method and private variable 
inside __init__ constructor. I've changed also the variable value, 
but outside class.
I've got problem with changing some variable value _inside__my_ 
class, which i'm writing.


Not sure this is what you are asking, but a method (which is how I 
interpret "_inside__my_ class") changes the value by normal assignment 
like this:


class Secret(object):
 ...
 def SetNumber(self,value):
   self._number = value

Is that what you were asking?


Gary Herron



I've searched over google, some tuts with topics about operations on 
private variables, but didn't found anything - only how to make them, 
but no how to assign new objects/override them with new content (and 
other advanced and helpful options).


If someone could help me, it would be great.

Thanks.






Thanks for hint, but looks like i can't do what i want.

Maybe i show You my class:

"

class ModPrint(object):
  
   u"""

   This will be the doc.
   """
  
   def __init__(self):
  
   #Assign the Python installation directory - sys.exec_prefix - to 
variable

   self._default_search_path=sys.exec_prefix
   self._chosen_module = ''
   self._user_search_path = ''
   self._this_module = ''
  
   def _SetVar(self, attr, val):
   self.attr = val   
  
   def _search_for_module(self, *args):
  
   """Private method which walks through default Python 
installation directories, and search for prefered module."""
  
   #walking thru all directories available in path '_user_search_path'

   for root, dirs, files in os.walk(self._user_search_path):
   for f in files:
  
   #if found file 'f' is THAT module,

   #full path to THAT file is assigned to variable
   if f == ("%s.py" % self._chosen_module):
   self._SetVar(self._this_module, os.path.join(root, f))
  
  
   def print_module(self, _chosen_module='', _user_search_path='', 
_default_search_path=sys.exec_prefix,):
  
   """Reads module chosen by user, and returns full content of this 
module, as it is."""
  
  
   #if custom search path hasn't been assigned,

   #default path is being assigned as custom path
   if self._user_search_path == '':
   self._user_search_path = self._default_search_path
  
   #using private method '_search_for_module' with 'self.' preffix

   #to search for prefered module
   self._search_for_module(_chosen_module, _user_search_path)
  
   #opening prefered module with read-only binary mode

   #and assigning it to 'module_open' variable
   module_open = open(self._this_module, 'rb')
  
   #reading this file and assigning it to variable

   module_text = module_open.read()
  
   #closing read file; the read content is still available

   #it's stored in variable 'module_text'
   module_open.close()
  
   #returning the read content

   return module_text

"

When i use this class in Python IDLE, i've got this error:
"
>>> mod = ModPrint()
>>> import socket
>>> mod.print_module('socket')

Traceback (most recent call last):
 File "", line 1, in 
   mod.print_module('socket')
 File "", line 48, in print_module
   module_open = open(self._this_module, 'rb')
IOError: [Errno 2] No such file or directory: ''
>>>
"

As You can see, i can't assign the new value "os.path.join(root, f)" to 
the 'self._this_module variable'.

So for sure i've made some mistake in method:

"
def _SetVar(self, attr, val):
   self.attr = val   
"
When i've changed private variables to normal, stored in class (in 
__init__ method), it was the same situation - i couldn't change this 
variable value.


"
>>> mod = ModPrint()
>>> mod.print_module('os')

Traceback (most recent call last):
 File "", line 1, in 
   mod.print_module('os')
 File "", line 48, in print_module
   module_open = open(self.this_module, 'rb')
IOError: [Errno 2] No such file or directory: ''
>>>
"

Thanks i someone could help me, give some hint.
-

Re: Re: Changing the private variables content

2009-07-22 Thread Xavier Ho
On Wed, Jul 22, 2009 at 10:29 PM, Ryniek90  wrote:

> Thanks for hint, but looks like i can't do what i want.


That's because

>
> def _SetVar(self, attr, val):
>   self.attr = val


 doesn't work as you might think. However, I tried to replace it with:

val('self.' + attr + '=\'' + val + '\'')

and it gives me a syntax error!

  File "test.py", line 7, in _setVar
eval('self.' + attr + '=\'' + val + '\'')
  File "", line 1
self.var='Mrra'
^
SyntaxError: invalid syntax

So, uh, I'm wondering if this is a bug. And also the solution to his
problem.

Good luck. Any ideas appreciated.

Ching-Yun "Xavier" Ho, Technical Artist

Contact Information
Mobile: (+61) 04 3335 4748
Skype ID: SpaXe85
Email: [email protected]
Website: http://xavierho.com/
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Re: Changing the private variables content

2009-07-22 Thread Xavier Ho
>
> val('self.' + attr + '=\'' + val + '\'')
>

Obviously that was eval, not val. Also it doesn't work without the escaped
single quotes, either.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: Shed Skin 0.2, an experimental (restricted) Python-to-C++ compiler

2009-07-22 Thread srepmub

please send any program that doesn't work with shedskin (it still is
experimental after all) to me, or create an issue at
shedskin.googlecode.com, and I will have a look at the problem.


thanks,
mark.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: Shed Skin 0.2, an experimental (restricted) Python-to-C++ compiler

2009-07-22 Thread William Dode
On 22-07-2009, srepmub wrote:
>
> please send any program that doesn't work with shedskin (it still is
> experimental after all) to me, or create an issue at
> shedskin.googlecode.com, and I will have a look at the problem.

I did it, on the discussion group
http://groups.google.com/group/shedskin-discuss/browse_thread/thread/c1f47a7c21897b44

-- 
William Dodé - http://flibuste.net
Informaticien Indépendant
-- 
http://mail.python.org/mailman/listinfo/python-list


Finding all cycles within an undirected graph

2009-07-22 Thread disappearedng
Hey everyone,
I am interested to find out all the cycles within an undirected graph.
I don't have a particular implementation of nodes and vertices yet, so
would someone kindly point out a good graph library for this ( I
looked at pygraph and python-graph, but not really satisfied ), in
addition to good algorithm for solving this issue.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Re: Changing the private variables content

2009-07-22 Thread Xavier Ho
Got it:

exec('self.' + attr + '=\'' + val + '\'')

That worked. I think it'll do what you want now ;)

Ching-Yun "Xavier" Ho, Technical Artist

Contact Information
Mobile: (+61) 04 3335 4748
Skype ID: SpaXe85
Email: [email protected]
Website: http://xavierho.com/
-- 
http://mail.python.org/mailman/listinfo/python-list


Python-URL! - weekly Python news and links (Jul 22)

2009-07-22 Thread Gabriel Genellina
QOTW:  "If programming is symbol manipulation, then you should remember that
the user interface is also symbol manipulation, and it is a MUCH harder
problem than databases, sorting, searching, and all the other problems you
learn about in academia. The user interface has to communicate over a rich
but noisy channel using multiple under-specified protocols to a couple of
pounds of meat which processes information using buggy heuristics evolved
over millions of years to find the ripe fruit, avoid being eaten, and have
sex. If you think getting XML was hard, that's *nothing* compared to user
interfaces.

The fact that even bad UIs work at all is a credit to the heuristics, bugs
and all, in the meat." - Steven D'Aprano
 http://groups.google.com/group/comp.lang.python/msg/8c65eacbd76e79cf


Invoke the same method over every object in a collection:

http://groups.google.com/group/comp.lang.python/browse_thread/thread/8fd293a9b39c8733/

There is no 'xor' boolean operator, why? What should be its outcome?

http://groups.google.com/group/comp.lang.python/browse_thread/thread/16eec722310e75e8/

A thread-safe method to create unique identifiers (not necesarily
increasing integers):

http://groups.google.com/group/comp.lang.python/browse_thread/thread/dfe22a6446c057df/

Tim Chase tells us three ways to turn standard output into unbuffered mode:

http://groups.google.com/group/comp.lang.python/browse_thread/thread/a65f71444bd4bb53/

How to receive data of unknown length using sockets:

http://groups.google.com/group/comp.lang.python/browse_thread/thread/9e4a9f8b6e83320/

Override a method, but keeping the inherited docstring:

http://groups.google.com/group/comp.lang.python/browse_thread/thread/1e4075ba10dcbdd9/

Limiting the execution time of a code fragment:

http://groups.google.com/group/comp.lang.python/browse_thread/thread/734054de170e2904/

Sharing a big object between processes using the multiprocessing module:

http://groups.google.com/group/comp.lang.python/browse_thread/thread/833d4988b7af6353/

Why aren't OrderedDicts [3.1] comparable using <, >, <=, >=?

http://groups.google.com/group/comp.lang.python/browse_thread/thread/c3c6f4fe7b6d487d/

So many ways to call a function - why is that? Beginners get confused:

http://groups.google.com/group/comp.lang.python/browse_thread/thread/3fd57f5ee4850530/

The reasons to choose your favorite programming language (Python, I
presume!):

http://groups.google.com/group/comp.lang.python/browse_thread/thread/5d87008e328efcf9/

Tuples, lists, their differences and motivation:

http://groups.google.com/group/comp.lang.python/browse_thread/thread/cb0cf56c52321ccc/



Everything Python-related you want is probably one or two clicks away in
these pages:

Python.org's Python Language Website is the traditional
center of Pythonia
http://www.python.org
Notice especially the master FAQ
http://www.python.org/doc/FAQ.html

PythonWare complements the digest you're reading with the
marvelous daily python url
 http://www.pythonware.com/daily

Just beginning with Python?  This page is a great place to start:
http://wiki.python.org/moin/BeginnersGuide/Programmers

The Python Papers aims to publish "the efforts of Python enthusiasts":
http://pythonpapers.org/
The Python Magazine is a technical monthly devoted to Python:
http://pythonmagazine.com

Readers have recommended the "Planet" sites:
http://planetpython.org
http://planet.python.org

comp.lang.python.announce announces new Python software.  Be
sure to scan this newsgroup weekly.
http://groups.google.com/group/comp.lang.python.announce/topics

Python411 indexes "podcasts ... to help people learn Python ..."
Updates appear more-than-weekly:
http://www.awaretek.com/python/index.html

The Python Package Index catalogues packages.
http://www.python.org/pypi/

Much of Python's real work takes place on Special-Interest Group
mailing lists
http://www.python.org/sigs/

Python Success Stories--from air-traffic control to on-line
match-making--can inspire you or decision-makers to whom you're
subject with a vision of what the language makes practical.
http://www.pythonology.com/success

The Python Software Foundation (PSF) has replaced the Python
Consortium as an independent nexus of activity.  It has official
responsibility for Python's development and maintenance.
http://www.python.org/psf/
Among the ways you can support PSF is with a donation.
http://www.python.org/psf/donations/

The Summary of Python Tracker Issues is an automatically generated
re

Re: Multiple versions of python

2009-07-22 Thread Dave Angel

CCW wrote:

On 21 July, 15:19, Dave Angel  wrote:
  

ChrisW wrote:


Hi,
  
I have installed 2 versions of python on my Windows XP computer - I

originally had 3.0.1, but then found that the MySQL module only
supported 2.*, so I've now installed that.  I have found that if I
change the Windows Environment Variable path, then I can change the
version of python called when I type 'python' into a command line.
However, I'd like to be able to choose which version I use.  I know
that if I change C:\Python26\python.exe to
C:\Python26\python2.exe and C:\Python30\python.exe to C:
\Python26\python3.exe, then typing 'python2' or 'python3' will invoke
the correct interpreter.  However, is it safe just to rename the
executable files? Is there a more elegant way to achieve the same
task?
  
Thanks,

Chris
  
The elegant way is to have a batch directory on your PATH ( I use  
m:\t\bat )  and put your *.bat files there.   I do NOT put any python

installations on the PATH.

For example, I have a batch file called: m:\t\bat\python26.bat

c:\progfiles\python26\python.exe %*

The %* syntax means pass all arguments through to the program.

Once it all works, you can add an "@" in front of the c:   in order to
suppress echoing the command.  At that point, it'll look and work the
same way as what you did, but without modifying anything in the install
directory.(You may want  python26.bat, pythonw26.bat, python31.bat
and pythonw31.bat)

The other thing you may want to do in a batch file is to change the file
associations so that you can run the .py file directly, without typing
"python" or "pythonw" in front of it.

The relevant Windows commands are: assoc and ftype  And on a
related note, you may want to edit the PATHEXT environment variable, to
add .PY and .PYW



Thanks for this - this way made a bit more sense to me.  I've now got
C:\commands with the 4 .bat files in, and C:\commands in my path.  It
all seems to work :) I think I've missed the point of the @ though -
it doesn't seem to make any difference..

I'm also a bit confused with the associations - since I've got python
2.6 and 3.1, surely the command I type (python26 or python31) is the
only way to force a script to be run using a specific interpreter at
runtime without having to change the .bat file every time I want to
run a script using 3.1 instead of 2.6?

  
The @ symbol was used in older versions of CMD and COMMAND to suppress 
echoing of the command line.  I think if you're using XP or later, it 
doesn't matter.


As for file associations, I don't know just what you already know 
about.  When you typedata.docat a command line, the system looks 
for the data file, then if it's found, it looks up the program 
associated with that extension.  On my machine, that's a particular 
version of Word for Windows.  Similarly, if I typedigest.py   and 
I'm in the directory containing that file, the system looks up my 
associations, and runs Python 2.6 on that file.  If I wanted it to run 
Python 3.1 on that file, I'd have to change the associations, temporarily.


So, first approximation, it's a way to avoid having to type PYTHON each 
time I want to run a script, as long as I don't need any other arguments 
on the (implied) command line.  Further, the system will then look for 
digest.py everywhere on the PATH, so I don't even have to be in the same 
directory.  And that means I can be in the data directory that digest.py 
is going to work on.  Effectively, it raises digest.py to feeling like 
an executable, for most purposes.  In fact, I put all my scripts in a 
directory, along with other simple executables.   I use  m:\t\bin  for 
that purpose.


These associations (to .py and .pyw) are established by the installer 
program for Python.  But when you had multiple installs, you could 
choose whether the second one installed overrides the first.  My point 
is that if you need to change them back and forth, you could use  assoc 
and ftype to do it.


On my system:

M:\LabOrders>assoc .py
.py=Python.File

M:\LabOrders>ftype Python.File
Python.File="C:\PROGFI~1\ACTIVE~1\python.exe" "%1" %*

M:\LabOrders>


So my .py files are associated with the 2.6.2 version of ActivePython 
installation.   Note the similarity of the ftype to your python26.bat file?


One more little trick is that I could just type   digestinstead 
ofdigest.py,   if I have added the .py and .pyw extensions to my   
PATHEXT environment variable.So my PATHEXT looks like:

  PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.PY;.PYW



Note that the association changes made by  assoc and ftype are global.  
They apply to all cmd.exe windows, even those already running, and they 
survive a reboot.  But when you set environment variables like PATHEXT,  
you can choose to do it in a single window (with SET), or globally 
(using control-panel).


If I found myself switching often, I'd make separate ftype entries for 
each interpreter, something

Re: Changing the private variables content

2009-07-22 Thread MRAB

Ryniek90 wrote:




Temat:
Re: Changing the private variables content
Od:
Gary Herron 
Data:
Tue, 21 Jul 2009 14:14:44 -0700
Do:
Ryniek90 

Do:
Ryniek90 
Kopia:
[email protected]


Ryniek90 wrote:

Hi.
I'm writing some class, and decided to use inside private method and 
some private variables. While with method i haven't got any problem's 
with variables i have.

Maybe some example.
A class with private method and private variable:

"
>>> class Secret(object):
   #
   def __init__(self):
   self._number = 1
   #
   def _secret(self):
   print self._number
   def showit(self):
   print "Secret number is:\n"
   self._secret()

>>> sec = Secret()
>>> sec.showit()
Secret number is:

1
>>> sec._number
1
>>> sec._number = 2
>>> sec._number
2
>>> sec._number += 3
>>> sec._number
5
>>>
"

As You can see, i made class with private method and private variable 
inside __init__ constructor. I've changed also the variable value, 
but outside class.
I've got problem with changing some variable value _inside__my_ 
class, which i'm writing.


Not sure this is what you are asking, but a method (which is how I 
interpret "_inside__my_ class") changes the value by normal assignment 
like this:


class Secret(object):
 ...
 def SetNumber(self,value):
   self._number = value

Is that what you were asking?


Gary Herron



I've searched over google, some tuts with topics about operations on 
private variables, but didn't found anything - only how to make them, 
but no how to assign new objects/override them with new content (and 
other advanced and helpful options).


If someone could help me, it would be great.

Thanks.






Thanks for hint, but looks like i can't do what i want.

Maybe i show You my class:

"

class ModPrint(object):
 u"""
   This will be the doc.
   """
 def __init__(self):
 #Assign the Python installation directory - sys.exec_prefix 
- to variable

   self._default_search_path=sys.exec_prefix
   self._chosen_module = ''
   self._user_search_path = ''
   self._this_module = ''
 def _SetVar(self, attr, val):
   self.attr = valdef _search_for_module(self, *args):
 """Private method which walks through default Python 
installation directories, and search for prefered module."""
 #walking thru all directories available in path 
'_user_search_path'

   for root, dirs, files in os.walk(self._user_search_path):
   for f in files:
 #if found file 'f' is THAT module,
   #full path to THAT file is assigned to variable
   if f == ("%s.py" % self._chosen_module):
   self._SetVar(self._this_module, os.path.join(root, f))
   def print_module(self, 
_chosen_module='', _user_search_path='', 
_default_search_path=sys.exec_prefix,):
 """Reads module chosen by user, and returns full content of 
this module, as it is."""

   #if custom search path hasn't been assigned,
   #default path is being assigned as custom path
   if self._user_search_path == '':
   self._user_search_path = self._default_search_path
 #using private method '_search_for_module' with 'self.' 
preffix

   #to search for prefered module
   self._search_for_module(_chosen_module, _user_search_path)
 #opening prefered module with read-only binary mode
   #and assigning it to 'module_open' variable
   module_open = open(self._this_module, 'rb')
 #reading this file and assigning it to variable
   module_text = module_open.read()
 #closing read file; the read content is still available
   #it's stored in variable 'module_text'
   module_open.close()
 #returning the read content
   return module_text

"

When i use this class in Python IDLE, i've got this error:
"
 >>> mod = ModPrint()
 >>> import socket
 >>> mod.print_module('socket')

Traceback (most recent call last):
 File "", line 1, in 
   mod.print_module('socket')
 File "", line 48, in print_module
   module_open = open(self._this_module, 'rb')
IOError: [Errno 2] No such file or directory: ''
 >>>
"

As You can see, i can't assign the new value "os.path.join(root, f)" to 
the 'self._this_module variable'.

So for sure i've made some mistake in method:

"
def _SetVar(self, attr, val):
   self.attr = val   "
When i've changed private variables to normal, stored in class (in 
__init__ method), it was the same situation - i couldn't change this 
variable value.


"
 >>> mod = ModPrint()
 >>> mod.print_module('os')

Traceback (most recent call last):
 File "", line 1, in 
   mod.print_module('os')
 File "", line 48, in print_module
   module_open = open(self.this_module, 'rb')
IOError: [Errno 2] No such file or directory: ''
 >>>
"

Thanks i someone could help me, give some hint.

Re: invoke method on many instances

2009-07-22 Thread Alan G Isaac
>>> On Fri, 17 Jul 2009 05:19:50 +, Alan G Isaac wrote:
 def apply2(itr, methodname, *args, **kwargs):
 f = operator.methodcaller(methodname, *args, **kwargs)
 for item in itr:
 f(item)


>> On 7/17/2009 3:45 AM Steven D'Aprano apparently wrote:
>>> for obj in objects:
>>> getattr(obj, methodname)(*args, **kwargs)


> En Sat, 18 Jul 2009 12:31:46 -0300, Alan G Isaac:
>> Are there any obvious considerations in choosing 
>> between those two? 


On 7/20/2009 3:29 AM Gabriel Genellina apparently wrote:
> The operator.methodcaller version is faster in my tests for large 
> collections, but slightly slower when you have very few elements. 


So it seems.  Is this easily explained?

Thanks,
Alan Isaac
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Changing the private variables content

2009-07-22 Thread Xavier Ho
> What is the point of the _SetVar method?
>
>
So you can set any variable in that class, I guess?
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Suggestions for Python MapReduce?

2009-07-22 Thread Casey Webster
On Jul 22, 5:27 am, Phillip B Oldham  wrote:
> I understand that there are a number of MapReduce frameworks/tools
> that play nicely with Python (Disco, Dumbo/Hadoop), however these have
> "large" dependencies (Erlang/Java). Are there any MapReduce frameworks/
> tools which are either pure-Python, or play nicely with Python but
> don't require the Java/Erlang runtime environments?

I can't answer your question, but I would like to better understand
the
problem you are trying to solve.  The Apache Hadoop/MapReduce java
application isn't really that "large" by modern standards, although it
is generally run with large heap sizes for performance (-Xmx1024m or
larger for the mapred.child.java.opts parameter).

MapReduce is designed to do extremely fast parallel data set
processing
on terabytes of data over hundreds of physical nodes; what advantage
would a pure Python approach have here?
-- 
http://mail.python.org/mailman/listinfo/python-list


Getting cookie "expires" value

2009-07-22 Thread Brendon Wickham
Hi there,

My web application uses a cookie to set/get a session id. This is
working fine. However, I'm unable to work out how to get the cookie
"expires" value.

Below is test code that replicates the problem. It creates a simple
web page and shows a cookie value if it's found, or creates a new one
(correctly setting the "expires" value) and indicates that it was
created:


#!/usr/bin/env python
import Cookie,os

def printHeader():
    print "Content-type: text/html\n"
    print "Cookie test"
    print ""

cookies=Cookie.SimpleCookie(os.environ.get('HTTP_COOKIE'))

if cookies.has_key('test'):
    #If cookie was found:
    printHeader()
    print "Found cookie:"

    #Get cookie:
    c = cookies.get('test')

    #Print its value:
    print "Value: %s" % c.value

    #Iterate through its items and print name/value:
    for k,v in c.items():
         print "%s=%s" % (k,v)

else:
    #Define cookie:
    cookies['test'] = "1234"
    cookies['test']['expires'] = 3600

    #Save cookie:
    print cookies['test']

    #Now print HTML:
    printHeader()

    print "Cookie created."

print ""



This is what I get if the cookie exists:

Found cookie:

Value: 1234
comment=
domain=
secure=
expires=
max-age=
version=
path=


As you can see, the cookie attributes are valueless. Can anyone help?
Am I missing something fundamental?

Cheers,

Brendon
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Changing the private variables content

2009-07-22 Thread Steven D'Aprano
On Wed, 22 Jul 2009 14:29:20 +0200, Ryniek90 wrote:

> When i use this class in Python IDLE, i've got this error: "
...
> Traceback (most recent call last):
>   File "", line 1, in 
> mod.print_module('socket')
>   File "", line 48, in print_module
> module_open = open(self._this_module, 'rb')
> IOError: [Errno 2] No such file or directory: ''
>  >>>
> "
> 
> As You can see, i can't assign the new value "os.path.join(root, f)" to
> the 'self._this_module variable'.

In the __init__ method, you successfully set the `_this_module` attribute:

self._this_module = ''

That works, so it proves that you *can* set a private attribute.

Later on, you call the `_SetVar` method, which does this:

def _SetVar(self, attr, val):
self.attr = val   

In English, this method does this:

(1) Take two arguments, and store them in variables called "attr" and 
"val".

(2) Assign the value stored in "val" to an attribute named exactly "attr".

What you actually want is:

(1) Take two arguments, and store them in variables called "attr" and 
"val".

(2) Assign the value stored in "val" to an attribute with the name stored 
in the variable "attr".

Can you see the difference?

What you actually want is:

def _SetVar(self, attr, val):
setattr(self, attr, val)


Your code is terribly complicated. This will probably do what you want. 
(Warning -- I haven't tested it, so there may be a few errors.)


class ModPrint(object):
u"""
This will be the doc.
"""
def __init__(self, default_search_path=''):
self.default_search_path = ''

   def find_module(self, modulename, search_path=''):
   if search_path == '':
   # Try the default search path instead.
   search_path = self.default_search_path
if search_path == '':  # still blank.
# Try the Python search path instead.
   search_path = sys.exec_prefix
for root, dirs, files in os.walk(search_path):
for f in files:
if f == "%s.py" % modulename:
return os.path.join(root, f)

def get_module_text(self, modulename, search_path=''):
filename = self.find_module(modulename, search_path)
module_open = open(filename, 'rb')
module_text = module_open.read()
module_open.close()
return module_text


I changed the name of print_module_text because it doesn't actually print 
anything.



-- 
Steven
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Finding all cycles within an undirected graph

2009-07-22 Thread Robin Becker

disappearedng wrote:

Hey everyone,
I am interested to find out all the cycles within an undirected graph.
I don't have a particular implementation of nodes and vertices yet, so
would someone kindly point out a good graph library for this ( I
looked at pygraph and python-graph, but not really satisfied ), in
addition to good algorithm for solving this issue.


this one has been updated recently

http://code.google.com/p/python-graph/

also this page has many links http://wiki.python.org/moin/PythonGraphApi
--
Robin Becker

--
http://mail.python.org/mailman/listinfo/python-list


How to document Python code properly for Pydoc

2009-07-22 Thread jorma kala
Hi,
Do you know where I can find the rules for documenting Python code, so that
automatic document generation with Pydoc makes the most of the comments
inserted in the code?
I know about documenting class and method through triple quote just under
the class definition. But how do you comment a specific field or variable,
or how do you document function arguments so that they are extracted like in
javadoc?
Thanks very much
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Multiple versions of python

2009-07-22 Thread Scott David Daniels

CCW wrote:

On 21 July, 15:19, Dave Angel  wrote:

The other thing you may want to do in a batch file is to change the file
associations so that you can run the .py file directly, without typing
"python" or "pythonw" in front of it.

The relevant Windows commands are: assoc and ftype  And on a
related note, you may want to edit the PATHEXT environment variable, to
add .PY and .PYW


Thanks for this - this way made a bit more sense to me.  I've now got
C:\commands with the 4 .bat files in, and C:\commands in my path.  It
all seems to work :) I think I've missed the point of the @ though -
it doesn't seem to make any difference..

I'm also a bit confused with the associations - since I've got python
2.6 and 3.1, surely the command I type (python26 or python31) is the
only way to force a script to be run using a specific interpreter at
runtime without having to change the .bat file every time I want to
run a script using 3.1 instead of 2.6?


OK, for me currently:

C:\> assoc .py
.py=Python.File

C:\> assoc .pyw
.pyw=Python.NoConFile

C:\> ftype Python.File
Python.File="C:\Python31\python.exe" "%1" %*

C:\> ftype Python.NoConFile
Python.NoConFile="C:\Python31\pythonw.exe" "%1" %*

C:\> ftype Python.File
Python.File="C:\Python31\python.exe" "%1" %*

Now imagine instead that you've added:

C:\> ftype Python31.File="C:\Python31\python.exe" "%1" %*
C:\> ftype Python31.NoConFile="C:\Python31\pythonw.exe" "%1" %*
C:\> ftype Python26.File="C:\Python26\python.exe" "%1" %*
C:\> ftype Python26.NoConFile="C:\Python26\pythonw.exe" "%1" %*

Then you can do the following:
C:\> assoc .py=Python26.File
C:\> fumble.py
C:\> assoc .py=Python31.File
C:\> fumble.py

That is the basic idea, but at the moment, I don't see a simple demo
working for me.  SO, if you want to pursue this, you can probably get it
to work.

--Scott David Daniels
[email protected]
--
http://mail.python.org/mailman/listinfo/python-list


Re: Detect target name in descriptor __set__ method

2009-07-22 Thread Rhodri James
On Wed, 22 Jul 2009 06:02:55 +0100, Gabriel Genellina  
 wrote:




class X(object):
   foo = descriptor()

x = X()
x.foo = "value"


Isn't this going to create a brand new instance attribute x.foo that has  
nothing to do with the descriptor anyway?


--
Rhodri James *-* Wildebeest Herder to the Masses
--
http://mail.python.org/mailman/listinfo/python-list


Re: Changing the private variables content

2009-07-22 Thread Ryniek90


Got it:

exec('self.' + attr + '=\'' + val + '\'')

That worked. I think it'll do what you want now ;)

Ching-Yun "Xavier" Ho, Technical Artist

Contact Information
Mobile: (+61) 04 3335 4748
Skype ID: SpaXe85
Email: [email protected] 
Website: http://xavierho.com/


To bad, that didn't worked in my class. Still the same error:
"
>>> mod.print_module('socket')

Traceback (most recent call last):
 File "", line 1, in 
   mod.print_module('socket')
 File "", line 51, in print_module
   module_open = open(self._this_module, 'rb')
IOError: [Errno 2] No such file or directory: ''
>>>
"

:-/

What is the point of the _SetVar method?

Instead of:

self._SetVar(self._this_module, os.path.join(root, f))

just do:

self._this_module = os.path.join(root, f)

(unless I'm misunderstanding what you're trying to do!)



Of course i;ve tried, but still get the same error:

"
>>> mod.print_module('socket')

Traceback (most recent call last):
 File "", line 1, in 
   mod.print_module('socket')
 File "", line 51, in print_module
   module_open = open(self.this_module, 'rb')
IOError: [Errno 2] No such file or directory: ''
>>>
"

It looks like private variable have specific naure, that prevent from 
traditional editing them.

Still searching for some tuts about private methods and variables.
--
http://mail.python.org/mailman/listinfo/python-list


Re: Issue combining gzip and subprocess

2009-07-22 Thread Scott David Daniels

Piet van Oostrum wrote:

...
f = gzip.open(filename, 'w')
proc = subprocess.Popen(['ls','-la'], stdout=subprocess.PIPE)
while True:
line = proc.stdout.readline()
if not line: break
f.write(line)
f.close()


Or even:
proc = subprocess.Popen(['ls','-la'], stdout=subprocess.PIPE)
with gzip.open(filename, 'w') as dest:
for line in iter(proc.stdout, ''):
f.write(line)

--Scott David Daniels
[email protected]
--
http://mail.python.org/mailman/listinfo/python-list


Re: plotting graph from another file

2009-07-22 Thread Grant Edwards
On 2009-07-22, jhinak sen  wrote:

> i want to plot a distribution graph for following data:

[...]

> can it be done using matplotlib ?
>
> if yes , please give me the code for plotting the importing
> the text file and plotting the graph.

As soon as you're done cleaning my house, washing my car, and
running a few errands.

-- 
Grant Edwards   grante Yow! Of course, you
  at   UNDERSTAND about the PLAIDS
   visi.comin the SPIN CYCLE --
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Finding all cycles within an undirected graph (disappearedng)

2009-07-22 Thread disappearedng
Actually, I have realized that using the bit vector XOR method by
http://www.me.utexas.edu/~bard/IP/Handouts/cycles.pdf gives some
possibility of doing so. However this method is still experimental and
doesn't really have a definitive end to the algorithm (the base number
of vectors can change).

Any ideas anyone?

On Wed, Jul 22, 2009 at 9:12 PM,  wrote:
> Send Python-list mailing list submissions to
>        [email protected]
>
> To subscribe or unsubscribe via the World Wide Web, visit
>        http://mail.python.org/mailman/listinfo/python-list
> or, via email, send a message with subject or body 'help' to
>        [email protected]
>
> You can reach the person managing the list at
>        [email protected]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Python-list digest..."
>
> Today's Topics:
>
>   1. Finding all cycles within an undirected graph (disappearedng)
>   2. Re: Re: Changing the private variables content (Xavier Ho)
>   3. Python-URL! - weekly Python news and links (Jul 22)
>      (Gabriel Genellina)
>   4. Re: Multiple versions of python (Dave Angel)
>   5. Re: Changing the private variables content (MRAB)
>
>
> -- Forwarded message --
> From: disappearedng 
> To: [email protected]
> Date: Wed, 22 Jul 2009 21:04:18 +0800
> Subject: Finding all cycles within an undirected graph
> Hey everyone,
> I am interested to find out all the cycles within an undirected graph.
> I don't have a particular implementation of nodes and vertices yet, so
> would someone kindly point out a good graph library for this ( I
> looked at pygraph and python-graph, but not really satisfied ), in
> addition to good algorithm for solving this issue.
>
>
>
> -- Forwarded message --
> From: Xavier Ho 
> To: [email protected]
> Date: Wed, 22 Jul 2009 23:06:22 +1000
> Subject: Re: Re: Changing the private variables content
> Got it:
>
> exec('self.' + attr + '=\'' + val + '\'')
>
> That worked. I think it'll do what you want now ;)
>
> Ching-Yun "Xavier" Ho, Technical Artist
>
> Contact Information
> Mobile: (+61) 04 3335 4748
> Skype ID: SpaXe85
> Email: [email protected]
> Website: http://xavierho.com/
>
>
> -- Forwarded message --
> From: "Gabriel Genellina" 
> To: [email protected]
> Date: Wed, 22 Jul 2009 12:48:25 + (UTC)
> Subject: Python-URL! - weekly Python news and links (Jul 22)
> QOTW:  "If programming is symbol manipulation, then you should remember that
> the user interface is also symbol manipulation, and it is a MUCH harder
> problem than databases, sorting, searching, and all the other problems you
> learn about in academia. The user interface has to communicate over a rich
> but noisy channel using multiple under-specified protocols to a couple of
> pounds of meat which processes information using buggy heuristics evolved
> over millions of years to find the ripe fruit, avoid being eaten, and have
> sex. If you think getting XML was hard, that's *nothing* compared to user
> interfaces.
>
> The fact that even bad UIs work at all is a credit to the heuristics, bugs
> and all, in the meat." - Steven D'Aprano
>     http://groups.google.com/group/comp.lang.python/msg/8c65eacbd76e79cf
>
>
>    Invoke the same method over every object in a collection:
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/8fd293a9b39c8733/
>
>    There is no 'xor' boolean operator, why? What should be its outcome?
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/16eec722310e75e8/
>
>    A thread-safe method to create unique identifiers (not necesarily
>    increasing integers):
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/dfe22a6446c057df/
>
>    Tim Chase tells us three ways to turn standard output into unbuffered mode:
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/a65f71444bd4bb53/
>
>    How to receive data of unknown length using sockets:
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/9e4a9f8b6e83320/
>
>    Override a method, but keeping the inherited docstring:
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/1e4075ba10dcbdd9/
>
>    Limiting the execution time of a code fragment:
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/734054de170e2904/
>
>    Sharing a big object between processes using the multiprocessing module:
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/833d4988b7af6353/
>
>    Why aren't OrderedDicts [3.1] comparable using <, >, <=, >=?
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/c3c6f4fe7b6d487d/
>
>    So many ways to call a function - why is that? Beginners get confused:
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/3fd57f5ee4

Re: Ideas for problem with chat server application!

2009-07-22 Thread Dave Angel

David Adamo Jr. wrote:

I developed a chat application with an attendant chat server.
Everything is working fine. The issue now is the fact that whenever
the chat server goes down (for instance, the server system shuts down
as a result of power failure or some other problem), by the time the
server system come back on, the chat server would have to be restarted
manually.

I believe (and I know) it is more appropriate for the chat server
application to restart itself when the computer comes back on (and of
course regardless of who is logged in and of course, even before
anyone logs in). I have a batch file that executes the chat server. My
attempt was to create a windows service that start automatically and
runs this batch file using a Network Service account on the server
system. Although, I'm having a hard time with this (temporarily), I
would love to ask if there are any alternatives to using a windows
service. Suggestions are highly appreciated.

  
As a starting place, take a look at the Windows Scheduler.  One of the 
options is to schedule something at "boot."  That happens before anybody 
logs on to the system.  I don't know whether you can specify what user 
account will be used, but you can certainly launch a python program from 
there.


DaveA
--
http://mail.python.org/mailman/listinfo/python-list


Re: Help understanding the decisions *behind* python?

2009-07-22 Thread Inky 788
On Jul 22, 2:36 am, Hendrik van Rooyen 
wrote:
> On Tuesday 21 July 2009 15:49:59 Inky 788 wrote:
>
> > On Jul 20, 12:27 pm, Phillip B Oldham 
>
> > wrote:
> > > [snip] We
> > > understand that lists are mutable and tuples are not, but we're a
> > > little lost as to why the two were kept separate from the start. They
> > > both perform a very similar job as far as we can tell.
>
> > My guess is that it was probably for optimization reasons long ago.
> > I've never heard a *good* reason why Python needs both.
>
> The good reason is the immutability, which lets you use
> a tuple as a dict key.  

Thanks for the reply Hendrik (and Steven (other reply)). Perhaps I'm
just not sophisticated enough, but I've never wanted to use a list/
tuple as a dict key. This sounds like obscure usage, and a bit
contrived as a reason for having *both* lists and tuples.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Documentation Problems

2009-07-22 Thread Inky 788
On Jul 22, 7:15 am, Tim Golden  wrote:
> Mark du Preez wrote:
> > Hi
>
> > Can anyone tell me where to go to suggest changes to the Python
> > documentation?
>
> Drop an entry in the tracker:
>
>  http://bugs.python.org
>
> Patches are always welcome,

Could you please provide brief instructions on exactly how to go about
creating a suitable patch file? I mean, starting from the beginning
(as in, "check out code from {here} using {this command}", "cd to
{this} directory", "edit the file in place", "run {this} command to
create a patch file"). Or perhaps this procedure is already outlined
elsewhere?
-- 
http://mail.python.org/mailman/listinfo/python-list


Not understanding this documentation

2009-07-22 Thread F.O.P.
http://bugs.python.org/issue5358
I simply installed 3.0 on my ubuntubox brought my project from a
windows machine and made necessary changes to what I had used from os
and os.path.  I have an error at the end of this line:
for k in range(I):
and the error:
SyntaxError: invalid character in identifier

I've already declared I way above as the lenth of an array (I = len
(IA))
There shouldn't be a problem there aren't any issues with other
declarations identical to this.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: Shed Skin 0.2, an experimental (restricted) Python-to-C++ compiler

2009-07-22 Thread George Sakkis
On Jul 22, 7:38 am, William Dode  wrote:

> I updated the script (python, c and java) with your unrolled version
> + somes litle thinks.
>
> I also tried with python3.1, unladen Q2, ironpython1.1.1
>
> Unfortunately it doesn't work more with shedskin, i'll see on the
> shedskin group...
>
> c 1.85s
> gcj 2.15s
> java 2.8s
> python2.5 + psyco 3.1s
> unladen-2009Q2 145s (2m45)
> python2.5 254s (4m14s)
> python3.1 300s (5m)
> ironpython1.1.1 680s (11m20)

Cool; it would be interesting to see the numbers for Jython and Boo as
well if it's not too much effort.

George
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Help understanding the decisions *behind* python?

2009-07-22 Thread Luis Alberto Zarrabeitia Gomez

Quoting Inky 788 :

> > The good reason is the immutability, which lets you use
> > a tuple as a dict key.  
> 
> Thanks for the reply Hendrik (and Steven (other reply)). Perhaps I'm
> just not sophisticated enough, but I've never wanted to use a list/
> tuple as a dict key. This sounds like obscure usage, and a bit
> contrived as a reason for having *both* lists and tuples.

I don't seem to understand your definition of obscure and contrived. It seems
that you got late to this thread, and you missed the examples. I'd suggest you
to go back on this thread and look at them. 


heights = {}
heights[1,2] = 5
heights[1,3] = 7
heights[3,5] = 1

addresses[lastname, firstname] = my_home_address

census[location, age] = census.get((location, age), 0) + 1

All those are using tuples as dict keys.

Regards,

-- 
Luis Zarrabeitia
Facultad de Matemática y Computación, UH
http://profesores.matcom.uh.cu/~kyrie


-- 
Participe en Universidad 2010, del 8 al 12 de febrero de 2010
La Habana, Cuba 
http://www.universidad2010.cu

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Not understanding this documentation

2009-07-22 Thread Rhodri James
On Wed, 22 Jul 2009 15:46:09 +0100, F.O.P.   
wrote:



http://bugs.python.org/issue5358
I simply installed 3.0 on my ubuntubox brought my project from a
windows machine and made necessary changes to what I had used from os
and os.path.  I have an error at the end of this line:
for k in range(I):
and the error:
SyntaxError: invalid character in identifier

I've already declared I way above as the lenth of an array (I = len
(IA))
There shouldn't be a problem there aren't any issues with other
declarations identical to this.


Could you show us slightly more of your code and the rest of the
error message, please?  I have a suspicion that the error actually
lies in the "necessary changes" you made.

--
Rhodri James *-* Wildebeest Herder to the Masses
--
http://mail.python.org/mailman/listinfo/python-list


Re: Suggestions for Python MapReduce?

2009-07-22 Thread Phillip B Oldham
On Jul 22, 2:23 pm, Casey Webster  wrote:
> I can't answer your question, but I would like to better understand
> the
> problem you are trying to solve.  The Apache Hadoop/MapReduce java
> application isn't really that "large" by modern standards, although it
> is generally run with large heap sizes for performance (-Xmx1024m or
> larger for the mapred.child.java.opts parameter).
>
> MapReduce is designed to do extremely fast parallel data set
> processing
> on terabytes of data over hundreds of physical nodes; what advantage
> would a pure Python approach have here?

We're always taught that it is a good idea to reduce the number of
dependencies for a project. So you could use Disco, or Dumbo, or even
Skynet. But then you've introduced another system you have to manage.
Each new system will have a learning curve, which is lessened if the
system is written in an environment/language you already work with/
understand. And since a large cost with environments like erlang and
java is in understanding them any issues that are out of the ordinary
can be killer; changing the heap size as you mentioned above for Java
could be one of these issues that a non-java dev trying to use Hadoop
might come across.

With the advent of cloud computing and the new semi-structured/
document databases that are coming to the fore sometimes you need to
use MapReduce on smaller/fewer systems to the same effect. Also, you
may need only to ensure that a job is done in a timely fashion without
taking up too many resources, rather than lightening-fast. Dumbo/disco
in these situations may be considered overkill.

Implementations like BashReduce  are perfect for such scenarios. I'm simply
wondering if there's another simpler/smaller implementation of
MapReduce that plays nicely with Python but doesn't require the setup/
knowledge overhead of more "robust" implementations such as hadoop and
disco... maybe similar to Ruby's Skynet.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: binary literal

2009-07-22 Thread Dave Angel

superpollo wrote:

hello clp.

i can insert a hex value for a character literal in a string:

>>> stuff = "\x45"
>>> print stuff
E
>>>

can i do something like the above, but using a *binary* number? (e.g. 
00101101 instead of 45) ?


bye



There's no way to get a binary value directly into a literal, but you 
can convert one into a string value, as follows:



x = 0b00101101
print x
print chr(x)

output is:
 45
 -

Note that this is decimal 45, which is different than the hex 45 you 
used in your first example.


For doing multiple characters, I can't see anything better than:

lis = [0b00101101, 0b01000101, 0b0111]
print lis
s= "".join(chr(x) for x in lis)
print s

DaveA

--
http://mail.python.org/mailman/listinfo/python-list


challenging problem for changing to a dedicated non-privileged user within a script.

2009-07-22 Thread Krishnakant
hello all,
This is a real challenge and I don't know if a solution even exists for
this or not.

I am writing an application which I run as my usual user on ubuntu.
the usernake is let's say kk and it has sudo permission (meaning the
user is in the sudoers list ).


now when i do python myscript.py, the script has to change to another
non-privileged user for some tasks.
let's say for example switch to the postgres user which is dedicated for
postgres and has no other privileges.

I have tryed doing os.setuid(112) where 112 could be the uid of the user
I want the script to swith over.


but I got opperation not permitted.

I tryed using subprocess but that did not help me either.  I tryed sudo
su into the Popen command but it throws me into the terminal (shell)
with postgres as the user.

But that's now my desired result.
what I exactly want is that the script now continues to execute under
postgres user till the end.

I don't know how to achieve this iffect.

Infact I will need this during a serious deployment because i would have
my application run as a demon as a dedicated user.

I am finding some code for deamonising a python application but don't
know how to tell the script to change user.

happy hacking.
Krishnakant.


-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Changing the private variables content

2009-07-22 Thread Dave Angel

Ryniek90 wrote:




It looks like private variable have specific naure, that prevent from 
traditional editing them.

Still searching for some tuts about private methods and variables.



There's no tutorial on private variables for good reason:

Private variables have no special characteristics.  The compiler and 
runtime library don't treat them specially (except for the highly 
controversial from xx import *).  It's strictly a programming 
convention.  You've got some other bugs in your code, which I can't help 
you with because your code comes across formatted so strangely that it 
cannot compile here.  Some things you might do to make it easier to get 
help:


1) make sure you're not mixing tabs and spaces in your source code
2) post using text messages, so they don't get reformatted.
3) copy/paste the code and error messages into your message, don't retype.
4) whenever you've made more than trivial changes to the code, repost it 
all, since it's very difficult to tell which suggestions you've 
followed, and which ones you haven't gotten yet, or maybe dismissed 
because they didn't work.


DaveA

--
http://mail.python.org/mailman/listinfo/python-list


Re: Suggestions for Python MapReduce?

2009-07-22 Thread python
Phillip,

We've had great success writing simple, project specific algorithms to
split content into chunks appropriate for ETL type, Python based
processing in a hosted cloud environment like Amazon EC2 or the recently
launched Rackspace Cloud Servers. Since we're purchasing our cloud
hosting time in 1 hour blocks, we divide our data into much larger
chunks than what a traditional map-reduce technique might use. For many
of our projects, the data transfer time to and from the cloud takes the
majority of clock time.

Malcolm
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Changing the private variables content

2009-07-22 Thread Jean-Michel Pichavant

Steven D'Aprano wrote:

On Wed, 22 Jul 2009 14:29:20 +0200, Ryniek90 wrote:

  

When i use this class in Python IDLE, i've got this error: "


...
  

Traceback (most recent call last):
  File "", line 1, in 
mod.print_module('socket')
  File "", line 48, in print_module
module_open = open(self._this_module, 'rb')
IOError: [Errno 2] No such file or directory: ''
 >>>
"

As You can see, i can't assign the new value "os.path.join(root, f)" to
the 'self._this_module variable'.



In the __init__ method, you successfully set the `_this_module` attribute:

self._this_module = ''

That works, so it proves that you *can* set a private attribute.

Later on, you call the `_SetVar` method, which does this:

def _SetVar(self, attr, val):
self.attr = val   


In English, this method does this:

(1) Take two arguments, and store them in variables called "attr" and 
"val".


(2) Assign the value stored in "val" to an attribute named exactly "attr".

What you actually want is:

(1) Take two arguments, and store them in variables called "attr" and 
"val".


(2) Assign the value stored in "val" to an attribute with the name stored 
in the variable "attr".


Can you see the difference?

What you actually want is:

def _SetVar(self, attr, val):
setattr(self, attr, val)


Your code is terribly complicated. This will probably do what you want. 
(Warning -- I haven't tested it, so there may be a few errors.)



class ModPrint(object):
u"""
This will be the doc.
"""
def __init__(self, default_search_path=''):
self.default_search_path = ''

   def find_module(self, modulename, search_path=''):
   if search_path == '':
   # Try the default search path instead.
   search_path = self.default_search_path
if search_path == '':  # still blank.
# Try the Python search path instead.
   search_path = sys.exec_prefix
for root, dirs, files in os.walk(search_path):
for f in files:
if f == "%s.py" % modulename:
return os.path.join(root, f)

def get_module_text(self, modulename, search_path=''):
filename = self.find_module(modulename, search_path)
module_open = open(filename, 'rb')
module_text = module_open.read()
module_open.close()
return module_text


I changed the name of print_module_text because it doesn't actually print 
anything.




  
Moreover, if I'm not wrong there is absolutely no difference in the way 
python is handling private and public attributes, for python, both are 
the same kind of attributes. This is purely conventional (some doc 
processing tool will take into account the private prefix).


So there is absolutely no restriction in writing self._myVar = 0 in any 
of the instance methods.


JM

--
http://mail.python.org/mailman/listinfo/python-list


Re: Python-list Digest, Vol 70, Issue 282

2009-07-22 Thread Ryniek90



When i use this class in Python IDLE, i've got this error: "


...
  

Traceback (most recent call last):
  File "", line 1, in 
mod.print_module('socket')
  File "", line 48, in print_module
module_open = open(self._this_module, 'rb')
IOError: [Errno 2] No such file or directory: ''
 >>>
"

As You can see, i can't assign the new value "os.path.join(root, f)" to
the 'self._this_module variable'.



In the __init__ method, you successfully set the `_this_module` attribute:

self._this_module = ''

That works, so it proves that you *can* set a private attribute.

Later on, you call the `_SetVar` method, which does this:

def _SetVar(self, attr, val):
self.attr = val   


In English, this method does this:

(1) Take two arguments, and store them in variables called "attr" and 
"val".


(2) Assign the value stored in "val" to an attribute named exactly "attr".

What you actually want is:

(1) Take two arguments, and store them in variables called "attr" and 
"val".


(2) Assign the value stored in "val" to an attribute with the name stored 
in the variable "attr".


Can you see the difference?

What you actually want is:

def _SetVar(self, attr, val):
setattr(self, attr, val)


Your code is terribly complicated. This will probably do what you want. 
(Warning -- I haven't tested it, so there may be a few errors.)



class ModPrint(object):
u"""
This will be the doc.
"""
def __init__(self, default_search_path=''):
self.default_search_path = ''

   def find_module(self, modulename, search_path=''):
   if search_path == '':
   # Try the default search path instead.
   search_path = self.default_search_path
if search_path == '':  # still blank.
# Try the Python search path instead.
   search_path = sys.exec_prefix
for root, dirs, files in os.walk(search_path):
for f in files:
if f == "%s.py" % modulename:
return os.path.join(root, f)

def get_module_text(self, modulename, search_path=''):
filename = self.find_module(modulename, search_path)
module_open = open(filename, 'rb')
module_text = module_open.read()
module_open.close()
return module_text


I changed the name of print_module_text because it doesn't actually print 
anything.
  


Thanks for ready class - it works great, but that code:
"

What you actually want is:

   def _SetVar(self, attr, val):
   setattr(self, attr, val)


"
Didn't worked, so i wil reuse your class, and modify it later. Now i see 
that working on private objects complex.


--
http://mail.python.org/mailman/listinfo/python-list


Copy/paste through LAN

2009-07-22 Thread Jun
Hello,

I've a client/server application which uses Pyro to communicate each
other.
Now i try to implement copy/paste through LAN between server
controlled
filesystem to my local windows machine (I could list files in client's
window).
How can i pass the url information through Pyro ?

Thank you in advance.

Jun
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: binary literal

2009-07-22 Thread Terry Reedy

superpollo wrote:

hello clp.

i can insert a hex value for a character literal in a string:

 >>> stuff = "\x45"
 >>> print stuff
E
 >>>

can i do something like the above, but using a *binary* number? (e.g. 
00101101 instead of 45) ?


Language Ref 2.4. Literals

--
http://mail.python.org/mailman/listinfo/python-list


Re: Documentation Problems

2009-07-22 Thread Terry Reedy

Diez B. Roggisch wrote:

Mark du Preez wrote:


Hi

Can anyone tell me where to go to suggest changes to the Python
documentation?

Thanks.


http://docs.python.org/ has a "bugs"-section that leads to

http://docs.python.org/bugs.html

You can file doc-bugs in the tracker, and check if they are already fixed in
the dev-docs.


Actually, check first at

http://docs.python.org/dev/py3k/ for 3.2a
http://docs.python.org/dev/  for 2.7a

These are updated often, perhaps nightly.
Then file if you still think a change is needed.

For small changes, a specific suggested rewording is sufficient.

"Change 'tihs' to 'this'."

"Between 'Sentence 1' and 'sentence 2', I suggest adding 'sentence 3'."

The doc maintainers are happy to do the rst formatting themselves.

--
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-22 Thread Ron Garret
In article ,
 Neil Hodgson  wrote:

> milanj:
> 
> > and all of them use native threads (python still use green threads ?)
> 
>Python uses native threads.

But then it adds the global interpreter lock, which completely 
undermines the utility of native threads.  So yes, it uses native 
threads, but it does not actually realize the benefits of that use.

rg
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Not understanding this documentation

2009-07-22 Thread John Machin
On Jul 23, 12:46 am, "F.O.P."  wrote:
> http://bugs.python.org/issue5358
> I simply installed 3.0 on my ubuntubox brought my project from a
> windows machine and made necessary changes to what I had used from os
> and os.path.  I have an error at the end of this line:
> for k in range(I):
> and the error:
> SyntaxError: invalid character in identifier
>
> I've already declared I way above as the lenth of an array (I = len
> (IA))
> There shouldn't be a problem there aren't any issues with other
> declarations identical to this.

You are have used the --ftniv and --strict  options and hence it's
objecting to the lower-case "k".

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: doted filenames in import statements

2009-07-22 Thread Terry Reedy

Jean-Michel Pichavant wrote:

Piet van Oostrum wrote:


[snip]


JP> file = "/home/dsp/4.6.0.0/test.py"
JP> test = __import__(file)
JP> => no module name blalalal found.



 
JP> Any suggestion ? I tried multiple escape technics without any 
success.



Rightly so.

I think the best would be to add the directory to sys.path 
sys.path.add('/home/dsp/4.6.0.0')

and then
__import__('test', ... )   


I see. My problem is that a have to import 2 different files having de 
same name. In the same name space I have 2 objects from 2 different 
software branches, let's say 4.6.0 and 4.6.1.

The first object shall import 4.6.0/orb.py and the second one 4.6.1/orb.py.

If I add 4.6.1 to sys.path, the import statement will look like:
self._orb = __import__('orb')
The problem is, python wil assume orb is already imported and will 
assign the module from the 4.6.0 branch to my 4.6.1 object.


Do I have to mess up with sys.modules keys to make python import the 
correct file ? Is there a standard/proper way to do that ?


If you make the directory names into proper identifiers like v460 and 
v461 and add __init__.py to each to make them packages and have both on 
search path, then


import v460.orb #or import v460.orb as orb460
import v461.orb #or import v460.orb as orb461

will get you both. One way or another, they have to get different names 
within Python.


Terry Jan Reedy

--
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: Shed Skin 0.2, an experimental (restricted) Python-to-C++ compiler

2009-07-22 Thread William Dode
On 22-07-2009, George Sakkis wrote:
> On Jul 22, 7:38 am, William Dode  wrote:
>
>> I updated the script (python, c and java) with your unrolled version
>> + somes litle thinks.
>>
>> I also tried with python3.1, unladen Q2, ironpython1.1.1
>>
>> Unfortunately it doesn't work more with shedskin, i'll see on the
>> shedskin group...
>>
>> c 1.85s
>> gcj 2.15s
>> java 2.8s
>> python2.5 + psyco 3.1s
>> unladen-2009Q2 145s (2m45)
>> python2.5 254s (4m14s)
>> python3.1 300s (5m)
>> ironpython1.1.1 680s (11m20)
>
> Cool; it would be interesting to see the numbers for Jython and Boo as
> well if it's not too much effort.

I just tried with jython, but oddly it's faster without array.
Thanks to Mark, i could compile to shedskin again.
And add somes little improvements...

c 1.65s
gcj 1.9s
java 2.4s
python2.5 + psyco 2.9s
shedskin 3.4s
unladen-2009Q2 125s (2m05)
Jython 2.2.1 on java1.6.0_12 176s (without array, like shedskin)
Jython 2.2.1 on java1.6.0_12 334s (with array)
python2.5 215s (3m35s)
python3.1 246s (4m06s)
ironpython1.1.1 512 (8m32s)


-- 
William Dodé - http://flibuste.net
Informaticien Indépendant
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Not understanding this documentation

2009-07-22 Thread F.O.P.
On Jul 22, 9:07 am, "Rhodri James" 
wrote:
> On Wed, 22 Jul 2009 15:46:09 +0100, F.O.P.   
> wrote:
>
> >http://bugs.python.org/issue5358
> > I simply installed 3.0 on my ubuntubox brought my project from a
> > windows machine and made necessary changes to what I had used from os
> > and os.path.  I have an error at the end of this line:
> > for k in range(I):
> > and the error:
> > SyntaxError: invalid character in identifier
>
> > I've already declared I way above as the lenth of an array (I = len
> > (IA))
> > There shouldn't be a problem there aren't any issues with other
> > declarations identical to this.
>
> Could you show us slightly more of your code and the rest of the
> error message, please?  I have a suspicion that the error actually
> lies in the "necessary changes" you made.
>
> --
> Rhodri James *-* Wildebeest Herder to the Masses

I spoke to a friend about it and he found that I had put in a unicode
"semicolon" rather than ASCII.
I feel silly for asking a question like this but there's really no
harm done in asking.  Thank you for the quick response Rhodri!  Much
appreciated!
Cheers
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Finding all cycles within an undirected graph

2009-07-22 Thread Terry Reedy

disappearedng wrote:

Hey everyone,
I am interested to find out all the cycles within an undirected graph.


I think you have to qualify that as 'minimal cycles' to have a 
well-defined problem.


--
http://mail.python.org/mailman/listinfo/python-list


Re: Not understanding this documentation

2009-07-22 Thread Terry Reedy

F.O.P. wrote:

Your subject line should have been  about "SyntaxError message"


http://bugs.python.org/issue5358


Why reference this? Unless you added zero-width joiners in the move, 
this is irrelevant noise.



I simply installed 3.0 on my ubuntubox


Upgrade to 3.1 as soon as you can. Works better.


brought my project from a
windows machine and made necessary changes to what I had used from os
and os.path.  I have an error at the end of this line:
for k in range(I):
and the error:
SyntaxError: invalid character in identifier

I've already declared I way above as the lenth of an array (I = len
(IA))
There shouldn't be a problem there aren't any issues with other
declarations identical to this.


I otherwise concur with R. James as there is no syntax error posted.
To make sure there is nothing invisible in that line, do
print(repr("for k in range(I):")) # should be no escaped chars and
print(len("for k in range(I):")) # should be 18, I believe

tjr

--
http://mail.python.org/mailman/listinfo/python-list


Re: Suggestions for Python MapReduce?

2009-07-22 Thread Paul Rubin
Phillip B Oldham  writes:
> Implementations like BashReduce  mapreduce-bash-script> are perfect for such scenarios. I'm simply
> wondering if there's another simpler/smaller implementation of
> MapReduce that plays nicely with Python but doesn't require the setup/
> knowledge overhead of more "robust" implementations such as hadoop and
> disco... maybe similar to Ruby's Skynet.

I usually just spew ssh tasks across whatever computing nodes I can
get my hands on.  It's less organized than something like mapreduce,
but I tend to run one-off tasks that I have to keep an eye on anyway.
I've done stuff like that across up to 100 or so machines and I think
it wouldn't be really worse if the number were a few times higher.  I
don't think it would scale to really large (10,000's of nodes) clusters.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-22 Thread Carl Banks
On Jul 22, 9:36 am, Ron Garret  wrote:
> In article ,
>  Neil Hodgson  wrote:
>
> > milanj:
>
> > > and all of them use native threads (python still use green threads ?)
>
> >    Python uses native threads.
>
> But then it adds the global interpreter lock, which completely
> undermines the utility of native threads.  So yes, it uses native
> threads, but it does not actually realize the benefits of that use.

Wrong.  It only partially undermines the utility of native threads,
not completely.  Native threading allows some threads to run while
others are blocked in a system call (as well as in a few other minor
cases), which can't be done with green threads.


Carl Banks
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Documentation Problems

2009-07-22 Thread Lie Ryan
Inky 788 wrote:
> On Jul 22, 7:15 am, Tim Golden  wrote:
>> Mark du Preez wrote:
>>> Hi
>>> Can anyone tell me where to go to suggest changes to the Python
>>> documentation?
>> Drop an entry in the tracker:
>>
>>  http://bugs.python.org
>>
>> Patches are always welcome,
> 
> Could you please provide brief instructions on exactly how to go about
> creating a suitable patch file? I mean, starting from the beginning
> (as in, "check out code from {here} using {this command}", "cd to
> {this} directory", "edit the file in place", "run {this} command to
> create a patch file"). Or perhaps this procedure is already outlined
> elsewhere?

It's the typical svn-based development, "svn checkout" from the
repository (see list of svn urls here:
http://www.python.org/dev/faq/#how-do-i-get-a-checkout-of-the-repository-read-only-and-read-write),
modify the files, then "svn diff" (or "diff -u")

And last but not least, check out the dev-faq:
http://www.python.org/dev/faq/

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-22 Thread Paul Rubin
Carl Banks  writes:
> Wrong.  It only partially undermines the utility of native threads,
> not completely.  Native threading allows some threads to run while
> others are blocked in a system call (as well as in a few other minor
> cases), which can't be done with green threads.

Why is that such an advantage?  Green threads work fine if you just
organize the i/o system to never block.  
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Pyserial and pyQt

2009-07-22 Thread Seth
On Jul 21, 7:24 pm, David Boddie  wrote:
> On Tuesday 21 July 2009 21:37, Seth wrote:
>
> > I have used pyserial in the past but this is my first experience with
> > pyQt.  I am using the Python xy package for windows current but might
> > move to linux.  I have a small device that is outputting a basic text
> > string.  I want to be able to read this string(from the comm port) and
> > update a text box and eventually a graph in pyQt.  I can't find any
> > documentation or tutorials on how to do this.  If anyone can point me
> > in the right direction or give me some tips I would be grateful.
>
> It seems that someone has already asked a similar question on Stack
> Overflow, though perhaps you should start with a simpler solution
> and look at more advanced ones later:
>
>  http://stackoverflow.com/questions/771988/pyqt4-and-pyserial
>
> One starting point is this list of tutorials on the PyQt and PyKDE Wiki:
>
>  http://www.diotavelli.net/PyQtWiki/Tutorials
>
> Later, when you want to draw graphs, you might find PyQwt useful:
>
>  http://pyqwt.sourceforge.net/
>
> You may already be aware that there's also a mailing list for PyQt and
> PyKDE:
>
>  http://www.riverbankcomputing.com/pipermail/pyqt/
>
> Another way to get answers to questions is to join the #pyqt IRC channel
> at freenode.net:
>
>   irc://irc.freenode.net/
>
> David


Thanks for the response.  I have gone through a lot of the tutorials.
All of them(that I saw) seem to just deal will event-based
applications ie calculator, image viewer, etc.  How do I run pyserial
in the background and pass the information to PyQT and refresh the
screen?  Is there a way to have pyserial run in another thread and
pass the information to the UI?

Thanks,
Seth
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to document Python code properly for Pydoc

2009-07-22 Thread Lie Ryan
jorma kala wrote:
> Hi,
> Do you know where I can find the rules for documenting Python code, so
> that automatic document generation with Pydoc makes the most of the
> comments inserted in the code?
> I know about documenting class and method through triple quote just
> under the class definition. But how do you comment a specific field or
> variable, or how do you document function arguments so that they are
> extracted like in javadoc?
> Thanks very much

pydoc is a simple tool, and doesn't do much. You write in freeform,
although generally you'll do something like this:

def myfunc(a, b):
'''
short description of myfunc

longer description of myfunc, if necessary, and typically includes
description of the arguments and the behaviors. Also includes the
description of the return value.
'''

pass

pydoc doesn't recognize any special markups. If you want to get more
from the docstring, you need other documentation generator such as
epydoc, Doxygen, or Sphinx.

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Suggestions for Python MapReduce?

2009-07-22 Thread Phillip B Oldham
On Jul 22, 5:55 pm, Paul Rubin  wrote:
> Phillip B Oldham  writes:
> I usually just spew ssh tasks across whatever computing nodes I can
> get my hands on.  It's less organized than something like mapreduce,
> but I tend to run one-off tasks that I have to keep an eye on anyway.

I'm thinking of repeated tasks; things you run regularly, but don't
need to be blisteringly fast. I'll more than likely use Disco, but if
I were to find something more light-weight I'd take a serious look.

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: Shed Skin 0.2, an experimental (restricted) Python-to-C++ compiler

2009-07-22 Thread William Dode
On 22-07-2009, William Dode wrote:

> c 1.65s
> gcj 1.9s
> java 2.4s
> python2.5 + psyco 2.9s
> shedskin 3.4s

with -bw i have 2.6s

> unladen-2009Q2 125s (2m05)
> Jython 2.2.1 on java1.6.0_12 176s (without array, like shedskin)
> Jython 2.2.1 on java1.6.0_12 334s (with array)
> python2.5 215s (3m35s)
> python3.1 246s (4m06s)
> ironpython1.1.1 512 (8m32s)

somebody can test with ironpython on windows ?

Anyway, it's very impressive. I wonder if unladen will be so close in 
the futur.

-- 
William Dodé - http://flibuste.net
Informaticien Indépendant
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-22 Thread Carl Banks
On Jul 22, 10:20 am, Paul Rubin  wrote:
> Carl Banks  writes:
> > Wrong.  It only partially undermines the utility of native threads,
> > not completely.  Native threading allows some threads to run while
> > others are blocked in a system call (as well as in a few other minor
> > cases), which can't be done with green threads.
>
> Why is that such an advantage?  Green threads work fine if you just
> organize the i/o system to never block.  

Because then I don't have to organize the I/O system never to block.


Carl Banks
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: time.strftime('%m-%d-%Y %H:%m:%S') to log is out of order

2009-07-22 Thread davidj411
i never heard of the logging module, but this function seemed simple
enough.

i assume this link is what you refering to:
http://docs.python.org/library/logging.html

thanks for the helpful info. i think "Piet van Oostrum" has resolved
my issue. good eyes!
-- 
http://mail.python.org/mailman/listinfo/python-list


list of 'magic methods' or builtin class methods... want to exclude those from dir output

2009-07-22 Thread DG
There is probably a better way to do this (please enlighten me, if you
know), but what I want to do is get a list of a class' attributes
minus whatever the 'builtin' methods are.  I would also like to do
this for instances of classes as well.  I don't want to use __dict__
because I want to get all of the attributes that have been added
throughout the inheritance tree, just not the builtin ones.

I was wondering if there is a function to return a list of these, so I
could perform a 'dir' on the object (class or instance) and filter out
the builtin attributes.  I know I could create my own list something
like
['__class__', '__delattr__', ..., '__weakref__'] and use that.  I
would see this being fragile to Python version differences as new ones
are added or taken away.

A more flexible way is to have the list be filled out dynamically by
creating a 'junk' class that inherits only from object and storing
it's dir() output into the filter list.  This is probably what I'll do
unless someone knows of a builtin function that will give me a
(version-safe) list.

Thanks!
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: list of 'magic methods' or builtin class methods... want to exclude those from dir output

2009-07-22 Thread DG
On Jul 22, 12:15 pm, DG  wrote:
> There is probably a better way to do this (please enlighten me, if you
> know), but what I want to do is get a list of a class' attributes
> minus whatever the 'builtin' methods are.  I would also like to do
> this for instances of classes as well.  I don't want to use __dict__
> because I want to get all of the attributes that have been added
> throughout the inheritance tree, just not the builtin ones.
>
> I was wondering if there is a function to return a list of these, so I
> could perform a 'dir' on the object (class or instance) and filter out
> the builtin attributes.  I know I could create my own list something
> like
> ['__class__', '__delattr__', ..., '__weakref__'] and use that.  I
> would see this being fragile to Python version differences as new ones
> are added or taken away.
>
> A more flexible way is to have the list be filled out dynamically by
> creating a 'junk' class that inherits only from object and storing
> it's dir() output into the filter list.  This is probably what I'll do
> unless someone knows of a builtin function that will give me a
> (version-safe) list.
>
> Thanks!

Haha, replying to my own post.  Here is the implementation of my idea
of dynamically creating the filter lists from a 'junk' object.  As of
now it appears that the dir output of a class is the same as the dir
output of an instance, but if that ever changes, this should future
proof it.  This is only a 4-liner, so it is probably good enough for
what I want to do, but I would rather use a builtin/standard way if
there is one.

class A(object):
pass
class_filter_methods = dir(A)
instance_filter_methods = dir(A())

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: list of 'magic methods' or builtin class methods... want to exclude those from dir output

2009-07-22 Thread DG
On Jul 22, 12:24 pm, DG  wrote:
> On Jul 22, 12:15 pm, DG  wrote:
>
>
>
> > There is probably a better way to do this (please enlighten me, if you
> > know), but what I want to do is get a list of a class' attributes
> > minus whatever the 'builtin' methods are.  I would also like to do
> > this for instances of classes as well.  I don't want to use __dict__
> > because I want to get all of the attributes that have been added
> > throughout the inheritance tree, just not the builtin ones.
>
> > I was wondering if there is a function to return a list of these, so I
> > could perform a 'dir' on the object (class or instance) and filter out
> > the builtin attributes.  I know I could create my own list something
> > like
> > ['__class__', '__delattr__', ..., '__weakref__'] and use that.  I
> > would see this being fragile to Python version differences as new ones
> > are added or taken away.
>
> > A more flexible way is to have the list be filled out dynamically by
> > creating a 'junk' class that inherits only from object and storing
> > it's dir() output into the filter list.  This is probably what I'll do
> > unless someone knows of a builtin function that will give me a
> > (version-safe) list.
>
> > Thanks!
>
> Haha, replying to my own post.  Here is the implementation of my idea
> of dynamically creating the filter lists from a 'junk' object.  As of
> now it appears that the dir output of a class is the same as the dir
> output of an instance, but if that ever changes, this should future
> proof it.  This is only a 4-liner, so it is probably good enough for
> what I want to do, but I would rather use a builtin/standard way if
> there is one.
>
> class A(object):
>     pass
> class_filter_methods = dir(A)
> instance_filter_methods = dir(A())

Wow, I'm a quick one. Sharp as a marble.  2-liner:

class_filter_methods = dir(object)
instance_filter_methods = dir(object())
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-22 Thread Grant Edwards
On 2009-07-22, Ron Garret  wrote:
> In article ,
>  Neil Hodgson  wrote:
>
>> milanj:
>> 
>> > and all of them use native threads (python still use green threads ?)
>> 
>>Python uses native threads.
>
> But then it adds the global interpreter lock, which completely 
> undermines the utility of native threads.  So yes, it uses native 
> threads, but it does not actually realize the benefits of that use.

Not all of the time. For library/extension calls that release
the GIL, it does.

-- 
Grant Edwards   grante Yow! I was making donuts
  at   and now I'm on a bus!
   visi.com
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-22 Thread Paul Rubin
Carl Banks  writes:
> > Why is that such an advantage?  Green threads work fine if you just
> > organize the i/o system to never block.  
> 
> Because then I don't have to organize the I/O system never to block.

We're talking about what a language implementation does behind the
scenes, I thought.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: list of 'magic methods' or builtin class methods... want to exclude those from dir output

2009-07-22 Thread Terry Reedy

DG wrote:

There is probably a better way to do this (please enlighten me, if you
know), but what I want to do is get a list of a class' attributes
minus whatever the 'builtin' methods are.  I would also like to do
this for instances of classes as well.  I don't want to use __dict__
because I want to get all of the attributes that have been added
throughout the inheritance tree, just not the builtin ones.

I was wondering if there is a function to return a list of these, so I
could perform a 'dir' on the object (class or instance) and filter out
the builtin attributes.  I know I could create my own list something
like
['__class__', '__delattr__', ..., '__weakref__'] and use that.  I
would see this being fragile to Python version differences as new ones
are added or taken away.

A more flexible way is to have the list be filled out dynamically by
creating a 'junk' class that inherits only from object and storing
it's dir() output into the filter list.  This is probably what I'll do
unless someone knows of a builtin function that will give me a
(version-safe) list.

Thanks!

3.1
>>> list(filter(lambda s: s[0:2]!='__', dir(object)))
[]

Now substitute your object for lambda. This assumes of course that you 
are doing no name-mangling __xxx names.


tjr


--
http://mail.python.org/mailman/listinfo/python-list


Re: Einstein summation notation

2009-07-22 Thread Ethan Furman

Paul Rubin wrote:

Ethan Furman  writes:


Or if any(p for p in [header, body, footer, whatever, ...])



No need for the genexp:

   if any([header, body, footer, whatever, ...])

But, you are using the built-in bool cast either way.


Right you are -- and

  if any([header, body, footer, whatever, ...])

sure looks nicer to me than your original code of

  if any(p != '' for p in [header, body, footer, otherthing1, ...])


But there a are a lot of decisions and factors to writing these things 
one way or the other.  I'm just glad Python supports the Something vs. 
Nothing model.


~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-22 Thread Carl Banks
On Jul 22, 12:04 pm, Paul Rubin  wrote:
> Carl Banks  writes:
> > > Why is that such an advantage?  Green threads work fine if you just
> > > organize the i/o system to never block.  
>
> > Because then I don't have to organize the I/O system never to block.
>
> We're talking about what a language implementation does behind the
> scenes, I thought.

No we're not, we are talking about the whether GIL completely or only
partially undermines the use of native threads on Python.

I don't think your fantasy async-only all-green-thread langauge
implementation is possible anyway.  How would you wait on a pipe in
one thread, a socket in another, a semaphore in a third?  (Are there
any popular OSes that offer a unified polling interface to all
possible synchronizations?)  And what do you do about drivers or
libraries that make underlying blocking calls?  What if you have a
busy calculation going on in the background?


Carl Banks
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: clean way prepend an element to a numpy array

2009-07-22 Thread Robert Kern

On 2009-07-22 01:51, greg wrote:

bdb112 wrote:


I saw this interest syntax on this site
x[:0]=0

I guess that is cute, but could be confusing(and doesn't work)


It does if you use an array of the appropriate
type on the right hand side:

a[:0] = array('i', [0])


Not when 'a' is a numpy array rather than an array.array.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco

--
http://mail.python.org/mailman/listinfo/python-list


Re: GTK+ ques

2009-07-22 Thread Michael Torrie
nipun batra wrote:
> I need to develop a GUI preferably in GTK using c or PYGTK.I have little
> idea about Python.
> Following are requiremnts of the application:
> should be GUI
> Sould be real time
> Should interface serial port
> should display moving maps,like google earth
> It is basically for Ground control station of a UAV.
> How would Python+Pygtk combo work?
> is python slower than c/c++ ,if then by how much?
> any suggestions for the applcation?

All of these things can be done in Python.  Using nice math libraries
like numpy, math-specific things can be very fast.  Whether python is
fast enough only you could say.  PyGTK is nice, but doesn't have
built-in primitives for doing super high level things like moving maps.
 But there are libraries out there that can do this, one of which is
call libchamplain.  A blog post about it is here:

http://blog.pierlux.com/2009/01/10/libchamplain-and-libchamplain-gtk-028-released/en/

libchamplain does have python bindings I think.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: Shed Skin 0.2, an experimental (restricted) Python-to-C++ compiler

2009-07-22 Thread George Sakkis
On Jul 22, 12:45 pm, William Dode  wrote:
> On 22-07-2009, George Sakkis wrote:
>
>
>
> > On Jul 22, 7:38 am, William Dode  wrote:
>
> >> I updated the script (python, c and java) with your unrolled version
> >> + somes litle thinks.
>
> >> I also tried with python3.1, unladen Q2, ironpython1.1.1
>
> >> Unfortunately it doesn't work more with shedskin, i'll see on the
> >> shedskin group...
>
> >> c 1.85s
> >> gcj 2.15s
> >> java 2.8s
> >> python2.5 + psyco 3.1s
> >> unladen-2009Q2 145s (2m45)
> >> python2.5 254s (4m14s)
> >> python3.1 300s (5m)
> >> ironpython1.1.1 680s (11m20)
>
> > Cool; it would be interesting to see the numbers for Jython and Boo as
> > well if it's not too much effort.
>
> I just tried with jython, but oddly it's faster without array.

FYI Jython 2.5 was released last month, you may want to try this
instead of 2.2.

George
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Python

2009-07-22 Thread Mark Lawrence

khanh le wrote:

do you have any materials about Python?
can you show me the link of Python or some books?
thanks a lots!

--
Regard!
Khanh


This comes highly recommeended http://diveintopython.org/

Regards.

--
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-22 Thread Jean-Paul Calderone

On Wed, 22 Jul 2009 12:35:52 -0700 (PDT), Carl Banks  
wrote:

On Jul 22, 12:04 pm, Paul Rubin  wrote:

Carl Banks  writes:
> > Why is that such an advantage?  Green threads work fine if you just
> > organize the i/o system to never block.

> Because then I don't have to organize the I/O system never to block.

We're talking about what a language implementation does behind the
scenes, I thought.


No we're not, we are talking about the whether GIL completely or only
partially undermines the use of native threads on Python.

I don't think your fantasy async-only all-green-thread langauge
implementation is possible anyway.  How would you wait on a pipe in
one thread, a socket in another, a semaphore in a third?  (Are there
any popular OSes that offer a unified polling interface to all
possible synchronizations?)


Every OS I can think of can support the three examples you gave here.


And what do you do about drivers or
libraries that make underlying blocking calls?


Certainly a point to consider.


What if you have a busy calculation going on in the background?


What if you do?  Are you suggesting this would somehow prevent I/O from
being serviced?  I'm not sure why, as long as the implementation pays
attention to I/O events.

Jean-Paul
--
http://mail.python.org/mailman/listinfo/python-list


logging outgoing HTTP POST message and incoming response message

2009-07-22 Thread [email protected]
I am sending a HTTP POST by using the following codes:

opener = urllib2.build_opener(proxyHandler, MultipartPostHandler)
params = { "audio" : "http://sample.com/my.wav";,
"data" : open(file, "rb") }
print opener.open(myURL, params).read()

How do I log or print out the actual POST message (including headers)
that is sent out?
How do I log or print out the response headers as well?

Thanks
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: logging outgoing HTTP POST message and incoming response message

2009-07-22 Thread Diez B. Roggisch

[email protected] schrieb:

I am sending a HTTP POST by using the following codes:

opener = urllib2.build_opener(proxyHandler, MultipartPostHandler)
params = { "audio" : "http://sample.com/my.wav";,
"data" : open(file, "rb") }
print opener.open(myURL, params).read()

How do I log or print out the actual POST message (including headers)
that is sent out?
How do I log or print out the response headers as well?


You can use proxy-tools such as tcpmon or sniff traffic using wireshark.

Diez
--
http://mail.python.org/mailman/listinfo/python-list


Re: logging outgoing HTTP POST message and incoming response message

2009-07-22 Thread [email protected]
On Jul 22, 1:54 pm, "Diez B. Roggisch"  wrote:
> You can use proxy-tools such as tcpmon or sniff traffic using wireshark.
>
> Diez

Thanks,
but I am trying to enable some debug mode to log all outgoing and
incoming messages for certain period of time, and running another
proxy-tool is not very ideal.  It would be great to log it in some log
file.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: time.strftime('%m-%d-%Y %H:%m:%S') to log is out of order

2009-07-22 Thread Piet van Oostrum
> davidj411  (d) wrote:

>d> i never heard of the logging module, but this function seemed simple
>d> enough.

>d> i assume this link is what you refering to:
>d> http://docs.python.org/library/logging.html

>d> thanks for the helpful info. i think "Piet van Oostrum" has resolved
>d> my issue. good eyes!

Without glasses I wouldn't have noticed it :=)
-- 
Piet van Oostrum 
URL: http://pietvanoostrum.com [PGP 8DAE142BE17999C4]
Private email: [email protected]
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Issue combining gzip and subprocess

2009-07-22 Thread Piet van Oostrum
> Scott David Daniels  (SDD) schreef:

>SDD> Piet van Oostrum wrote:
>>> ...
>>> f = gzip.open(filename, 'w')
>>> proc = subprocess.Popen(['ls','-la'], stdout=subprocess.PIPE)
>>> while True:
>>> line = proc.stdout.readline()
>>> if not line: break
>>> f.write(line)
>>> f.close()

>SDD> Or even:
>SDD> proc = subprocess.Popen(['ls','-la'], stdout=subprocess.PIPE)
>SDD> with gzip.open(filename, 'w') as dest:
>SDD> for line in iter(proc.stdout, ''):
>SDD> f.write(line)

If it would work.

1) with gzip... is not supported in Python < 3.1
2) for line in iter(proc.stdout), i.e. no second argument.
3) dest <==> f should be the same identifier.

Lesson: if you post code either: 
- test it and copy verbatim from your test, or
- write a disclaimer 
-- 
Piet van Oostrum 
URL: http://pietvanoostrum.com [PGP 8DAE142BE17999C4]
Private email: [email protected]
-- 
http://mail.python.org/mailman/listinfo/python-list


  1   2   >