Re: general coding issues - coding style...
On 2006-02-20, JW [EMAIL PROTECTED] wrote: Hi JW, About this line: 1585 if sys.path[0][-12:] == \library.zip: #for py2exe pl... suggested: if sys.path[0].endswith( \\library.zip ): print \\library.zip Yeah, I have two backslashes, but thaks for pointing out. If you don't use the double backslash, you'll eventually have a problem, especially in Windows, which unfortunately uses the backslash as a directory seperator. You might also want to look at os.sep and the os.path.* functions, if you are interested in making your code work on different platforms. Yeah, I will use the os.sep variable, that's a good idea thanks a lot, calmar -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
Re: general coding issues - coding style...
On 2006-02-19, Bruno Desthuilliers [EMAIL PROTECTED] wrote: Bonjour, 1/ learn OO and get rid of globals. Well I created two classes now. I put some things global (your point 6). e.g. if it's on Windows or not, and other things. 2/ use dict or list based dispatch instead of long if/elif/elif... clauses when I find out what you mean, I will. Probably something lika a 'case' thing? #python meant a list containing functions or so. So that the values represent the functions to call, isn 'it? 3/ stdout is meant for *normal* program outputs. Errors and verbosity go to stderr yeah, changed (somebit) 4/ triple quoted strings are fine for multiline text yeah. I have lot of triple prints... 5/ os.path is fine for portable filepath operations I don't really understant what you mean here, sorry 6/ things that dont change during program execution (ie : constants) should not be defined inside a function As I mentioned above, these I placed globally: main gtkwindows, smwin or not, pyexe or not, preferred encoging according to your statement? Anyway, since I did lot of changes, I'm myself confused actually. http://calmar.ws/tmp/cal.html Will try to cleanup and implement even further all good advices from all in some days. Thanks a lot!! calmar -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
Re: general coding issues - coding style...
On 2006-02-18, Justin Azoff [EMAIL PROTECTED] wrote: Hi all, Dylan Moreland wrote: I would look into one of the many Vim scripts which automatically fold most large blocks without the ugly {{{. Who needs a script? set foldmethod=indent works pretty well for most python programs. Well, foldmethod=marker does not bother me, because the folds are normally closed. With markers, it takes one line per function, with indent I see 2, so I prefer markers. ..and since I can easily get rid of them, and add them again, I will at least remove them before e.g. putting to the web or so. Cheers and thanks, calmar -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
Re: general coding issues - coding style...
On 2006-02-18, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi, 1585 if sys.path[0][-12:] == \library.zip: #for py2exe if sys.path[0].endswith( \\library.zip ): cool, thx, (did you really mean one back-slash there?) (yeah, one backslash) 499 tuple = os.path.split(filename) bad variable name... tuple(x) converts a sequence to a tuple. I see, I changed that to path, filen = os.path.split(filename) You have a number of places where you check for len(x)==0: 674 if len(files) == 0: -- if not files: I see. thx you should run your code through pychecker (it had a lot to say...). I see, cool tool that pychecker! I can't do something against the 'not used variable' so probably? (since pygtk just sends those items anyway) You use global alot... that should be a red flag. Like the poster above mentioned, you have things that are telling you they want to be objects. I will try to get some order (classes) and maybe remove them. thanks a lot!! cheers, calmar -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
general coding issues - coding style...
Hi all, since I'm just a 'handicraft'/beginner or so, could anybody provide me with some (rough) hints, about how to enhance the code here: http://calmar.ws/tmp/cal.html Cheers and thanks a lot calmar -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
Re: general coding issues - coding style...
On 2006-02-18, Diez B. Roggisch [EMAIL PROTECTED] wrote: Hi Diez, - why are these {{{ thingies there? markers for folding for vim http://www.calmar.ws/tmp/sc.png - use string interpolation like Foo %s %i % (bar, 1) instead of concatenating strings. I see, get's shorter and so, and I can break lines. (seems to me, after ( or [ or so, I can use a new line without to worry) - it seems that you could benefit from a class instead of a bunch of functions few globals. No need to go too crazy about OO, but it has its merits I see. Maybe I could then build some classes for that prog, especially since I use only one file, it probably would make some sense for getting a better structure. - try using something like glade - creating GUIs by hand sucks big-timer :) I should (seriously) check out probably. - read up about unicode and encodings, what they mean and why and when to use what. Really. Most problems in that field stem from people being sort of ignorant on that topic and just wiggling themselves through all the time - in the end, messing up stuff. It really _isn't_ that complicated. I read up. In fact, basically it does not seem to be that complicate. Unicode just a 'numbered' list of all available character, and e.g. uft-8 a organized way to 'store' those 'numbers' wisely into bytes. I still have some problems with that (and gave up), but since I begin to now understand it somebit more, I should try/check again. - when creating string-keyed dicts, the idiom dict(foo=bar, baz=pillepalle) I see, I changed too. Thanks a lot, marco -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
text encodings - subprocess.Popen or - labelmarkup (pygtk)
Hi all, first of all, I have to say I have hardly no knowledge about that issue. on the program there, I have it like that: ,--- | obj = unicode(newcomment, 'utf-8') | newcomment = obj.encode('latin-1') | | pipe = subprocess.Popen(tot, stdout=subprocess.PIPE,\ |stderr=subprocess.PIPE, shell=False) `--- that seems to work with that construction above. Then I think, 'what' kind of encoding I can send to an external program, depends also on that program? Or on the environment? If, then how could I get that environemnt? (the programs runs also under MS windows) Well, maybe someone has some hints about encodings issues like that, and what I can send to external commands? thanks a lot calmar -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
Re: get output of cmd-line command under MS windows
On 2006-02-08, Bernard Lebel [EMAIL PROTECTED] wrote: Hi Bernhard, You should give a go to os.popen( system command here ). Article 6.1.2 and 6.1.3 in the Python Library doc. that was good, but on python2.4 subprocess is GREAT! e.g.: pipe = subprocess.Popen(tot, stdout=subprocess.PIPE,\ stderr=subprocess.PIPE, shell=False) message = pipe.stdout.read() error = pipe.stderr.read() thanks all, calmar -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
Re: get output of cmd-line command under MS windows
On 2006-02-08, Bernard Lebel [EMAIL PROTECTED] wrote: Hi Bernhard and all, oPipe = os.popen( run C:/program files/my app/executable.exe ) while 1: sLine = oPipe.read() print sLine if sLine == '': print 'No more line from pipe, exit.' break I see. I saw also os.popen().read() or so. Anyway, not sure if that would also catch stderr? But doesn't matter. It seems, imagemagick (binaries) won't provide proper error-codes, but at least when it prints something, something was not ok probably. I will check the resulting file, to see if everything went ok, and try to catch the output like you mentioned. thanks a lot marco -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
get output of cmd-line command under MS windows
Hi all, unfotunately, 'commands.getstatusoutput(command)' does not work under windows. Would there be any alternative? os.system also just provides the exit number I think. thanks a lot, and cheers marco -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list