ANN: wxPython 2.7.1.3
Announcing -- The 2.7.1.3 release of wxPython is now available for download at http://wxpython.org/download.php. This release is a yet another quick-turnaround bugfix release designed to solve some problems, plust some minor enhancements. This will likely be the last 2.7.1.x release. Source and binaries are available for both Python 2.4 and 2.5 for Windows and Mac, as well some pacakges for varous Linux distributions. A summary of changes is listed below and also at http://wxpython.org/recentchanges.php. What is wxPython? - wxPython is a GUI toolkit for the Python programming language. It allows Python programmers to create programs with a robust, highly functional graphical user interface, simply and easily. It is implemented as a Python extension module that wraps the GUI components of the popular wxWidgets cross platform library, which is written in C++. wxPython is a cross-platform toolkit. This means that the same program will usually run on multiple platforms without modifications. Currently supported platforms are 32-bit Microsoft Windows, most Linux or other Unix-like systems using GTK2, and Mac OS X 10.3+, in most cases the native widgets are used on each platform. Changes in 2.7.1.3 -- wxGTK: The wx.ALWAYS_SHOW_SB style is now supported. Fixed name errors in the old wxPython package namespace. As a reminder, use of this package is deprecated and you are encouraged to switch your programs over to the wx package. Fixed wx.glcanvas.GLCanvas.SetCurrent to be compatible with prevoius versons. Added wx.StandardPaths.GetTmpDir. Bug fixes in the wx.ListCtrl on Mac from Kevin Olivier, allowing it to send events properly again. There is also a new native implementation of wx.ListCtrl available, which will be used for wx.LC_REPORT style list controls if you set the mac.listctrl.always_use_generic SystemOption to zero. In a future release this will be the default. Added a sample to the demo that shows some of what can be done with the new wx.GraphicsContext and wx.GraphicsPath classes. -- Robin Dunn Software Craftsman http://wxPython.org Java give you jitters? Relax with wxPython! -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
Re: How to Split Chinese Character with backslash representation?
limodou wrote: On 10/27/06, Wijaya Edward [EMAIL PROTECTED] wrote: Thanks but my intention is to strictly use regex. Since there are separator I need to include as delimiter Especially for the case like this: str = '\xc5\xeb\xc7\xd5\xbc--FOO--BAR' field = list(str) print field ['\xc5', '\xeb', '\xc7', '\xd5', '\xbc', '-', '-', 'F', 'O', 'O', '-', '-', 'B', 'A', 'R'] What we want as the output is this instead: ['\xc5', '\xeb', '\xc7', '\xd5', '\xbc','FOO','BAR] What's the best way to do it? If the case is very simple, why not just replace '_' with '', for example: str.replace('-', '') Except he appears to want the Chinese characters as elements of the list, and English words as elements of the list. Note carefully the last two elements in his desired list. I'm still puzzling this one... -- http://mail.python.org/mailman/listinfo/python-list
Re: NumPy 1.0 release
Robert Kern wrote: George Sakkis wrote: By the way, it would be great if numpy's mailing list was mirrored to a google group; sourceforge and gmane are just horrible to use. Sorry, I don't think that Google Groups does mirroring like GMane does. Never mind. http://groups.google.com/group/Numpy-discussion -- 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: Cards deck problem
[EMAIL PROTECTED] wrote: Dennis Lee Bieber wrote: On Fri, 27 Oct 2006 03:48:25 GMT, Michael Naunton [EMAIL PROTECTED] declaimed the following in comp.lang.python: This may seem pendantic, but CS is mostly about thinking about (and thus snicker Someday I should arrange to do a lost-wax casting of a /pendant/ with the definition of /pedant/ on it G Why not a /pedant/ with a description of /pendant/ on it? -- WulfraedDennis Lee Bieber KD6MOG [EMAIL PROTECTED] [EMAIL PROTECTED] HTTP://wlfraed.home.netcom.com/ (Bestiaria Support Staff: [EMAIL PROTECTED]) HTTP://www.bestiaria.com/ As fun as it would be, I haven't found too many /pedants/ who want to have the definition of /pendant/ written on them. You've just given me an idea for an online T-Shirt printing business. Thank you, and your royalties will be in the post soon, just provide me with your credit card details. -- http://mail.python.org/mailman/listinfo/python-list
Re: Obtaining SSL certificate info from SSL object - BUG?
Michael Ströder wrote: John Nagle wrote: The Python SSL object offers two methods from obtaining the info from an SSL certificate, server() and issuer(). The actual values in the certificate are a series of name/value pairs in ASN.1 binary format. But what server() and issuer() return are strings, with the pairs separated by /. The documentation at http://docs.python.org/lib/ssl-objects.html; says Returns a string containing the ASN.1 distinguished name identifying the server's certificate. (See below for an example showing what distinguished names look like.) There is, however, no below. What you actually get back looks like this, which is Google's certificate: /C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.com So, no problem; just split on /, right? Unfortunately, / is a legal character in certificate values. You hit a really serious problem: There's no completely well-defined string representation format for distinguished names used in X.509 certificates. The format above is what OpenSSL used in the beginning. Yuck! IMO this is also a security problem in some cases. The best thing would be to stick to RFC 4514 (formerly RFC 2253: Lightweight Directory Access Protocol (LDAP): String Representation of Distinguished Names). It defines a UTF-8-based string representation. ... Guess the second is what Python SSL object also should return. No idea whether this is available at OpenSSL's API level. That's exactly what I suggested in my Python bug report update. OpenSSL has all the right functions. Almost. OpenSSL has X509_NAME_oneline() which is deprecated, which Python is using, and which uses / as a delimiter without escaping / in content. OpenSSL also has X509_NAME_print_ex, which does the right thing - outputs a UTF8 string in RFC 2253 format, with all the right escapes and Unicode compatibility if you ask for Unicode output. Unfortunately, X509_NAME_print_ex is set up to output to an I/O port, not a string. There's no comparable function in OpenSSL to edit that info to a string. All the right machinery to do the job is in openssl/crypto/asn1/a_strex.c but they ran into a classic C problem. They have code designed to output to a stream of infinite length, and don't have a way to get the target length down to the copy function. Take look at send_mem_chars in that file, which is turned off. If it were used, it would have buffer overflow potential. This could be fixed, but it's a pain. It's local to that file, though; someone who owns that code could fix it in an hour. X509_NAME_oneline(), the deprecated function, is in a completely separate file and doesn't handle the hard cases at all. The same problem was reported in Apache mod_ssl back in 2004. See http://mail-archives.apache.org/mod_mbox/httpd-dev/200410.mbox/[EMAIL PROTECTED] And it had to be fixed in OpenCA. See http://www.mail-archive.com/openca-devel@lists.sourceforge.net/msg02672.html Also, there may be an exploitable bug in MySQL that depends on this. See http://bugs.mysql.com/bug.php?id=17208 Get the OpenSSL people to fix their API, and the Python fix will be a one-line change. John Nagle -- http://mail.python.org/mailman/listinfo/python-list
Re: How to Split Chinese Character with backslash representation?
Wijaya Edward wrote: Since there are separator I need to include as delimiter Especially for the case like this: str = '\xc5\xeb\xc7\xd5\xbc--FOO--BAR' field = list(str) print field ['\xc5', '\xeb', '\xc7', '\xd5', '\xbc', '-', '-', 'F', 'O', 'O', '-', '-', 'B', 'A', 'R'] What we want as the output is this instead: ['\xc5', '\xeb', '\xc7', '\xd5', '\xbc','FOO','BAR] s = '\xc5\xeb\xc7\xd5\xbc--FOO--BAR' re.findall((?i)[a-z]+|[\xA0-\xFF], s) '\xd5', '\xbc', 'FOO', 'BAR'] the RE matches either a sequence of latin characters, *or* a single non-ASCII character. you may want to adjust the character ranges to match the encoding you're using, and your definition of non-chinese words. /F -- http://mail.python.org/mailman/listinfo/python-list
Re: To Stop a Process that is Waiting on socket.accept()
Hi Steve, The output is as the following (excluding the ---start--- and ---end---): ---start--- die now Traceback (most recent call last): File ../../../scratch/python/tmp.py, line 39, in ? channel, details = server.accept() File /usr/lib/python2.4/socket.py, line 169, in accept sock, addr = self._sock.accept() File ../../../scratch/python/tmp.py, line 33, in cleanup server.shutdown(socket.SHUT_RDWR) File string, line 1, in shutdown socket.error: (128, 'Transport endpoint is not connected') ---end--- I copied and pasted the previous posting and the above is the output. It is the actual code. Sorry if I don't get your point. Buhi -- http://mail.python.org/mailman/listinfo/python-list
Re: my first software
[EMAIL PROTECTED] wrote: I am a beginner of programming and started to learn Python a week ago. last 3 days, i write this little tool for Renju.if you have any advice on my code,please tell me s = '' for i in range (0,len(done) - 1): s = s +str(done[i][0]) + str(done[i][1]) + '\n' s = s + str(done[len(done) - 1][0]) + str(done[len(done) - 1][1]) This is easier to do with a generator comprehension and join method: s = '\n'.join(str(item[0]) + str(item[1]) for item in done) for i in range (0, len(s)): x = s[i][0] . if i%2 == 0: There is a builtin function enumerate for this case, IMHO it's slightly easier to read: for i, item in enumerate(s) x = item[0] ... if not i%2: ... if len(done) != 0 and beensaved == 0 and askyesno(...): saveasfile() It's a personal matter, but usually python programmers treats values in boolean context directly without comparison: if done and not beensaved and askyesno(...): The rules are documented here: http://docs.python.org/lib/truth.html . -- Leo -- http://mail.python.org/mailman/listinfo/python-list
Re: subprocess cwd keyword.
Ivan Vinogradov wrote: Dear All, I would greatly appreciate a nudge in the right direction concerning the use of cwd argument in the call function from subprocess module. The setup is as follows: driver.py - python script core/ - directory main- fortran executable in the core directory driver script generates some input files in the core directory. Main should do its thing and dump the output files back into core. The problem is, I can't figure out how to do this properly. call(core/main) works but uses .. of core for input/output. call(core/main,cwd=core) and call(main,cwd=core) both result in [snip exception] Usually current directory is not in the PATH on UNIX. Try call(./main,cwd=core) -- Leo -- http://mail.python.org/mailman/listinfo/python-list
Re: How to Split Chinese Character with backslash representation?
On 10/27/06, Cameron Walsh [EMAIL PROTECTED] wrote: limodou wrote: On 10/27/06, Wijaya Edward [EMAIL PROTECTED] wrote: Thanks but my intention is to strictly use regex. Since there are separator I need to include as delimiter Especially for the case like this: str = '\xc5\xeb\xc7\xd5\xbc--FOO--BAR' field = list(str) print field ['\xc5', '\xeb', '\xc7', '\xd5', '\xbc', '-', '-', 'F', 'O', 'O', '-', '-', 'B', 'A', 'R'] What we want as the output is this instead: ['\xc5', '\xeb', '\xc7', '\xd5', '\xbc','FOO','BAR] What's the best way to do it? If the case is very simple, why not just replace '_' with '', for example: str.replace('-', '') Except he appears to want the Chinese characters as elements of the list, and English words as elements of the list. Note carefully the last two elements in his desired list. I'm still puzzling this one... Oh, I see. I made a mistake. -- I like python! UliPad The Python Editor: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou -- http://mail.python.org/mailman/listinfo/python-list
Re: NumPy 1.0 release
Robert Kern wrote: George Sakkis wrote: ImportError: /usr/local/lib/python2.4/site-packages/numpy/linalg/lapack_lite.so: undefined symbol: zheevd_ Googling for undefined symbol: zheevd_ returned no hits, at which point I gave up for now; hopefully someone will have a suggestion on what to do next (other than dumping RH's mess for Ubuntu, which I'd gladly do if it was up to me). zheevd is a LAPACK routine. Check for that symbol in the LAPACK library that you are linking. If it's not there, then your LAPACK library is broken. ATLAS provides some optimized LAPACK routines, and some distributions of ATLAS provide LAPACK libraries with *only* those routines: http://scipy.org/FAQ#head-0f5cda66c4d28a8c65206cc2b4213e18f1c22547 Thanks Robert, mystery solved; the source was there but I had changed the Makefile to not build for complex variables after reading about RH's problem, and then forgot to put it back. At last, I can now import numpy! I don't have any use for complex variables, so I hope the broken tests don't imply anything for the reliability of the library on my system. Thanks again, George -- http://mail.python.org/mailman/listinfo/python-list
Slurping All Content of a File into a Variable
Hi, How can we slurp content of a single file into one variable? I tried this: myfile_content = open('somefile.txt') print myfile_content, open file 'somefile.txt', mode 'r' at 0xb7f532e0 But it doesn't print the content of the file. Regards, -- Edward WIJAYA SINGAPORE Institute For Infocomm Research - Disclaimer - This email is confidential and may be privileged. If you are not the intended recipient, please delete it and notify us immediately. Please do not copy or use it for any purpose, or disclose its contents to any other person. Thank you. -- http://mail.python.org/mailman/listinfo/python-list
RE: Slurping All Content of a File into a Variable Pls ignore, problem with mailing list, eom
From: [EMAIL PROTECTED] on behalf of Wijaya Edward Sent: Thu 10/26/2006 11:47 PM To: python-list@python.org Subject: Slurping All Content of a File into a Variable Hi, How can we slurp content of a single file into one variable? I tried this: myfile_content = open('somefile.txt') print myfile_content, open file 'somefile.txt', mode 'r' at 0xb7f532e0 But it doesn't print the content of the file. Regards, -- Edward WIJAYA SINGAPORE Institute For Infocomm Research - Disclaimer - This email is confidential and may be privileged. If you are not the intended recipient, please delete it and notify us immediately. Please do not copy or use it for any purpose, or disclose its contents to any other person. Thank you. -- http://mail.python.org/mailman/listinfo/python-list Institute For Infocomm Research - Disclaimer - This email is confidential and may be privileged. If you are not the intended recipient, please delete it and notify us immediately. Please do not copy or use it for any purpose, or disclose its contents to any other person. Thank you. -- http://mail.python.org/mailman/listinfo/python-list
Re: displaying \n-less prompts in a pythonic way
Steve Holden [EMAIL PROTECTED] wrote: 8--- mystr = raw_input(Who is this? ) Who is this? Steve how did you know how to answer that? - Hendrik -- http://mail.python.org/mailman/listinfo/python-list
Assertion failure on hotshot.stats.load()
Note: I realize hotshot is obsoleted by cProfile, but 2.5 breaks several packages I depend on. I'm using Python 2.4.3. I'm getting an AssertionError on assert not self._stack when calling hotshot.stats.load() on my app's hotshot profile. The app consistently causes hotshot to generate such a problematic profile, but I have no idea what's causing it. Anybody know what's wrong? Here's the profile: http://www.filefactory.com/file/76fdbd/ Potentially relevant bugs: http://sourceforge.net/tracker/index.php?func=detailaid=900092group_id=5470atid=105470 http://sourceforge.net/tracker/index.php?func=detailaid=1019882group_id=5470atid=105470 Thanks in advance for any help. -- http://mail.python.org/mailman/listinfo/python-list
Matching Pure Numeric and '' with Python re
Hi, Given this list: list = ['0123', '1A34' , '333-' , '' ] I want to match only this element '0123' (pure numeric) and '' (empty element). Why this construct doesn't work? p = re.compile(''+|[0-9]+) m = p.match(word) if m: print word, Namely it doesn't print 0123 and ''. What's wrong with my regex? -- Edward WIJAYA SINGAPORE Institute For Infocomm Research - Disclaimer - This email is confidential and may be privileged. If you are not the intended recipient, please delete it and notify us immediately. Please do not copy or use it for any purpose, or disclose its contents to any other person. Thank you. -- http://mail.python.org/mailman/listinfo/python-list
Re: Matching Pure Numeric and '' with Python re
Wijaya Edward wrote: Hi, Given this list: list = ['0123', '1A34' , '333-' , '' ] I want to match only this element '0123' (pure numeric) and '' (empty element). Why this construct doesn't work? p = re.compile(''+|[0-9]+) m = p.match(word) if m: print word, Namely it doesn't print 0123 and ''. What's wrong with my regex? The first mistake is to assume that the single quotes are a part of the strings - they aren't. The second mistake was to over-complicate the pattern. All you actually need to match is zero or more digits - but you need a $ at the ned of the pattern to make sure all the target string has been consumed in the match (otherwise *anything* will match, since all strings begin with zero or more digits). Here's my test: import re list = ['0123', '1A34' , '333-' , '' ] p = re.compile(\d*$) for word in list: ... if p.match(word): ... print [%s] % word ... [0123] [] There is, however, an old saying to the effect that if you try to solve a problem with regular expressions you then have *two* problems. If this isn't just a learning exercise then consider: for word in list: ... if word.isdigit() or not word: ... print [%s] % word ... [0123] [] less-to-go-wrong-is-always-good-ly y'rs - steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://holdenweb.blogspot.com Recent Ramblings http://del.icio.us/steve.holden -- http://mail.python.org/mailman/listinfo/python-list
Re: Assertion failure on hotshot.stats.load()
I fell back onto the old profile module, but got the following error when trying to use zope.interface. I am now without any way to profile my application. Traceback (most recent call last): File /home/yang/local/bin/profile.py, line 611, in ? run('execfile(%r)' % (sys.argv[0],), options.outfile, options.sort) File /home/yang/local/bin/profile.py, line 72, in run prof = prof.run(statement) File /home/yang/local/bin/profile.py, line 448, in run return self.runctx(cmd, dict, dict) File /home/yang/local/bin/profile.py, line 454, in runctx exec cmd in globals, locals File string, line 1, in ? File /.automount/nms.lcs.mit.edu/export/home/yang/proj/cartel/trunk/icedb/src/frontend/icedb-central.py, line 5, in ? from icedb import * File /home/yang/local/lib/python2.4/site-packages/icedb/__init__.py, line 4, in ? import cafnet File /home/yang/local/lib/python2.4/site-packages/cafnet/__init__.py, line 269, in ? class Cnl( object ): File /opt/zope/lib/python/zope/interface/advice.py, line 132, in advise return callback(newClass) File /opt/zope/lib/python/zope/interface/declarations.py, line 485, in _implements_advice classImplements(cls, *interfaces) File /opt/zope/lib/python/zope/interface/declarations.py, line 462, in classImplements spec.declared += tuple(_normalizeargs(interfaces)) File /opt/zope/lib/python/zope/interface/declarations.py, line 1373, in _normalizeargs _normalizeargs(v, output) File /opt/zope/lib/python/zope/interface/declarations.py, line 1372, in _normalizeargs for v in sequence: TypeError: Error when calling the metaclass bases iteration over non-sequence On 10/27/06, Yang fer7msb02-at-sneakemail.com |python| ... wrote: Note: I realize hotshot is obsoleted by cProfile, but 2.5 breaks several packages I depend on. I'm using Python 2.4.3. I'm getting an AssertionError on assert not self._stack when calling hotshot.stats.load() on my app's hotshot profile. The app consistently causes hotshot to generate such a problematic profile, but I have no idea what's causing it. Anybody know what's wrong? Here's the profile: http://www.filefactory.com/file/76fdbd/ Potentially relevant bugs: http://sourceforge.net/tracker/index.php?func=detailaid=900092group_id=5470atid=105470 http://sourceforge.net/tracker/index.php?func=detailaid=1019882group_id=5470atid=105470 Thanks in advance for any help. -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list
Re: run subprocess in separate window
On Oct 15, 6:43 pm, Radek [EMAIL PROTECTED] wrote: Currently when using subprocess.Popen(mycommand) all output goes to the stdout of my launcher. Hi, the solution is: p = subprocess.Popen(args=['command', 'arg1', 'arg2'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) print p.stdout.read() # stderr and strout mix or: p = subprocess.Popen(args=['command', 'arg1', 'arg2'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) print p.stderr.read() print p.stdout.read() h. -- http://mail.python.org/mailman/listinfo/python-list
Re: PyDev + Eclipse (Was: Re: What's the best IDE?)
Michael B. Trausch wrote: Yep. Still does it. I'm running PyDev 1.2.4 without completion problem so far. Are you up to date ? Maybe you should install the latest from scratch. -- http://mail.python.org/mailman/listinfo/python-list
Re: Assertion failure on hotshot.stats.load()
Yang a écrit : Note: I realize hotshot is obsoleted by cProfile, but 2.5 breaks several packages I depend on. I'm using Python 2.4.3. I'm getting an AssertionError on assert not self._stack when calling hotshot.stats.load() on my app's hotshot profile. The app consistently causes hotshot to generate such a problematic profile, but I have no idea what's causing it. Anybody know what's wrong? Here's the profile: http://www.filefactory.com/file/76fdbd/ Potentially relevant bugs: http://sourceforge.net/tracker/index.php?func=detailaid=900092group_id=5470atid=105470 http://sourceforge.net/tracker/index.php?func=detailaid=1019882group_id=5470atid=105470 Thanks in advance for any help. I had the exact same problem as the second bug in an embeded application. I solved it by ignoring any function return without a corresponding function start in the profiler but I'm sure it can be be made more precise. -- http://mail.python.org/mailman/listinfo/python-list
Re: Search Replace
DataSmash wrote: Hello, I need to search and replace 4 words in a text file. Below is my attempt at it, but this code appends a copy of the text file within itself 4 times. Can someone help me out. Thanks! # Search Replace file = open(text.txt, r) text = file.read() file.close() file = open(text.txt, w) file.write(text.replace(Left_RefAddr, FromLeft)) file.write(text.replace(Left_NonRefAddr, ToLeft)) file.write(text.replace(Right_RefAddr, FromRight)) file.write(text.replace(Right_NonRefAddr, ToRight)) file.close() Here's a perfect problem for a stream editor, like http://cheeseshop.python.org/pypi/SE/2.2%20beta. This is how it works: replacement_definitions = ''' Left_RefAddr=FromLeft Left_NonRefAddr=ToLeft Right_RefAddr=FromRight Right_NonRefAddr=ToRight ''' import SE Replacements = SE.SE (replacement_definitions) Replacements ('text.txt', 'new_text.txt') That's all! Or in place: ALLOW_IN_PLACE = 3 Replacements.set (file_handling_flag = ALLOW_IN_PLACE) Replacements ('text.txt') This should solve your task. An SE object takes strings too, which is required for line-by-line processing and is very useful for development or verification: print Replacements (replacement_definitions) # Use definitions as test data FromLeft=FromLeft ToLeft=ToLeft FromRight=FromRight ToRight=ToRight Checks out. All substitutions are made. Regards Frederic -- http://mail.python.org/mailman/listinfo/python-list
Re: Slightly OT: Is pyhelp.cgi documentation search broken?
Joel Hedlund schrieb: Hi! For a number of days I haven't been able to search the online python docs at: http://starship.python.net/crew/theller/pyhelp.cgi that is the search the docs with link at this page: http://www.python.org/doc/ Instead of the search engine, I get Error 404. This is a real bother for me, since I rely heavily on it for my work. It works now again. At the same time, I've added the ability to search the Python 2.5 docs, (formerly they were exposed as 'current docs' only, and moved the code into an SVN repository. Note that you can also download the module and use it locally. Thomas -- http://mail.python.org/mailman/listinfo/python-list
Simple problem with GUI!!
Hello Guys, I am a beginner with Python programming and would like to implement some GUI functionalities along with my main work. So I was trying to implement one basic program (available from books). Here is the code, import Tkinter TopLevelWindowObj = Tkinter.Tk() # Creating a root window QuitObj = Tkinter.Button(TopLevelWindowObj, text = QUIT, command = TopLevelWindowObj.quit) # Creating a Button QuitObj.pack() # Positioning the button Tkinter.mainloop() # So, this is a code to display a window with a QUIT button and by clickign the button the entire window is closed. When I execute this program, the window does not close down but the window is completely disabled and after a few seconds I get the following message in a message window, ** Message box name - Microsoft Visual C++ Runtime Library Runtime Error! program...\Python22\core\lib\site-packages\Pythonwin\Pythonwin.exe This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. At the end I had to close down my entire python compiler. I am using Python compiler with following specs in Windows XP OS. Pythonwin - Python IDE and GUI Framework for Windows. PythonWin 2.2.1 (#34, Feb 25 2003, 11:29:09) [MSC 32 bit (Intel)] on win32. Portions Copyright 1994-2001 Mark Hammond Please let me know why is this happening and also if I am missing something in the way of programming. Thanks in advance. Cheers, Mohan. -- http://mail.python.org/mailman/listinfo/python-list
Re: Simple problem with GUI!!
mohan wrote: At the end I had to close down my entire python compiler. I am using Python compiler with following specs in Windows XP OS. Pythonwin - Python IDE and GUI Framework for Windows. PythonWin 2.2.1 (#34, Feb 25 2003, 11:29:09) [MSC 32 bit (Intel)] on win32. Portions Copyright 1994-2001 Mark Hammond Please let me know why is this happening and also if I am missing something in the way of programming. the PythonWin IDE doesn't work properly when you're running programs that does their own Windows event handling. this is a problem with PythonWin, not with Tkinter or your program. to solve this, you can either 1) check if you can make PythonWin run the program in a separate process 2) explicitly run the program in its own process (using python.exe or pythonw.exe), from the command line. 3) switch to an IDE that runs Python code in a separate process (such as IDLE, Wing, and most other modern IDE:s). /F -- http://mail.python.org/mailman/listinfo/python-list
Re: question about True values
On 2006-10-26, Steven D'Aprano [EMAIL PROTECTED] wrote: On Wed, 25 Oct 2006 19:19:59 +, John Salerno wrote: Oh!!! I get it now! I was thinking that if s was the same as if s == True No. But you know that now :) because I know sometimes you can write if statements this way (though it's wordy). You can, but shouldn't. But what I didn't realize was that in the cases I was thinking of, 's' was an expression that evaluated to a boolean value, not an actual value of some other type! So I suppose if (10 5) Is the same as: if True because (10 5) evaluates as True. would be the same as if (10 5) == True Did you mean if (10 5) == True == True or if (10 5) == True == True == True or even if (10 5) == True == True == True == True I hope you see my point now. because (10 5) does evaluate to True. I think it is a good time to remind people of some extremely well-thought out opposition to the introduction of bools to Python from Laura Creighton: http://mail.python.org/pipermail/python-list/2002-April/095878.html She lost the debate, Guido had the final word and Python now has bools. Take particular note of her description of Python distinguishing between Something (cat, 4, [0, 1, 2] etc) and Nothing (, 0, [] etc). Yes and IMO that is a less usefull distinction than the distinction between True and False. When I write code I think in terms of conditions. In those conditions this has to be treated this way otherwise it has to be treated an other way. Conditions give results that are either True or False, not Something or Nothing. I don't think of 10 5 as Something while 5 10 would be Nothing. So while the paradigma of the language may be the distinction of Something vs Nothing the programmer will often enough think in terms of True and False. So IMO it would have been better if python had made the distinction between True and False and so made the programmer code the Something/Nothing disctinction explicitly. -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list
Re: Tracing the execution of scripts?
pydb (http://bashdb.sf.net/pydb) has a both the ability to trace lines as they are executed as well as an --output option to have this sent to a file rather than stdout. If your program has threads it would be good to use the --threading option. (The best threading support is if your program uses the threading module for threads rather than the lower-level thread module.) A demo of the debugger including showing line tracing and output to a file is here: http://showmedo.com/videos/video?name=pythonBernsteinPydbIntrofromSeriesID=28 Michael B. Trausch mike$#at^nospam!%trauschus writes: Alright, I seem to be at a loss for what I am looking for, and I am not even really all that sure if it is possible or not. I found the 'pdb' debugger, but I was wondering if there was something that would trace or log the order of line execution for a multi-module Python program. I am having a little bit of a problem tracking down a problem that I mentioned earlier (http://groups.google.com/group/comp.lang.python/msg/9c759fc888b365be), and I am hoping that maybe seeing how the statements are executed will shed some light on the entire thing for me. The debugger isn't working, though, because I have a timer set up to fire off every 20ms to check for incoming network traffic from the server, and that timer firing off makes stepping through with the debugger seemingly impossible to get any useful data. Basically, is there something that will log every line of Python code executed, in its order of execution, to a text file so that I can see what is (or isn't) happening that I am expecting? I know that the server is sending and receiving properly, because I can connect to it with a regular telnet client and it works -- but at the same time, everything I can think of to check my program's functionality checks out just fine (e.g., it reports that it is successfully sending what I am typing to the server, and it says that the server is not sending anything back to be read from the socket). If it makes any difference, I am using wxWidgets' Python bindings for the UI code (and the timer), and using Python's socket library for the network stuff. -- Mike -- http://mail.python.org/mailman/listinfo/python-list
Re: question about True values
On 2006-10-26, Donn Cave [EMAIL PROTECTED] wrote: In article [EMAIL PROTECTED], Steve Holden [EMAIL PROTECTED] wrote: ... Maybe so, but that rule (and let's not forget that the zen is not actually a set of prescriptive rules but rather guidelines for the informed) is immediately preceded by the most important rule of all: Beautiful is better than ugly. Nobody will shout at you (well, hopefully, not on this list they won't) for writing if my_list != []: ... in your code, but if they have to incorporate it into their own they will almost certainly reduce it to if my_list: It's just idiomatic in Python, the same way that 'Sup? is idiomatic in English (or what passes for it nowadays ;-) but grates on those who aren't used to hearing it. It is idiomatic, but not _just_ idiomatic. The former requires a list object (or a tricky __eq__()), the latter works with a variety of objects, exhibiting a useful polymorphism. The latter will treat None and False the same as [], () and {}, which in most of my code is not what I want. In most cases I find testing for an empty sequence (however you do it) useless, because the loop over the sequence does whatever I want if it is empty. In cases where I do want to test for it I usually write: if len(my_list) 0: That provides the polymorphism that is usefull to me and doesn't treat None the same as an empty sequence. As for similarities between computer programming languages and natural languages, I think that breaks down pretty fast. Part of the problem is something that pinches Python pretty hard right here, a lack of words that conveniently express important concepts in the language. A few posts back, Carl Banks made a distinction between equaling and being, and if I understood that right, it expresses a fundamental notion about the meaning of Python's if, while etc. statements. Unfortunately, though, English conflates existence and identity in this word (be), so it's not going to serve our purposes very well, and when it comes to words like if -- well, we just have to use what we have. If there were better words to use with the notion of something-ness, I think we would see booleans as a silly thing of little use to Python programmers. I think you are incorrect. Decisions have to be made and they are made based on conditions. Conditions are expressed in terms of True and False not in terms of Nothing or Something. That is how IMO people think. You can't change that just because python is implemented with the Nothing vs Something distinction in mind. If you can see if and while as constructs that respond to something-ness, you will appreciate idiomatic Python better, because that arguably is just what it's about. And how do I express that a number has to be greater than 100 into a Nothing vs Something dichotomy? Declare all greater numbers as Something and the rest as Nothing? -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list
Re: Embedding Matplotlib images into wxPython
I wrote a matplotlib Boa constructor plug-in. It is very easy to add it into a wxframe, sizers etc in Boa constructor. If you are interested in the plugin, pls. send e-mail to [EMAIL PROTECTED] Igor Khromushin [EMAIL PROTECTED] wrote: I am trying to embed images into a wxPython app (created using Boa Constructor), but have not been able to do so. I know how to embed plots, but images seem to be a problem. I've tried using code analogous to the example given at the Matplotlib website to no avail. If anybody has been successful at this could you please post some sample code? That would be greatly appreciated. Thanks! Randy -- http://mail.python.org/mailman/listinfo/python-list -- View this message in context: http://www.nabble.com/Embedding-Matplotlib-images-into-wxPython-tf265283.html#a7027545 Sent from the Python - python-list mailing list archive at Nabble.com. -- http://mail.python.org/mailman/listinfo/python-list
Re: question about True values
Antoon Pardon wrote: The latter will treat None and False the same as [], () and {}, which in most of my code is not what I want. since you never publish any code, what you do in your code is not very interesting to anyone. /F -- http://mail.python.org/mailman/listinfo/python-list
Re: question about True values
On 2006-10-26, Steve Holden [EMAIL PROTECTED] wrote: John Coleman wrote: As far as using non-booleans as conditions - I just think that if you want a certain block of code to be executed only if, for example, a list is non-empty, why not *say* so? I think if my_list != []: just reads better than if my_list:. I would think that my preferences there mesh with Explicit is better than implicit but apparently not. Maybe so, but that rule (and let's not forget that the zen is not actually a set of prescriptive rules but rather guidelines for the informed) is immediately preceded by the most important rule of all: Beautiful is better than ugly. Nobody will shout at you (well, hopefully, not on this list they won't) for writing if my_list != []: ... That depends on what you consider as shouting. My impression is that if people come here with a problem and post a sample of code to illustrate. That if that code would contain something like the above about half of the responses will be about the code not following python idiom without further providing anything helpfull with the actual problem. Now you may not consider that as shouting but I guess it can be just as intimidating. It probably will, but I wouldn't get too hung up on what's definitely a small point. Enjoy Python the way it is, and the way you are. You and Python will definitely come to an accommodation (and you will love the combination of discipline and freedom that it brings to programming style). Welcome to the language! I'll second that. Python has it warts, but so has any language. Chances are John will find the warts of python are minor issues compared with other languages. -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list
Re: conditional computation
Bruno Desthuilliers wrote: robert a écrit : (snip) class MemoCache(dict): # cache expensive Objects during a session (memory only) def memo(self, k, f): try: return self[k] except KeyError:#- was error return self.setdefault(k, f()) cache=MemoCache() ... o = cache.memo( complex-key-expr, lambda: expensive-calc-expr ) And how do you get back the cached value without rewriting both complex-key-expr *and* expensive-calc-expr ? Or did I missed the point ? the complex-key-expr is written only once in the code - execution inevitable. expensive-calc-expr is written only once in code and expensive execution (I have mostly matrix math) is only done at f() time. -robert -- http://mail.python.org/mailman/listinfo/python-list
Re: question about True values
On 2006-10-27, Fredrik Lundh [EMAIL PROTECTED] wrote: Antoon Pardon wrote: The latter will treat None and False the same as [], () and {}, which in most of my code is not what I want. since you never publish any code, This is not True. You shouldn't confuse your lack of recollection with reality. what you do in your code is not very interesting to anyone. I doubt I'm the only one who has code that treats None and False differently from [], () and {} -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list
Re: Slightly OT: Is pyhelp.cgi documentation search broken?
It works now again. You are now officially my hero. Note that you can also download the module and use it locally. Cool. I'll do that! Thanks! /Joel -- http://mail.python.org/mailman/listinfo/python-list
struct.pack bug?
Hi all, I have discovered that in my Python 2.4.1 installation (on Solaris 8), struct.pack handles things in a way that seems inconsistent to me. I haven't found any comprehensible documentation over known issues with Python 2.4.1 so I try this... Here's the thing: from struct import pack pack('B', -1) Traceback (most recent call last): File stdin, line 1, in ? struct.error: ubyte format requires 0=number=255 pack('H', -1) Traceback (most recent call last): File stdin, line 1, in ? struct.error: short format requires 0=number=USHRT_MAX pack('L', -1) '\xff\xff\xff\xff' Shouldn't pack('L', -1) raise an exception like the others, rather than behaving like pack('l', -1)? Is this fixed in later versions? (I don't have access to later versions and have failed to install any. Python 2.5 compiles nicely but make install fails without leaving any clues about how it failed and no installation troubleshooting guides to be found at python.org. Python 2.4.4 doesn't even compile since it apparently requires a newer libstdc++ than the one on our system... see why I'm asking the newsgroup?) -- -- Christer Jansson WiseOne AB +46 708 21 42 84 -- http://mail.python.org/mailman/listinfo/python-list
Re: question about True values
Antoon Pardon wrote: since you never publish any code, This is not True. You shouldn't confuse your lack of recollection with reality. pointers, please. /F -- http://mail.python.org/mailman/listinfo/python-list
Re: Slurping All Content of a File into a Variable
myfile_content is an object and you have only opened the file. Python doesn't yet know whether you want to read it, copy it etc. to read it try text = myfile_content.readlines() print text this should be in most tutorials Wijaya Edward wrote: Hi, How can we slurp content of a single file into one variable? I tried this: myfile_content = open('somefile.txt') print myfile_content, open file 'somefile.txt', mode 'r' at 0xb7f532e0 But it doesn't print the content of the file. Regards, -- Edward WIJAYA SINGAPORE Institute For Infocomm Research - Disclaimer - This email is confidential and may be privileged. If you are not the intended recipient, please delete it and notify us immediately. Please do not copy or use it for any purpose, or disclose its contents to any other person. Thank you. -- http://mail.python.org/mailman/listinfo/python-list
Re: struct.pack bug?
Jansson Christer wrote: I have discovered that in my Python 2.4.1 installation (on Solaris 8), struct.pack handles things in a way that seems inconsistent to me. I haven't found any comprehensible documentation over known issues with Python 2.4.1 so I try this... Here's the thing: from struct import pack pack('B', -1) Traceback (most recent call last): File stdin, line 1, in ? struct.error: ubyte format requires 0=number=255 pack('H', -1) Traceback (most recent call last): File stdin, line 1, in ? struct.error: short format requires 0=number=USHRT_MAX pack('L', -1) '\xff\xff\xff\xff' Shouldn't pack('L', -1) raise an exception like the others, rather than behaving like pack('l', -1)? probably; the reason for the old behaviour is probably to simplify for code that uses Python int's to represent 32-bit values. (mixing longs and ints used to be a lot more difficult than it is today). Is this fixed in later versions? the struct module was rewritten in Python 2.5; the new module issues a warning, and then appears to *clamp* the value to the allowed range, in- stead of grabbing the low bits: import struct struct.pack(B, -1) Traceback (most recent call last): File stdin, line 1, in module File C:\Python25\Lib\struct.py, line 63, in pack return o.pack(*args) struct.error: ubyte format requires 0 = number = 255 struct.pack(H, -1) Traceback (most recent call last): File stdin, line 1, in module File C:\Python25\Lib\struct.py, line 63, in pack return o.pack(*args) struct.error: short format requires 0 = number = USHRT_MAX struct.pack(I, -1) __main__:1: DeprecationWarning: 'I' format requires 0 = number = 4294967295 '\x00\x00\x00\x00' struct.pack(L, -1) __main__:1: DeprecationWarning: 'L' format requires 0 = number = 4294967295 '\x00\x00\x00\x00' /F -- http://mail.python.org/mailman/listinfo/python-list
Re: question about True values
On 2006-10-27, Fredrik Lundh [EMAIL PROTECTED] wrote: Antoon Pardon wrote: since you never publish any code, This is not True. You shouldn't confuse your lack of recollection with reality. pointers, please. Sorry, the answer is no. I don't care whether you can locate my code or not or wish to believe me or not. -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list
virtual function appears in two bases
I saw the following code, but I don't understand the rule for virtual function that appears in two basesCould anyone explain it for me, thanks.class Base1: def amethod(self): print Base1 class Base2(Base1): passclass Base3: def amethod(self): print Base3class Derived(Base2, Base3): passaninstance = Derived()aninstance.amethod() -- http://mail.python.org/mailman/listinfo/python-list
Re: question about True values
Antoon Pardon wrote: On 2006-10-27, Fredrik Lundh [EMAIL PROTECTED] wrote: Antoon Pardon wrote: since you never publish any code, This is not True. You shouldn't confuse your lack of recollection with reality. pointers, please. Sorry, the answer is no. I don't care whether you can locate my code or not or wish to believe me or not. Google finds 2 hits for Anton Pardoon open source. You are ceratinly keeping it well hidden. Few people have more right to call you on this than the effbot, well known for his prolific output. regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://holdenweb.blogspot.com Recent Ramblings http://del.icio.us/steve.holden -- http://mail.python.org/mailman/listinfo/python-list
Re: struct.pack bug?
Fredrik Lundh wrote: Jansson Christer wrote: I have discovered that in my Python 2.4.1 installation (on Solaris 8), struct.pack handles things in a way that seems inconsistent to me. I haven't found any comprehensible documentation over known issues with Python 2.4.1 so I try this... Here's the thing: from struct import pack pack('B', -1) Traceback (most recent call last): File stdin, line 1, in ? struct.error: ubyte format requires 0=number=255 pack('H', -1) Traceback (most recent call last): File stdin, line 1, in ? struct.error: short format requires 0=number=USHRT_MAX pack('L', -1) '\xff\xff\xff\xff' Shouldn't pack('L', -1) raise an exception like the others, rather than behaving like pack('l', -1)? probably; the reason for the old behaviour is probably to simplify for code that uses Python int's to represent 32-bit values. (mixing longs and ints used to be a lot more difficult than it is today). Is this fixed in later versions? the struct module was rewritten in Python 2.5; the new module issues a warning, and then appears to *clamp* the value to the allowed range, in- stead of grabbing the low bits: import struct struct.pack(B, -1) Traceback (most recent call last): File stdin, line 1, in module File C:\Python25\Lib\struct.py, line 63, in pack return o.pack(*args) struct.error: ubyte format requires 0 = number = 255 struct.pack(H, -1) Traceback (most recent call last): File stdin, line 1, in module File C:\Python25\Lib\struct.py, line 63, in pack return o.pack(*args) struct.error: short format requires 0 = number = USHRT_MAX struct.pack(I, -1) __main__:1: DeprecationWarning: 'I' format requires 0 = number = 4294967295 '\x00\x00\x00\x00' struct.pack(L, -1) __main__:1: DeprecationWarning: 'L' format requires 0 = number = 4294967295 '\x00\x00\x00\x00' /F Ok this implies that somebody is actually thinking about how to handle this, so I guess I won't file a bug report and simply solve my problems without relying on those exceptions... Thank you! -- -- Christer Jansson WiseOne AB +46 708 21 42 84 -- http://mail.python.org/mailman/listinfo/python-list
Re: question about True values
Antoon Pardon wrote: On 2006-10-27, Fredrik Lundh [EMAIL PROTECTED] wrote: Antoon Pardon wrote: since you never publish any code, This is not True. You shouldn't confuse your lack of recollection with reality. pointers, please. Sorry, the answer is no. I don't care whether you can locate my code or not or wish to believe me or not. ... though I might have got more hits by spelling your name correctly :) regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://holdenweb.blogspot.com Recent Ramblings http://del.icio.us/steve.holden -- http://mail.python.org/mailman/listinfo/python-list
Re: conditional computation
robert wrote: Bruno Desthuilliers wrote: robert a écrit : (snip) class MemoCache(dict): # cache expensive Objects during a session (memory only) def memo(self, k, f): try: return self[k] except KeyError:#- was error return self.setdefault(k, f()) cache=MemoCache() ... o = cache.memo( complex-key-expr, lambda: expensive-calc-expr ) And how do you get back the cached value without rewriting both complex-key-expr *and* expensive-calc-expr ? Or did I missed the point ? the complex-key-expr is written only once in the code How do you get something back from the cache then ? expensive-calc-expr is written only once in code Same problem here... I fail to understand how you intend to use this cache. -- bruno desthuilliers python -c print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in '[EMAIL PROTECTED]'.split('@')]) -- http://mail.python.org/mailman/listinfo/python-list
Re: Tracing the execution of scripts?
Jean-Paul Calderone wrote: In order of importance: 1) Write unit tests for your code. Keep writing unit tests until you have some that _don't pass_. Then fix your code so that they do. When you do further development, write the tests first, then implement the code that makes them pass. Perhaps I could use some pointers on that. I have read the bits and pieces that I have found regarding unit testing in the past, and I have wrote unit tests for things that I have done, but mostly for pieces of reusable code that interact with other programs. And I still have to wrap my mind around the idea of test first, develop later. It's fully possible that this works for many, but my (admittedly few) attempts at that methodology have failed me. I have a problem writing something without reference to look at while writing it -- so if I am writing something, say, to test my AnsiTextCtrl, I would need to look at the AnsiTextCtrl to see what methods and such I should be testing. That having been said, I don't have the slightest clue how a unit test would be written for something that is purely user oriented, anyway. I was under the impression that unit tests were automated little tests that required no user intervention to perform, right? Actually, thinking about the idea of unit tests, I have found a few resources online that generically talk about unit tests. Even the books that I have read on programming talk about unit tests. However, all the generic-ness with which the subject is approached makes my head spin. (It does that a lot when I am trying to learn something new, by the way.) 2) Don't use threads. At least have a way to not use threads while you're debugging. Debugging with threads is very difficult. (Actually I'm not sure if you're using threads. If you're not, feel free to ignore this point.) Fortunately, I am not. At least, I don't think I am, unless wxWidgets uses them internally or something. Threading would make my head explode at this point. I really am used to just pulling off simple, sysadmin type things using massive subsets of languages to just get things done. 3) Don't poll for network events every 20ms. If you have a sensible event loop you'll find debugging and testing much easier. I don't know what you mean. I believe wxWidgets handles the looping. And, as least, as far as I could tell with the documentation, the wx networking API is not exposed to Python. The event loop that you are describing is, I am assuming, the MainLoop which gets started for wx.App derived objects? 4) Use an existing library instead of developing a new one. I had looked for one, at least for the AnsiTextCtrl that I was using. I never did find anything, so I assumed that it didn't exist. 5) (Only included so I don't look like a _complete_ jerk. If you get this far and you haven't fixed the problem yet, consider this a booby prize.) http://divmod.org/trac/browser/trunk/Epsilon/epsilon/spewer.py I looked at this, and it made my head spin. I think it is just a touch too early for me to be looking at things that I don't quite understand. :-) I will take another look at it when I have been amongst the living a little bit longer. Thank you for the pointers here. At the very least, I have new ideas to google around with (such as looking into event loops). As far as programming goes, I have done minor things with it, and web applications (in PHP). I have never done GUI programming, or low-level network programming, or anything like that before, and I tried doing this project in C++ at first... and then said it wasn't worth it to me. So, I'm not very well versed in many of the concepts -- I am literally used to just writing tiny things (I can do very simple C programs, and have been known to use PHP for help automating things) to make my life easier, so this is the first real project that I have tried to work on. The goal, of course, is to become a better programmer. But, I digress. :-) Thanks again! Mike -- http://mail.python.org/mailman/listinfo/python-list
change keybindings for pygtk treeview
Hi, I am just testing pygtk/glade out and wonder, if I am able to change the keybindings. E.g. the treeview searches by default for the entries beginning with the typed keystroke; moving to the next row works as usual with the Down key. Now I would like to change the key bindings to e.g. 'j' to move to the next row (just like in vim) and to use a 'Ctrl' key combination to search for a certain word beginning with the typed key stroke. Is it anyhow possible with pygtk? Would be nice, if somebody can point my to a small example. Greetings! Fabian -- http://mail.python.org/mailman/listinfo/python-list
How set the source IP adress
Hi, how to set source ip-address when do __socket.connect((host, port)) on a machine that have a several ip-adresses? many thanks for advice. __socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) __socket.connect((host, port)) -- Maksim Kasimov -- http://mail.python.org/mailman/listinfo/python-list
Re: Tracing the execution of scripts?
Ben Finney wrote: Jean-Paul Calderone [EMAIL PROTECTED] writes: 1) Write unit tests for your code. Keep writing unit tests until you have some that _don't pass_. Then fix your code so that they do. When you do further development, write the tests first, then implement the code that makes them pass. Hear hear. Be advised, though, that attempting to apply unit tests to code that wasn't designed with testing in mind may very quickly reveal a poor design. [0] If you can't easily test pieces of the code independently, you probably haven't written those pieces to be loosely coupled and well-defined. I will whole-heartedly admit that my code is probably poorly designed. *shrug* Though, I *do* try to write everything in such a way as to be able to easily re-use it later. When I wrote little things just to help me sysadmin, I learned that was really key to making my life easier. Besides, I am lazy... reuse certainly serves my needs there! :-) The moral? Writing unit tests *along with* the functional code will result in a design that is loosely coupled, and probably better-defined. Also, hopefully, easy to test :-) I think I have more to learn on the concept of unit-testing. I have never seen a group push the idea so hard. I have read about unit testing before, and even written tests (in other languages) to test modules of library code that I put together once, but that was about it. I need to, I think, get more into the concept, though. It isn't something that I am able to just whip out and go Hey, a widget unit test! And it works! probably because of my own lack of practice. [0] I have no idea whether this is the case for the OP. It's a very common symptom that arises from people who are first advised to introduce tests to their code, though. It is very likely that it is the case. I am, by all means, what I could consider to be a novice programmer when it comes to anything outside of my little world of PHP. I can write web applications in PHP until the cows come home with little to no problem, and I can play with SQL the same way. But, I seem to have problems when I step out of that little box, and so, that tells me that I need to work harder at it. :-) -- Mike -- http://mail.python.org/mailman/listinfo/python-list
Re: my first software
Fredrik Lundh wrote: cygwin? I thought so too, but cygwin would use #!/cygdrive/c/..., IIRC. exemaker? some kind of web server? Okay, didn't know that :) Regards, Björn -- BOFH excuse #22: monitor resolution too high -- http://mail.python.org/mailman/listinfo/python-list
Re: Using classes in python
trevor lock wrote: Hello, I've just started using python and have observed the following : class foo: a=[] def __init__(self, val): self.a.append ( val ) def getA(self): print self.a return self.a z = foo(5) y = foo(4) z.getA() [5, 4] I was expecting that everytime I created an instance of the class that a unique dictionary was also created, however it seems that only one dictionary is created. How can I create a new dictionary for each instance? You do already, as the little script below illustrates: # checkInstance.py class A(object): def __new__(cls, n): return object.__new__(cls) def __init__(self, n): self.a= n a1= A(21) a2= A(22) print a1.a, a2.a, a1.__dict__ is a2.__dict__ Colin W. Thanks, Trevor. All-new Yahoo! Mail http://us.rd.yahoo.com/evt=43256/*http://advision.webevents.yahoo.com/mailbeta- Fire up a more powerful email and get things done faster. -- http://mail.python.org/mailman/listinfo/python-list
PyQt-x11-gpl-3.16 compile error
[EMAIL PROTECTED] PyQt-x11-gpl-3.16]# python configure.py -q /usr/lib/qt-3.3/ This is the GPL version of PyQt 3.16 (licensed under the GNU General Public License) for Python 2.4.2 on linux2. Type 'L' to view the license. Type 'yes' to accept the terms of the license. Type 'no' to decline the terms of the license. Do you accept the terms of the license? yes qextscintillaglobal.h could not be found in /usr/lib/qt-3.3/include and so the qtext module will not be built. If QScintilla is installed then use the -n argument to explicitly specify the correct directory. Checking to see if the qtcanvas module should be built... Checking to see if the qtnetwork module should be built... Checking to see if the qttable module should be built... Checking to see if the qtxml module should be built... Checking to see if the qtgl module should be built... Checking to see if the qtui module should be built... Checking to see if the qtsql module should be built... Checking to see if the QAssistantClient class is available... Creating features file... Error: Unable to build mkfeatures utility. please help to fix the problem -- http://mail.python.org/mailman/listinfo/python-list
Re: Tracing the execution of scripts?
Stephan Kuhagen wrote: Michael B. Trausch mike$#at^nospam!%trauschus wrote: Basically, is there something that will log every line of Python code executed, in its order of execution, to a text file so that I can see what is (or isn't) happening that I am expecting? Python itself can do this for you. A __VERY__ simple approach: [snip] Insert this in you program and you get a trace of every line of Python-Code executed in the file trace.txt. You must read the documentation of the module inspect and of sys.settrace() to understand, what happens and what it means. Additionally, if it should work with threads, you must take care that every thread gets its own output file. But as a first step to get a trace of execution, this should do it. I will need to keep this around to look at a little later. It looks like it would be something particularly useful when line-tracing by itself fails. I am constantly finding myself amazed at Python's capabilities. -- Mike -- http://mail.python.org/mailman/listinfo/python-list
ANN: the pyfaq wiki has moved
Back in April, I posted a copy of the Python FAQ over at infogami.com, to collect comments and new FAQ entries for python.org. Since infogami.com development has ceased, and the server's been hit by spam lately, I've decided to move the material over to a hopefully more reliable site: http://effbot.org/pyfaq/ If you have some time to spare, why not drop by, pick some random article, and let us know how it can be improved: http://effbot.org/random/pyfaq Or even better, if you have a FAQ entry or some other idea to share, post it here: http://effbot.org/pyfaq/suggest /F -- http://mail.python.org/mailman/listinfo/python-list
Re: my first software
Bjoern Schliessmann wrote: Fredrik Lundh wrote: cygwin? I thought so too, but cygwin would use #!/cygdrive/c/..., IIRC. Cygwin is actually pretty liberal about paths, and will often take a Winwos-style path (unlike the snotty cmd.exe program that insists on treating forard slashes ONLY as option indicators. exemaker? some kind of web server? Okay, didn't know that :) Regards, Björn regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://holdenweb.blogspot.com Recent Ramblings http://del.icio.us/steve.holden -- http://mail.python.org/mailman/listinfo/python-list
Re: question about True values
On Fri, 27 Oct 2006 09:16:57 +, Antoon Pardon wrote: I think it is a good time to remind people of some extremely well-thought out opposition to the introduction of bools to Python from Laura Creighton: http://mail.python.org/pipermail/python-list/2002-April/095878.html She lost the debate, Guido had the final word and Python now has bools. Take particular note of her description of Python distinguishing between Something (cat, 4, [0, 1, 2] etc) and Nothing (, 0, [] etc). Yes and IMO that is a less usefull distinction than the distinction between True and False. When I write code I think in terms of conditions. In those conditions this has to be treated this way otherwise it has to be treated an other way. Conditions give results that are either True or False, not Something or Nothing. And if you read the thread that Laura Creighton's post is part of, you will see that she acknowledges that most people think strongly in terms of binary true/false yes/no states, and that this is often the wrong thing to do. There are lots of human thought patterns that are unhealthy, and binary is often one of them. The world is continuous, and our brains think in binary. No wonder people have such trouble with concepts like evolution: - there is a continual chain of individuals such that every offspring of an reptile is a reptile, and every parent of a mammal is a mammal, and yet mammals are directly descended from reptiles. By I digress. This is too easy to get off topic... I don't think of 10 5 as Something while 5 10 would be Nothing. Not at all, you got your operators the wrong way around. Five certainly is less than 10 in every counting system I've ever come across. I think you meant 5 10 is Nothing. Certainly purely mathematical relations like GT and LT lend themselves very well to true two-valued algebra. The thing to remember is that Python's truth model is not the same as pure Boolean algebra. For starters, it certainly is not two-valued! It is infinitely-valued. It's just that many of those values are equivalent *in a Boolean context*. In Pascal, writing x := 2; if x then... would be an error, because x is not a Boolean. But it is certainly useful to be able to write the equivalent in Python. The designer of Pascal choose strict Boolean algebra; the designer of Python choose a more flexible, less strict model. If you are going to argue for strict Booleans, like in Pascal, then mathematical relations like GT and LT will be your poster-child. But if you are going to argue for Python's less strict truth model, then you'll talk about lots of examples like this: if somelist: # work with the list else: # nothing to work with So while the paradigma of the language may be the distinction of Something vs Nothing the programmer will often enough think in terms of True and False. If you read Laura's post, you will see that she is arguing strongly that thinking about True and False is often -- usually! -- a mistake. I acknowledge that there are cases where it is either necessary or desirable to think in terms of True/False, but that is less common than you might think. So IMO it would have been better if python had made the distinction between True and False and so made the programmer code the Something/Nothing disctinction explicitly. I don't understand what you are saying here, unless it is that you believe that Python should have strict Pascal-style Booleans. -- Steven. -- http://mail.python.org/mailman/listinfo/python-list
Re: PyDev + Eclipse (Was: Re: What's the best IDE?)
olive wrote: Michael B. Trausch wrote: Yep. Still does it. I'm running PyDev 1.2.4 without completion problem so far. Are you up to date ? Maybe you should install the latest from scratch. Yep, I am up to date. As I said, I am totally confused. -- Mike -- http://mail.python.org/mailman/listinfo/python-list
Re: How to Split Chinese Character with backslash representation?
Wijaya Edward [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Hi all, I was trying to split a string that represent chinese characters below: str = '\xc5\xeb\xc7\xd5\xbc' print str2, ??? fields2 = split(r'\\',str) print fields2, ['\xc5\xeb\xc7\xd5\xbc'] But why the split function here doesn't seem to do the job for obtaining the desired result: ['\xc5','\xeb','\xc7','\xd5','\xbc'] There are no backslash characters in the string str, so split finds nothing to split on. I know it looks like there are, but the backslashes shown are part of the \x escape sequence for defining characters when you can't or don't want to use plain ASCII characters (such as in your example in which the characters are all in the range 0x80 to 0xff). Look at this example: s = \x40 print s @ I defined s using the escaped \x notation, but s does not contain any backslashes, it contains the '@' character, whose ordinal character value is 64, or 40hex. Also, str is not the best name for a string variable, since this masks the built-in str type. -- Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Slurping All Content of a File into a Variable
[EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] myfile_content is an object and you have only opened the file. Python doesn't yet know whether you want to read it, copy it etc. to read it try text = myfile_content.readlines() print text this should be in most tutorials readlines() will give you the file content as a list of newline-terminated strings. If you just want the whole file in one big string do: text = myfile_content.read() And, yes, you should wade through some of the tutorials, this is basic material. -- Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: NumPy 1.0 release
Travis E. Oliphant wrote: We are very pleased to announce the release of NumPy 1.0 available for download at http://www.numpy.org Congratulations to you and the other NumPy developers for completing this major undertaking. I would also like to express my sincere gratitude for making this making this software available to all of us. Thank you. Sturla Molden -- http://mail.python.org/mailman/listinfo/python-list
Re: Insert Content of a File into a Variable
Wijaya Edward [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Hi, How can we slurp all content of a single file into one variable? Please don't double-post your questions. Now you have two threads running with people answering the same question. -- Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: PyDev + Eclipse (Was: Re: What's the best IDE?)
olive wrote: Michael B. Trausch wrote: Yep. Still does it. I'm running PyDev 1.2.4 without completion problem so far. Are you up to date ? Maybe you should install the latest from scratch. Yep, I am up to date. As I said, I am totally confused. -- Mike I run the latest pydev on both windows and linux... The setup is excatcly the same (on the eclipse, path setup and all) My windows setup is much better at auto-complete that the linux setup... In linux, other than with self, I seldom get auto complete on other classes. In windows it sometimes can figure out to what class belong the instance and propose appropriate choices... Caus of my present workload I gave up trying to make it work... E :D. -- http://mail.python.org/mailman/listinfo/python-list
[Fwd: Using cElementTree and elementtree.ElementInclude]
Original Message Subject: Using cElementTree and elementtree.ElementInclude Date: Mon, 23 Oct 2006 09:40:24 -0500 From: Mark E. Smith [EMAIL PROTECTED] Organization: AEDC To: python-list@python.org cElementTree cannot hold ElementTree instances. can you post a small but self-contained example showing how you got this error? /F #from elementtree.ElementTree import ElementTree, dump # This works from cElementTree import ElementTree, dump # This does not from elementtree import ElementInclude etree = ElementTree(file='xml_in.xml').getroot() dump(etree) ElementInclude.include(etree) dump(etree) for child in etree.find('./included_root').findall('./*'): # Copy the child down to the root etree.append(child) # Remove the root/included_root etree.remove(etree.find('./included_root')) dump(etree) !--xml_in.xml-- root xmlns:xi=http://www.w3.org/2001/XInclude; child name=first/ xi:include href=xml_included.xml/ /root !--xml_included.xml-- included_root child name=second/ child name=third/ /included_root Thanks for the help. Mark -- http://mail.python.org/mailman/listinfo/python-list
To Kill a Process that is Accepting Connection on Socket
I removed my previous post about this topic because I apparently have pasted the wrong code. Sorry for the confusion and thanks for being patient. I am having problem to kill the following script completely. The script basically does the following. The main thread creates a new thread, which does a completely useless thing, and then starts excepting for a connection via socket. # start import pickle import signal import simplejson import socket import sys import threading import time counter = 0 class WorkerThread(threading.Thread): def run(self): global counter while True: counter += 1 time.sleep(10) worker_thread = WorkerThread() worker_thread.start() server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind(('', 2727)) server.listen(2) def cleanup(signal, frame): print die now worker_thread.join(1) server.shutdown(socket.SHUT_RDWR) sys.exit(0) signal.signal(signal.SIGINT, cleanup) while True: channel, details = server.accept() stats = { 'key': value } s = simplejson.dumps(stats) channel.send(s) channel.close() # end The way I can think of right now is to kill the script using Ctrl+C. Hence, the signal handler in the code. However, the interpreter complains: $ python ex_server.py die now Traceback (most recent call last): File ex_server.py, line 33, in ? channel, details = server.accept() File /usr/lib/python2.4/socket.py, line 169, in accept sock, addr = self._sock.accept() File ex_server.py, line 28, in cleanup server.shutdown(socket.SHUT_RDWR) File string, line 1, in shutdown socket.error: (128, 'Transport endpoint is not connected') Does anybody know a better way to do this? Thank you. Buhi -- http://mail.python.org/mailman/listinfo/python-list
Re: question about True values
*** Your mail has been scanned by InterScan MSS. *** On Thursday 26 October 2006 02:56, John Salerno wrote: s = 'hello' s == True False if s: print 'hi' this isn't only a python behavior. the if test is valid for all non-zero variables. only None, 0 and False make the condition to jump over. F -- http://mail.python.org/mailman/listinfo/python-list
Re: Printing Hidden Character in Python
*** Your mail has been scanned by InterScan MSS. *** On Thursday 26 October 2006 16:43, Wijaya Edward wrote: How can we print out the hidden character like \n, \r etc in Python? If it's meant to evidentiate then you should scan each byte an print it out i.e. o = open('yourfile'.'rb') o = open('paths.con','rb') for c in o.read(): ... if c == '\n': ... print '\\n' ... if c == '\r': ... print '\\r' ... print c, ... unfortunately it will be a space between each letter. Maybe using sys.stderr.write (c) will avoid that. F -- http://mail.python.org/mailman/listinfo/python-list
Configfile
*** Your mail has been scanned by InterScan MSS. *** HI, I've a small doubt regarding the way to save a configuration file on the file manipulated by ConfigParser. As far as I could understand this: cp = ConfigParser.ConfigParser cp.set(section,option) will it do the set on the file or do I have to issue a cp.write(fp) in order to get it done? My tests didn't resulted positively. F -- http://mail.python.org/mailman/listinfo/python-list
Re: question about True values
On Fri, 27 Oct 2006 12:54:35 +0100, Steve Holden wrote: Antoon Pardon wrote: On 2006-10-27, Fredrik Lundh [EMAIL PROTECTED] wrote: Antoon Pardon wrote: since you never publish any code, This is not True. You shouldn't confuse your lack of recollection with reality. pointers, please. Sorry, the answer is no. I don't care whether you can locate my code or not or wish to believe me or not. Google finds 2 hits for Anton Pardoon open source. You are ceratinly keeping it well hidden. Few people have more right to call you on this than the effbot, well known for his prolific output. This may come as a shock to some of us in the Open Source arena, but the care-factor of code is not necessarily tied to the number of distinct pieces of code released to the public by the code's author. Many people, for example, care a lot about the software running in nuclear reactors, regardless of whether or not the code's author is a prolific Open Source developer. Of course Fredrik has a proven track record, and the quality of his code is out there for any interested person to see. That means that the wise person, even if he disagrees with Fredrik, should take what he has to say seriously. If Fredrik is dismissive of Antoon's use of if len(list) != 0 instead of if list, we should take that opinion very seriously. But for all we know, Antoon's code might be responsible for keeping nuclear reactors running, planes in the air, missiles hitting their targets, or some other really critical application. His lack of visible code doesn't *necessarily* mean we should dismiss what he has to say -- it merely means that his track record is unproven to us. And even if he does nothing but write trivial scripts for his own use, that fact alone doesn't make his opinion wrong or foolish. But in this specific instance, I don't see any advantage to explicitly testing the length of a list. Antoon might think that is sufficiently polymorphic, but it isn't. He cares whether the object has zero _length_, but for true polymorphism, he should be caring about whether the object is _empty_. Not all empty objects have zero length, or even a length at all. (E.g. binary trees.) That's why Python classes can use a __nonzero__ method, falling back on __len__ only if __nonzero__ is not defined. -- Steven. -- http://mail.python.org/mailman/listinfo/python-list
Re: print dos format file into unix format
Tim Roberts wrote: [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Suppose I have a dos format text file. The following python code will print ^M at the end. I'm wondering how to print it in unix format. fh = open(options.filename) for line in fh.readlines() print line, Are you running this on Unix or on DOS? On Unix, you can do: for line in open(options.filename).readlines(): print line.rstrip() Perhaps quicker is: sys.stdout.write( open(options.filename).read().replace('\r\n','\n') ) There are more differences between text files than that. I don't know any unix systems that uses CP 437 etc. I'd convert the text to unicode through .decode('cp437') etc, and then print that. If things aren't set up so than unicode object print correctly, use .decode('cp437').encode('utf8') etc to get it to an appropriate encoding. -- http://mail.python.org/mailman/listinfo/python-list
Re: Restricting import file lookup for pyd, dll, ...
Bernard Lebel wrote: Hi, That's because I'm using Python through another application, via the pywin32 extensions. When that other application starts, it performs several thousands of file requests (we're talking 4,500, roughly) in the Python installation, locations where there are Python files, and in some other locations that don't make sense. This adds considerable time to the startup time of the application, we're talking between 2 and 9 seconds. Sounds like a broken (networked?) file system. The only time I've had that kind of problems with python startup is when I've had really slow anti-virus programs that scanned all the files I opened. But then it wasn't file requests that mattered, but actually opening them... It still wasn't anywhere near 9 seconds though... -- http://mail.python.org/mailman/listinfo/python-list
Re: conditional computation
Bruno Desthuilliers wrote: robert wrote: Bruno Desthuilliers wrote: robert a écrit : (snip) class MemoCache(dict): # cache expensive Objects during a session (memory only) def memo(self, k, f): try: return self[k] except KeyError:#- was error return self.setdefault(k, f()) cache=MemoCache() ... o = cache.memo( complex-key-expr, lambda: expensive-calc-expr ) And how do you get back the cached value without rewriting both complex-key-expr *and* expensive-calc-expr ? Or did I missed the point ? the complex-key-expr is written only once in the code How do you get something back from the cache then ? expensive-calc-expr is written only once in code Same problem here... I fail to understand how you intend to use this cache. the first time, self.setdefault(k, f()) executes the lambda (f()), stores it to the cache dict and the value is returned. then on cache hit the stored value is just returned from the cache dict try: return self[k] and the lambda is not executed again. note: the lambda expression expensive-calc-expr is just compiled but not executed as long as it is not called ( f() ) -robert -- http://mail.python.org/mailman/listinfo/python-list
Re: Assertion failure on hotshot.stats.load()
I created a simple test case showing the zope.interface problem. Just pass the following file to profile.py (i.e. the 'profile' module in your Python standard library, run as a standalone app). The culprit *seems* to be Twisted. Any ideas? Thanks in advance. #!/usr/bin/env python error i get: Traceback (most recent call last): File /home/yang/local/bin/profile.py, line 611, in ? run('execfile(%r)' % (sys.argv[0],), options.outfile, options.sort) File /home/yang/local/bin/profile.py, line 72, in run prof = prof.run(statement) File /home/yang/local/bin/profile.py, line 448, in run return self.runctx(cmd, dict, dict) File /home/yang/local/bin/profile.py, line 454, in runctx exec cmd in globals, locals File string, line 1, in ? File /home/yang/proj/assorted/sandbox/trunk/src/py/profile.py, line 6, in ? class Cnl( object ): File /opt/zope/lib/python/zope/interface/advice.py, line 132, in advise return callback(newClass) File /opt/zope/lib/python/zope/interface/declarations.py, line 485, in _implements_advice classImplements(cls, *interfaces) File /opt/zope/lib/python/zope/interface/declarations.py, line 462, in classImplements spec.declared += tuple(_normalizeargs(interfaces)) File /opt/zope/lib/python/zope/interface/declarations.py, line 1373, in _normalizeargs _normalizeargs(v, output) File /opt/zope/lib/python/zope/interface/declarations.py, line 1372, in _normalizeargs for v in sequence: TypeError: Error when calling the metaclass bases iteration over non-sequence from zope.interface import * from twisted.internet import interfaces class Cnl( object ): implements( interfaces.IPushProducer ) On 10/27/06, Yang fer7msb02-at-sneakemail.com |python| ... wrote: I fell back onto the old profile module, but got the following error when trying to use zope.interface. I am now without any way to profile my application. Traceback (most recent call last): File /home/yang/local/bin/profile.py, line 611, in ? run('execfile(%r)' % (sys.argv[0],), options.outfile, options.sort) File /home/yang/local/bin/profile.py, line 72, in run prof = prof.run(statement) File /home/yang/local/bin/profile.py, line 448, in run return self.runctx(cmd, dict, dict) File /home/yang/local/bin/profile.py, line 454, in runctx exec cmd in globals, locals File string, line 1, in ? File /.automount/nms.lcs.mit.edu/export/home/yang/proj/cartel/trunk/icedb/src/frontend/icedb-central.py, line 5, in ? from icedb import * File /home/yang/local/lib/python2.4/site-packages/icedb/__init__.py, line 4, in ? import cafnet File /home/yang/local/lib/python2.4/site-packages/cafnet/__init__.py, line 269, in ? class Cnl( object ): File /opt/zope/lib/python/zope/interface/advice.py, line 132, in advise return callback(newClass) File /opt/zope/lib/python/zope/interface/declarations.py, line 485, in _implements_advice classImplements(cls, *interfaces) File /opt/zope/lib/python/zope/interface/declarations.py, line 462, in classImplements spec.declared += tuple(_normalizeargs(interfaces)) File /opt/zope/lib/python/zope/interface/declarations.py, line 1373, in _normalizeargs _normalizeargs(v, output) File /opt/zope/lib/python/zope/interface/declarations.py, line 1372, in _normalizeargs for v in sequence: TypeError: Error when calling the metaclass bases iteration over non-sequence On 10/27/06, Yang fer7msb02-at-sneakemail.com |python| ... wrote: Note: I realize hotshot is obsoleted by cProfile, but 2.5 breaks several packages I depend on. I'm using Python 2.4.3. I'm getting an AssertionError on assert not self._stack when calling hotshot.stats.load() on my app's hotshot profile. The app consistently causes hotshot to generate such a problematic profile, but I have no idea what's causing it. Anybody know what's wrong? Here's the profile: http://www.filefactory.com/file/76fdbd/ Potentially relevant bugs: http://sourceforge.net/tracker/index.php?func=detailaid=900092group_id=5470atid=105470 http://sourceforge.net/tracker/index.php?func=detailaid=1019882group_id=5470atid=105470 Thanks in advance for any help. -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list
Test
Test -- http://mail.python.org/mailman/listinfo/python-list
Re: Search Replace
Really appreciate all the all the different answers and learning tips! -- http://mail.python.org/mailman/listinfo/python-list
Re: Assertion failure on hotshot.stats.load()
Yang Note: I realize hotshot is obsoleted by cProfile, but 2.5 breaks Yang several packages I depend on. I'm using Python 2.4.3. Not a direct answer to your question, but the cProfile module runs just fine under 2.4. Skip -- http://mail.python.org/mailman/listinfo/python-list
Re: Tracing the execution of scripts?
*** Your mail has been scanned by InterScan MSS. *** On Friday 27 October 2006 17:31, R. Bernstein wrote: pydb (http://bashdb.sf.net/pydb) has a both the ability to trace lines I faced several time that pydb stuck without sign of errors. In the other hand Pdb doesn't appear that problem. Mostly pydb freeze on long loops. It might be some problem on my setup, I'll check it up... F -- http://mail.python.org/mailman/listinfo/python-list
Re: ANN: wxPython 2.7.1.3
Hi Robin, You may want to use a spell checker for announcements and for the wxpython.org website. For example, the first paragraph of your announcement contains the words plust and pacakges, and the word pacakge can also be found on the following pages: www.wxpython.org/download.php www.wxpython.org/wxPython.spec www.wxpython.org/CHANGES.html Oh, it's fun to be a speling fanatic! :-) Cheers, Johann -- http://mail.python.org/mailman/listinfo/python-list
Re: subprocess cwd keyword.
On 27-Oct-06, at 2:25 AM, Leo Kislov wrote: Ivan Vinogradov wrote: ... call(core/main) works but uses .. of core for input/output. call(core/main,cwd=core) and call(main,cwd=core) both result in [snip exception] Usually current directory is not in the PATH on UNIX. Try call(./main,cwd=core) -- Leo Thank you both Leo and Steven. The solution was indeed calling main as ./main once cwd was changed. -- Cheers, Ivan. -- http://mail.python.org/mailman/listinfo/python-list
Re: Sentinel values for special cases
In article [EMAIL PROTECTED], Ben Finney [EMAIL PROTECTED] wrote: Fourth, if you have decided that a magic sentinel value is called for but None is already taken for some other purpose, don't use a string. Use a unique do-nothing object, defined at the module level so callers can easily get at it, like 'Dmitry Vasiliev' showed [reproduced below]. GLOBAL = object() def insert_ids(ids=GLOBAL): if ids is GLOBAL: ids = get_global_ids() The one disadvantage of this approach is that it complicates pickling if/when you store the stentinel in an instance. There are ways of working around that, but none are pleasant. -- Aahz ([EMAIL PROTECTED]) * http://www.pythoncraft.com/ If you don't know what your program is supposed to do, you'd better not start writing it. --Dijkstra -- http://mail.python.org/mailman/listinfo/python-list
Re: Printing Hidden Character in Python
Fulvio wrote: *** Your mail has been scanned by InterScan MSS. *** On Thursday 26 October 2006 16:43, Wijaya Edward wrote: How can we print out the hidden character like \n, \r etc in Python? If it's meant to evidentiate then you should scan each byte an print it out i.e. o = open('yourfile'.'rb') o = open('paths.con','rb') for c in o.read(): ... if c == '\n': ... print '\\n' ... if c == '\r': ... print '\\r' ... print c, ... unfortunately it will be a space between each letter. Maybe using sys.stderr.write (c) will avoid that. F Or sys.stdout.write(c). If efficiency is a major issue, you may also want to look into the re module's regular expression substitution model to get a new, converted string before printing it. -- http://mail.python.org/mailman/listinfo/python-list
Re: PyQt-x11-gpl-3.16 compile error
[EMAIL PROTECTED] wrote: [EMAIL PROTECTED] PyQt-x11-gpl-3.16]# python configure.py -q /usr/lib/qt-3.3/ This is the GPL version of PyQt 3.16 (licensed under the GNU General Public License) for Python 2.4.2 on linux2. [...] Creating features file... Error: Unable to build mkfeatures utility. Can you run the configure.py script again with the -w option as well as the others you specified, then post the output here? David -- http://mail.python.org/mailman/listinfo/python-list
Re: How the event list be sent to EventManager?
Can an argument to reference an object's attribute?? Fredrik Lundh wrote: steve wrote: The example code from: http://sjbrown.ezide.com/games/example1.py.html ... def Notify( self, event ): if not isinstance(event, TickEvent): Debug( Message: + event.name ) for listener in self.listeners.keys(): #If the weakref has died, remove it and continue #through the list if listener is None: del self.listeners[ listener ] continue listener.Notify( event ) I can not figure out how 'event' can has reference to 'event.name'? because the developer expects you to pass in an object that has a name attribute ? (one of the Event types defined at the top of that module, most likely). Anyhow the 'event' has not defined! it's an argument to the method. The 'event' dynamically get its own type through isinstance(event,TickEvent):...? no, that line simply checks if it's a specific Event type, and enables debug logging for all other event types. /F -- http://mail.python.org/mailman/listinfo/python-list
Re: Configfile
Fulvio schrieb: *** Your mail has been scanned by InterScan MSS. *** HI, I've a small doubt regarding the way to save a configuration file on the file manipulated by ConfigParser. As far as I could understand this: cp = ConfigParser.ConfigParser You are missing a () here cp.set(section,option) will it do the set on the file or do I have to issue a cp.write(fp) in order to get it done? My tests didn't resulted positively. What does that mean? Did your head explode, has a giant mammoth stomped your PC into oblivion, or has by any chance an exception occured that you don't show us? I guess you've been told to read this here, but just in case it wasn't, or you didn't bother to read it: http://catb.org/esr/faqs/smart-questions.html Diez -- http://mail.python.org/mailman/listinfo/python-list
Re: virtual function appears in two bases
joe Li wrote: I saw the following code, but I don't understand the rule for virtual function that appears in two bases Could anyone explain it for me, thanks. http://docs.python.org/tut/node11.html#SECTION001151 /F -- http://mail.python.org/mailman/listinfo/python-list
Re: Tracing the execution of scripts?
I just thought I would put my 2 cents in on this issue. Others have suggested that unit tests are an excellent way of debugging your code and I agree. I also find that writing code from the outset using a logging class (there is one in the standard library) that allows you to create log files of information as you run your application is a good idea. Using increasingly detailed logs (I use a debug mode of 1,2,3,4 for more detail) that dump where you are and intermediate variable values works EXTREMELY well for me. I leave this code in the application so that I can have customers (or myself) run the application in debug mode should I have a hard to find problem. This is especially true for long running or lights-out batch apps that have no UI making debugging even more difficult. I find that the overhead of testing if I'm in debug mode and logging results is almost non-existent to the overall execution speed of my scripts, but then I don't have very many really speed sensitive scripts so your mileage might vary. Hope the information helps. -Larry -- http://mail.python.org/mailman/listinfo/python-list
Re: Configfile
Fulvio wrote: *** Your mail has been scanned by InterScan MSS. *** HI, I've a small doubt regarding the way to save a configuration file on the file manipulated by ConfigParser. As far as I could understand this: cp = ConfigParser.ConfigParser cp.set(section,option) will it do the set on the file or do I have to issue a cp.write(fp) in order to get it done? My tests didn't resulted positively. F Yes you have to get a file pointer (fp) and do the write as you noted. Also to get instance of ConfigParser you need: cp = ConfigParser.ConfigParser() (note the trailing parenthesis) If you want to read existing .INI file before doing this you need a cp.read('filename.ini') somewhere in your code. -Larry -- http://mail.python.org/mailman/listinfo/python-list
Re: Python 2.5 ; Effbot console ; thank ; pb release.
Méta-MCI wrote: Hi! (***sorry for my approximative english***) That's ok. Quite amusing to read that you were repaired. A few months ago, I needed a console, under Windows. After several research, I selected the console of EffBot. Thank you very much, Fredrik Lundh, for this small tool, quite practical and which repaired me well. Then, Python 2.5 arrived. That doesn't mean it's clever to use 2.5 right now... There's plenty of code which isn't adapted to 2.5 yet. Personally, I use 2.4 at work (although sometimes I still need to be 2.2 compatible) and at home I have both 2.4 and 2.5 installed. Most of the time I work with 2.4 since I use packages which don't support 2.5 yet (or at least the last time I checked). -- http://mail.python.org/mailman/listinfo/python-list
Re: python GUIs comparison (want)
David Boddie wrote: You're forgetting that Qt isn't just a widget toolkit. I suspect that the non-GUI parts are (just like in Wx) C++ stuff which is more or less equivalent with things that are either Python builtins or parts of Python's standard library. Besides, getting those proprietary dependencies even further down into the code than the GUI is not a plus in my book. Last time I looked, Qt code wasn't even pure C++ but needed some preprocessing like embedded SQL. Yet another programming language in other words. I suppose I can ignore that from Python, but it still smells... -- http://mail.python.org/mailman/listinfo/python-list
Re: PyDev + Eclipse (Was: Re: What's the best IDE?)
On 10/26/06, Michael B. Trausch mike$#at^[EMAIL PROTECTED] wrote: Kenneth McDonald wrote: With the most recent edition of PyDev, I find Eclipse works quite well for me.Since you mentioned it, I have a question that searching around andpoking around has not solved for me, yet.Do you have auto-completion working with your setup?It does not seem to work at all for me.I have read through the configuration help, andthere are no firewalls on my system at all, and everything else workssave for auto-completion, which I have had to disable.If left enabled, even with low timeouts, I have to kill Eclipse and start it again.:-/ Do you have some firewall on? There was a report (http://sourceforge.net/tracker/index.php?func=detailaid=1509582group_id=85796atid=577329 ) in which the problem was actually a misconfiguration when creating local-loops (accessing 127.0.0.1) in linux. If this is not your problem, please create a bug-report -- check http://pydev.sf.net/faq.html#ref_0 for bug-writing guidelines. Cheers, Fabio -- http://mail.python.org/mailman/listinfo/python-list
Re: Insert characters into string based on re ?
You can test it here: http://www.sqlinform.com -- http://mail.python.org/mailman/listinfo/python-list
Re: conditional computation
robert wrote: Bruno Desthuilliers wrote: robert wrote: Bruno Desthuilliers wrote: robert a écrit : (snip) class MemoCache(dict): # cache expensive Objects during a session (memory only) def memo(self, k, f): try: return self[k] except KeyError:#- was error return self.setdefault(k, f()) cache=MemoCache() ... o = cache.memo( complex-key-expr, lambda: expensive-calc-expr ) And how do you get back the cached value without rewriting both complex-key-expr *and* expensive-calc-expr ? Or did I missed the point ? the complex-key-expr is written only once in the code How do you get something back from the cache then ? expensive-calc-expr is written only once in code Same problem here... I fail to understand how you intend to use this cache. the first time, self.setdefault(k, f()) executes the lambda (f()), (snip) Robert, that's not the point. I do have enough Python knowledge to understand this (totally trivial) code !-) What I don't understand is how this code is supposed to save you from having to actually write both complex-key-expr and expensive-calc-expression more than once. You need them both each time you access the cache - whether the result of expensive-calc-expression has already been cached or not. Now this seems so obvious that I guess I failed to understand some point in your original spec (emphasis is mine): I want to use a computation cache scheme like o = CACHECOMPUTE complex-key-expr expensive-calc-expr frequently and elegantly *without writing complex-key-expr or expensive-calc-expr twice*. -- bruno desthuilliers python -c print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in '[EMAIL PROTECTED]'.split('@')]) -- http://mail.python.org/mailman/listinfo/python-list
Accessing ClarifyCRM with Python
I need to embed the ability to create a Clarify Case in a python program I have written. Unfortunately my familiarity with Clarify is very limited at this point. Is there a module out there that makes this process semi-painless? I couldn't find one googling around... Has anyone implemented something like this? Care to give a few pointers? I do know that another part of the business has a perl script that can generate a Clarify case. I'm chasing down that example as well, but I don't have it in hand at this point. So I know that this is possible... I just don't know how much work it will be. Any pointers would be greatly appreciated. --Jason -- http://mail.python.org/mailman/listinfo/python-list
Telnetlib to twisted
Hallo, import telnetlib l=telnetlib.Telnet('dbprod') l.interact() telnet (dbprod) Login: Could anyone show how the above would be written using the twisted framework? All I'm after is a more 'intelligent' interactive telnet session (handles 'vi' etc..) rather than the full capabilities of the twisted framework. Thanks, Matt. This email is confidential and may be privileged. If you are not the intended recipient please notify the sender immediately and delete the email from your computer. You should not copy the email, use it for any purpose or disclose its contents to any other person. Please note that any views or opinions presented in this email may be personal to the author and do not necessarily represent the views or opinions of Digica. It is the responsibility of the recipient to check this email for the presence of viruses. Digica accepts no liability for any damage caused by any virus transmitted by this email. UK: Phoenix House, Colliers Way, Nottingham, NG8 6AT UK Reception Tel: + 44 (0) 115 977 1177 Support Centre: 0845 607 7070 Fax: + 44 (0) 115 977 7000 http://www.digica.com SOUTH AFRICA: Building 3, Parc du Cap, Mispel Road, Bellville, 7535, South Africa Tel: + 27 (0) 21 957 4900 Fax: + 27 (0) 21 948 3135 http://www.digica.com -- http://mail.python.org/mailman/listinfo/python-list
Re: Telnetlib to twisted
Matthew Warren wrote: Could anyone show how the above would be written using the twisted framework? All I'm after is a more 'intelligent' interactive telnet session (handles 'vi' etc..) rather than the full capabilities of the twisted framework. Not done this until now, but have a look at twisted.conch.telnet. This email is confidential and may be privileged. If you are not the intended recipient please notify the sender immediately and delete the email from your computer. Am I the inteded recipient? I'm not listed in the headers. Regards, Björn -- BOFH excuse #439: Hot Java has gone cold -- http://mail.python.org/mailman/listinfo/python-list
Re: How the event list be sent to EventManager?
steve wrote: Can an argument to reference an object's attribute?? sorry, cannot parse that sentence. the arguments to a method are objects, and objects have attributes. why do you find this surprising? /F -- http://mail.python.org/mailman/listinfo/python-list
Re: Tracing the execution of scripts?
Stephan Kuhagen wrote: Michael B. Trausch mike$#at^nospam!%trauschus wrote: Basically, is there something that will log every line of Python code executed, in its order of execution, to a text file so that I can see what is (or isn't) happening that I am expecting? Python itself can do this for you. A __VERY__ simple approach: ... Additionally, if it should work with threads, you must take care that every thread gets its own output file. Or be differentiated *somehow*. My pyconquer module tabs each thread's activity into swimlanes, so you can even see when each thread starts, obtains/releases the GIL, and stops. See the longer example here: http://projects.amor.org/misc/wiki/PyConquer Robert Brewer System Architect Amor Ministries [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list
importing class
Hi all, I'm trying to import a class from a module. The class looks like this: class App: def __init__(self, master): frame = Frame(master) frame.pack() self.button = Button(frame, text=text_1, command= self.comm_1) self.button.pack(side=LEFT) self.hi_there = Button(frame, text=text_2, command=self.comm_2) self.hi_there.pack(side=LEFT) def comm_1(self): command1() root.quit() def comm_2(self): command2() root.quit() It's supposed to just make a Tkinter window with two choices. The problem is that when I import it from a module, I get the following error: NameError: global name 'Frame' is not defined But when I copy and paste it into the file, it works. Can anyone tell me what's wrong? Greg -- http://mail.python.org/mailman/listinfo/python-list
Re: Handling emails
*** Your mail has been scanned by InterScan MSS. *** On Friday 27 October 2006 06:48, Ben Finney wrote: There is always the option to not send messages to this list using that mail server Once again sorry for that. I'll take action to switch to another mailserver. Thank for the advice F -- http://mail.python.org/mailman/listinfo/python-list
Re: importing class
In [EMAIL PROTECTED], gmarkowsky wrote: Hi all, I'm trying to import a class from a module. The class looks like this: class App: def __init__(self, master): frame = Frame(master) frame.pack() self.button = Button(frame, text=text_1, command= self.comm_1) self.button.pack(side=LEFT) self.hi_there = Button(frame, text=text_2, command=self.comm_2) self.hi_there.pack(side=LEFT) def comm_1(self): command1() root.quit() def comm_2(self): command2() root.quit() It's supposed to just make a Tkinter window with two choices. The problem is that when I import it from a module, I get the following error: NameError: global name 'Frame' is not defined But when I copy and paste it into the file, it works. Can anyone tell me what's wrong? Yes, the global name `Frame` is not defined. `Frame` is a name in the `Tkinter` module and you have to import it to reference it. Add the following import statement to your file: from Tkinter import Frame, Button You use `Button` too and this also lives in the `Tkinter` module. Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list
Re: Telnetlib to twisted
In [EMAIL PROTECTED], Bjoern Schliessmann wrote: This email is confidential and may be privileged. If you are not the intended recipient please notify the sender immediately and delete the email from your computer. Am I the inteded recipient? I'm not listed in the headers. This is irrelevant because the whole paragraph is about emails and not about newsgroup postings. ;-) Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list
Re: question about True values
In article [EMAIL PROTECTED], Antoon Pardon [EMAIL PROTECTED] wrote: ... I think you are incorrect. Thanks! I rest my case! And how do I express that a number has to be greater than 100 into a Nothing vs Something dichotomy? Declare all greater numbers as Something and the rest as Nothing? Well, would you declare numbers less than 100 False? Think about it in more philosophical terms. What is Truth? The Internet Encyclopedia of Philosophy may be some help with this - http://www.iep.utm.edu/t/truth.htm Then when you get tired of that, suppose that if and while are asking for yes and no, instead of true and false, and ask yourself if we have the philosophical problems with yes that we do with true. Donn Cave, [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list