Virus found in a message you sent
A virus was found in a message sent by this account. --- Scan information follows --- Result: Virus Detected Virus Name: [EMAIL PROTECTED] File Attachment: document.ex_ Attachment Status: deleted --- Original message information follows --- From: python-list@python.org To: [EMAIL PROTECTED] Date: Fri, 28 Oct 2005 14:26:47 -1200 Received: from python.org ([210.3.29.131]) by pop3.kingswaygroup.com (SAVSMTP 3.1.0.29) with SMTP id M2005102814334104824 for [EMAIL PROTECTED]; Fri, 28 Oct 2005 14:33:41 +0800 -- http://mail.python.org/mailman/listinfo/python-list
How to turn $6 to $16000 in few days of web crawling
It Will Work. If you do as I have done! Just Do It! follow the 4 steps. $6.00 to $15,000.00 in 30 days! Steps: Follow the Logic, Just Do it and It will work. $$$ in 4 easy steps. 1. Set Up a Free Paypal Account. 2. Send $1.00 to six Email Accounts from your Paypal Account 3. Delete email address #1 and add your email address as #6. Move all others #2-#6 up one number 4. Copy and Post this entire Letter to Newsgroups, Messages Boards etc. Copy this exactly for you guidance to completing steps 1-4. You are in Business for yourself and you are Creating an E-mail List Company TURN $6 INTO $15,000 IN ONLY 30 DAYS...HERES HOW! PAYPAL VERIFIES THAT THIS $6 INVESTMENT SCHEME IS 100% LEGAL AND IS A BIG HIT THIS YEAR SEE THEIR NOTE BELOW OR ASK THEM DIRECTLY... THIS SCHEME MIGHT TAKE 15-30 MINUTES AND JUST $6, BUT IT IS 100% WORTH IT TO MAKE THOUSANDS SO QUICKLY. THIS IS NOT ANOTHER SCAM THAT TAKES LOTS OF YOUR HARD EARNED MONEY; THIS IS A NO RISK INVESTMENT THAT WILL MAKE YOU THOUSANDS OF DOLLARS VERY EASILY AND QUICKLY. From PayPal: Dear Member, it has come to our attention that there is a paypal scheme floating around at the moment you may have heard or seen the $6 scheme. You may have even taken part in it well we have been asked a lot of questions about this scheme the answer is yes it does work and yes it is safe to use providing you follow the rules it is legal and has made a big hit on the internet this year. If you would like to take part in this scheme or would like a bit more information then please see the attached file that was kindly donated to us. Thank you for using PayPal! TURN $6 INTO $15,000 IN ONLY 30 DAYS...HERES HOW! This is a Money Scheme and Not, I repeat. This is Not a Scam!!! You have most likely seen or heard about this project on TV programs such as 20/20 and Oprah, or you may have read about it in the Wall Street Journal. If not, here it is below - revealed to you in step-by-step detail. This program is by no means new. It has been in existence in many forms for at least a decade. But in the early days, it required a lot more time and effort, as well as an investment of a few hundred dollars. However thanks to PayPal and the Internet, the investment is now virtually ZERO! And what's more, the entire process is FASTER, EASIER, and MORE LUCRATIVE than it has EVER been! Below is the email sent to me: How to Turn $6 into $15,000 in 30 Days with PayPal I WAS SHOCKED WHEN I SAW HOW MUCH MONEY CAME FLOODING INTO MY PAYPAL ACCOUNT I turned $6 into $14,706 within the first 30 days of operating the business plan that I am about to reveal to you free of charge. If you decide to take action on the following instructions, I will GUARANTEE that you will enjoy a similar return! STILL NEED PROOF? Here are just 3 testimonials from the countless individuals who decided to invest nothing more than $6 and half an hour of their time to participate in this program: What an amazing plan! I followed your instructions just 3 weeks ago, and although I haven't made 15 grand yet, I'm already up to $9,135. I'm absolutely gob smacked. -Pam Whittemore , Ohio Well, what can I say?... THANK YOU SO MUCH! I sent 40 e-mail's out like you said and then I just forgot about the whole thing. To be honest, I didn't really think anything would come of it. But when I checked my paypal account a week later, there was over $5,000 in After 30 days I now have over $11,000 to spend! I can't thank you enough!-Juan Tovar, NY,NY I was shocked when I saw how much money came flooding into my paypal account. Within 3 weeks my account balance has ballooned to $12,449. At first I thought there had been some sort of error with my account! -Richard Barrie , Boulder,CO The only things you will need are: An email address. A Business PayPal account with at least $6 deposited in it, and just 15 to 30 minutes of your time. This program takes just half an hour to set up. After that, there is absolutely no work whatsoever to do on your part. You have absolutely NOTHING to lose, and there is NO LIMIT to the amount of income you can generate from this one single business program. Let's get started, just follow the instructions exactly as set out below and then prepare yourself for a HUGE influx of cash over the next 30 days! Here's what you need to do. . . REQUIREMENTS #1) an email address #2) a Premier or Business PayPal account (It's simple and free to get a Premier or Business account, if you need help doing it just email me.) Now follow the steps: 1-4 Follow these easy steps EXACTLY and just watch what happens STEP #1 - Setting up your FREE PayPal Account It's extremely safe and very easy to set up a FREE PayPal account! Copy and paste this to the address bar https://www.paypal.com (notice the secure https within the link) Be sure to sign up for a free PREMIER or BUSINESS account (and not just a PERSONAL account) otherwise you won't be able to receive credit card payments from other people. STEP #2 -
Re: Counting Threads
Sorry Denis - but could you give me an example. I can't for the life of me see how the syntax for that would go. -- http://mail.python.org/mailman/listinfo/python-list
Re: a Haskell a Day
steve [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Stupid newbi wants $1 if you spend more than 30 minutes on his webshite, looking at it you would be hard pressed to spend 30 seconds. Anyway at least we know where to find him. Broadcasting his antics in Las Vegas is funny though. Not from the text mind, more the ramifications is he were to say, quote his website in a job interview, for example. -- http://mail.python.org/mailman/listinfo/python-list
Re: Jpg
Tuvas wrote: I am building a GUI interface at the moment, and would like to have support for displaying a jpg file, and a FITS file if possible. Is there any way to do this? My interface has been written in Tkinter at the moment, especially because of it's great portability, I wouldn't have to install the other interface software on every computer that I use (At the moment it is 3, and will signifigantly increase). I'd prefer to only use built-in functions, but if it can't be done, I'm willing to look for something else. Is there any way I can do this? Thanks! For FITS file reading, an alternative to pCFITSIO is PyFITS (http://www.stsci.edu/resources/software_hardware/pyfits). I guess both need numarray... gifImage = Tkinter.PhotoImage(file=file.gif) ima = yourCanvas.create_image(xpos,ypos,image=gifImage) is the quickest way to display gifs. My version of Tkinter (1.177) does not directly support jpg, but with PIL that should be possible. Ugly but quick solution (for Linux): produce gifs from FITS/jpg files with os.system(convert) and feed them to Tkinter. -- http://mail.python.org/mailman/listinfo/python-list
Re: MSH (shell)
Thanks, I'm enjoying reading the article. So far I noticed how their select functionality is similar to our comprehensions, but can also take a statement block. ( no wars please ;-). I liked the tabular output format for lists of similar items, with the automatic headings being displayed, e.g: msh get-childitem | select name, extension, { if ($_.LastWriteTime.year -lt 2004) { old file } else { new file } } Name Extension if ($_.LastWriteTime.year... - - examples.txt .txt new file output1.html .html old file output2.html .html old file somefile.doc .doc new file I tend to avoid xml but their xml example below was succinct and relatively painless. Do python libraries allow a similarly readable version of their: msh $x = [xml]zooanimal kind='monkey'nameAlbert/name/animal/zoo msh $x.zoo.animal kindname monkey Albert Their Extract the title and author elements from every item in the rss.channel tag example is also impressive. Looks like an innovative new shell. - Paddy. -- http://mail.python.org/mailman/listinfo/python-list
Spambayes modifications with web services
In the last few months many personal website owners (such as myself) have found that spammers have been using their domain names to masquerade as valid users to send spam, normally in the form of: [EMAIL PROTECTED] This new tactic has an annoying problem, which is that the bounced emails end up back with the postmaster at the innocent persons domain. This is normally the first time that the domain owner realises that there is a problem. I am one of those people and currently have nearly 3 thousand bounces in my catch all POP3 box. Solutions I can see to this are one of two things: 1) Delete the email as it arrives and ignore it. Realise that the domain name might end up being blacklisted as a spammer's domain and be done with it, or 2) Fight back! All of the bounced emails contain at least one URI to a spammer website, in a effort to sell Cheap Meds or Faked Rolexes or similar. The format is usually something like this: http://www.sickmate.info/?a2fb9e415e74beS9cdee919d78Sa6a7d The query part of the URI I believe provides the reference between the email address and the visit. Hence if you visit the website with this link, your email address is saved in a database as one that is a) valid, and b) dumb enough to visit the website. The spammers rely on the fact that some people will visit this website and buy from them. In fact, Q.E.D., some people must buy from these websites via spam, otherwise the spammers would have given up a long time ago*. So, as a web programmer and someone who specialises in getting good results on Google, I realised that I could simply post every spammer website on a Google optimized page, which if searched for on Google would return something like: WARNING: DO NOT BUY FROM THIS WEBSITE. THE SPAMMER IS A RUSSIAN MAFIA CROOK WHO WILL STEAL YOUR MONEY. ...Or something equally obvious along those lines. In this way we attack the websites that are the link between the spam and the money. The real necessity therefore is to: a) Process the received bounced messages quickly and list them on the website without delay. b) Prevent the spammer using the domain The answer to (b) I cannot find. I thought SPF might help, but it is not a panacea. The answer to (a) I need help with! So, I'm on Windows XP. I use Outlook 2002 and I already have the excellent (and FREE) SpamBayes Outlook add-in** that blocks spam and loves ham. Spambayes is open source and as such I can modify the source code, recompile it and install it afresh. However, the problem is that I'm not a python programmer, and I'm not sure where to start. This is what I want to do, so if anyone would like to direct me, I'd be grateful: 1) Add a menu option to the SpamBayes add-in - Post Spam Site to Web Service. I'm guessing I can add a new line to the addin.py such as below, but how do I sink the event? self._AddControl(popup, constants.msoControlButton, ButtonEvent, (PostSpamSite, self.manager,), Caption=Post Spam Site to Web Service, Enabled=True, Visible=True, Tag = SpamBayesCommand.PostSpam) 2) Add a configuration setting, so that the web service location can be set. I'm guessing this is in config.py. Pointers welcome. 4) Add a function to extract all links in a block of text. I have written a good one of these for .NET, but I'm not sure if, or how it would work in Python: string hrefPattern = @(?all(?:(?protocolhttp(?:s?)|ftp)(?:\:\/\/)) + @(?domain[^/\r\n\:]+)? + @(?port\:\d+)? + @(?path[^\?#]*)? + @(?qrystr\?\w*)? + @(?bookmark\#\w*)?); // Regular Expression Regex hrefRegex = new Regex(hrefPattern, RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace | RegexOptions.IgnoreCase); Any help with this welcome. Do I need a specific Python regex library or can I use the .NET regex library in Python? 4) Connect to web service using SOAP and consume that service. Service will provide: a) Authorise (username, password) - returns access b) Submit (domain) - returns success or failure Can I use SOAPpy for this? Can anyone give me any examples or point me in the right direction? 5) Provide another option in the add in to Scan folder and Post Spam Sites to Web Service, in the same manner as Filter messages works now. Can I use filter.py as a model to work from? Summary = I am not a Python programmer per se but have no problem with getting my hands dirty. I have already got the basics of this working as a Windows.Forms application, but running both that and Outlook together is daft. The Spambayes project already does the hard bit in classifying the spam, so it makes sense to hang off the back of it. Has anyone else had similar problems as me with these phantom email addresses being using by spammers and would like to work with me on this? Would anyone in the Spambayes team like to have a go at this, or point me in the right direction? Has anyone had a
Re: Microsoft Hatred FAQ
David Schwartz wrote: Eike Preuss [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Right, except that's utterly absurd. If every vendor takes their tiny cut of the 95%, a huge cut of the 5% is starting to look *REALLY* good. Sure, that would be true if the market would be / would have been really global. In practice if you have a shop you have a limited 'region of influence'. Optimally you are the only shop in this region that sells the stuff, or perhaps there are a few shops that compete with you. Lets say in your region are two shops competing with you, and you must decide wether to sell product A (95%) or B (5%), but you may not sell both. Decision 1: Sell A, share the 95% of the local market with two - about 32% of the local market for all of you, if all perform equally good Decision 2: Sell B - you get the 5% of the market, the others 47% each This calculation is probably still a very bad approximation of the truth, but things are definitely not as easy as you state them. It depends upon how different the products are and how easy it is to shop out of your local market. If the products are equally good and reasonably interchangeable and it's hard to shop out of your local market, then you're right. The more the smaller product is better than the larger product, the less interchangeable they are, and the easier it is to shop out of your local market, the more wrong you are. How often do you hear, I'd like to use Linux, but I just can't get ahold of it? And how many people do you hear saying, I'd like to use Linux, but I'm not willing to shell out the bucks to buy it since I already bought Windows with my computer. On the other hand, where you might be right is in the possibility that Microsoft's lock on the market prevented other companies from making operating systems at all. That is, that had Microsoft used different policies, other companies would have introduced operating systems to compete with Microsoft, and we'd all have better operating systems for it. If Microsoft's conduct was legal, this argument establishes that the conduct was necessary. DS Yes, as I said: It is much more complicated than your beautiful argument 'well, then, taking a huge portion of 5% would be much more preferable anyway' suggests. -- http://mail.python.org/mailman/listinfo/python-list
Re: xml.dom.minidom - parseString - How to avoid ExpatError?
Hi Greg, Not really an answer to your question but I've found 4Suite ( http://4suite.org/index.xhtml ) quite useful for my XML work and the articles linked to from there authored by Uche Ogbuji to be quite informative. Best, Paul Gregory Piñero wrote: Thanks, John. That was all very helpful. It looks like one option for me would be to put cdata[ around my text with all the weird characters. Otherwise running it through on of the SAX utilities before parsing might work. I wonder if the sax utilities would give me a performance hit. I have 6000 xml files to parse at 100KB each. -Greg -- http://mail.python.org/mailman/listinfo/python-list
Re: Microsoft Hatred FAQ
David Schwartz wrote: Lasse Vågsæther Karlsen wrote: David Schwartz wrote: Burger King won't let you sell Whoppers or buy their burger patties wholesale no matter what you want to call your store unless you take the whole franchise deal. It's an all-or-nothing package. With very few limits, companies do get to choose how their products are branded, marketed, and sold. Yes, and that's not what Microsoft has ever done. There have always been lots of shops selling Microsoft merchandise without being a Microsoft franchise in the sense Burger King shops are. Right, Microsoft imposed a lesser restriction. They allowed you to sell competing products, but charged you a fee. That's why I still say your comparison is a bad one. It shows that Microsoft's purportedly draconian restrictions are much less than restrictions that people don't even bat an eye at. DS Ok, let me just make my opinion very clear on this and then I'll just leave this thread altogether. I think you are comparing apples and oranges so whatever conclusion you manage to draw from that is in my eyes invalid. It doesn't matter, in my opinion, if you managed to conclude that Microsoft was the saints themselves because, in my opinion, your reasoning is not valid. I'm not saying one way or the other, I'm just picking at your reasoning. To me it sounds like concluding that the prices of RAM will drop because the swallows are flying high this fall. But enough, I'll just leave it. -- Lasse Vågsæther Karlsen http://usinglvkblog.blogspot.com/ mailto:[EMAIL PROTECTED] PGP KeyID: 0x2A42A1C2 -- http://mail.python.org/mailman/listinfo/python-list
Re: Suggestion for (re)try statement
Sori Schwimmer wrote: Hi, I think that would be useful to have an improved version of the try statement, as follows: try(retrys=0,timeout=0): snip sleep(timeout) snip At the very least, timeout is the wrong wording, delay would be more appropriate. A timeout is usually associated with starting a task and waiting for it to complete, and continuing if it fails to complete in a given timeframe, typically also aborting the task at the same time (ie. executing a database query, connecting to a server, waiting for an event/lock, etc.). -- Lasse Vågsæther Karlsen http://usinglvkblog.blogspot.com/ mailto:[EMAIL PROTECTED] PGP KeyID: 0x2A42A1C2 -- http://mail.python.org/mailman/listinfo/python-list
Tk
When I run the following code, script kept running and I have to force it to stop. Could you check the code to give suggestions how to improve it? Thanks a lot! from Tkinter import * from Tkinter import _cnfmerge class Dialog(Widget): def __init__(self, master=None, cnf={}, **kw): cnf = _cnfmerge((cnf, kw)) self.widgetName = '__dialog__' Widget._setup(self, master, cnf) self.num = self.tk.getint( apply(self.tk.call, ('tk_dialog', self._w, cnf['title'], cnf['text'], cnf['bitmap'], cnf['default']) + cnf['strings'])) try: Widget.destroy(self) except TclError: pass def destroy(self): pass if __name__ == '__main__': q = Button(None, {'text': 'How are you', Pack: {}}) b1 = Listbox() b1.pack() c1 = Checkbutton(text=Check) c1.pack() q.mainloop() from Tkinter import * root =Tk() menu=Menu(root) root.config(menu=menu) filemenu=Menu(menu) menu.add_cascade(label=Test, menu=filemenu) filemenu.add_command(label=Just Try) filemenu.add_separator() mainloop() -- http://mail.python.org/mailman/listinfo/python-list
Re: creating/altering the OpenOffice spredsheet docs
Andy Leszczynski leszczynscyATnospam.yahoo.com.nospam wrote: Any idea how to do that the way ActiveX would be used on M$? Fortunately, NO. You know http://udk.openoffice.org/python/python-bridge.html ?? yepp -- http://mail.python.org/mailman/listinfo/python-list
Re: Would there be support for a more general cmp/__cmp__
Op 2005-10-26, Ron Adam schreef [EMAIL PROTECTED]: Adding complexity to cmp may not break code, but it could probably slow down sorting in general. So I would think what ever improvements or alternatives needs to be careful not to slow down existing sorting cases. As a result of Bengt's post, I rewrote my test program, this is the program now. from random import shuffle from time import time class UnequalValues(Exception): pass __metaclass__ = type class cla: def __init__(self, i): self.value = int(i) def __cmp__(self, other): return self.value - other.value class clb: def __init__(self, i): self.value = int(i) def __lt__(self, other): return self.value other.value class clc: def __init__(self, i): self.value = int(i) def __gt__(self, other): return self.value other.value class cld: def __init__(self, i): self.value = int(i) def __comp__(self, other): return self.value - other.value def __lt__(self, other): return self.__comp__(other) 0 class cle: def __init__(self, i): self.value = int(i) def __comp__(self, other): return self.value - other.value def __lt__(self, other): try: return self.__comp__(other) 0 except UnequalValues: return False def test(lng, rep): for cl in cla, clb, clc, cld, cle: total = 0.0 for _ in xrange(rep): lst = [cl(i) for i in xrange(lng)] shuffle(lst) start = time() lst.sort() stop = time() total += stop - start for i in xrange(1,rep): assert lst[i - 1] lst[i] print %s: %d repeats, %d long, %9.6f secs % (cl, rep, lng, total) test(1000,1000) --- These are the results. class '__main__.cla': 1000 repeats, 1000 long, 10.061425 secs class '__main__.clb': 1000 repeats, 1000 long, 9.544035 secs class '__main__.clc': 1000 repeats, 1000 long, 10.450864 secs class '__main__.cld': 1000 repeats, 1000 long, 15.566061 secs class '__main__.cle': 1000 repeats, 1000 long, 15.776443 secs Results on a longer sequence were: class '__main__.cla': 1000 repeats, 1 long, 146.722443 secs class '__main__.clb': 1000 repeats, 1 long, 139.480863 secs class '__main__.clc': 1000 repeats, 1 long, 152.623424 secs class '__main__.cld': 1000 repeats, 1 long, 224.630926 secs class '__main__.cle': 1000 repeats, 1 long, 228.663825 secs The most interesting result of this test is the difference between cld and cle. IMO this difference is an indication of the cost that my idea would have on sorting, should it be implemented. That would be around 2%. I think that is bearable. Especially since this were very simple routines. The moment the comparison calculation become heavier, the relative contribution of the try: except will diminuish. If you are concerned about sorting times, I think you should be more concerned about Guido's idea of doing away with __cmp__. Sure __lt__ is faster. But in a number of cases writing __cmp__ is of the same complexity as writing __lt__. So if you then need a __lt__, __le__, __eq__, __ne__, __gt__ and __ge__ it would be a lot easier to write a __cmp__ and have all rich comparisons methods call this instead of duplicating the code about six times. So you would be more or less forced to write your class as class cld or cle. This would have a bigger impact on sorting times than my suggestion. -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list
Re: how to associate files with application
Ashok wrote: hi, i want to know how to make a specific type of file open in an application i developed in python when the user clicks on the file.(in windows) for eg. a .txt file when clicked opens in notepad, a .doc file when clicked opens in MS-word. In the same way i want to make a .xyz file open in the application i developed when clicked. thanks in advance for any advice. You need to add several registry keys to do this, here's a short version of what you need to do: Example assumes you want to: 1. associate .ext with C:\Program Files\MyProgram\prog.exe 2. pass on any extra arguments to prog.exe (ie. test.ext 1 2 3 would send 1 2 3 as well to prog.exe) 3. associate the icon of prog.exe to any file with a .ext extension Ok, here's what you need to do: 1. Under HKEY_CLASSES_ROOT, add a key (folder) with the name .ext 2. Open that key, and set the (Default) value to MyProgramExtendedFile (this name is something you choose yourself and should be a identifier that identifies the file type. If your program supports several types of files, make up unique identifiers for each.) 3. Under HKEY_CLASSES_ROOT, add another key, this time with the same name you made up in 2. above, ie MyProgramExtendedFile 4. Open that key, and set the (Default) value to a textual description of the type of file. This is what will show up in explorer in the file type column. If you leave this empty, the description will be .EXT File 5. Inside MyProgramExtendedFile, add another key with the name shell (lower-case is typical, can probably be Shell or whatever) 6. Inside shell, create another key with the name open 7. Inside open, create another key with the name command 8. Inside command, Set the (Default) value to: C:\Program Files\MyProgram\prog.exe %1 %* Note that you need the quotes as specified above, exactly like written 9. Go back to MyProgramExtendedFile and create another key with the name DefaultIcon 10. Inside DefaultIcon, set (Default) value to: C:\Program Files\MyProgram\prog.exe, 0 This will pick the first icon in prog.exe resource to show for the files. Use 1 for second, etc. There are also other commands you can add. If you want to be able to right-click on the file and select a menu item to process the file in a specific way, for instance by passing along specific parameters to prog.exe, you can add more keys than open on the level open is created. The (Default) value inside the key is then the text of the menu item. To find examples, just find a file extension in Windows that behaves the way you want your own to behave and look through HKEY_CLASSES_ROOT\.ext to find the details you want. -- Lasse Vågsæther Karlsen http://usinglvkblog.blogspot.com/ mailto:[EMAIL PROTECTED] PGP KeyID: 0x2A42A1C2 -- http://mail.python.org/mailman/listinfo/python-list
Re: How to replace all None values with the string Null in a dictionary
dcrespo wrote: Hi all, How can I replace all None values with the string 'Null' in a dictionary? For example: convert this: a = {'item1': 45, 'item2': None} into this: a = {'item1': 45, 'item2': 'Null'} I think it would be time for you to read the Fine Manual... for key in a: if a[key] is None: a[key] = 'Null' -- 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: db.DB_CREATE|db.DB_INIT_MPOOL|db.DB_THREAD|db.DB_INIT_CDB
On Thu, 2005-10-27 at 12:30 -0400, Jean-Paul Calderone wrote: On Fri, 28 Oct 2005 00:17:54 +0800, Neville C. Dempsey nevillednz.python at 3ttechnology.com wrote: import bsddb # twiceopen.py Maybe the solution needs one of: db.DB_CREATE|db.DB_INIT_MPOOL|db.DB_THREAD|db.DB_INIT_CDB Except I don't think btopen() supports half these operations. You really want to use bsddb.db.DBEnv and bsddb.DB. Or a library that wraps them more sensibly: http://divmod.org/users/viewcvs.twistd/trunk/atop/store.py?rev=9302view=markup. You probably don't want everything there, but the DatabaseEnvironment class (and supporting code) should be useful. Hey thanks I saw a couple of other posting hinting at what your DB_INIT_TXN DB_CREATE DB_JOINENV road map above I posted because I was wondering if there was an easier path... Your posting indicates that you have already walked this path. I was getting errors like: o bsddb._db.DBPageNotFoundError: (-30988, 'DB_PAGE_NOTFOUND: Requested page not found') o KeyError: 'xx' o _bsddb.DBNotFoundError: (-30990, 'DB_NOTFOUND: No matching key/data pair found') For now the obvious work around is to only open the file once, and with only one running program at a time. This gives me a chance to check out the alternatives. Jp Cheer NevilleDNZ -- http://mail.python.org/mailman/listinfo/python-list
problem with gnuplot in XP
Hi all, I made 2 arrays, which are i and uzuy (both are float). And I want to plot the graph between those arrays. I followed from the manual == from Gnuplot import Gnuplot, Data g=Gnuplot() results=Data(i,uzuy) g.plot(results) = here I got the message Traceback (most recent call last): File pyshell#85, line 1, in -toplevel- g.plot(i,uzuy) File C:\Python23\Lib\site-packages\Gnuplot\_Gnuplot.py, line 274, in plot self.refresh() File C:\Python23\Lib\site-packages\Gnuplot\_Gnuplot.py, line 215, in refresh self(self.plotcmd + ' ' + string.join(plotcmds, ', ')) File C:\Python23\Lib\site-packages\Gnuplot\_Gnuplot.py, line 199, in __call__ self.gnuplot(s) File C:\Python23\Lib\site-packages\Gnuplot\gp_win32.py, line 125, in __call__ self.write(s + '\n') IOError: [Errno 22] Invalid argument == FYI, I use python2.3 and Gnuplot-py-1.7. Any problems with my code ?? Thanks __ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com -- http://mail.python.org/mailman/listinfo/python-list
How to translate python into C
Hi, First, I want to know whether the python interpreter translate the code directly into machine code, or translate it into C then into machine code? Second, if the codes are translated directly into machine codes, how can I translate the codes into C COMPLETELY the same? if the codes are translated first into C, where can I get the C source? Thanks for your help. Regards, Johnny -- http://mail.python.org/mailman/listinfo/python-list
Re: XML Tree Discovery (script, tool, __?)
[EMAIL PROTECTED] wrote: Hi all, Finally diving into XML programmatically. Does anyone have a best practice recommendation for programmatically discovering the structure of an arbitrary XML document via Python? It seems like it is a common wheel I'd be re-inventing. Thanks and cheers I was looking for something similar (XML to DTD inference) but I didn't find anything related in python. Trang (http://www.thaiopensource.com/relaxng/trang-manual.html#introduction), on the other hand seems impressive after a few non-trivial tests. It would be neat to have it ported in python, at least the inference part. George -- http://mail.python.org/mailman/listinfo/python-list
Re: Would there be support for a more general cmp/__cmp__
Op 2005-10-28, Antoon Pardon schreef [EMAIL PROTECTED]: Op 2005-10-26, Ron Adam schreef [EMAIL PROTECTED]: These are the results. class '__main__.cla': 1000 repeats, 1000 long, 10.061425 secs class '__main__.clb': 1000 repeats, 1000 long, 9.544035 secs class '__main__.clc': 1000 repeats, 1000 long, 10.450864 secs class '__main__.cld': 1000 repeats, 1000 long, 15.566061 secs class '__main__.cle': 1000 repeats, 1000 long, 15.776443 secs Results on a longer sequence were: class '__main__.cla': 1000 repeats, 1 long, 146.722443 secs class '__main__.clb': 1000 repeats, 1 long, 139.480863 secs class '__main__.clc': 1000 repeats, 1 long, 152.623424 secs class '__main__.cld': 1000 repeats, 1 long, 224.630926 secs class '__main__.cle': 1000 repeats, 1 long, 228.663825 secs The most interesting result of this test is the difference between cld and cle. IMO this difference is an indication of the cost that my idea would have on sorting, should it be implemented. That would be around 2%. I think that is bearable. Especially since this were very simple routines. The moment the comparison calculation become heavier, the relative contribution of the try: except will diminuish. If you are concerned about sorting times, I think you should be more concerned about Guido's idea of doing away with __cmp__. Sure __lt__ is faster. But in a number of cases writing __cmp__ is of the same complexity as writing __lt__. So if you then need a __lt__, __le__, __eq__, __ne__, __gt__ and __ge__ it would be a lot easier to write a __cmp__ and have all rich comparisons methods call this instead of duplicating the code about six times. So you would be more or less forced to write your class as class cld or cle. This would have a bigger impact on sorting times than my suggestion. And as an afterthought: Adding __slots__ increased the sorting speed between 7.5 and 9.0% -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list
Re: Spambayes modifications with web services
benmorganpowell: So, as a web programmer and someone who specialises in getting good results on Google, I realised that I could simply post every spammer website on a Google optimized page, which if searched for on Google would return something like: WARNING: DO NOT BUY FROM THIS WEBSITE. THE SPAMMER IS A RUSSIAN MAFIA CROOK WHO WILL STEAL YOUR MONEY. Spam may also contain the addresses of non-spamming businesses, sometimes in an effort to increase the apparent legitimacy of the spam. Attacking all of the web sites in spam will cost these businesses while having little effect on spammers who use temporary domains which may be cheaply abandoned. It also gives another attack vector for those criminals that attempt to extort money from web sites by threatening to damage them. If you want to take action against spammers, first think through all the potential consequences of your actions. Neil -- http://mail.python.org/mailman/listinfo/python-list
Re: How to translate python into C
python creates bytecode (like java classes) you cannot translate python directly to c or machine code, but there are some projects you probably want to look into Pypy is a python implemetation in python and it can be used to translate a python scrip to c or llvm code. (large project, work in progress) http://codespeak.net/pypy/dist/pypy/doc/news.html Shedskin translates python code to c++ (not all language features supported) http://shed-skin.blogspot.com/ Pyrex is a nice language where you can use python and c like code and it translates into c code. (it is useful for creating fast python extension modules or a python wrapper around an existing c library) http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Spambayes modifications with web services
[EMAIL PROTECTED] wrote: In the last few months many personal website owners (such as myself) have found that spammers have been using their domain names to masquerade as valid users to send spam, normally in the form of: snip So, as a web programmer and someone who specialises in getting good results on Google, I realised that I could simply post every spammer website on a Google optimized page, which if searched for on Google would return something like: WARNING: DO NOT BUY FROM THIS WEBSITE. THE SPAMMER IS A RUSSIAN MAFIA CROOK WHO WILL STEAL YOUR MONEY. snip So basically a DoS attack could now be simply performed by crafting a spam message and adding the url to your target and then sending it out to as many users you can think of ? (DoS not in the typical form, but the effect would be just as real, deny them of legitimate customers) Nice plan sherlock. -- Lasse Vågsæther Karlsen http://usinglvkblog.blogspot.com/ mailto:[EMAIL PROTECTED] PGP KeyID: 0x2A42A1C2 -- http://mail.python.org/mailman/listinfo/python-list
Re: How to translate python into C
Szabolcs Nagy wrote: python creates bytecode (like java classes) you cannot translate python directly to c or machine code, but there are some projects you probably want to look into Pypy is a python implemetation in python and it can be used to translate a python scrip to c or llvm code. (large project, work in progress) http://codespeak.net/pypy/dist/pypy/doc/news.html Shedskin translates python code to c++ (not all language features supported) http://shed-skin.blogspot.com/ Pyrex is a nice language where you can use python and c like code and it translates into c code. (it is useful for creating fast python extension modules or a python wrapper around an existing c library) http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/ Thanks, Szabolcs. In fact, I want to reproduce a crush on cygwin. I used a session of python code to produce the crush, and want to translate it into C and reproduce it. Is the tools provided by you help with these issues? Of coz, I'll try them first. :) Regards, Johnny -- http://mail.python.org/mailman/listinfo/python-list
Re: How to translate python into C
Johnny Lee wrote: Hi, First, I want to know whether the python interpreter translate the code directly into machine code, or translate it into C then into machine code? Neither this nor that. The interpreter first compiles the code into python 'byte code' - something similar to machine code, but not it is not targeted at the CPU of your system, but for a portable virtual machine. This virtual machine will then execute the byte code, just like a CPU would execute machine code. Second, if the codes are translated directly into machine codes, how can I translate the codes into C COMPLETELY the same? if the codes are translated first into C, where can I get the C source? You may have a look at PyPy. I do not know what it exactly can do, but this might be interesting for you: http://codespeak.net/pypy/dist/pypy/doc/faq.html#how-do-i-compile-my-own-programs -- Benjamin Niemann Email: pink at odahoda dot de WWW: http://www.odahoda.de/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Microsoft Hatred FAQ
http://www.idpz.net/wolfgang/ -- http://mail.python.org/mailman/listinfo/python-list
Re: How to translate python into C
Thanks for your tips Niemann:) Regards, Johnny -- http://mail.python.org/mailman/listinfo/python-list
Scanning a file
I want to scan a file byte for byte for occurences of the the four byte pattern 0x0100. I've tried with this: # start import sys numChars = 0 startCode = 0 count = 0 inputFile = sys.stdin while True: ch = inputFile.read(1) numChars += 1 if len(ch) 1: break startCode = ((startCode 8) 0x) | (ord(ch)) if numChars 4: continue if startCode == 0x0100: count = count + 1 print count # end But it is very slow. What is the fastest way to do this? Using some native call? Using a buffer? Using whatever? /David -- http://mail.python.org/mailman/listinfo/python-list
Re: Scanning a file
[EMAIL PROTECTED] wrote: I want to scan a file byte for byte [...] while True: ch = inputFile.read(1) [...] But it is very slow. What is the fastest way to do this? Using some native call? Using a buffer? Using whatever? Read in blocks, not byte for byte. I had good experiences with block sizes like 4096 or 8192. -- Gerhard -- http://mail.python.org/mailman/listinfo/python-list
Re: Microsoft Hatred FAQ
Part of their behavior really escape me. The whole thing about browser wars confuses me. Web browsers represent a zero billion dollar a year market. Why would you risk anything to own it? Wonder why MSN.com is one of the most visited sites, I speculate that it is largely because it is the default home page of IE browser. And now Firefox makes Google.com its default home page. That is one area where they can make lots of money off billion's eye balls years. David = http://KickJava.com - Java Examples, Source Codes, Free Online Books, News and Articles -- http://mail.python.org/mailman/listinfo/python-list
Re: Scanning a file
Okay, how do I do this? Also, if you look at the code, I build a 32-bit unsigned integer from the bytes I read. And the 32-bit pattern I am looking for can start on _any_ byte boundary in the file. It would be nice if I could somehow just scan for that pattern explicitly, without having to build a 32-bit integer first. If I could tell python scan this file for the bytes 0, 0, 1, 0 in succession. How many 0, 0, 1, 0 did you find? /David -- http://mail.python.org/mailman/listinfo/python-list
Re: Scanning a file
[EMAIL PROTECTED] writes: I want to scan a file byte for byte for occurences of the the four byte pattern 0x0100. I've tried with this: use re.search or string.find. The simplest way is just read the whole file into memory first. If the file is too big, you have to read it in chunks and include some hair to notice if the four byte pattern straddles two adjoining chunks. -- http://mail.python.org/mailman/listinfo/python-list
x-plat gui development question Mac OS X
Hello everybody, I have recently started tinkering about with Python. If there are any Macintosh-based Python developers reading this newsgroup I would like to ask them one Macintosh-specific question: If you want to write GUI scripts on the Mac, say with Tkinter, you need to invoke pythonw instead of python and use #! /usr/bin/pythonw for a shebang line in your saved scripts. Of course, although a tiny problem, it is still less than welcome for cross-platform development. As one obvious workaround, would it cause any problems if I would link /usr/bin/python/ to /usr/bin/pythonw instead of /usr/bin/python2.3 (in other words I would always be using pythonw, even for non-GUI scripts) ? So far I can't tell any difference in the interactive mode - invoking pythonw for non-GUI work seems to work just fine. I am not sure though if there are any system processes, say during boot-up, that depend on python pointing to the original location, or if there could be problems with more complex code than Hello world. Any insights welcome Georg -- http://mail.python.org/mailman/listinfo/python-list
Re: How to replace all None values with the string Null in a dictionary
I think it would be time for you to read the Fine Manual... hi, thanks for your answer... I really did it the same way you suggested, but I forgot to tell you that I wanted to get a better way for doing it. By the way, knowing your wisdom, what do I have to install to get the following code work (Win XP, Python 2.4.2) - from OpenSSL import SSL import config KEY_FILE = config.SSL_KEY_FILE CERT_FILE = config.SSL_CERT_FILE I've been looking for OpenSSL for python. I found pyOpenSSL, but it requires the OpenSSL library, which I only found on http://www.openssl.org/, but don't know how to install. Other thing is the config module... I'm lost. Someone knows? :-S My main purpose is to enable XML-RPC SERVER over an SSL connection. Thanks -- http://mail.python.org/mailman/listinfo/python-list
Re: Microsoft Hatred FAQ
In [EMAIL PROTECTED], on 10/25/2005 at 09:56 AM, [EMAIL PROTECTED] said: Yes, I know, they can do whatever they want, it's not a crime, Actually, it is a crime and they've been convicted. -- Shmuel (Seymour J.) Metz, SysProg and JOAT http://patriot.net/~shmuel Unsolicited bulk E-mail subject to legal action. I reserve the right to publicly post or ridicule any abusive E-mail. Reply to domain Patriot dot net user shmuel+news to contact me. Do not reply to [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list
xml-rpc - adodb - None type - DateTime type
Hi to all, I have functions defined in an xml-rpc server. Some functions query to a Postgres database (using adodb) and return its recordset. So, if some xml-rpc client runs the mentioned function, it will retrieve the recordset. The problem is that if a retrieved field has the Null value or the Date value (DateTime Database format), then, the retrieved recordset in the python program will have the 'None' value or the DateTime type object value. xml-rpc isn't able to accept any type of value, so I have to solve it. I can replace all None values with the string 'Null', there's no problem, but I can't detect the DateTime type object I retrieve from the database. I have something like this: def xmlrpc_function(): conn = adodb.NewADOConnection('postgres') conn.Connect(host,user,password,database) rs = conn.Exec(select * from table) result = [] i = 0 while not rs.EOF: row = rs.GetRowAssoc(False) for key, value in row.items(): if value==None: row[key]='Null' result.append(row) i = i + 1 rs.MoveNext() rs.Close() print result return result The problem here is that if row[key] == type 'DateTime' object etc..., then I don't know what to do for detect it and make the appropriate change to string. Console output: [{'name': 'Null', 'date': DateTime object for '2005-09-01 00:00:00.00' at 1515f60}] If you consult the python manual, you'll see that there's no 'DateTime' type object, so I can't do something like: if value==DateTimeType: ... I only need to know which type of data is a field for make the change according to what can I pass through the xml-rpc. Any help? Thanks -- http://mail.python.org/mailman/listinfo/python-list
Re: How to replace all None values with the string Null in a dictionary
Thanks... I did it right that way, but asked it without telling how I did it just to see what are the occurences of others. I thing there's no better/faster solution. Many thanks Daniel -- http://mail.python.org/mailman/listinfo/python-list
Re: Scanning a file
I'm now down to: f = open(filename, rb) s = f.read() sub = \x00\x00\x01\x00 count = s.count(sub) print count Which is quite fast. The only problems is that the file might be huge. I really have no need for reading the entire file into a string as I am doing here. All I want is to count occurences this substring. Can I somehow count occurences in a file without reading it into a string first? /David -- http://mail.python.org/mailman/listinfo/python-list
Re: Scanning a file
[EMAIL PROTECTED] [EMAIL PROTECTED] writes: f = open(filename, rb) s = f.read() sub = \x00\x00\x01\x00 count = s.count(sub) print count That's a lot of lines. This is a bit off topic, but I just can't stand unnecessary local variables. print file(filename, rb).read().count(\x00\x00\x01\x00) -- Björn Lindström [EMAIL PROTECTED] Student of computational linguistics, Uppsala University, Sweden -- http://mail.python.org/mailman/listinfo/python-list
Re: Scanning a file
[EMAIL PROTECTED] [EMAIL PROTECTED] writes: Which is quite fast. The only problems is that the file might be huge. I really have no need for reading the entire file into a string as I am doing here. All I want is to count occurences this substring. Can I somehow count occurences in a file without reading it into a string first? How about iterating through the file? You can read it line by line, two lines at a time. Pseudocode follows: line1 = read_line while line2 = read_line: line_to_check = ''.join([line1, line2]) check_for_desired_string line1 = line2 With that you always have two lines in the buffer and you can check all of them for your desired string, no matter what the size of the file is. Be seeing you, -- Jorge Godoy [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list
Re: Scanning a file
Jorge Godoy [EMAIL PROTECTED] writes: How about iterating through the file? You can read it line by line, two lines at a time. Pseudocode follows: line1 = read_line while line2 = read_line: line_to_check = ''.join([line1, line2]) check_for_desired_string line1 = line2 With that you always have two lines in the buffer and you can check all of them for your desired string, no matter what the size of the file is. This will fail if the string to search for is e.g. \n\n\n\n and it actually occcurs in the file. Bernhard -- Intevation GmbH http://intevation.de/ Skencil http://skencil.org/ Thuban http://thuban.intevation.org/ -- http://mail.python.org/mailman/listinfo/python-list
Re: how to associate files with application
Lasse Vågsæther Karlsen wrote: Ashok wrote: hi, i want to know how to make a specific type of file open in an application i developed in python when the user clicks on the file.(in windows) for eg. a .txt file when clicked opens in notepad, a .doc file when clicked opens in MS-word. In the same way i want to make a .xyz file open in the application i developed when clicked. thanks in advance for any advice. You need to add several registry keys to do this, here's a short version of what you need to do: Example assumes you want to: 1. associate .ext with C:\Program Files\MyProgram\prog.exe 2. pass on any extra arguments to prog.exe (ie. test.ext 1 2 3 would send 1 2 3 as well to prog.exe) 3. associate the icon of prog.exe to any file with a .ext extension Ok, here's what you need to do: 1. Under HKEY_CLASSES_ROOT, add a key (folder) with the name .ext 2. Open that key, and set the (Default) value to MyProgramExtendedFile (this name is something you choose yourself and should be a identifier that identifies the file type. If your program supports several types of files, make up unique identifiers for each.) 3. Under HKEY_CLASSES_ROOT, add another key, this time with the same name you made up in 2. above, ie MyProgramExtendedFile 4. Open that key, and set the (Default) value to a textual description of the type of file. This is what will show up in explorer in the file type column. If you leave this empty, the description will be .EXT File 5. Inside MyProgramExtendedFile, add another key with the name shell (lower-case is typical, can probably be Shell or whatever) 6. Inside shell, create another key with the name open 7. Inside open, create another key with the name command 8. Inside command, Set the (Default) value to: C:\Program Files\MyProgram\prog.exe %1 %* Note that you need the quotes as specified above, exactly like written 9. Go back to MyProgramExtendedFile and create another key with the name DefaultIcon 10. Inside DefaultIcon, set (Default) value to: C:\Program Files\MyProgram\prog.exe, 0 This will pick the first icon in prog.exe resource to show for the files. Use 1 for second, etc. There are also other commands you can add. If you want to be able to right-click on the file and select a menu item to process the file in a specific way, for instance by passing along specific parameters to prog.exe, you can add more keys than open on the level open is created. The (Default) value inside the key is then the text of the menu item. To find examples, just find a file extension in Windows that behaves the way you want your own to behave and look through HKEY_CLASSES_ROOT\.ext to find the details you want. I'm no Windows expert but I think that, using Windows Explorer, one can, with a right mouse click, select Open With. You can then choose the appropriate executable. I believe that, if you had set the Always open with this program box, then the registry is automatically updated. Colin W. -- http://mail.python.org/mailman/listinfo/python-list
Re: Scanning a file
First of all, this isn't a text file, it is a binary file. Secondly, substrings can overlap. In the sequence 0010010 the substring 0010 occurs twice. /David -- http://mail.python.org/mailman/listinfo/python-list
Typing tutor help script needed, please
G'day everyone! I would like to design typing tutor exercises for Afrikaans (and other languages possibly). This is for a GPL project. For this, I need a script that can extract words from a long list of words, based on which letters those words contain, and write then write output to a file. Does anyone know of an existing script for this, or can anyone write me one, please? Preferably I must be able to extract words which contain only certain letters (they need not contain all of those letters, but they may not contain any other letters). It would be nice if I can also extract words which do not contain certain letters. Any help will be greatly appreciated. I'm on a Windows 2000 machine with Perl, Python, Tcl/Tk and Java. Thanks! Samuel (throw aka voetleuce aka leuce) -- http://mail.python.org/mailman/listinfo/python-list
Re: Scanning a file
On 2005-10-28, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: I'm now down to: f = open(filename, rb) s = f.read() sub = \x00\x00\x01\x00 count = s.count(sub) print count Which is quite fast. The only problems is that the file might be huge. I really have no need for reading the entire file into a string as I am doing here. All I want is to count occurences this substring. Can I somehow count occurences in a file without reading it into a string first? Yes - use memory mapping (the mmap module). An mmap object is like a cross between a file and a string, but the data is only read into RAM when, and for as long as, necessary. An mmap object doesn't have a count() method, but you can just use find() in a while loop instead. Andrew -- http://mail.python.org/mailman/listinfo/python-list
OEM character set issue
On my hungarian Win2k, some of the accented characters of the file names appear incorrectly when Python is driven from the command line. However, they appear okay when the same script is running within an IDE. The same problem holds in the case of text files edited by GUI editors. Is there any solution in the Python arsenal? Thanks for any help, Károly -- http://mail.python.org/mailman/listinfo/python-list
Re: Scanning a file
Gerhard Häring wrote: [EMAIL PROTECTED] wrote: I want to scan a file byte for byte [...] while True: ch = inputFile.read(1) [...] But it is very slow. What is the fastest way to do this? Using some native call? Using a buffer? Using whatever? Read in blocks, not byte for byte. I had good experiences with block sizes like 4096 or 8192. It's difficult to handle overlaps. The four byte sequence may occur at the end of one block and beginning of the next. You'd need to check for these special cases. Jeremy -- Jeremy Sanders http://www.jeremysanders.net/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Suggestion for (re)try statement
Sori Schwimmer wrote: Hi, I think that would be useful to have an improved version of the try statement, as follows: try(retrys=0,timeout=0): # things to try except: # what to do if failed and having the following semantic: for i in range(retrys): try: # things to try except: if i retrys: i += 1 sleep(timeout) else: # what to do if failed else: break The gold standard for language syntax changes is compelling use cases - if introduced, how often will the construct be used? Is there a python program out there (preferably in the standard library) which would be *markedly* improved by the change? What is so repugnant about the equivalent, currently valid way of writing it? -- Hypothetical and theoretical arguments don't carry much weight in the Python community (Practicality beats purity and all that.) And remember - your goal isn't ultimately to convince me or someother person on comp.lang.python, it's to convince Guido. -- http://mail.python.org/mailman/listinfo/python-list
Re: Would there be support for a more general cmp/__cmp__
Antoon Pardon wrote: Op 2005-10-26, Ron Adam schreef [EMAIL PROTECTED]: Adding complexity to cmp may not break code, but it could probably slow down sorting in general. So I would think what ever improvements or alternatives needs to be careful not to slow down existing sorting cases. As a result of Bengt's post, I rewrote my test program, this is the program now. ... These are the results. class '__main__.cla': 1000 repeats, 1000 long, 10.061425 secs class '__main__.clb': 1000 repeats, 1000 long, 9.544035 secs class '__main__.clc': 1000 repeats, 1000 long, 10.450864 secs class '__main__.cld': 1000 repeats, 1000 long, 15.566061 secs class '__main__.cle': 1000 repeats, 1000 long, 15.776443 secs Results on a longer sequence were: class '__main__.cla': 1000 repeats, 1 long, 146.722443 secs class '__main__.clb': 1000 repeats, 1 long, 139.480863 secs class '__main__.clc': 1000 repeats, 1 long, 152.623424 secs class '__main__.cld': 1000 repeats, 1 long, 224.630926 secs class '__main__.cle': 1000 repeats, 1 long, 228.663825 secs The most interesting result of this test is the difference between cld and cle. IMO this difference is an indication of the cost that my idea would have on sorting, should it be implemented. That would be around 2%. I think that is bearable. Especially since this were very simple routines. The moment the comparison calculation become heavier, the relative contribution of the try: except will diminuish. class cle: def __init__(self, i): self.value = int(i) def __comp__(self, other): return self.value - other.value def __lt__(self, other): try: return self.__comp__(other) 0 except UnequalValues: return False This would only work with numeric types. I believe that cmp is closer to the following. return ( self.value other.value and -1 or self.value self.value and 1 or 0 ) I don't think it effects the speed a great deal however. If you are concerned about sorting times, I think you should be more concerned about Guido's idea of doing away with __cmp__. Sure __lt__ is faster. But in a number of cases writing __cmp__ is of the same complexity as writing __lt__. So if you then need a __lt__, __le__, __eq__, __ne__, __gt__ and __ge__ it would be a lot easier to write a __cmp__ and have all rich comparisons methods call this instead of duplicating the code about six times. So you would be more or less forced to write your class as class cld or cle. This would have a bigger impact on sorting times than my suggestion. I haven't heard he was removing __cmp__, but I would think the sort or sorted functions would just use the available comparisons methods or equivalent C code for base types. So I expect it would only matter if you need a custom or modified sort. Although It is a thought that these cases could be improved by making the sort value available to the underlying C sort function. Something on the order of: __sortvalue__ == self.value. Cheers, Ron -- http://mail.python.org/mailman/listinfo/python-list
Re: Suggestion for (re)try statement
On 2005-10-27, Sori Schwimmer [EMAIL PROTECTED] wrote: Hi, I think that would be useful to have an improved version of the try statement, as follows: try(retrys=0,timeout=0): # things to try except: # what to do if failed and having the following semantic: for i in range(retrys): try: # things to try except: if i retrys: i += 1 sleep(timeout) else: # what to do if failed else: break The i += 1 line is almost certainly wrong. Of course, break may be the last statement in the try branch, and try's else may be ommited completely. And that's pretty much exactly how I usually write it: for i in range(retries): try: whatever break except retryableExceptionList: sleep(delay) Can't think of a syntax to keep it look like a statement rather than a function. Opinions? I don't see what's wrong with the for loop construct. You can add an else: clause to the for loop to detect the case where you ran out of retries: for i in range(retries): try: whatever break except retryableExceptionList: sleep(delay) else: whatelse Is it worth for a PEP? I don't think you can come up with a syntax that is really that much better than the for loop, but give it a go if you like. -- Grant Edwards grante Yow! My BIOLOGICAL ALARM at CLOCK just went off... It visi.comhas noiseless DOZE FUNCTION and full kitchen!! -- http://mail.python.org/mailman/listinfo/python-list
Re: How to translate python into C
python script crashed and you want to debug it? if no trace back provided with the line number where the exception raised, then the crash caused by an extension module (most likely written in C), i don't know howto debug it, but at least you can find the place where the crash occures by adding lots of print statements with debug information. i don't think compiling to c would make it easier. there are python debuggers but i've never used one (these can only debug python scripts not the binary extension modules). pdb builtin module: http://docs.python.org/lib/module-pdb.html nice debugger with gui: http://www.digitalpeers.com/pythondebugger/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Would there be support for a more general cmp/__cmp__
Antoon Pardon wrote: If you are concerned about sorting times, I think you should be more concerned about Guido's idea of doing away with __cmp__. Sure __lt__ is faster. But in a number of cases writing __cmp__ is of the same complexity as writing __lt__. So if you then need a __lt__, __le__, __eq__, __ne__, __gt__ and __ge__ it would be a lot easier to write a __cmp__ and have all rich comparisons methods call this instead of duplicating the code about six times. So you would be more or less forced to write your class as class cld or cle. This would have a bigger impact on sorting times than my suggestion. Honestly, I don't really mind the idea of __cmp__ going away; for classes that behave Normally with respect to a single __cmp__ value, it's easily possible to write a CompareMixin that defines __lt__, __gt__, etc. for suitable __cmp__ values. Much like DictMixin is part of the standard library. -- http://mail.python.org/mailman/listinfo/python-list
Re: Microsoft Hatred FAQ
Okay, I admit I'm wasting time answering this stupid thread, but what the hey, what's usenet without a flame war now and then. ;-) Into the fray ... On Thursday 27 October 2005 05:17 pm, David Schwartz wrote: No. I have never received a dime from Microsoft, either directly or indirectly. I am one of those people who believes that conduct that's perfectly legal, moral and ethical before you can be said to have a monopoly does not suddenly become immoral or unethical the day you acquire 51% of what someone calls a market. I am not the only person with this view. Yeah, and if you thought the world was flat or only 6000 years old, you wouldn't be the only person with that view either. You'd still be wrong. ;-) This is an example of an established legal principle. Consider: If someone gets into a fight and someone gets injured, the court's determination will be entirely different depending on whether the person is untrained or has a blackbelt or other martial arts training. In the same vein, the exact same behavior will get very different treatment depending on whether there was no harm done or if one of the participants in the brawl died. The *effect* of a monopolist's anti-competitive actions ARE a consideration under law. We permit behavior from people who do not have effective control of a marketplace that we do NOT permit from those who do. We are not a winner take all society. You are perfectly free to dislike this fact about the American economy, and you are welcome to move to some other country where they love monopolism, anarchism, and corporate hegemony. Except I think America is the closest you're going to get to that, actually. Tough luck there. Meanwhile, the majority of people in this country are of the opinion that this is a reasonable degree of economic moderation. So, get used to it. Besides, no one ever argued that anti-competitive behavior was ethically or morally acceptable even when it *is* legal. You are the only one I've seen make that claim. We only assert however, that such behavior is *illegal* when the perpetrator has monopoly power over the marketplace. This is reasonable, because we may rely on market forces to remove non-monopolists who try these tactics. The anti-trust laws are there to protect us from a *failure* of the market economy, which is what a monopoly is. Whether it is legal or illegal is irrelevant -- capitalism has *failed* when a single competitor beats all other competition and controls the marketplace, because the market is then no longer free. We can respond either through anti-trust laws, in an attempt to restore a capitalist free market; or we can nationalize the company and put it under taxpayer control (the latter solution is more popular in Europe, but as a proponent of capitalism myself, I prefer the anti-trust solution). Its nonsensical to talk about free market rules in a monopoly situation, because in that situation there IS NO free market -- only a market controlled by the monopolist. Just because the monopolist isn't a government doesn't make it any better than a communist centrally controlled economy. Except of course, that at *least* a government monopoly has a basis *in principle* for serving the needs of society, which you quite rightly argue that a corporation needn't have. It might be nice to live in a fantasy dreamworld where capitalism never fails, but the reality is that without controlled boundary conditions, market failure is pretty much inevitable. That's why governments set boundary conditions on the marketplace through legal regulation. Too much regulation chokes the economy and makes massive inefficiencies, but too little is just as bad. Capitalist free markets *work* because it is an (interesting and non-intuitive) fact that *many selfish people* are collectively more efficient and fair that *one representative power*. But *one selfish power* is far worse than either -- and that's what we call a monopoly. You are *somewhat* justified to question the choice of market segmentation that makes Microsoft a monopoly, except that 1) it IS a natural division in terms of customers, outlets, advertising channels, and distribution, 2) it IS the way Microsoft itself divides its services, 3) judged by people affected instead of dollars exchanged, it would still be a monopoly overall even if you included servers and other types of computers, and 4) hairsplitting or not it was that courts job to determine that division, and they have ruled (end of story). You may feel that that was a discretionary decision, but it remains a fact that it WAS at their discretion, not yours. I don't really expect you to absorb this information, because you are so obviously opposed to facing this reality, but I also think it's dangerous to let extremists go unchallenged, lest they be believed to lack opposition. Cheers, Terry -- Terry Hancock ( hancock at anansispaceworks.com ) Anansi Spaceworks
Opaque documentation
Once in a while you come acros aline of documentation that you have to, or that invites you to, read it again. This is what I found in PyGTK: The set_screen method sets the 'screen property to the gtk.gdk.Screen specified by screen. The screen property contains the screen that the window is displayed on. The screen on the second line, before the period, is in italics, if that helps. I like these texts. Prose should not disclose its secrets at once. If you have other examples, please let us know. -- Egbert Bouwman - Keizersgracht 197 II - 1016 DS Amsterdam - 020 6257991 -- http://mail.python.org/mailman/listinfo/python-list
Re: Microsoft Hatred FAQ
Everytime someone compares MS's behavior with some less controversial criminal behavior, you act like they accused MS of holding people up at gunpoint. Screwing literally millions of consumers and taxpayers and holding entire schools hostage is far worse than holding up an individual at gunpoint. The name Microsoft is virtually synonymous with crime, even if many people are too stupid to recognize it as crime - or the courts are too corrupt or inefficient to convict Bill Gates for many of his crimes. __ Start your day with Yahoo! - Make it your home page! http://www.yahoo.com/r/hs -- http://mail.python.org/mailman/listinfo/python-list
Is bytecode machine (in)dependent?
I'm trying to understand bytecodes generated on different machines. I understand that the bytecodes can change between version. But since I'm told that .pyc files are version dependent but not machine dependent, I'm wondering why the bytecodes are machine dependent. my friend and I created this simple example to explore the problem. The example code is: #!/usr/bin/env python # import sys, os def main(): x = 1.234 print x if ( __name__ == '__main__'): main() Using sib.py from Vendorid 1.0 generates different bytecodes under linux and sgi. At its core sib.py is using: # Compile the code using prefix and marshall it. compiled_code = compile(source_code, prefix, 'exec') marshalled_code = marshal.dumps(compiled_code) to get the bytecodes. So why are the byte codes different? Is it that the intel-linux is little endian and the SGI is big endian and the numerical constant (1.234) is stored different depending on the endian-ness? This was generated under intel-linux using python 2.4.2 /*==*/ /* Frozen main script for test */ /* Generated from test.py */ /* This is generated code; Do not modify it! */ /*--*/ unsigned char M___main__[] = { 99,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0, 0,115,55,0,0,0,100,0,0,107,0,0,90,0,0,100, 0,0,107,1,0,90,1,0,100,1,0,132,0,0,90,2, 0,101,3,0,100,2,0,106,2,0,111,11,0,1,101,2, 0,131,0,0,1,110,1,0,1,100,0,0,83,40,3,0, 0,0,78,99,0,0,0,0,1,0,0,0,1,0,0,0, 67,0,0,0,115,15,0,0,0,100,1,0,125,0,0,124, 0,0,71,72,100,0,0,83,40,2,0,0,0,78,102,5, 49,46,50,51,52,40,1,0,0,0,116,1,0,0,0,120, 40,1,0,0,0,82,0,0,0,0,40,0,0,0,0,40, 0,0,0,0,116,23,0,0,0,47,104,111,109,101,47,118, /* This line */ 112,97,114,114,47,115,105,98,47,116,101,115,116,46,112,121, 116,4,0,0,0,109,97,105,110,5,0,0,0,115,4,0, 0,0,0,1,6,1,116,8,0,0,0,95,95,109,97,105, 110,95,95,40,4,0,0,0,116,3,0,0,0,115,121,115, 116,2,0,0,0,111,115,82,2,0,0,0,116,8,0,0, 0,95,95,110,97,109,101,95,95,40,3,0,0,0,82,4, 0,0,0,82,2,0,0,0,82,5,0,0,0,40,0,0, 0,0,40,0,0,0,0,82,1,0,0,0,116,1,0,0, 0,63,3,0,0,0,115,6,0,0,0,18,2,9,4,13, 1, }; x And under SGI (python 2.4.2) it created : /*==*/ /* Frozen main script for test */ /* Generated from test.py */ /* This is generated code; Do not modify it! */ /*--*/ unsigned char M___main__[] = { 99,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0, 0,115,55,0,0,0,100,0,0,107,0,0,90,0,0,100, 0,0,107,1,0,90,1,0,100,1,0,132,0,0,90,2, 0,101,3,0,100,2,0,106,2,0,111,11,0,1,101,2, 0,131,0,0,1,110,1,0,1,100,0,0,83,40,3,0, 0,0,78,99,0,0,0,0,1,0,0,0,1,0,0,0, 67,0,0,0,115,15,0,0,0,100,1,0,125,0,0,124, 0,0,71,72,100,0,0,83,40,2,0,0,0,78,102,5, 49,46,50,51,52,40,1,0,0,0,116,1,0,0,0,120, 40,1,0,0,0,82,0,0,0,0,40,0,0,0,0,40, 0,0,0,0,116,23,0,0,0,47,87,111,114,107,47,118, /* This line */ 112,97,114,114,47,115,105,98,47,116,101,115,116,46,112,121, 116,4,0,0,0,109,97,105,110,5,0,0,0,115,4,0, 0,0,0,1,6,1,116,8,0,0,0,95,95,109,97,105, 110,95,95,40,4,0,0,0,116,3,0,0,0,115,121,115, 116,2,0,0,0,111,115,82,2,0,0,0,116,8,0,0, 0,95,95,110,97,109,101,95,95,40,3,0,0,0,82,4, 0,0,0,82,2,0,0,0,82,5,0,0,0,40,0,0, 0,0,40,0,0,0,0,82,1,0,0,0,116,1,0,0, 0,63,3,0,0,0,115,6,0,0,0,18,2,9,4,13, 1, }; The difference between the two is very slight: 18c18 0,0,0,0,116,23,0,0,0,47,104,111,109,101,47,118, --- 0,0,0,0,116,23,0,0,0,47,87,111,114,107,47,118, -- http://mail.python.org/mailman/listinfo/python-list
Re: Opaque documentation
egbert wrote: Once in a while you come acros aline of documentation that you have to, or that invites you to, read it again. This is what I found in PyGTK: The set_screen method sets the 'screen property to the gtk.gdk.Screen specified by screen. The screen property contains the screen that the window is displayed on. Clearly this is a violation of once and only once. I'd reword it as: The set_screen method sets the property to the gtk.gdk specified by. The property contains the that the window is displayed on. ;) Maybe if I was being less facetious, someone could reword it as: The set_screen method sets the 'screen property to the supplied gtk.gdk.Screen object. This property contains the screen that the window is displayed on. Documentation is often a problem with Python and its libraries, sadly. The same almost certainly goes for most open source projects. -- Ben Sizer -- http://mail.python.org/mailman/listinfo/python-list
[ANNOUNCE] EVENTS, HUMOUR, BOOKS related to SOFTWARE DEVELOPMENT
CONTENTS: ** EVENTS ** EUROPE ** ** BOOKS ** ** EVENTS ** USA ** ** CALL FOR SPEAKERS ** EUROPE ** CALL FOR SPEAKERS ** USA ** HUMOUR ** ** OTHER INFORMATION - MAGAZINES, WHITEPAPERS ... ** ** EVENTS ** EUROPE ** ** Enterprise Architect Conference Arts Hotel, Barcelona - Nov 6-8 2005 http://www.ftponline.com/conferences/eas/barcelona/ Quote ref: EASMC *** Architectural Reference Model for Enterprise Applications 2 Day Course. Jan 2006 London UK www.ratio.co.uk/ARM%20-%20Course%20Outline.pdf email: info AT ratio.co.uk See related article: http://www.ftponline.com/ea/magazine/summer2005/features/mcollinscope / *** 8th International Conference on Enterprise Information Systems 23 - 27, May 2006 Paphos - Cyprus http://www.iceis.org/cfp.htm *** Fourth International Symposium on Formal Methods for Components and Objects (FMCO 2005) DATES 1 - 4 November 2005 Amsterdam, The Netherlands http://fmco.liacs.nl/fmco05.html ** BOOKS ** *** *** Essential Skills for Agile Development *** This book has an elegant yet highly effective minimalist style. Rather than long theoretical discussion the book does what it does by example - and there's plenty of example code given. Overall the book covers many topics and issues related to agile software development, including: keeping code fit; handling inappropriate references; seperating database, UI and domain logic; unit testing and acceptance testing amongst others.The reason this book is to be recommended to developers, is that even if you're not doing full on agile development, there's still plenty of useful material in it. The lack of hype is also refreshing - the book focuses on examples and shows good solutions. You should get it! http://www.amazon.com/exec/obidos/tg/detail/- /9993776726/ratiogroupltd-20/qid=1128944604/sr=8- 1/ref=sr_8_xs_ap_i1_xgl14/002-3185742-7805624? v=glances=booksn=507846 *** Agile Development with Iconix Process *** because of this, we have been able to consistently deliver great software based on the original core time-after-time the authors identify an `essential' list of agile practices to follow, including aggressive testing and frequent small releases it is indeed rare for this level of detail to be given to a single example finally a real world example with real-world solutions (extracts from amazon.com) http://www.amazon.com/exec/obidos/ASIN/1590594649/ratiogroupltd-20? creative=327641camp=14573link_code=as1 *** Agile and Iterative Development, A Manager's Guide *** Using statistically significant research and large-scale case studies, noted methods expert Craig Larman presents the most convincing case ever made for iterative development. Larman offers a concise, information-packed summary of the key ideas that drive all agile and iterative processes, with the details of four noteworthy iterative methods: Scrum, XP, RUP, and Evo. This book is a must if you need to get a grip on the spectrum of agile development techniques out there. http://www.amazon.com/exec/obidos/tg/detail/- /013558//ratiogroupltd-20/qid=1128944877/sr=1-1/ref=sr_1_1/002- 3185742-7805624?v=glances=books ** EVENTS ** USA ** *** 29th Internationalization Unicode Conference March 6-8, 2006 San Francisco, California, USA http://www.unicodeconference.org/IUC29call *** SD WEST 2006 Santa Clara Convention Center Santa Clara, CA March 13-17, 2006 http://www.cmpevents.com/SDw6/a.asp?option=C *** 15th International Conference on Software Engineering and Data Engineering (SEDE-2006) Los Angeles, California July 6-8, 2006 http://www.cnsqa.com/spw2006/jsp/html/spw/callforpapers.jsp *** Software Test and Performance Conference http://www.stpcon.com/ NOVEMBER 1-3, 2005 ROOSEVELT HOTEL New York City *** IEEE Software Architecture Conference. (WICSA) November 6-9, 2005 http://sunset.usc.edu/~softarch/wicsa5/ ** CALL FOR SPEAKERS ** EUROPE ** Call for Speakers Software Developer Conference May 15 and 16, 2006 Papendal Convention Center Arnhem, The Netherlands http://www.sdc.nl/ ** CALL FOR SPEAKERS ** USA *** SD BEST PRACTICES 2006 Hynes Convention Center Boston, MA September 11-14, 2006 Call for Abstracts will open January 2006 http://www.sdexpo.com/ *** Call for Papers International Symposium on Software Testing and Analysis Portland, Maine July 17-20 2006 http://www.cis.udel.edu/~gibson/issta/cfp.html *** Call for Papers 15th International Conference on Software Engineering and Data Engineering Software Process Change - Meeting the Challenge (SEDE-2006) Los Angeles, California July 6-8, 2006 http://www.cnsqa.com/spw2006/jsp/html/spw/callforpapers.jsp ** HUMOUR ** It is practically impossible to teach good programming style to students that have had prior exposure to BASIC; as potential programmers they are mentally mutilated beyond hope of
Re: Scanning a file
[EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] I want to scan a file byte for byte for occurences of the the four byte pattern 0x0100. I've tried with this: # start import sys numChars = 0 startCode = 0 count = 0 inputFile = sys.stdin while True: ch = inputFile.read(1) numChars += 1 if len(ch) 1: break startCode = ((startCode 8) 0x) | (ord(ch)) if numChars 4: continue if startCode == 0x0100: count = count + 1 print count # end But it is very slow. What is the fastest way to do this? Using some native call? Using a buffer? Using whatever? /David How about something like: #!/usr/bin/env python import sys fn = 't.dat' ss = '\x00\x00\x01\x00' be = len(ss) - 1# length of overlap to check blocksize = 4 * 1024# need to ensure that blocksize overlap fp = open(fn, 'rb') b = fp.read(blocksize) found = 0 while len(b) be: if b.find(ss) != -1: found = 1 break b = b[-be:] + fp.read(blocksize) fp.close() sys.exit(found) -- http://mail.python.org/mailman/listinfo/python-list
Re: Is bytecode machine (in)dependent?
[Robert McLay] I'm trying to understand bytecodes generated on different machines. I understand that the bytecodes can change between version. But since I'm told that .pyc files are version dependent but not machine dependent, I'm wondering why the bytecodes are machine dependent. They aren't -- at least not particularly wink. my friend and I created this simple example to explore the problem. The example code is: #!/usr/bin/env python # import sys, os def main(): x = 1.234 print x if ( __name__ == '__main__'): main() Using sib.py from Vendorid 1.0 generates different bytecodes under linux and sgi. At its core sib.py is using: # Compile the code using prefix and marshall it. compiled_code = compile(source_code, prefix, 'exec') marshalled_code = marshal.dumps(compiled_code) to get the bytecodes. Why do you believe that `prefix` had the same value in both runs? The output suggests it did not, but can't guess more than that from here since I don't know where `prefix` came from. So why are the byte codes different? Is it that the intel-linux is little endian and the SGI is big endian No; marshal format has fixed endianness. and the numerical constant (1.234) is stored different depending on the endian-ness? Python defers to the platform C library for string-float conversions, and it's *possible* that different platforms could convert 1.234 to a C double in slightly different ways. There's no evidence of that here, though. This was generated under intel-linux using python 2.4.2 /*==*/ /* Frozen main script for test */ /* Generated from test.py */ /* This is generated code; Do not modify it! */ /*--*/ unsigned char M___main__[] = { 99,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0, 0,115,55,0,0,0,100,0,0,107,0,0,90,0,0,100, 0,0,107,1,0,90,1,0,100,1,0,132,0,0,90,2, 0,101,3,0,100,2,0,106,2,0,111,11,0,1,101,2, 0,131,0,0,1,110,1,0,1,100,0,0,83,40,3,0, 0,0,78,99,0,0,0,0,1,0,0,0,1,0,0,0, 67,0,0,0,115,15,0,0,0,100,1,0,125,0,0,124, 0,0,71,72,100,0,0,83,40,2,0,0,0,78,102,5, 49,46,50,51,52,40,1,0,0,0,116,1,0,0,0,120, 40,1,0,0,0,82,0,0,0,0,40,0,0,0,0,40, 0,0,0,0,116,23,0,0,0,47,104,111,109,101,47,118, /* This line */ 112,97,114,114,47,115,105,98,47,116,101,115,116,46,112,121, 116,4,0,0,0,109,97,105,110,5,0,0,0,115,4,0, 0,0,0,1,6,1,116,8,0,0,0,95,95,109,97,105, 110,95,95,40,4,0,0,0,116,3,0,0,0,115,121,115, 116,2,0,0,0,111,115,82,2,0,0,0,116,8,0,0, 0,95,95,110,97,109,101,95,95,40,3,0,0,0,82,4, 0,0,0,82,2,0,0,0,82,5,0,0,0,40,0,0, 0,0,40,0,0,0,0,82,1,0,0,0,116,1,0,0, 0,63,3,0,0,0,115,6,0,0,0,18,2,9,4,13, 1, }; x And under SGI (python 2.4.2) it created : /*==*/ /* Frozen main script for test */ /* Generated from test.py */ /* This is generated code; Do not modify it! */ /*--*/ unsigned char M___main__[] = { 99,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0, 0,115,55,0,0,0,100,0,0,107,0,0,90,0,0,100, 0,0,107,1,0,90,1,0,100,1,0,132,0,0,90,2, 0,101,3,0,100,2,0,106,2,0,111,11,0,1,101,2, 0,131,0,0,1,110,1,0,1,100,0,0,83,40,3,0, 0,0,78,99,0,0,0,0,1,0,0,0,1,0,0,0, 67,0,0,0,115,15,0,0,0,100,1,0,125,0,0,124, 0,0,71,72,100,0,0,83,40,2,0,0,0,78,102,5, 49,46,50,51,52,40,1,0,0,0,116,1,0,0,0,120, 40,1,0,0,0,82,0,0,0,0,40,0,0,0,0,40, 0,0,0,0,116,23,0,0,0,47,87,111,114,107,47,118, /* This line */ 112,97,114,114,47,115,105,98,47,116,101,115,116,46,112,121, 116,4,0,0,0,109,97,105,110,5,0,0,0,115,4,0, 0,0,0,1,6,1,116,8,0,0,0,95,95,109,97,105, 110,95,95,40,4,0,0,0,116,3,0,0,0,115,121,115, 116,2,0,0,0,111,115,82,2,0,0,0,116,8,0,0, 0,95,95,110,97,109,101,95,95,40,3,0,0,0,82,4, 0,0,0,82,2,0,0,0,82,5,0,0,0,40,0,0, 0,0,40,0,0,0,0,82,1,0,0,0,116,1,0,0, 0,63,3,0,0,0,115,6,0,0,0,18,2,9,4,13, 1, }; The difference between the two is very slight: 18c18 0,0,0,0,116,23,0,0,0,47,104,111,109,101,47,118, --- 0,0,0,0,116,23,0,0,0,47,87,111,114,107,47,118, Stare at this: ''.join(map(chr, [47,104,111,109,101,47,118])) '/home/v' ''.join(map(chr, [47,87,111,114,107,47,118]))
Re: replace words
Peter Otten wrote: [EMAIL PROTECTED] wrote: What is the way for replacing in a string from . to . the sentence? for example: been .taken. it may be .left. there, even if the .live coals were not. cleared I want to do this- replace(\.(.*)\.,\.start (1) end\.) result: been .start taken end. it may be .start left end. there, even if the .start live coals were not end. cleared Use \1 to refer to the group in the substitution expression. You also need to change the regex to non-greedy match (the trailing ?). Otherwise you only get one big match from .taken ... not. import re s = (been .taken. it may be .left. there, even if the .live coals were not. cleared) r = re.compile(r\.(.*?)\.) print r.sub(r.start \1 end., s) Peter Perhaps you can use a variant of: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/231347 def wrap(source, pre, post): gen = iter(source) for portion in gen: yield portion try: bracketed = gen.next() except StopIteration: break yield pre yield bracketed yield post def mangledots(string): return ''.join(wrap(string.split('.'), '.start ', ' end.')) print mangledots('been .taken. it may be .left. there, ' 'even if the .live coals were not. cleared') --Scott David Daniels [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list
SNMP
From what I have seen Python does not come with an snmp module built in, can anyone suggest some other SNMP module (preferably one you have used/experienced)..I have googled and seen yapsnmp and pysnmp (which seem to be the two most active SNMP modules). Thanks -- http://mail.python.org/mailman/listinfo/python-list
Re: SNMP
...also I am looking to work with windows, as well as linux. -- http://mail.python.org/mailman/listinfo/python-list
Re: xml-rpc - adodb - None type - DateTime type
I can replace all None values with the string 'Null', there's no problem, but I can't detect the DateTime type object I retrieve from the database. I have something like this: def xmlrpc_function(): conn = adodb.NewADOConnection('postgres') conn.Connect(host,user,password,database) rs = conn.Exec(select * from table) result = [] i = 0 while not rs.EOF: row = rs.GetRowAssoc(False) for key, value in row.items(): if value==None: row[key]='Null' result.append(row) i = i + 1 rs.MoveNext() rs.Close() print result return result The problem here is that if row[key] == type 'DateTime' object etc..., then I don't know what to do for detect it and make the appropriate change to string. Console output: [{'name': 'Null', 'date': DateTime object for '2005-09-01 00:00:00.00' at 1515f60}] If you consult the python manual, you'll see that there's no 'DateTime' type object, so I can't do something like: if value==DateTimeType: ... I only need to know which type of data is a field for make the change according to what can I pass through the xml-rpc. Well, there is the possibility of passing null values through xml-rpc. I believe there is an optional keyword argument in some of the xmlrpclib functions to allow it. Basically it translates None to nil/ in the xml. The DateTime type must be defined somewhere. Is it an adodb type? If so, you could do something like this: if type(value) == adodb.DateTime: ... -- http://mail.python.org/mailman/listinfo/python-list
Re: syntax question - if 1:print 'a';else:print 'b'
Steve Holden wrote: On Thu, 2005-10-27 at 14:00, Gregory Piñero wrote: Not quite because if something(3) fails, I still want something(4) to run. Then the obvious extension: for i in range(20): ... but I get the idea that Gregory was thinking of different statements rather than calls to the same function with different arguments. Sorry for the descendant-reply, but the original hasn't hit my news server yet (I think). It sounds like Gregory wants a Python equivalent of on error continue next, which is really a bad idea almost everywhere. -- http://mail.python.org/mailman/listinfo/python-list
tkinter blues (greens, reds, ...)
hi all i recently wrote a script that implements a puzzle. the interface mostly consists of a bunch of colored disks on a tkinter canvas. the problem is that the disks change their colors in ways other than the way they're supposed to. it certainly isn't just a bug in my script, since i can sometimes change the color of certain disks just by taking focus off of the window and then bringing it back again! does this sound like some known bug in tkinter? and if so, is there a recommended way of working around it? if it matters, i'm using python 2.3 under windows 95. any advice will be much appreciated. peace -- http://mail.python.org/mailman/listinfo/python-list
popen2
I start a process in my application with popen2.popen3('MyOtherProcess'). That's ok, but what can I do if the other process is running ? Can I fetch some information and start with that ? gerd -- http://mail.python.org/mailman/listinfo/python-list
Re: How to translate python into C
Il 2005-10-28, Johnny Lee [EMAIL PROTECTED] ha scritto: Thanks, Szabolcs. In fact, I want to reproduce a crush on cygwin. I used a session of python code to produce the crush, and want to translate it into C and reproduce it. Is the tools provided by you help with these issues? Of coz, I'll try them first. :) Do you mean crash ? Take a look at this: http://pycrash.sourceforge.net -- Lawrence http://www.oluyede.org/blog -- http://mail.python.org/mailman/listinfo/python-list
Re: Newbie question: string replace
Now it works: rex = re.compile(r'(^.*username *=[^]*)([^]*)(.*$)') for line in fileinput.input(FILE, inplace=1): m = rex.match(line) if m is not None: line = %s%s%s\n % (m.group(1), new_name, m.group(3)) print line But there is an extra line break after each line in FILE. Why is that? I tried to line = %s%s%s % (m.group(1), new_name, m.group(3)) but it turns out there are two extra line breaks after each line... -- http://mail.python.org/mailman/listinfo/python-list
Tkinter Frame Size
I'm tyring to set the size of the window that is opened when you open a Tkinter window, without much sucess. I have tried changing the heigth and width atributes, but it doesn't do anything. I tried using the grid_propagate command that I saw to use, but made the window even smaller... What can I do? Thanks! -- http://mail.python.org/mailman/listinfo/python-list
Re: Tkinter Frame Size
On Friday 28 October 2005 10:38, Tuvas wrote: I'm tyring to set the size of the window that is opened when you open a Tkinter window, without much sucess. I have tried changing the heigth and width atributes, but it doesn't do anything. I tried using the grid_propagate command that I saw to use, but made the window even smaller... What can I do? Thanks! Here is a very simple way: from Tkinter import * app = Tk() app.geometry(%dx%d%+d%+d % (600, 400, 0, 0)) f = Frame(app) f.pack() app.mainloop() -- James Stroud UCLA-DOE Institute for Genomics and Proteomics Box 951570 Los Angeles, CA 90095 http://www.jamesstroud.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Scanning a file
On Friday 28 October 2005 06:29, Björn Lindström wrote: [EMAIL PROTECTED] [EMAIL PROTECTED] writes: f = open(filename, rb) s = f.read() sub = \x00\x00\x01\x00 count = s.count(sub) print count That's a lot of lines. This is a bit off topic, but I just can't stand unnecessary local variables. print file(filename, rb).read().count(\x00\x00\x01\x00) The f is not terribly unnecessary, because the part of the code you didn't see was f.close() Which would be considered good practice. James -- James Stroud UCLA-DOE Institute for Genomics and Proteomics Box 951570 Los Angeles, CA 90095 http://www.jamesstroud.com/ -- http://mail.python.org/mailman/listinfo/python-list
Why doesn't this work? :)
Jumping right into the code (which should speak for itself): # --- try: # this will fail and be caught # below, w import foobar except ImportError, error: class foobar: @staticmethod def __getattr__(*args, **kargs): return None print foobar.bg # --- This doesn't work and I'm just curious as to why? I can, of course, make __getattr__ non-static, instantiate a foolbar object, and everything works; but, the idea above seems cleaner and whatnot. :) Am I misunderstanding something fundamental about the builtin __* functions? Can they not be static? No rush on this, just curious. I'm using the following in a more general way, and it works fine for now... :) # --- try: import foobar except ImportError, error: class Foobar: def __getattr__(*args, **kargs): return None foobar = Foobar() print foobar.bg # --- -- http://mail.python.org/mailman/listinfo/python-list
Re: Tkinter Frame Size
Okay. I have alot of items that are put on the basic frame already, using a grid method. Will this change anything? -- http://mail.python.org/mailman/listinfo/python-list
Re: tkinter blues (greens, reds, ...)
Sean McIlroy wrote: hi all i recently wrote a script that implements a puzzle. the interface mostly consists of a bunch of colored disks on a tkinter canvas. the problem is that the disks change their colors in ways other than the way they're supposed to. it certainly isn't just a bug in my script, since i can sometimes change the color of certain disks just by taking focus off of the window and then bringing it back again! does this sound like some known bug in tkinter? and if so, is there a recommended way of working around it? if it matters, i'm using python 2.3 under windows 95. any advice will be much appreciated. It sounds to me much more like a bug in your script, to me at least. Change of focus generates windowing events in much the same way as clicking a button or hitting a key does, so I don't understand why you think that just [by] taking the focus off the window and bringing it back again shouldn't change anything. For more specific insights we'd need to see some code, but sometimes just changing your own focus from Tkinter has a bug to my code has a bug is enough to help one find out what the problem really is. If you have a soft toy I'd recommend you sit it down somewhere and explain to it in great detail exactly why it can't be a bug in your program. You may find you discover the error with no further assistance. If not, fire the toy and ask again :-) regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC www.holdenweb.com PyCon TX 2006 www.python.org/pycon/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Newbie question: string replace
[EMAIL PROTECTED] wrote: Now it works: rex = re.compile(r'(^.*username *=[^]*)([^]*)(.*$)') for line in fileinput.input(FILE, inplace=1): m = rex.match(line) if m is not None: line = %s%s%s\n % (m.group(1), new_name, m.group(3)) print line But there is an extra line break after each line in FILE. Why is that? I tried to line = %s%s%s % (m.group(1), new_name, m.group(3)) but it turns out there are two extra line breaks after each line... for l in open('wshtest1.pys'): ... print repr(l) ... 'import sys\n' '# WScript.Echo(str(sys.modules))\n' '\n' 'from msg import Message\n' 'Message(Hello)\n' '\n' As yoyu can see, iterating over a (text) file gives you lines with a line ending. Print adds a line ending as well. Instead use import sys ... ... ... sys.stdout.write(l) You will find you lose the blank lines. regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC www.holdenweb.com PyCon TX 2006 www.python.org/pycon/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Typing tutor help script needed, please
#---Input data #List of words; every word or sentence on one line #If from file: WORDS = open(fileName).readlines() WORDS = \ Afrikaans Anna Bread red word bored python.split('\n') #---Main program import re PATTERN = ['[^(%s)]+','[%s]+'] FILENAME= ['not_%s.txt','%s.txt'] def filter(letters='bdeor',words=WORDS,contain=True,ignoreCase=True): pattern = PATTERN[contain]%'|'.join(list(letters)) if ignoreCase: allowed = re.compile(pattern,re.IGNORECASE) else: allowed = re.compile(pattern) result = [] for word in words: match = allowed.match(word) if match and match.group(0) == word: result.append(word) print result output = open(FILENAME[contain]%letters,'w') output.write('\n'.join(result)) output.close() if __name__ == '__main__': filter() --- This should do it. Stani -- http://pythonide.stani.be http://pythonide.stani.be/manual/html/manual.html -- http://mail.python.org/mailman/listinfo/python-list
Re: popen2
g.franzkowiak wrote: I start a process in my application with popen2.popen3('MyOtherProcess'). That's ok, but what can I do if the other process is running ? Can I fetch some information and start with that ? gerd It's not clear what you're asking for. Could you please clarify? -- David -- http://mail.python.org/mailman/listinfo/python-list
Re: SNMP
py wrote: From what I have seen Python does not come with an snmp module built in, can anyone suggest some other SNMP module (preferably one you have used/experienced)..I have googled and seen yapsnmp and pysnmp (which seem to be the two most active SNMP modules). Thanks Google turns up the following: Yet Another Python SNMP module - http://yapsnmp.sourceforge.net/intro.html Python SNMP framework - http://pysnmp.sourceforge.net/ Larry Bates -- http://mail.python.org/mailman/listinfo/python-list
Re: Scanning a file
Andrew McCarthy [EMAIL PROTECTED] writes: On 2005-10-28, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: I'm now down to: f = open(filename, rb) s = f.read() sub = \x00\x00\x01\x00 count = s.count(sub) print count Which is quite fast. The only problems is that the file might be huge. I really have no need for reading the entire file into a string as I am doing here. All I want is to count occurences this substring. Can I somehow count occurences in a file without reading it into a string first? Yes - use memory mapping (the mmap module). An mmap object is like a cross between a file and a string, but the data is only read into RAM when, and for as long as, necessary. An mmap object doesn't have a count() method, but you can just use find() in a while loop instead. Except if you can't read the file into memory because it's to large, there's a pretty good chance you won't be able to mmap it either. To deal with huge files, the only option is to read the file in in chunks, count the occurences in each chunk, and then do some fiddling to deal with the pattern landing on a boundary. mike -- Mike Meyer [EMAIL PROTECTED] http://www.mired.org/home/mwm/ Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information. -- http://mail.python.org/mailman/listinfo/python-list
How do I sort these?
I have two lists. I want to sort by a value in the first list and have the second list sorted as well... Any suggestions on how I should/could do this? -- http://mail.python.org/mailman/listinfo/python-list
Re: urllib2 problem
Jeremy Martin [EMAIL PROTECTED] writes: [...] website. I originally just used urllib.urlopen and everything worked fine on my Windows PC at work. I tried the same script at home on my Fedora COre 3 box using python 2.4, and whenever I try to connect to the site I get the (110, Connection Timed Out) Error. At first I thought my firewall was causing problems with the script but I noticed an odd patten. If the web site asked to accept cookies (like the site I need) the script times out), if I point it to a site that doesnt it works fine. Ive tried several attempts at using urllib2 and the HTTPCookieProccessor and I still have no luck. If this is just a single server you're talking to, this doesn't necessarily implicate HTTPCookieProccessor -- it may be that that server does different stuff depending on whether you return cookies or not (not much point in having the cookies if not ;-), so the timeout might be caused by all kinds of unrelated problems. Can anyone give me any advice or pointers on what may be the problem here? I apologize if this is kind of a rookie question but Ive been searching for about a week with no luck. I'm the author of cookielib and HTTPCookieProccessor. It's very hard to guess what's wrong without being able to reproduce the problem. If you can send me your script ([EMAIL PROTECTED]), I may be able to help. One point, though. This doesn't seem to be the problem you are having, but it's a good thing for this info to be more easily Google-able for others: Are you using threads? cookielib is thread-broken, I suspect (poorly-tested thread support code was left in when I contributed the module, which was a mistake: I'm almost certain it's incorrect, and intend to request the thread synchronisation code be removed in 2.5). I suspect that could cause deadlock if you are using threads. It's probably possible to work around this, but I reccommend just not using threads (and not only because of my buggy synchronisation code!). But as I say, I don't think this is your problem. John -- http://mail.python.org/mailman/listinfo/python-list
Re: Why doesn't this work? :)
I think what you really want is: try: # this will fail and be caught # below, w import foobar except ImportError, error: class foobarclass: def __getattr__(*args, **kargs): return None foobar = foobarclass() print foobar.bg foobar in your version is a class. By making it an instance, the __getattr__ method is properly called. -Chris On Fri, Oct 28, 2005 at 02:02:29PM -0400, Jeremy Moles wrote: Jumping right into the code (which should speak for itself): # --- try: # this will fail and be caught # below, w import foobar except ImportError, error: class foobar: @staticmethod def __getattr__(*args, **kargs): return None print foobar.bg # --- This doesn't work and I'm just curious as to why? I can, of course, make __getattr__ non-static, instantiate a foolbar object, and everything works; but, the idea above seems cleaner and whatnot. :) Am I misunderstanding something fundamental about the builtin __* functions? Can they not be static? No rush on this, just curious. I'm using the following in a more general way, and it works fine for now... :) # --- try: import foobar except ImportError, error: class Foobar: def __getattr__(*args, **kargs): return None foobar = Foobar() print foobar.bg # --- -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list
Re: Typing tutor help script needed, please
Throw [EMAIL PROTECTED] writes: G'day everyone! I would like to design typing tutor exercises for Afrikaans (and other languages possibly). This is for a GPL project. For this, I need a script that can extract words from a long list of words, based on which letters those words contain, and write then write output to a file. Does anyone know of an existing script for this, or can anyone write me one, please? This sounds nearly trivial in Python. More specifics would help. Preferably I must be able to extract words which contain only certain letters (they need not contain all of those letters, but they may not contain any other letters). It would be nice if I can also extract words which do not contain certain letters. Again, this sounds nearly trivial in Python. For instance. to get a list of all words that don't contain 'a', you'd do something like: f = open(textfile) words = f.read().split() f.close() selected = [word for word in words if 'a' not in word] and then selected has the list of words that don't have an 'a' in them. Tweaking the test the other way - to select words with an 'a', remove the 'not'. You can combine the tests with 'and' and 'or'. But without a UI, that's pretty much useless - and you haven't said what you want the UI to be. mike -- Mike Meyer [EMAIL PROTECTED] http://www.mired.org/home/mwm/ Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information. -- http://mail.python.org/mailman/listinfo/python-list
Re: tkinter blues (greens, reds, ...)
Steve Holden wrote: Sean McIlroy wrote: hi all i recently wrote a script that implements a puzzle. the interface mostly consists of a bunch of colored disks on a tkinter canvas. the problem is that the disks change their colors in ways other than the way they're supposed to. it certainly isn't just a bug in my script, since i can sometimes change the color of certain disks just by taking focus off of the window and then bringing it back again! does this sound like some known bug in tkinter? and if so, is there a recommended way of working around it? if it matters, i'm using python 2.3 under windows 95. any advice will be much appreciated. It sounds to me much more like a bug in your script, to me at least. Change of focus generates windowing events in much the same way as clicking a button or hitting a key does, so I don't understand why you think that just [by] taking the focus off the window and bringing it back again shouldn't change anything. For more specific insights we'd need to see some code, but sometimes just changing your own focus from Tkinter has a bug to my code has a bug is enough to help one find out what the problem really is. If you have a soft toy I'd recommend you sit it down somewhere and explain to it in great detail exactly why it can't be a bug in your program. You may find you discover the error with no further assistance. If not, fire the toy and ask again :-) regards Steve To add to Steve's humorous perosonificatious techniques. You should probably check that you aren't inadvertently using some sort of object id or window handle as a color value. As long as the object you use returns an integer you won't get an error message, but instead get different colors when the canvas object is updated. Like when changing the focus. Another place to look is where you may be adding or converting rgb color values. This function convert decimal rgb values to a hex rgb string that tkinter expects. def rgb(red, green, blue): Convert RGB value of 0 to 255 to hex Tkinter color string. return '#%02x%02x%02x' % (red, green, blue) Cheers, Ron -- http://mail.python.org/mailman/listinfo/python-list
Re: Scanning a file
[EMAIL PROTECTED] wrote: I want to scan a file byte for byte for occurences of the the four byte pattern 0x0100. data = sys.stdin.read() print data.count('\x00\x00\x01\x00') Kent -- http://mail.python.org/mailman/listinfo/python-list
Re: OEM character set issue
Dennis Lee Bieber wrote: On Fri, 28 Oct 2005 15:55:56 +0200, Ladvánszky Károly [EMAIL PROTECTED] declaimed the following in comp.lang.python: On my hungarian Win2k, some of the accented characters of the file names appear incorrectly when Python is driven from the command line. However, they The MS-DOS command window tends to use a different character encoding than full Windows widgets. You can chaneg the encoding used by the command window with the chcp command. Kent -- http://mail.python.org/mailman/listinfo/python-list
Re: Newbie question: string replace
[EMAIL PROTECTED] [EMAIL PROTECTED] writes: Now it works: rex = re.compile(r'(^.*username *=[^]*)([^]*)(.*$)') for line in fileinput.input(FILE, inplace=1): m = rex.match(line) if m is not None: line = %s%s%s\n % (m.group(1), new_name, m.group(3)) print line But there is an extra line break after each line in FILE. Why is that? Because print prints a newline after all the values you pass it. I tried to line = %s%s%s % (m.group(1), new_name, m.group(3)) but it turns out there are two extra line breaks after each line... It's not clear what you mean by this. I would have expected this change to solve the problem. Where do you get two extra newlines? mike -- Mike Meyer [EMAIL PROTECTED] http://www.mired.org/home/mwm/ Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information. -- http://mail.python.org/mailman/listinfo/python-list
Re: Typing tutor help script needed, please
Throw [EMAIL PROTECTED] wrote in comp.lang.perl.misc: G'day everyone! I would like to design typing tutor exercises for Afrikaans (and other languages possibly). This is for a GPL project. For this, I need a script that can extract words from a long list of words, based on which letters those words contain, and write then write output to a file. Does anyone know of an existing script for this, or can anyone write me one, please? For the letters a, d, f and g: perl -ne 'print if /^[adfg]+$/' /list/of/words words_with_adfg For other combinations, change both occurrences of adfg. Anno -- If you want to post a followup via groups.google.com, don't use the broken Reply link at the bottom of the article. Click on show options at the top of the article, then click on the Reply at the bottom of the article headers. -- http://mail.python.org/mailman/listinfo/python-list
Re: Typing tutor help script needed, please
reinstated the context that was omitted by SPE Throw wrote: I must be able to extract words which contain only certain letters (they need not contain all of those letters, but they may not contain any other letters). SPE - Stani's Python Editor wrote: #---Input data #List of words; every word or sentence on one line #If from file: WORDS = open(fileName).readlines() WORDS = \ Afrikaans Anna Bread red word bored python.split('\n') #---Main program import re PATTERN = ['[^(%s)]+','[%s]+'] FILENAME= ['not_%s.txt','%s.txt'] def filter(letters='bdeor',words=WORDS,contain=True,ignoreCase=True): pattern = PATTERN[contain]%'|'.join(list(letters)) if ignoreCase: allowed = re.compile(pattern,re.IGNORECASE) else: allowed = re.compile(pattern) result = [] for word in words: match = allowed.match(word) if match and match.group(0) == word: result.append(word) print result output = open(FILENAME[contain]%letters,'w') output.write('\n'.join(result)) output.close() if __name__ == '__main__': filter() --- This should do it. Am I underestimating the task, it looks simple enough for the simplest grep? # perl -n -e print if /^[bdeor]+$/i words.txt red bored -- http://mail.python.org/mailman/listinfo/python-list
Re: Why doesn't this work? :)
On Fri, 2005-10-28 at 14:50 -0400, Chris Lambacher wrote: I think what you really want is: try: # this will fail and be caught # below, w import foobar except ImportError, error: class foobarclass: def __getattr__(*args, **kargs): return None foobar = foobarclass() print foobar.bg foobar in your version is a class. By making it an instance, the __getattr__ method is properly called. -Chris :) Well, that's what I am using. :) What I'm wondering is if the other method could work, of if it simply impossible in Python considering it's underlying implementation. On Fri, Oct 28, 2005 at 02:02:29PM -0400, Jeremy Moles wrote: Jumping right into the code (which should speak for itself): # --- try: # this will fail and be caught # below, w import foobar except ImportError, error: class foobar: @staticmethod def __getattr__(*args, **kargs): return None print foobar.bg # --- This doesn't work and I'm just curious as to why? I can, of course, make __getattr__ non-static, instantiate a foolbar object, and everything works; but, the idea above seems cleaner and whatnot. :) Am I misunderstanding something fundamental about the builtin __* functions? Can they not be static? No rush on this, just curious. I'm using the following in a more general way, and it works fine for now... :) # --- try: import foobar except ImportError, error: class Foobar: def __getattr__(*args, **kargs): return None foobar = Foobar() print foobar.bg # --- -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list
Re: Newbie question: string replace
hm...Is there a way to get rid of the newline in print? -- http://mail.python.org/mailman/listinfo/python-list
Re: Newbie question: string replace
Got it, thanks all! -- http://mail.python.org/mailman/listinfo/python-list
Print to printer
I can't seem to figure out how to print with my printer using python. I'm using Mac OSX 10.4. I was thinking maybe something with applescript. Does anyone know? -- http://mail.python.org/mailman/listinfo/python-list
Re: Microsoft Hatred FAQ
Mike Meyer [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] The quote about the mafia doesn't compare MS's actions to actual use of force. I'm sorry, that's just absurd. I won't speculate on what motivates you to engage in such crazy distortion. Of course the quote about the Mafia compares MS's actions to actual use of force. It compares MS to people who are willing to use force to get their ends. But there is no actual use of force. This is a gross distortion. What makes the Mafia the Mafia, and the only reason to invoke them, is because they actually do use and threaten force. They're not just willing to use force, they directly threaten it and use it to get their ends, and it's the only thing they do. The type of threatening force that the Mafia uses it the type that is itself force. When you say to someone give me all your money or I'll shoot you, it's force whether or not you actually have to shoot them. DS -- http://mail.python.org/mailman/listinfo/python-list
drag/move image from staticBitmap control?
Hi, all gurus, I have an application to show bitmap image on one wx.staticBitmap control area, I can display part of the image, or the whole image(detail is unclear), But I would like to use mouse to drag/move the image inside thewx.staticBitmap control when only part image on the screen, just like maps.google does, is it possible to do that? Any sample code or any idea or suggestion are appreciated! Have a nice weekend! James -- http://mail.python.org/mailman/listinfo/python-list
Re: Microsoft Hatred FAQ
Lasse Vågsæther Karlsen [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Ok, let me just make my opinion very clear on this and then I'll just leave this thread altogether. I think you are comparing apples and oranges so whatever conclusion you manage to draw from that is in my eyes invalid. It doesn't matter, in my opinion, if you managed to conclude that Microsoft was the saints themselves because, in my opinion, your reasoning is not valid. I'm not saying one way or the other, I'm just picking at your reasoning. To me it sounds like concluding that the prices of RAM will drop because the swallows are flying high this fall. But enough, I'll just leave it. There is no value whatsoever in simply saying I don't agree with you and including no argument or reasoning. Were you afraid someone might erroneously think you did agree with me and that this would harm your reputation? If you want to participate in discussion, you have to make claims and defend them. MS imposed a restriction that was logically lesser than saying if you want to buy Windows wholesale, you cannot sell products that compete with PCs with Windows pre-loaded on them. (Logically lesser because they allowed you sell them but charged a fee. You could avoid the fee by simply not selling them.) This is a perfectly ordinary type of franchise sales arrangement engaged in by companies of all kinds. For someone who does not already have a monopoly, it is even perfectly legal. DS -- http://mail.python.org/mailman/listinfo/python-list
? Pythoncard
I have created a small gui stub as follows using Pythoncard: c:\myhome lmsgui.py lmsgui.rsrc.py When I try to run I get the following error: (Errno2) no such file or directory lmsqui.rsrc.py I understand why I am getting the error the question is how do I fix this so it looks in the proper directories. Len Sumnler -- http://mail.python.org/mailman/listinfo/python-list
Re: Microsoft Hatred FAQ
David Schwartz [EMAIL PROTECTED] writes: Is it your position that Micorosoft's monopoly was illegal when they first acquired it? It's utterly irrelevant whether it was illegal when they acquired it. The law is against acquiring OR MAINTAINING a monopoly by anticompetitive means. That's what MS was convicted of. No. I have never received a dime from Microsoft, either directly or indirectly. I am one of those people who believes that conduct that's perfectly legal, moral and ethical before you can be said to have a monopoly does not suddenly become immoral or unethical the day you acquire 51% of what someone calls a market. The Sherman Act has nothing to do with acquiring 51% of a market. I am not the only person with this view. http://www.capitalism.org/faq/antitrust.htm http://www.amazon.com/exec/obidos/tg/detail/-/0945999623?v=glance http://www.cato.org/pubs/pas/pa-169.html http://www.independent.org/publications/books/book_summary.asp?bookID=31 http://www.ntu.org/main/press.php?PressID=344org_name=NTUF I could care less what the self-serving libertarian lunatic fringe thinks. -- http://mail.python.org/mailman/listinfo/python-list