Re: Converting DD MM YYYY into YYYY-MM-DD?

2009-08-18 Thread Gilles Ganault
Thanks everyone for the help. This script is just a one-shot thingie
on my work host, not as a web script or anything professional.

On Mon, 17 Aug 2009 17:05:28 -0700 (PDT), Jonathan Gardner
 wrote:
>Unfortunately, there isn't any string to date parsers in the built-
>ins. Not to worry, though, since writing your own is easy, especially
>if you use regular expressions from the re module. I suggest using an
>RE such as:
>
>r"(?P\d+)\s+(?P\w+)\s+(?P\d+)"

I've never seen regexes like this. I'm curious to know what those
mean:

r = Unicode?

(?P = ? means that it shouldn't be greedy, what about P?
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: define class over 2 files

2009-08-18 Thread naveen
> > Is it possible to split up a class definition over multiple files?
>
> Not exactly, but you can do variations of this:
... [subclass a class]
> Steven

Thanks Steven.
I guess I will just preprocess the script:

cat partA.py > class.py
cat partB >> class.py
python class.py


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


Re: Converting DD MM YYYY into YYYY-MM-DD?

2009-08-18 Thread Ben Finney
Gilles Ganault  writes:

> Thanks everyone for the help. This script is just a one-shot thingie
> on my work host, not as a web script or anything professional.
>
> On Mon, 17 Aug 2009 17:05:28 -0700 (PDT), Jonathan Gardner
>  wrote:
> >r"(?P\d+)\s+(?P\w+)\s+(?P\d+)"
>
> I've never seen regexes like this. I'm curious to know what those
> mean:

Luckily, you have access to the documentation to find out.

> r = Unicode?

http://docs.python.org/reference/lexical_analysis.html#string-literals>

> (?P = ? means that it shouldn't be greedy, what about P?

http://docs.python.org/library/re#regular-expression-syntax>

-- 
 \  “We reserve the right to serve refuse to anyone.” —restaurant, |
  `\ Japan |
_o__)  |
Ben Finney
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: define class over 2 files

2009-08-18 Thread Ben Finney
naveen  writes:

> I guess I will just preprocess the script:
> 
> cat partA.py > class.py
> cat partB >> class.py
> python class.py
> 

This, to me, is a programming smell; not necessarily bad, but an
indicator of bad practice. What is the problem you're trying to solve?
I'll wager there are better ways to address it.

-- 
 \   “Laugh and the world laughs with you; snore and you sleep |
  `\alone.” —anonymous |
_o__)  |
Ben Finney
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Changing Python Opcodes

2009-08-18 Thread Diez B. Roggisch

Sreejith K schrieb:

Hi,

I know this is not the best way to do it. But I have to do it at least
to make it *hard* to decompile the python bytecode.

I want to distribute a software written in Python without the source.
So I compiled Python from source changing some opcode values (Taking
care of HAVE_ARGUMENT value) and distributed with the .pyc files. It
did compile but when I'm installing additional python modules using
easy_install, the import fails with a segmentation fault. It worked in
a 32 bit Centos 5.2 but not on 64bit Centos 5.2. I am using python
2.5.4 source.

I changed only the Include/opcode.py source with my jumbled opcode
values. Was I correct here ? I would like to know what all changes to
be made as to successfully compile a custom python with different
opcode values ?


As you are the one who modified your Python, you are the one responsible 
for debugging that - noone else can.


Did you try installing the egg *without* pyc-files in there? Because 
naturally those shouldn't work. They shouldn't crash the interpreter 
either, but then again - you *did* modify it.


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


Re: Changing Python Opcodes

2009-08-18 Thread Sreejith K
On Aug 18, 12:19 pm, "Diez B. Roggisch"  wrote:

> Did you try installing the egg *without* pyc-files in there? Because
> naturally those shouldn't work. They shouldn't crash the interpreter
> either, but then again - you *did* modify it.

Hi Diez, thanks for the immediate reply :)

I installed the setuptools using ez_setup.py script. Then I used the
easy_install to install additional modules. When importing the
installed modules segfault occurs. The module I installed was
TurboGears.

Then I thought that it happened maybe because the easy_install script
is downloading eggs for original python (I'm not sure if it is what
easy_install is doing). So I also tried to install the module by
downloading all the dependencies (tar.gz files) and building it. Even
then segfault occured. Is there any problem in changing only the
opcodes.py file ? I did something horribly wrong here. Hope someone
will help...
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Converting DD MM YYYY into YYYY-MM-DD?

2009-08-18 Thread Gilles Ganault
On Tue, 18 Aug 2009 17:10:50 +1000, Ben Finney
 wrote:
>Luckily, you have access to the documentation to find out.

I never used groups before. Thanks for showing me.

At this point, the script is almost done, but the regex fails  if the
month contains accented characters (eg. "Août", but fine if eg.
"Jan").

Adding a line to load the French locale doesn't help :-/

Any idea what I could do to keep the regex happy?

Thank you.

==
import re
import apsw
import locale

#In case error due to accent in month name, but no soup 4 U
locale.setlocale(locale.LC_ALL, 'FR')

connection=apsw.Connection("test.sqlite")
cursor=connection.cursor()

re_inscription =
re.compile(r"(?P\d+)\s+(?P\w+)\s+(?P\d+)")

sql = 'SELECT id,dateinscription,dateconnexion FROM mytable'
rows=list(cursor.execute(sql))
for row in rows:
dateinscription = row[1]
dateconnexion = row[2]

#Prints OK
print dateinscription

m = re_inscription.search(dateinscription)
if m:
day = m.group("date")
month = m.group("month")
year = m.group("year")
print "%s-%s-%s" % (year,month,day)
else:
print "No go"
==
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Data visualization in Python

2009-08-18 Thread Weinhandl Herbert

Am 2009-08-17 21:10, schrieb kj:

I'm looking for a good Python package for visualizing
scientific/statistical data.  (FWIW, the OS I'm interested in is
Mac OS X).

The users of this package will be experimental biologists with
little programming experience (but currently learning Python).


SciDAVis is a free application for Scientific Data Analysis and Visualization.

http://scidavis.sourceforge.net/


Veusz is a scientific plotting and graphing package written in Python.

http://home.gna.org/veusz/


Open source data visualization and analysis for novice and experts. Data mining 
through visual programming or Python scripting. Extensions for bioinformatics 
and text mining. Comprehensive, flexible and fast.


http://www.ailab.si/orange/


(I normally visualize data using R or Mathematica, but I don't want
to saddle these novices with the task of learning yet another
language.)



hth

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


Re: Converting DD MM YYYY into YYYY-MM-DD?

2009-08-18 Thread Rami Chowdhury
Could you let me know which platform this is on (Windows, *nix)? It may be a 
locale encoding issue -- the locale.setlocale() function allows the second 
argument to be a tuple of (locale_code, encoding), as below:

locale.setlocale(locale.LC_ALL, ('FR', 'UTF-8'))

Since this is for a one-shot (and presumably threading-agnostic) program, and 
a fairly trivially formatted date-string, I would suggest using 
datetime.strptime 
(http://docs.python.org/library/datetime.html#datetime.datetime.strptime) and 
not regular expressions (which IIRC have Issues with non-ASCII characters). 



Rami Chowdhury
"Ninety percent of everything is crap." -- Sturgeon's Law
408-597-7068 (US) / 07875-841-046 (UK) / 0189-245544 (BD)

On Tuesday 18 August 2009 00:49:41 Gilles Ganault wrote:
> On Tue, 18 Aug 2009 17:10:50 +1000, Ben Finney
>
>  wrote:
> >Luckily, you have access to the documentation to find out.
>
> I never used groups before. Thanks for showing me.
>
> At this point, the script is almost done, but the regex fails  if the
> month contains accented characters (eg. "Août", but fine if eg.
> "Jan").
>
> Adding a line to load the French locale doesn't help :-/
>
> Any idea what I could do to keep the regex happy?
>
> Thank you.
>
> ==
> import re
> import apsw
> import locale
>
> #In case error due to accent in month name, but no soup 4 U
> locale.setlocale(locale.LC_ALL, 'FR')
>
> connection=apsw.Connection("test.sqlite")
> cursor=connection.cursor()
>
> re_inscription =
> re.compile(r"(?P\d+)\s+(?P\w+)\s+(?P\d+)")
>
> sql = 'SELECT id,dateinscription,dateconnexion FROM mytable'
> rows=list(cursor.execute(sql))
> for row in rows:
>   dateinscription = row[1]
>   dateconnexion = row[2]
>
>   #Prints OK
>   print dateinscription
>
>   m = re_inscription.search(dateinscription)
>   if m:
>   day = m.group("date")
>   month = m.group("month")
>   year = m.group("year")
>   print "%s-%s-%s" % (year,month,day)
>   else:
>   print "No go"
> ==

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


Mercurial migration: help needed

2009-08-18 Thread Martin v. Löwis
This is a repost from two weeks ago. It didn't get much feedback last
time. I still keep trying, reposting to python-list also this time.

In this thread, I'd like to collect things that ought to be done
but where Dirkjan has indicated that he would prefer if somebody else
did it.

Item 1
--
The first item is build identification. If you want to work
on this, please either provide a patch (for trunk and/or py3k), or
(if you are a committer) create a subversion branch.

It seems that Barry and I agree that for the maintenance branches,
sys.subversion should be frozen, so we need actually two sets of
patches: one that removes sys.subversion entirely, and the other that
freezes the branch to the respective one, and freezes the subversion
revision to None.

The patch should consider what Dirkjan proposes as the branching
strategy: clones to separate 2.x and 3.x, as well as for features,
and branches with the clones for releases and maintenance (see the
PEP for details).

Anybody working on this should have good knowledge of the Python source
code, Mercurial, and either autoconf or Visual Studio (preferably both).

Item 2
--

The second item is line conversion hooks. Dj Gilcrease has posted a
solution which he considers a hack himself. Mark Hammond has also
volunteered, but it seems some volunteer needs to be "in charge",
keeping track of a proposed solution until everybody agrees that it
is a good solution. It may be that two solutions are necessary: a
short-term one, that operates as a hook and has limitations, and
a long-term one, that improves the hook system of Mercurial to
implement the proper functionality (which then might get shipped
with Mercurial in a cross-platform manner).

Regards,
Martin

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


Re: Converting DD MM YYYY into YYYY-MM-DD?

2009-08-18 Thread Gilles Ganault
On Tue, 18 Aug 2009 01:11:20 -0700, Rami Chowdhury
 wrote:
>Could you let me know which platform this is on (Windows, *nix)? It may be a 
>locale encoding issue -- the locale.setlocale() function allows the second 
>argument to be a tuple of (locale_code, encoding), as below:
>
>locale.setlocale(locale.LC_ALL, ('FR', 'UTF-8'))

It's on XP, and I'm using ActivePython 2.5.1.1.
http://www.activestate.com/activepython/

Python doesn't like the above:

#locale.Error: unsupported locale setting
locale.setlocale(locale.LC_ALL, ('FR', 'UTF-8'))

Maybe it was introduced in more recent versions of Python?

>Since this is for a one-shot (and presumably threading-agnostic) program, and 
>a fairly trivially formatted date-string, I would suggest using 
>datetime.strptime 
>(http://docs.python.org/library/datetime.html#datetime.datetime.strptime) and 
>not regular expressions (which IIRC have Issues with non-ASCII characters). 

If the regex library can only handle basic latin characters, I'll wait
until a script I'm running is done, and I'll upgrade to the 2.6.2.2 to
see how it goes.

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


Re: [Python-Dev] Mercurial migration: help needed

2009-08-18 Thread Dirkjan Ochtman
On Tue, Aug 18, 2009 at 10:12, "Martin v. Löwis" wrote:
> In this thread, I'd like to collect things that ought to be done
> but where Dirkjan has indicated that he would prefer if somebody else
> did it.

I think the most important item here is currently the win32text stuff.
Mark Hammond said he would work on this; Mark, when do you have time
for this? Then I could set apart some time for it as well.

Have stalled a bit on the fine-grained branch processing, hope to move
that forward tomorrow.

Cheers,

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


conversion of Python object to perl object

2009-08-18 Thread srinivasan srinivas
Hi,
I have to call a perl method which takes a hash as its argument from a python 
module. Is there a way to convert python dictionary to perl hash ( not hash 
ref)?

Thanks,
Srini


  See the Web's breaking stories, chosen by people like you. Check out 
Yahoo! Buzz. http://in.buzz.yahoo.com/

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


sub-list extraction, logical indexation

2009-08-18 Thread Pierre
Hello Everyone,

I would like to know if it is possible to extract a sub-list from a
list ?

typically if :

L =[[1, 2, 3],[4, 5, 6],[3] ]

How to extract easily the elements 0 and 2 of L in order to get :

L2 =[[1, 2, 3],[3] ]

Moreover, I would like to know if it is possible to use logical
indexation such that :

index = [ True, False, True]
L2 = L

or usual indexation, something like
index=[0, 2]
L2 = L

I tried, but failed...
Thanks for your help

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


Re: zip codes

2009-08-18 Thread Grant Edwards
On 2009-08-17, Sjoerd Mullender  wrote:

> Also in The Netherlands, ZIP codes are much more fine-grained than in
> some other countries: ZIP code plus house number together are sufficient
> to uniquely identify an address.  I.e. you don't need the street name.
> E.g., my work address has ZIP code 1098 XG and house number 123, so
> together they indicate that I work at Science Park 123, Amsterdam.
>
> In other words, a simple city <-> ZIP mapping is not sufficient.

Same here in the US.  A 5-digit zip code narrows it down to a
neghborhood within a city, and a full 9-digit zip code is
shared with perhaps 5-10 houses -- generally I believe it
identifies one side of a one-block section of a street in a
single-family-home residential area.  In apartment or office
buildings a 9-digit zip code generally identifies a specific
floor in a specific building.  Most companies of any size have
their own zip code (or codes).  My company only has ~40
employees, and we have our own unique zip code.

-- 
Grant Edwards   grante Yow! Here I am at the flea
  at   market but nobody is buying
   visi.commy urine sample bottles ...
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Strongly typed list

2009-08-18 Thread Diez B. Roggisch

هاني الموصلي schrieb:

Please could you lead me to a way or a good IDE that makes developing
huge projects in python more easier than what i found.Now i am using
eclips. Actually it is very hard to remember all my classes methods
and attributes or copy and paste them each time.
Thanks very much for your interest
Hani Almousli.


There are many really big projects written in Python - none of them with 
the aid of intelli-sense.


What python lacks in that respect due to it's dynamic typing, it more 
than compensates by being faster to develop and having to write much 
less code.


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


Re: Xah's Edu Corner: The importance of syntax & notations.

2009-08-18 Thread Xah Lee
http://www.stephenwolfram.com/publications/recent/mathml/index.html

i was trying to find the publication date and context, but didn't find
it last time after a couple min.  Yesterday, on rereading, i did. The
article in question is:

«
Mathematical Notation: Past and Future (2000)

Stephen Wolfram
October 20, 2000
Transcript of a keynote address presented at
MathML and Math on the Web: MathML International Conference 2000
»

so, it's a speech for MathML conf in 2000.

so, this explains the error on the plimpton 322. The latest discovery
on that is published in 2002 and later.

the date of this speech also explains parts of the writings about some
mysterious “fundamental science work”, which now we know is his
controversial book A New Kind Of Science (2002).

  Xah
∑ http://xahlee.org/

☄

--
Xah Lee  wrote:

Personally, particular interesting info i've learned is that, for all
my trouble in the past decade expressing problems of traditional math
notation, i learned from his article this single-phrase summary:
“traditional math notation lacks a grammar”.  The article is somewhat
disappointing though. I was expecting he'd go into some details about
the science of math notations, or, as he put it aptly: “linguistics of
math notations”. However, he didn't touch the subject, except saying
that it haven't been studied.

upon a more detailed reading of Stephen's article, i discovered some
errors.

On this page:http://www.stephenwolfram.com/publications/recent/mathml/
mathml2.html

he mentions the Plimpton 322 tablet. It is widely taught in math
history books, that this table is pythagorean triples.

On reading his article, i wanted to refresh my understanding of the
subject, so i looked up Wikipedia: http://en.wikipedia.org/wiki/Plimpton_322

and behold!

apparantly, in recent academic publications, it is suggested that this
is not pythagorean triples, but rather: “a list of regular reciprocal
pairs”.

  Xah
∑http://xahlee.org/

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


Re: conversion of Python object to perl object

2009-08-18 Thread Chris Rebert
On Mon, Aug 17, 2009 at 3:47 AM, srinivasan
srinivas wrote:
> Hi,
> I have to call a perl method which takes a hash as its argument from a python 
> module. Is there a way to convert python dictionary to perl hash ( not hash 
> ref)?

How are you calling the Perl method from Python in the first place?

Cheers,
Chris
--
http://blog.rebertia.com
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Social problems of Python doc [was Re: Python docs disappointing]

2009-08-18 Thread Paul Boddie
On 18 Aug, 05:19, [email protected] wrote:
>
> Yes, I agree.  I should have mentioned this as an exception
> in my "wikis suck" diatribe.  Although it far better than
> most wiki's I've seen, it is still pretty easy to find signs
> of typical wiki-ness.  On the Documentation page my first
> click was on AnnotableDocumentation: 404.

Well, "Annotatable Documentation" is an external link. All we can do
in such cases is to tidy such stuff up, mark it as invalid, or remove
it.

> Second try, DoumentationDiscussion: two very short paragraphs dated 2003.

Right. There are parts of the Wiki which were used actively in the
past but which have fallen into disrepair. Some pages lack focus -
they've been created according to "old school" Wiki conventions which
I regard as being somewhat obsolete (just creating new pages all over
the place to cover whatever happens to be in the writer's head at the
time) - and every now and again, I attempt to rationalise these pages
and focus their content.

> After that I found some useful (in general though not what I
> was looking for) information but not a good first impression.
> (Well not exactly first, in fairness I have used other wiki
> sections such as the Templating page and found them very
> useful.)

It needs work, of course.

[...]

> I took a look at the PHP docs last night which seem
> pretty well done.  The User Comments looked rather as I
> expected, there was useful info but most did not contain
> documentation quality writing.  So if they are used as
> a source for improving the docs, there clearly must be a
> pretty large amount of editorial effort required, although
> much of it is probably just filtering out comments that
> don't provide any information appropriate for inclusion
> in the docs.  They list 38 names under "User Note Maintainers"
> (http://www.php.net/manual/en/preface.php)
> Unfortunately I couldn't find a description of what these
> people actually do.  I don't know how much work was involved
> in removing the comments that are no longer there.

Indeed. There's always the editorial bottleneck unless it's a total
free-for-all situation. I've remarked before about how user comments
don't necessarily add significantly to documentation, which is an
assertion that some people make, and there definitely does need to be
a process of integrating the best feedback into the main work. The
crucial difference between a Wiki and an annotation system is the
combination of the contribution and editorial aspects in a Wiki - you
edit the actual work, and people can decide whether it's a good edit
or not - in contrast to their separation in most annotation systems.
In some cases, strict annotation systems are probably better: the
GPLv3 annotation system was oriented towards discussion of the text,
and that's not so effectively done in a Wiki.

> Again, I don't mean to sound like I am dissing the idea
> of annotatable docs -- I think it is a good idea and will
> provide useful supplementary information.

Where there's a separation of annotation and editing, I worry about
the editorial bottleneck. I also worry about "handprint" edits more
generally, where people just want to leave their touch on the work
without actually contributing anything of substance.

> But I continue to question whether this will result in
> improvements in the docs themselves (which is my main
> interest) unless:
>
>    1. The purpose of the wiki is clearly "marketed" as
> soliciting suggestions, rewrites, etc destined ultimately
> for inclusion in the docs.

I'm happy to see tangential work rather than stuff which fills exactly
the same role as the current documentation. For example, the Python
module of the week articles (PyMOTW, [1]) are exactly the kind of
tangential work that could be encouraged, even though that is not so
much a collaborative work itself.

Paul

[1] http://www.doughellmann.com/PyMOTW/
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Converting DD MM YYYY into YYYY-MM-DD?

2009-08-18 Thread Rami Chowdhury
> Python doesn't like the above:
>
> #locale.Error: unsupported locale setting
> locale.setlocale(locale.LC_ALL, ('FR', 'UTF-8'))
>
> Maybe it was introduced in more recent versions of Python?
Hmm, that's odd. According to the docs 
(http://docs.python.org/library/locale.html#locale.setlocale) it's been that 
way since 2.0, but I've just checked this on my Windows (Vista) machine and 
you're right, it returns an error. 

This worked for me on 32-bit Vista:

locale.setlocale(locale.LC_ALL, 'FR')

It uses Windows-1252 for the encoding, but that seems to deal with the 
circonflexe in 'Août' just fine, so it should work for this purpose.



Rami Chowdhury
"Never attributed to malice that which can be attributed to stupidity." -- 
Hanlon's Razor
408-597-7068 (US) / 07875-841-046 (UK) / 0189-245544 (BD)

On Tuesday 18 August 2009 01:19:53 Gilles Ganault wrote:
> On Tue, 18 Aug 2009 01:11:20 -0700, Rami Chowdhury
>
>  wrote:
> >Could you let me know which platform this is on (Windows, *nix)? It may be
> > a locale encoding issue -- the locale.setlocale() function allows the
> > second argument to be a tuple of (locale_code, encoding), as below:
> >
> >locale.setlocale(locale.LC_ALL, ('FR', 'UTF-8'))
>
> It's on XP, and I'm using ActivePython 2.5.1.1.
> http://www.activestate.com/activepython/
>
> Python doesn't like the above:
>
> #locale.Error: unsupported locale setting
> locale.setlocale(locale.LC_ALL, ('FR', 'UTF-8'))
>
> Maybe it was introduced in more recent versions of Python?
>
> >Since this is for a one-shot (and presumably threading-agnostic) program,
> > and a fairly trivially formatted date-string, I would suggest using
> >datetime.strptime
> >(http://docs.python.org/library/datetime.html#datetime.datetime.strptime)
> > and not regular expressions (which IIRC have Issues with non-ASCII
> > characters).
>
> If the regex library can only handle basic latin characters, I'll wait
> until a script I'm running is done, and I'll upgrade to the 2.6.2.2 to
> see how it goes.
>
> Thank you.

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


Re: XML parsing with python

2009-08-18 Thread inder
On Aug 18, 11:24 am, Stefan Behnel  wrote:
> inder wrote:
> > On Aug 17, 8:31 pm, John Posner  wrote:
> >>> Use the iterparse() function of the xml.etree.ElementTree package.
> >>>http://effbot.org/zone/element-iterparse.htm
> >>>http://codespeak.net/lxml/parsing.html#iterparse-and-iterwalk
> >>> Stefan
> >> iterparse() is too big a hammer for this purpose, IMO. How about this:
>
> >>   from xml.etree.ElementTree import ElementTree
> >>   tree = ElementTree(None, "myfile.xml")
> >>   for elem in tree.findall('//book/title'):
> >>       print elem.text
>
> >> -John
>
> > Thanks for the prompt reply .
>
> > I feel let me try using iterparse. Will it be slower compared to SAX
> > parsing ... ultimately I will have a huge xml file to parse ?
>
> If you use the cElementTree module, it may even be faster.
>
> > Another question , I will also need to validate my xml against xsd . I
> > would like to do this validation through the parsing tool  itself .
>
> In that case, you can use lxml instead of ElementTree.
>
> http://codespeak.net/lxml/
>
> Stefan

Hi ,

Is lxml part of standard python package ? I am having python 2.5 .

I might not be able to use any additional package other than the
standard python . Could you please suggest something part of standard
python package ?

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


Re: Changing Python Opcodes

2009-08-18 Thread Diez B. Roggisch
Sreejith K wrote:

> On Aug 18, 12:19 pm, "Diez B. Roggisch"  wrote:
> 
>> Did you try installing the egg *without* pyc-files in there? Because
>> naturally those shouldn't work. They shouldn't crash the interpreter
>> either, but then again - you *did* modify it.
> 
> Hi Diez, thanks for the immediate reply :)
> 
> I installed the setuptools using ez_setup.py script. Then I used the
> easy_install to install additional modules. When importing the
> installed modules segfault occurs. The module I installed was
> TurboGears.
> 
> Then I thought that it happened maybe because the easy_install script
> is downloading eggs for original python (I'm not sure if it is what
> easy_install is doing).

Yep, that's actually it's main purpose.

> So I also tried to install the module by 
> downloading all the dependencies (tar.gz files) and building it. Even
> then segfault occured. Is there any problem in changing only the
> opcodes.py file ? I did something horribly wrong here. Hope someone
> will help...

I don't know. You modified this yourself. If I were in your situation, what
I would have done is to 

 - modify the version-information stored in my PYC-files so that I'm sure I
don't accidentally load any "normal" PYC-files. Python does check that
through some magic number, make sure you use your own.

 - fire up the debugger and see where the segfault actually happens. Nobody
can be helping you there, because it's *your* code, not Python anymore. And
giving others access to it defies somewhat the purpose of the whole
exercise

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


Re: Converting DD MM YYYY into YYYY-MM-DD?

2009-08-18 Thread Gilles Ganault
On Tue, 18 Aug 2009 10:52:41 +0200, Gilles Ganault 
wrote:

>I find it odd that the regex library can't handle European characters
>:-/

Ha, found it! :-)

http://www.regular-expressions.info/python.html

=
# -*- coding: latin-1 -*-

import locale
import re

locale.setlocale(locale.LC_ALL, 'FR')

re_inscription =
re.compile(r"(?P\d+)\s+(?P\w+)\s+(?P\d+)",re.LOCALE)

dateinscription = "11 Août 2008"

m = re_inscription.search(dateinscription)
if m:
day = m.group("date")
month = m.group("month")
year = m.group("year")
print "%s-%s-%s" % (year,month,day)
else:
print "Yuck"
=

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


Re: Social problems of Python doc [was Re: Python docs disappointing]

2009-08-18 Thread Paul Rubin
[email protected] writes:
> I took a look at the PHP docs last night which seem pretty well
> done.  The User Comments looked rather as I expected, there was
> useful info but most did not contain documentation quality writing.
> So if they are used as a source for improving the docs, there
> clearly must be a pretty large amount of editorial effort required,
> although much of it is probably just filtering out comments that
> don't provide any information appropriate for inclusion in the docs.

The comments section contains questions from users and answers to
those questions from other users.  What you may be missing is the part
of the comments useful to the doc maintainers is primarily the user
questions, rather than the user answers.  The questions show the doc
writer exactly what parts of the official doc are unclear or
incomplete.  The user-written answers may be wrong or generally crap,
but the doc writer now knows what to do to improve the doc.  That's
why it's such a win to have the comments on the same page as the
official docs.

See also the user-commented http://book.realworldhaskell.org/read/
where the comments really helped clarify the finished (dead tree) text.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: XML parsing with python

2009-08-18 Thread Stefan Behnel
inder wrote:
> Is lxml part of standard python package ? I am having python 2.5 .

No, that's why I suggested ElementTree first.


> I might not be able to use any additional package other than the
> standard python . Could you please suggest something part of standard
> python package ?

No, there isn't any XMLSchema support in the stdlib.

However, you may still be able to use lxml locally for development and with
validation enabled, and switch to non-validating ElementTree on
distribution/pre-prod-testing/whatever. Just use a conditional import and
write a bit of setup code.

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


Re: Need cleanup advice for multiline string

2009-08-18 Thread Hendrik van Rooyen
On Monday 17 August 2009 23:06:04 Carl Banks wrote:
> On Aug 17, 10:03 am, Jean-Michel Pichavant 
>
> wrote:
> > I'm no English native, but I already heard women/men referring to a
> > group as "guys", no matter that group gender configuration. It's even
> > used for group composed exclusively of women. Moreover it looks like a
> > *very* friendly form, so there is really nothing to worry about it.
>
> I like how being very friendly means calling people after a guy who
> tried to blow up the English Parliament.

+1 QOTW  - Hendrik



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


Re: Converting DD MM YYYY into YYYY-MM-DD?

2009-08-18 Thread Ben Finney
Gilles Ganault  writes:

> dateinscription = "11 Août 2008"

For any text string that's not ASCII, you should specify it as Unicode.
(Actually, you should specify text as Unicode anyway.) For a literal
text string:

dateinscription = u"11 Août 2008"

If you're using exclusively Python 3, you will get Unicode text literals
by default; but I assume you're using Python 2 based on existing
discussion.

The principles of handling text in Python: Get it to internal Unicode
objects as soon as possible, handle it as Unicode for as long as
possible, and only encode it to some byte stream for output as late as
possible.

-- 
 \   “When a well-packaged web of lies has been sold to the masses |
  `\over generations, the truth will seem utterly preposterous and |
_o__)its speaker a raving lunatic.” —Dresden James |
Ben Finney
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Diversity in Python (was Re: Need cleanup advice for multiline string)

2009-08-18 Thread Hendrik van Rooyen
On Tuesday 18 August 2009 06:45:39 Aahz wrote:
> In article ,
>
> Steven D'Aprano   wrote:
> >The comments were made a week ago -- why the sudden flurry of attention?
>
> Mainly an opportunity to flog the new diversity list.

Here my English fails me - flog as in "whip", or flog as in "sell"?

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


urlopen errors in script

2009-08-18 Thread Sleepy Cabbage
I'm scripting a superkaramba theme using python and have intgrated output
from amarok. I have also would like to show the artist and song title from
a radio stream i've added to my playlist.

If I open a python console and add the following:

>>>import urllib2
>>>from urllib2 import urlopen

>>>nowplaying = str.split(urlopen('http://www.hearteastmids.co.uk//
jsfiles/NowPlayingDisplay.aspx?f=http%3A%2F%2Frope.ccap.fimc.net%2Ffeeds%
2Fnowplaying%2FGlobal%2FHeart_Network%2FHeart_East_Midlands%
2F6854.xml&l=6854&tzc=8&at=HeartEastMids').read(),'>')

>>>print test[4][:-3]

this works and displays the artist and song title.

However, when I add this to my script I get the following errors:



superkaramba(28855) ThemesDlg::addThemeToList: addThemeToList() file:  "/
home/sleepy/dev/MyTheme/
MyTheme.theme"
superkaramba(28855) Karamba::startKaramba: Loading script module:
"MyTheme.py"
superkaramba(28855) KarambaInterface::initInterpreter: Using  "python"
script:  "/home/sleepy/dev/MyTheme/
MyTheme.py"
Kross: "Loading the interpreter library for python"
Kross: "Successfully loaded Interpreter instance from library."
Kross:
"PythonScript::Constructor."
Kross:
"PythonScript::execute"
Kross:
"PythonInterpreter::extractException:
  File "/home/sleepy/dev/MyTheme/MyTheme.py", line 4, in

#this import statement allows access to the karamba
functions

  File "/home/sleepy/dev/MyTheme/MyTheme.py", line 9, in 
import urllib2

  File "", line 18, in _import

  File "/usr/lib/python2.6/urllib2.py", line 92, in 
import httplib

  File "", line 18, in _import

  File "/usr/lib/python2.6/httplib.py", line 1054, in 
import ssl

  File "", line 18, in _import

  File "/usr/lib/python2.6/ssl.py", line 81, in 
class SSLSocket (socket):
"
Kross: "Error error=Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given) lineno=81 trace=
  File "/home/sleepy/dev/MyTheme/MyTheme.py", line 4, in

#this import statement allows access to the karamba functions

  File "/home/sleepy/dev/MyTheme/MyTheme.py", line 9, in 
import urllib2

  File "", line 18, in _import

  File "/usr/lib/python2.6/urllib2.py", line 92, in 
import httplib

  File "", line 18, in _import

  File "/usr/lib/python2.6/httplib.py", line 1054, in 
import ssl

  File "", line 18, in _import

  File "/usr/lib/python2.6/ssl.py", line 81, in 
class SSLSocket (socket):
"
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/apport_python_hook.py", line 38,
in apport_excepthook
from apport.packaging_impl import impl as
packaging
  File "", line 18, in
_import
  File "/usr/lib/python2.6/dist-packages/apport/__init__.py", line 1, in

from apport.report import
Report
  File "", line 18, in
_import
  File "/usr/lib/python2.6/dist-packages/apport/report.py", line 21, in

import
fileutils
  File "", line 18, in
_import
  File "/usr/lib/python2.6/dist-packages/apport/fileutils.py", line 16,
in 
from packaging_impl import impl as
packaging
  File "", line 18, in
_import
  File "/usr/lib/python2.6/dist-packages/apport/packaging_impl.py", line
18, in 
import
apt
  File "", line 18, in
_import
  File "/usr/lib/python2.6/dist-packages/apt/__init__.py", line 7, in

from apt.package import
Package
  File "", line 18, in
_import
  File "/usr/lib/python2.6/dist-packages/apt/package.py", line 23, in

import
httplib
  File "", line 18, in
_import
  File "/usr/lib/python2.6/httplib.py", line 1054, in

import
ssl
  File "", line 18, in _import
  File "/usr/lib/python2.6/ssl.py", line 81, in 
class SSLSocket (socket):
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)

Original exception was:
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)
Kross: "PythonScript::Destructor."



Thanks in advance

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


urlopen errors in script

2009-08-18 Thread Sleepy Cabbage
I'm scripting a superkaramba theme using python and have intgrated output
from amarok. I have also would like to show the artist and song title from
a radio stream i've added to my playlist.

If I open a python console and add the following:

">>>import urllib2"
">>>from urllib2 import urlopen"

">>>nowplaying = str.split(urlopen('http://www.hearteastmids.co.uk//
jsfiles/NowPlayingDisplay.aspx?f=http%3A%2F%2Frope.ccap.fimc.net%2Ffeeds%
2Fnowplaying%2FGlobal%2FHeart_Network%2FHeart_East_Midlands%
2F6854.xml&l=6854&tzc=8&at=HeartEastMids').read(),'>')"

">>>print test[4][:-3]"

this works and displays the artist and song title.

However, when I add this to my script I get the following errors:



superkaramba(28855) ThemesDlg::addThemeToList: addThemeToList() file:  "/
home/sleepy/dev/MyTheme/
MyTheme.theme"
superkaramba(28855) Karamba::startKaramba: Loading script module:
"MyTheme.py"
superkaramba(28855) KarambaInterface::initInterpreter: Using  "python"
script:  "/home/sleepy/dev/MyTheme/
MyTheme.py"
Kross: "Loading the interpreter library for python"
Kross: "Successfully loaded Interpreter instance from library."
Kross:
"PythonScript::Constructor."
Kross:
"PythonScript::execute"
Kross:
"PythonInterpreter::extractException:
  File "/home/sleepy/dev/MyTheme/MyTheme.py", line 4, in

#this import statement allows access to the karamba
functions

  File "/home/sleepy/dev/MyTheme/MyTheme.py", line 9, in 
import urllib2

  File "", line 18, in _import

  File "/usr/lib/python2.6/urllib2.py", line 92, in 
import httplib

  File "", line 18, in _import

  File "/usr/lib/python2.6/httplib.py", line 1054, in 
import ssl

  File "", line 18, in _import

  File "/usr/lib/python2.6/ssl.py", line 81, in 
class SSLSocket (socket):
"
Kross: "Error error=Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given) lineno=81 trace=
  File "/home/sleepy/dev/MyTheme/MyTheme.py", line 4, in

#this import statement allows access to the karamba functions

  File "/home/sleepy/dev/MyTheme/MyTheme.py", line 9, in 
import urllib2

  File "", line 18, in _import

  File "/usr/lib/python2.6/urllib2.py", line 92, in 
import httplib

  File "", line 18, in _import

  File "/usr/lib/python2.6/httplib.py", line 1054, in 
import ssl

  File "", line 18, in _import

  File "/usr/lib/python2.6/ssl.py", line 81, in 
class SSLSocket (socket):
"
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/apport_python_hook.py", line 38,
in apport_excepthook
from apport.packaging_impl import impl as
packaging
  File "", line 18, in
_import
  File "/usr/lib/python2.6/dist-packages/apport/__init__.py", line 1, in

from apport.report import
Report
  File "", line 18, in
_import
  File "/usr/lib/python2.6/dist-packages/apport/report.py", line 21, in

import
fileutils
  File "", line 18, in
_import
  File "/usr/lib/python2.6/dist-packages/apport/fileutils.py", line 16,
in 
from packaging_impl import impl as
packaging
  File "", line 18, in
_import
  File "/usr/lib/python2.6/dist-packages/apport/packaging_impl.py", line
18, in 
import
apt
  File "", line 18, in
_import
  File "/usr/lib/python2.6/dist-packages/apt/__init__.py", line 7, in

from apt.package import
Package
  File "", line 18, in
_import
  File "/usr/lib/python2.6/dist-packages/apt/package.py", line 23, in

import
httplib
  File "", line 18, in
_import
  File "/usr/lib/python2.6/httplib.py", line 1054, in

import
ssl
  File "", line 18, in _import
  File "/usr/lib/python2.6/ssl.py", line 81, in 
class SSLSocket (socket):
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)

Original exception was:
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)
Kross: "PythonScript::Destructor."



Thanks in advance

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


Re: Using a Callback Function - ftplib

2009-08-18 Thread Nitebirdz
On Mon, Aug 17, 2009 at 11:10:25AM -0700, seldan24 wrote:
> 
> I didn't even notice the higher level methods.  I changed the
> retrieval line to:
> 
> ftp.nlst("testfile*.txt")
> 
> This works great.  The result is even captured in an array.  I really
> have no idea what the difference between a LIST and NLST is within
> FTP.  Never delved that deep into it.  I did notice that an NLST will
> return a specific FTP code if a file doesn't exist, whereas a LIST
> doesn't.  So, I ended up using NLST as that'll generate an
> ftplib.error_perm exception.  Based on if the job cares if a file is
> not available or not (some do, some don't), I'll either exit, or
> continue on with the file loop.
> 

The following thread from a NetBSD mailing list may help clarify this
issue:

http://mail-index.netbsd.org/netbsd-users/2001/01/30/0016.html


NLST returns a machine-readable list of names, while LIST returns a
human-readable list.  Hene the presence of the FTP code in the case of
NLST.  

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


Re: Converting DD MM YYYY into YYYY-MM-DD?

2009-08-18 Thread Gilles Ganault
On Tue, 18 Aug 2009 20:03:47 +1000, Ben Finney
 wrote:
>The principles of handling text in Python: Get it to internal Unicode
>objects as soon as possible, handle it as Unicode for as long as
>possible, and only encode it to some byte stream for output as late as
>possible.

Thanks much for the tip. I'll keep that in mind when I have strings
with accents.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Strongly typed list

2009-08-18 Thread Albert Hopkins
On Tue, 2009-08-18 at 08:46 +0200, Diez B. Roggisch wrote:
 <هاني الموصلي schrieb:
> > Please could you lead me to a way or a good IDE that makes developing
> > huge projects in python more easier than what i found.Now i am using
> > eclips. Actually it is very hard to remember all my classes methods
> > and attributes or copy and paste them each time.
> > Thanks very much for your interest
> > Hani Almousli.
> 
> There are many really big projects written in Python - none of them with 
> the aid of intelli-sense.
> 
> What python lacks in that respect due to it's dynamic typing, it more 
> than compensates by being faster to develop and having to write much 
> less code.

But this class can do *anything*!  It .slice()s.. It .dice()s...


... sorry, couldn't resist ;-)

-a


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


Re: Converting DD MM YYYY into YYYY-MM-DD?

2009-08-18 Thread Ben Finney
Gilles Ganault  writes:

> On Tue, 18 Aug 2009 20:03:47 +1000, Ben Finney
>  wrote:
> >The principles of handling text in Python: Get it to internal Unicode
> >objects as soon as possible, handle it as Unicode for as long as
> >possible, and only encode it to some byte stream for output as late as
> >possible.
>
> Thanks much for the tip. I'll keep that in mind when I have strings
> with accents.

Again, note that these recommendations hold for *any* text in Python,
with or without accents; once you accept that text is best handled in
Unicode, there's little sense in making an exception for the limited
subset that happens to be representable in ASCII.

-- 
 \“The Bermuda Triangle got tired of warm weather. It moved to |
  `\   Alaska. Now Santa Claus is missing.” —Steven Wright |
_o__)  |
Ben Finney
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Diversity in Python

2009-08-18 Thread Ben Finney
Hendrik van Rooyen  writes:

> On Tuesday 18 August 2009 06:45:39 Aahz wrote:
> > Mainly an opportunity to flog the new diversity list.
>
> Here my English fails me - flog as in "whip", or flog as in "sell"?

Yes :-)

-- 
 \   “The most common of all follies is to believe passionately in |
  `\the palpably not true. It is the chief occupation of mankind.” |
_o__)—Henry L. Mencken |
Ben Finney
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: A Exhibition Of Tech Geekers Incompetence: Emacs whitespace-mode

2009-08-18 Thread Rui Maciel
Xah Lee wrote:

> This feature is important in practical ways. For example, when you
> work with “tab separated line” files (CSV) that's a common format for
> importing/exporting address books or spreadsheets.

CSV stands for "comma separated values" and the import facilities of any 
spreadsheet application lets the 
user define the field separator character.


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


Re: urlopen errors in script

2009-08-18 Thread Peter Otten
Sleepy Cabbage wrote:

> I'm scripting a superkaramba theme using python and have intgrated output
> from amarok. I have also would like to show the artist and song title from
> a radio stream i've added to my playlist.
> 
> If I open a python console and add the following:
> 
> ">>>import urllib2"
> ">>>from urllib2 import urlopen"
> 
> ">>>nowplaying = str.split(urlopen('http://www.hearteastmids.co.uk//
> jsfiles/NowPlayingDisplay.aspx?f=http%3A%2F%2Frope.ccap.fimc.net%2Ffeeds%
> 2Fnowplaying%2FGlobal%2FHeart_Network%2FHeart_East_Midlands%
> 2F6854.xml&l=6854&tzc=8&at=HeartEastMids').read(),'>')"
> 
> ">>>print test[4][:-3]"
> 
> this works and displays the artist and song title.
> 
> However, when I add this to my script I get the following errors:

Please give a minimal version of your script that produces the error, not 
some arbitrary excerpt that you ran successfully on the command line.

If I were to guess: you are doing something like

import socket
socket.socket = socket

somewhere, thus confusing the socket class with the module of the same name.

Peter

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


Re: Need cleanup advice for multiline string

2009-08-18 Thread Jean-Michel Pichavant

MRAB wrote:

Carl Banks wrote:

On Aug 17, 10:03 am, Jean-Michel Pichavant 
wrote:

I'm no English native, but I already heard women/men referring to a
group as "guys", no matter that group gender configuration. It's even
used for group composed exclusively of women. Moreover it looks like a
*very* friendly form, so there is really nothing to worry about it.


I like how being very friendly means calling people after a guy who
tried to blow up the English Parliament.


Guy Fawkes adopted the name Guido while fighting for the Spanish in the
Low Countries:

http://en.wikipedia.org/wiki/Guy_Fawkes

I didn't get Carl's reference. The only thing I know about blowing the 
parliament is from the movie V for Vendetta (no comment please !).

Now thanks to your link:
"In 18th-century England, the term "guy" was used to refer to an effigy 
 of Fawkes, which would be paraded 
around town by children on the anniversary of the conspiracy"


Well, my knowledge is much too low to get this kind of reference from 
the start. :-/


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


Re: [Python-Dev] Mercurial migration: help needed

2009-08-18 Thread Mark Hammond

On 18/08/2009 6:20 PM, Dirkjan Ochtman wrote:

On Tue, Aug 18, 2009 at 10:12, "Martin v. Löwis"  wrote:

In this thread, I'd like to collect things that ought to be done
but where Dirkjan has indicated that he would prefer if somebody else
did it.


I think the most important item here is currently the win32text stuff.
Mark Hammond said he would work on this; Mark, when do you have time
for this? Then I could set apart some time for it as well.


I can make time, somewhat spasmodically, starting fairly soon.  Might I 
suggest that as a first task I can resurrect my old stale patch, and you 
can arrange to install win32text locally and start experimenting with 
how mixed line-endings can work for you.  Once we are all playing in the 
same ballpark I think we should be able to make good progress.


I-said-ballpark-yet-I-call-myself-an-aussie? ly,

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


Re: Strongly typed list

2009-08-18 Thread هاني الموصلي
I think i found a good managable solution. Actually it is trivial but
may help (I used it now).
When i wnat to access the list then i assign the object which i want
to access to a variable ex:
1)x=AutomataBranch()
2)x=self.cfgAutomata[i]

The first line is used only to make the IDE knows that x is from
AutomatBranch type.After that when i press x. then all methods and
properties are visualized.

I think it is some how good.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Python 'for' loop is memory inefficient

2009-08-18 Thread exarkun

On 03:56 am, [email protected] wrote:

[email protected] wrote:
There's a lot of things in Python that I don't strictly *need*.  That 
doesn't mean that they wouldn't be welcome if I could have them. 
Getting rid of the range/xrange dichotomy would improve things.


The developers agreed a couple of years ago. Starting using 3.1 if you 
want this.


And there was much rejoicing, et cetera.
Since 'range' could refer to a user-defined object, rather than the 
builtin function, there is no way the interpreter should substitute 
'xrange'.


See the earlier parts of this thread for the reasons this isn't true. :)

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


Re: [Python-Dev] Mercurial migration: help needed

2009-08-18 Thread Dirkjan Ochtman
On Tue, Aug 18, 2009 at 13:32, Mark Hammond wrote:
> I can make time, somewhat spasmodically, starting fairly soon.  Might I
> suggest that as a first task I can resurrect my old stale patch, and you can
> arrange to install win32text locally and start experimenting with how mixed
> line-endings can work for you.  Once we are all playing in the same ballpark
> I think we should be able to make good progress.

Sounds good to me.

Cheers,

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


Re: urlopen errors in script

2009-08-18 Thread Sleepy Cabbage
On Tue, 18 Aug 2009 13:21:59 +0200, Peter Otten wrote:

> Sleepy Cabbage wrote:
> 
>> I'm scripting a superkaramba theme using python and have intgrated
>> output from amarok. I have also would like to show the artist and song
>> title from a radio stream i've added to my playlist.
>> 
>> If I open a python console and add the following:
>> 
>> ">>>import urllib2"
>> ">>>from urllib2 import urlopen"
>> 
>> ">>>nowplaying = str.split(urlopen('http://www.hearteastmids.co.uk//
>> jsfiles/NowPlayingDisplay.aspx?f=http%3A%2F%2Frope.ccap.fimc.net%
2Ffeeds%
>> 2Fnowplaying%2FGlobal%2FHeart_Network%2FHeart_East_Midlands%
>> 2F6854.xml&l=6854&tzc=8&at=HeartEastMids').read(),'>')"
>> 
>> ">>>print test[4][:-3]"
>> 
>> this works and displays the artist and song title.
>> 
>> However, when I add this to my script I get the following errors:
> 
> Please give a minimal version of your script that produces the error,
> not some arbitrary excerpt that you ran successfully on the command
> line.
> 
> If I were to guess: you are doing something like
> 
> import socket
> socket.socket = socket
> 
> somewhere, thus confusing the socket class with the module of the same
> name.
> 
> Peter

Thanks Peter.

This is the script up to where the error seems to fall:

"#!/usr/bin/env superkaramba"
"# -*- coding: iso-8859-1 -*-"

"import karamba"
"import subprocess"
"from subprocess import Popen, PIPE, STDOUT, call"
"import urllib"
"from urllib import urlopen"

"#this is called when your widget is initialized"
"def initWidget(widget):"
  "clkPause = karamba.createClickArea(widget, 156, 470, 35, 35, "qdbus 
org.kde.amarok /Player Pause")"
  "nowplaying = urllib.urlopen('http://www.hearteastmids.co.uk//jsfiles/
NowPlayingDisplay.aspx?f=http%3A%2F%2Frope.ccap.fimc.net%2Ffeeds%
2Fnowplaying%2FGlobal%2FHeart_Network%2FHeart_East_Midlands%
2F6854.xml&l=6854&tzc=8&at=HeartEastMids').read()"

Hope this can enlighten things
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Converting DD MM YYYY into YYYY-MM-DD?

2009-08-18 Thread Stefan Behnel
Ben Finney wrote:
>>> The principles of handling text in Python: Get it to internal Unicode
>>> objects as soon as possible, handle it as Unicode for as long as
>>> possible, and only encode it to some byte stream for output as late as
>>> possible.
> Again, note that these recommendations hold for *any* text in Python,
> with or without accents; once you accept that text is best handled in
> Unicode, there's little sense in making an exception for the limited
> subset that happens to be representable in ASCII.

If the QOTW wasn't meant for fun, I'd vote for this. This is very good advice.

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


Re: urlopen errors in script

2009-08-18 Thread Peter Otten
Sleepy Cabbage wrote:

> This is the script up to where the error seems to fall:
> 
> "#!/usr/bin/env superkaramba"
> "# -*- coding: iso-8859-1 -*-"
> 
> "import karamba"
> "import subprocess"
> "from subprocess import Popen, PIPE, STDOUT, call"
> "import urllib"
> "from urllib import urlopen"
> 
> "#this is called when your widget is initialized"
> "def initWidget(widget):"
>   "clkPause = karamba.createClickArea(widget, 156, 470, 35, 35, "qdbus
> org.kde.amarok /Player Pause")"
>   "nowplaying = urllib.urlopen('http://www.hearteastmids.co.uk//jsfiles/
> NowPlayingDisplay.aspx?f=http%3A%2F%2Frope.ccap.fimc.net%2Ffeeds%
> 2Fnowplaying%2FGlobal%2FHeart_Network%2FHeart_East_Midlands%
> 2F6854.xml&l=6854&tzc=8&at=HeartEastMids').read()"
> 
> Hope this can enlighten things

While there isn't any obvious blunder apart from the odd quotes that you 
wrap around every line there seem to be other files missing to run the 
script. I'm sorry, but I'm not prepared to invest much more than

$ sudo aptitude install superkaramba

into the problem.

Perhaps an actual user of superkaramba can step in.

Peter

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


Re: Need cleanup advice for multiline string

2009-08-18 Thread Steven D'Aprano
On Tue, 18 Aug 2009 13:36:49 +0200, Jean-Michel Pichavant wrote:

> MRAB wrote:
>> Carl Banks wrote:
>>> On Aug 17, 10:03 am, Jean-Michel Pichavant 
>>> wrote:
 I'm no English native, but I already heard women/men referring to a
 group as "guys", no matter that group gender configuration. It's even
 used for group composed exclusively of women. Moreover it looks like
 a *very* friendly form, so there is really nothing to worry about it.
>>>
>>> I like how being very friendly means calling people after a guy who
>>> tried to blow up the English Parliament.
>>>
>> Guy Fawkes adopted the name Guido while fighting for the Spanish in the
>> Low Countries:
>>
>> http://en.wikipedia.org/wiki/Guy_Fawkes
>>
> I didn't get Carl's reference. The only thing I know about blowing the
> parliament is from the movie V for Vendetta (no comment please !). Now
> thanks to your link:
> "In 18th-century England, the term "guy" was used to refer to an effigy
>  of Fawkes, which would be paraded
> around town by children on the anniversary of the conspiracy"
> 
> Well, my knowledge is much too low to get this kind of reference from
> the start. :-/

"Guy" is an old English name, related to the old French name "Gy" and 
Italian "Guido". It's originally derived from the Old German for "wood" 
or "warrior".

After Guy Fawkes tried to blow up the English Parliament house, and was 
executed, the British government encouraged people to burn effigies of 
him. These became known as "guys", which eventually became slang for an 
ugly man, which later became slang for any man, and in recent years, any 
person.

So the irony is that the friendly term "guys", referring to a group of 
people, is derived from the name of an 18th century religious terrorist.

One can only wonder whether in 200 years time people will walk into the 
office and say "Hey you osamas, they're giving away free donuts down 
stairs, anyone want some?"



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


Re: Diversity in Python (was Re: Need cleanup advice for multiline string)

2009-08-18 Thread Steven D'Aprano
On Tue, 18 Aug 2009 12:12:14 +0200, Hendrik van Rooyen wrote:

> On Tuesday 18 August 2009 06:45:39 Aahz wrote:
>> In article ,
>>
>> Steven D'Aprano   wrote:
>> >The comments were made a week ago -- why the sudden flurry of
>> >attention?
>>
>> Mainly an opportunity to flog the new diversity list.
> 
> Here my English fails me - flog as in "whip", or flog as in "sell"?

Almost certainly "flog" as in sell.

But not literally sell, for money, but sell in the sense of convincing 
others it is a good list to join.



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


Re: urlopen errors in script

2009-08-18 Thread Sleepy Cabbage
Thanks for the time you've spent anyway Peter. I have superkaramba 
installed and the rest of the script is running fine, it's only when I 
put the urlopen part in that it comes back with errors. The quotes are 
just to make it readable on here as my first attempt at posting muted the 
text.

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


Re: Strongly typed list

2009-08-18 Thread Diez B. Roggisch
هاني الموصلي wrote:

> I think i found a good managable solution. Actually it is trivial but
> may help (I used it now).
> When i wnat to access the list then i assign the object which i want
> to access to a variable ex:
> 1)x=AutomataBranch()
> 2)x=self.cfgAutomata[i]
> 
> The first line is used only to make the IDE knows that x is from
> AutomatBranch type.After that when i press x. then all methods and
> properties are visualized.
> 
> I think it is some how good.

Unless x=AutomataBranch() is something that is expensive. And to be honest:
changing code (possibly introducing bugs!!!) to work around short-comings
in either your IDE or your way you insist to work strikes me as odd.

I understand the desire to have autocompletion. But it's not *that*
important. Maybe fabrio (who's maintaining the PyDev-eclipse-plugin) could
be asked to add something like this:

  #...@x:AutomataBranch

to the plugin - so that when pydev reads that comment, it has a hint on what
to use for autocompletion.

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


Compare content of two XML files

2009-08-18 Thread David Brochu
I need to compare a REST XML response with a 'gold standard' response (one
that we have already verified is correct). The problem is, sometimes the
REST response comes back and it is logically correct, but the order of
attributes and elements is different than what is in the 'gold standard'
file. For example:

'Gold Standard':









REST Response:








Notice how the attributes in  and  are in different order. The
response is correct, but obviously doesn't match the 'gold standard'.

Does anyone know how I would be able to compare these two files and verify
they match, even though the order of attributes and elements may be
different between the two? Is there a module I should be using for this?
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: define class over 2 files

2009-08-18 Thread naveen
> indicator of bad practice. What is the problem you're trying to solve?
> Ben Finney

No major problem.
I was just trying to make some experimental changes to autokey. My
repo: http://github.com/tinku99/autokey.git/

Didn't want to subclass or reorganize a class just yet.
-- 
http://mail.python.org/mailman/listinfo/python-list


Code formatting question: conditional expression

2009-08-18 Thread John Posner
While refactoring some code, I ran across an opportunity to use a 
conditional expression. Original:


 if total > P.BASE:
 excessblk = Block(total - P.BASE, srccol, carry_button_suppress=True)
 else:
 excessblk = None

Is there any consensus on how to format a conditional expression that is 
too long for one line? How about this:


 excessblk = (Block(total - P.BASE, srccol, carry_button_suppress=True)
  if total > P.BASE else
  None)

The above format separates the values from the if-then-else machinery. 
Too many lines? Would it be better to line up "if" and "else" 
vertically? ...


 excessblk = (Block(total - P.BASE, srccol, carry_button_suppress=True)
  if total > P.BASE
  else None)

PEP 308 is silent on this topic.

-John

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


ANNOUNCEMENT: Tinybooker accounting released

2009-08-18 Thread Tuomas Vesterinen

Tinybooker 0.2.2 released at http://tinybooker.org/

Tinybooker is an accounting program offering the dual accounting
core functionality for moderate size accountings:

* Assisted establishing new accountings
* Localized scheme templates
* Easy entering and saving new entries
* Standard reports in plain text or HTML: Income Statement,
  Balance Sheet, Journal, Nominal Ledger, Final Statement
  and Scheme
* Assisted opening the next financial year
* Accounting example as a demo
* Open for auditing, all files human readable plain text
* All written in pure Python
* License GPL3

This early release is for Linux only. Later Tinybooker will be
ported to Windows.

Developers, more translations wanted, join the project contacting
me at https://sourceforge.net/sendmessage.php?touser=2524141.
--
http://mail.python.org/mailman/listinfo/python-list


ANN: PySide has been released

2009-08-18 Thread Lauro Moura
Hi,

The PySide team is pleased to announce the first public release of
PySide: Python for Qt!

PySide, its documentation, and developer resources are available at the
project website, http://www.pyside.org .

What is it?
---

PySide is a project providing an LGPL'd set of Python bindings for the
Qt framework.

PySide already provides a full set of Qt bindings as well as automated
binding generation tools. Since the whole toolset has been made
available, the team expects PySide to be valuable not only to Qt
software developers, but to people willing to create Python bindings to
any Qt-based library, or to any C++ library in general. Although based
on a different technical approach, PySide will initially be
API-compatible with existing Python bindings for Qt.

PySide is still a work in progress, and some work is still required to
stabilize the codebase. This being said, the team believes it is already
in a usable state, especially if an occasional rough edge and unpainted
surface can be tolerated. Due to practical reasons, the initial
development efforts have been focused on Linux, but the team hopes
people to join in porting the code to other platforms and to further
develop the bindings and tools.

Regards,
PySide team

-- 
Lauro Moura ("lmoura" on Freenode)
http://lauro.wordpress.com
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Code formatting question: conditional expression

2009-08-18 Thread Diez B. Roggisch
John Posner wrote:

> While refactoring some code, I ran across an opportunity to use a
> conditional expression. Original:
> 
>   if total > P.BASE:
>   excessblk = Block(total - P.BASE, srccol,
>   carry_button_suppress=True)
>   else:
>   excessblk = None
> 
> Is there any consensus on how to format a conditional expression that is
> too long for one line? How about this:
> 
>   excessblk = (Block(total - P.BASE, srccol, carry_button_suppress=True)
>if total > P.BASE else
>None)
> 
> The above format separates the values from the if-then-else machinery.
> Too many lines? Would it be better to line up "if" and "else"
> vertically? ...
> 
>   excessblk = (Block(total - P.BASE, srccol, carry_button_suppress=True)
>if total > P.BASE
>else None)

My choice would be

excessblk = None
if total > P.BASE:
excessblk = ...


You don't lose any vertical space, and it's much more readable IMHO.

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


Re: Code formatting question: conditional expression

2009-08-18 Thread Jean-Michel Pichavant

Diez B. Roggisch wrote:

John Posner wrote:

  

While refactoring some code, I ran across an opportunity to use a
conditional expression. Original:

  if total > P.BASE:
  excessblk = Block(total - P.BASE, srccol,
  carry_button_suppress=True)
  else:
  excessblk = None

Is there any consensus on how to format a conditional expression that is
too long for one line? How about this:

  excessblk = (Block(total - P.BASE, srccol, carry_button_suppress=True)
   if total > P.BASE else
   None)

The above format separates the values from the if-then-else machinery.
Too many lines? Would it be better to line up "if" and "else"
vertically? ...

  excessblk = (Block(total - P.BASE, srccol, carry_button_suppress=True)
   if total > P.BASE
   else None)



My choice would be

excessblk = None
if total > P.BASE:
excessblk = ...


You don't lose any vertical space, and it's much more readable IMHO.

Diez
  

+1, I'm using such layout whenever possible.

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


Re: Need cleanup advice for multiline string

2009-08-18 Thread Grant Edwards
On 2009-08-17, Carl Banks  wrote:
> On Aug 17, 10:03?am, Jean-Michel Pichavant 
> wrote:
>> I'm no English native, but I already heard women/men referring to a
>> group as "guys", no matter that group gender configuration. It's even
>> used for group composed exclusively of women. Moreover it looks like a
>> *very* friendly form, so there is really nothing to worry about it.
>
> I like how being very friendly means calling people after a guy who
> tried to blow up the English Parliament.

Everybody likes fireworks!

-- 
Grant Edwards   grante Yow! Where do your SOCKS
  at   go when you lose them in
   visi.comth' WASHER?
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: GUI interface builder for python

2009-08-18 Thread sturlamolden
On 17 Aug, 17:19, Che M  wrote:

> Boa (Boa Constructor) is really nice for wxPython GUI
> work, but it has some bugs when using Linux that might
> be dealbreakers for the user.  At least I have had
> problems on Ubuntu 8.10 64 bit (but none or very few
>

I prefer wxFormBuilder over Boa.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Code formatting question: conditional expression

2009-08-18 Thread Steven D'Aprano
On Tue, 18 Aug 2009 10:04:36 -0400, John Posner wrote:

> While refactoring some code, I ran across an opportunity to use a
> conditional expression. Original:
> 
>   if total > P.BASE:
>   excessblk = Block(total - P.BASE, srccol,
>   carry_button_suppress=True)
>   else:
>   excessblk = None
> 
> Is there any consensus on how to format a conditional expression that is
> too long for one line?

Er, that defeats the purpose of using a conditional expression. If it's 
too long for one line, leave it as an if...else statement.

> How about this:
> 
>   excessblk = (Block(total - P.BASE, srccol, carry_button_suppress=True)
>if total > P.BASE else
>None)

If you insist on using the conditional expression, my preference would be:

  excessblk = (
Block(total - P.BASE, srccol, carry_button_suppress=True)
if total > P.BASE else None
)


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


Re: Code formatting question: conditional expression

2009-08-18 Thread John Posner


My choice would be

excessblk = None
if total > P.BASE:
excessblk = ...



Diez and Jean-Michel,

Ha! Your suggestion above was my *original* coding. It looks like I'm 
evolving backwards!


But doesn't it violate the DRY principle? The token "excessblk" appears 
twice instead of once.


Thanks again,
John

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


simplest way to visit 3 subdirectories with a command?

2009-08-18 Thread dmitrey
hi all,
could you inform how to compose a py-file (for soft installation),
that will visit 3 subdirectories (eg subdir1, subdir2, subdir3) and
invoke a command "python setup.py install" in each subdirectory?
I know there should be a simple solution available in Python
documentation, but I have an awful lots of other things to be done, so
could someone write these several lines of code?

Thank you in advance, D.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Code formatting question: conditional expression

2009-08-18 Thread Richard Brodie

"John Posner"  wrote in message 
news:[email protected]...

>  if total > P.BASE:
>  excessblk = Block(total - P.BASE, srccol, carry_button_suppress=True)
>  else:
>  excessblk = None

I wonder if it is appropriate to replace the None sentinel with one that is an 
instance
of Block() e.g.

size = total - P.BASE
excessblk = Block(size, srccol, carry_button_suppress=True, empty_block=(size 
<= 0) )


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


Start-up program

2009-08-18 Thread Virgil Stokes
How difficult is to create a program that will be executed when Windows 
Vista is started? As Windows Calendar does, for example.


I am actually more interested in the Python tools that might be used for 
this task. I hope that this question is not inappropriate for the list. :-\


--V

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


Re: Code formatting question: conditional expression

2009-08-18 Thread Jean-Michel Pichavant

John Posner wrote:


My choice would be

excessblk = None
if total > P.BASE:
excessblk = ...



Diez and Jean-Michel,

Ha! Your suggestion above was my *original* coding. It looks like I'm 
evolving backwards!


But doesn't it violate the DRY principle? The token "excessblk" 
appears twice instead of once.


Thanks again,
John

I don't see any problem in that. You are hunting poor readability, not 
redundancy, it's up to you to decide of you priorities. I would still 
advise that readability should rule your world.


JM




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


Re: Need cleanup advice for multiline string

2009-08-18 Thread Steve Holden
> > Robert Dailey:
[...]
>
> It's a figure of speech. And besides, why would I want programming
> advice from a woman? lol. Thanks for the help.

Sorry, Robert, simply not acceptable. Whether designed to be funny or
not it's the kind of inane remark I would be really happy never to see
again.

The problem is that we can't just "let these things go by" all the
time (even though we aren't discussing a major crime here). If we do
that it encourages (at best) an atmosphere of complacency and a
feeling that it's OK to demean people in Python forums. I'd really
like to see those *not* get a hold.

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


Re: Start-up program

2009-08-18 Thread Diez B. Roggisch
Virgil Stokes wrote:

> How difficult is to create a program that will be executed when Windows
> Vista is started? As Windows Calendar does, for example.
> 
> I am actually more interested in the Python tools that might be used for
> this task. I hope that this question is not inappropriate for the list.

There are many discussions here about creating an exe (py2exe) that you
could start in autostart, and how to run scripts as windows services, which
is the other option.

Just google a bit.

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


Re: Start-up program

2009-08-18 Thread Jean-Michel Pichavant

Virgil Stokes wrote:
How difficult is to create a program that will be executed when 
Windows Vista is started? As Windows Calendar does, for example.


I am actually more interested in the Python tools that might be used 
for this task. I hope that this question is not inappropriate for the 
list. :-\


--V

Well put your program in your startup folder or configure it as a 
service in the service manager of windows.


Now your problem becomes "How difficult is to create a program" for 
which there is no easy answer as it really depends on the kind of program.


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


Mac OS 9.2

2009-08-18 Thread madzientist
hi,

i have to work with mac OS 9.2 for legacy reasons...is there a
compiled version of python for this os ? i need to get input about
variable values from the user and then print out some text files that
make use of this input. a gui would be nice, but keyboard based input
would be ok too...

thanks much,

suresh

ps. if there isn't a version of pythn that will work, perhaps you
could suggest some other scripting language for 0S 9.2 ?
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Start-up program

2009-08-18 Thread MRAB

Virgil Stokes wrote:
How difficult is to create a program that will be executed when Windows 
Vista is started? As Windows Calendar does, for example.


I am actually more interested in the Python tools that might be used for 
this task. I hope that this question is not inappropriate for the list. :-\



Look for the Windows Startup folder. A quick search with Google found:

http://www.bleepingcomputer.com/forums/topic85142.html

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


Re: problem with interface of operator.itemgetter

2009-08-18 Thread dou dou
2009/8/17 Simon Forman 

>  You can use a little helper function to create your itemgetter like this:
>
> def makeItemGetter(indexes):
>I = itemgetter(*indexes)
>if len(indexes) > 1:
>return I
>return lambda thing: (I(thing),)
>
> If indexes contains only one index the itemgetter is wrapped in a
> lambda that turns its output into a tuple.


Thanks. I just thought if the stdlib could support some function like item*s
*getter would be better, it always returns tuple instead of a item or a
tuple of items.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Need cleanup advice for multiline string

2009-08-18 Thread Jean-Michel Pichavant

Steve Holden wrote:

Robert Dailey:
  

[...]
  

It's a figure of speech. And besides, why would I want programming
advice from a woman? lol. Thanks for the help.



Sorry, Robert, simply not acceptable. Whether designed to be funny or
not it's the kind of inane remark I would be really happy never to see
again.

The problem is that we can't just "let these things go by" all the
time (even though we aren't discussing a major crime here). If we do
that it encourages (at best) an atmosphere of complacency and a
feeling that it's OK to demean people in Python forums. I'd really
like to see those *not* get a hold.

regards
 Steve
  
Did you read the original post (this is an old one) ? Because quoting a 
joke out of its context is totally unfair.
Anyway the hysteria that is surrounding this thread is just amazing. I'm 
waiting for more.


JM

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


Identifying a class type - bad practice?

2009-08-18 Thread James Harris
I am writing some code to form a tree of nodes of different types. The
idea is to define one class per node type such as

class node_type_1(node):
  
class node_type_2(node):
  
etc

(Class "node" would hold any common properties).

When walking the tree I need to know what type of node I'm dealing
with so polymorphism isn't generally useful. The action to be taken
depends on the node type. Two options appear to be useful: __class__
and isinstance. I know the latter will match the instance against any
superclass and the former will match one class only.

My question is: is this the Pythonic way to deal with such a tree? Is
there a better way? In C I would use structs where one field was a tag
indicating the kind of struct.

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


Re: simplest way to visit 3 subdirectories with a command?

2009-08-18 Thread Tim Chase

could you inform how to compose a py-file (for soft installation),
that will visit 3 subdirectories (eg subdir1, subdir2, subdir3) and
invoke a command "python setup.py install" in each subdirectory?
I know there should be a simple solution available in Python


If you're executing "python setup.py install", that sounds like 
you're operating at the shell level, not within python.  In which 
case, I'd just use my shell's iteration capabilities:


  # running bash on a *nix-like OS
  bash$ for dir in subdir1 subdir2 subdir3; do pushd $dir; 
python setup.py install; popd; done


  # running within Win32's cmd.exe
  c:\temp\> for %f in (subdir1 subdir2 subdir3) do pushd %f & 
python setup.py install & popd


or something of the sort.  Remember in Win32 that the variables 
have to be escaped if you put them in a batch file ("%%f" instead 
of "%f")


-tkc




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


Re: Mac OS 9.2

2009-08-18 Thread madzientist

ok, i found macpython 2.3 at this site: 
http://homepages.cwi.nl/~jack/macpython/macpython-older.html

is this the best option for me in terms of using python on os 9.2 ?

thanks much !!

suresh


On Aug 18, 6:04 pm, madzientist  wrote:
> hi,
>
> i have to work with mac OS 9.2 for legacy reasons...is there a
> compiled version of python for this os ? i need to get input about
> variable values from the user and then print out some text files that
> make use of this input. a gui would be nice, but keyboard based input
> would be ok too...
>
> thanks much,
>
> suresh
>
> ps. if there isn't a version of pythn that will work, perhaps you
> could suggest some other scripting language for 0S 9.2 ?

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


Re: Code formatting question: conditional expression

2009-08-18 Thread John Posner



I wonder if it is appropriate to replace the None sentinel with one that is an 
instance
of Block() e.g.

size = total - P.BASE
excessblk = Block(size, srccol, carry_button_suppress=True, empty_block=(size 
<= 0) )
  


In this particular case, Richard, I don't think so. The Block class is 
an application-level wrapper for a graphical object. I don't want to 
worry about zero-size objects. ("Is this column really empty, or does it 
contain one or more zero-size blocks?") If you're interested, take a 
look at "BlockHead" at www.jjposner.net.


BTW, from the (admittedly few) responses to my original post, it seems 
there's some sentiment that "conditional expressions" are a non-Pythonic 
misfeature. Interesting ...


-John



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


xlutils 1.4.0 released!

2009-08-18 Thread Chris Withers

Hi All,

I'm pleased to announce a new release of xlutils. This is a small
collection of utilities that make use of both xlrd and xlwt to process
Microsoft Excel files. The changes for this release are as follows:

- Add sheet density information and onesheet option to
  xlutils.margins.

- Reduced the memory footprint of xlutils.filter.ColumnTrimmer at the
  expense of speed.

- Fixed incorrect warnings about boolean cells in
  xlutils.filter.ErrorFilter. xlwt has always supported boolean
  cells.

- xlutils.filter.BaseReader now opens workbooks with on_demand = True

- Added support for xlrd Books opened with on_demand as True passed to
  open_workbook.

- Fixed bug when copying error cells.

- Requires the latest versions of xlrd (0.7.1) and xlwt (0.7.2).

To find out more, please read here:

http://www.simplistix.co.uk/software/python/xlutils

In case you're not aware, xlrd and xlwt are two excellent pure-python
libraries for reading and writing Excel files. They run on any platform
and, likely, any implementation of Python without the need for horrific
things like binding to Excel via COM and so needing a Windows machine.

If you use any of xlrd, xlwt or xlutils, the following google group will
be of use:

http://groups.google.com.au/group/python-excel

Hope some of this is of interest, I'd love to hear from anyone who ends
up using it!

cheers,

Chris

--
Simplistix - Content Management, Zope & Python Consulting
   - http://www.simplistix.co.uk



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


Parallelization in Python 2.6

2009-08-18 Thread Robert Dailey
I'm looking for a way to parallelize my python script without using
typical threading primitives. For example, C++ has pthreads and TBB to
break things into "tasks". I would like to see something like this for
python. So, if I have a very linear script:

doStuff1()
doStuff2()


I can parallelize it easily like so:

create_task( doStuff1 )
create_task( doStuff2 )

Both of these functions would be called from new threads, and once
execution ends the threads would die. I realize this is a simple
example and I could create my own classes for this functionality, but
I do not want to bother if a solution already exists.

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


Re: Code formatting question: conditional expression

2009-08-18 Thread Ethan Furman

John Posner wrote:


BTW, from the (admittedly few) responses to my original post, it seems 
there's some sentiment that "conditional expressions" are a non-Pythonic 
misfeature. Interesting ...


-John





I didn't read it that way.  One of the (to me) core points of Pythonic 
is readability.  A conditional expression on one line is fine -- a 
conditional expression on more than one line is less readable than the 
standard if-else structure.


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


Re: Parallelization in Python 2.6

2009-08-18 Thread Stefan Behnel
Robert Dailey wrote:
> I'm looking for a way to parallelize my python script without using
> typical threading primitives. For example, C++ has pthreads and TBB to
> break things into "tasks". I would like to see something like this for
> python. So, if I have a very linear script:
> 
> doStuff1()
> doStuff2()
> 
> 
> I can parallelize it easily like so:
> 
> create_task( doStuff1 )
> create_task( doStuff2 )
> 
> Both of these functions would be called from new threads, and once
> execution ends the threads would die. I realize this is a simple
> example and I could create my own classes for this functionality, but
> I do not want to bother if a solution already exists.

I think the canonical answer is to use the threading module or (preferably)
the multiprocessing module, which is new in Py2.6.

http://docs.python.org/library/threading.html
http://docs.python.org/library/multiprocessing.html

Both share a (mostly) common interface and are simple enough to use. They
are pretty close to the above interface already.

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


Re: Identifying a class type - bad practice?

2009-08-18 Thread Ethan Furman

James Harris wrote:

I am writing some code to form a tree of nodes of different types. The
idea is to define one class per node type such as

class node_type_1(node):
  
class node_type_2(node):
  
etc

(Class "node" would hold any common properties).

When walking the tree I need to know what type of node I'm dealing
with so polymorphism isn't generally useful. The action to be taken
depends on the node type. Two options appear to be useful: __class__
and isinstance. I know the latter will match the instance against any
superclass and the former will match one class only.

My question is: is this the Pythonic way to deal with such a tree? Is
there a better way? In C I would use structs where one field was a tag
indicating the kind of struct.

James


I would recommend going with isinstance.  An instance of node_type_2 
will not be an instance node_type_1, so no worries there, and it leaves 
open the option of subclassing further if you need to later on.


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


Re: Identifying a class type - bad practice?

2009-08-18 Thread André
On Aug 18, 2:09 pm, James Harris 
wrote:
> I am writing some code to form a tree of nodes of different types. The
> idea is to define one class per node type such as
>
> class node_type_1(node):
>   
> class node_type_2(node):
>   
> etc
>
> (Class "node" would hold any common properties).
>
> When walking the tree I need to know what type of node I'm dealing
> with so polymorphism isn't generally useful. The action to be taken
> depends on the node type. Two options appear to be useful: __class__
> and isinstance. I know the latter will match the instance against any
> superclass and the former will match one class only.
>
> My question is: is this the Pythonic way to deal with such a tree? Is
> there a better way? In C I would use structs where one field was a tag
> indicating the kind of struct.
>
> James

I would probably go with hasattr(instance, 'what_I_want')

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


Re: comparing XML files to eachother

2009-08-18 Thread Simon Forman
On Mon, Aug 17, 2009 at 3:51 PM, David Brochu wrote:
> I need to compare one xml document to another to see if the content matches.
> Unfortunately, the formatting (spacing) and order of elements may change
> between files from run to run. I have looked into xml dom minidom but can't
> seem to find how to accomplish this. Does anyone know how I can do a compare
> between two XML documents using the STL?

It seems to me that you're going to have to "normalize" the documents
to be able to compare them.  (I.e. strip or ignore spacing
differences, sort the elements to be in the same order, etc..)
-- 
http://mail.python.org/mailman/listinfo/python-list


Inheriting dictionary

2009-08-18 Thread Pavel Panchekha
I want a dictionary that will transparently "inherit" from a parent
dictionary. So, for example:

"""
a = InheritDict({1: "one", 2: "two", 4: "four"})
b = InheritDict({3: "three", 4: "foobar"}, inherit_from=a)

a[1] # "one"
a[4] # "four"
b[1] # "one"
b[3] # "three"
b[4] # "foobar"
"""

I've written something like this in Python already, but I'm wondering
if something like this already exists, preferably written in C, for
speed.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Code formatting question: conditional expression

2009-08-18 Thread Jan Kaliszewski

18-08-2009 Steven D'Aprano  wrote:


On Tue, 18 Aug 2009 10:04:36 -0400, John Posner wrote:


[snip]

How about this:

  excessblk = (Block(total - P.BASE, srccol, carry_button_suppress=True)
   if total > P.BASE else
   None)


If you insist on using the conditional expression, my preference would  
be:


  excessblk = (
Block(total - P.BASE, srccol, carry_button_suppress=True)
if total > P.BASE else None
)


Generally I'd prefer:

 excessblk = (Block() if total > P.BASE
  else None)

But it this case first line would be too long, then I'd try using:

 excessblk = (Block(total - P.BASE, srccol,
carry_button_suppress=True) if total > P.BASE
  else None)

or

 excessblk = (Block(total - P.BASE, srccol, carry_button_suppress=True)
  if total > P.BASE else None)

I'd use conditional expression only (rather) in situation when the first
expression-part was 'common' and the other (after else) was 'rare'.

Cheers,
*j

--
Jan Kaliszewski (zuo) 
--
http://mail.python.org/mailman/listinfo/python-list


Re: Inheriting dictionary

2009-08-18 Thread Jan Kaliszewski

18-08-2009 o 21:44:55 Pavel Panchekha  wrote:


I want a dictionary that will transparently "inherit" from a parent
dictionary. So, for example:

"""
a = InheritDict({1: "one", 2: "two", 4: "four"})
b = InheritDict({3: "three", 4: "foobar"}, inherit_from=a)

a[1] # "one"
a[4] # "four"
b[1] # "one"
b[3] # "three"
b[4] # "foobar"
"""

I've written something like this in Python already, but I'm wondering
if something like this already exists, preferably written in C, for
speed.


AFAIN -- no. But you can easily implement it in Python with rather
small loss of speed...


 class InheritDict(dict):

 class NoParent(object):
 def __getitem__(self, key):
 raise KeyError('There is no %r key in the hierarchy' % key)
 def __nonzero__(self):
 return False

 noparent = NoParent()

 def __init__(self, *args, **kwargs):
 parent = kwargs.pop('inherit_from', self.noparent)
 dict.__init__(self, *args, **kwargs)
 self.parent = parent

 def __getitem__(self, key):
 try:
 return dict.__getitem__(self, key)
 except KeyError:
 return self.parent[key]


Did you do it in similar way? (just curiosity) :-)

Regards,
*j

--
Jan Kaliszewski (zuo) 
--
http://mail.python.org/mailman/listinfo/python-list


Re: Inheriting dictionary

2009-08-18 Thread Nat Williams
On Tue, Aug 18, 2009 at 2:44 PM, Pavel Panchekha wrote:

> I want a dictionary that will transparently "inherit" from a parent
> dictionary. So, for example:
>
> """
> a = InheritDict({1: "one", 2: "two", 4: "four"})
> b = InheritDict({3: "three", 4: "foobar"}, inherit_from=a)
>
> a[1] # "one"
> a[4] # "four"
> b[1] # "one"
> b[3] # "three"
> b[4] # "foobar"
> """
>
> I've written something like this in Python already, but I'm wondering
> if something like this already exists, preferably written in C, for
> speed.


Why complicate this with a custom object?  Just use regular dicts and make b
a copy of a.

a = {1: 'one', 2: 'two', 4: 'four'}
b = dict(a)
b[3] = 'three'
b[4] = 'foobar'
-- 
http://mail.python.org/mailman/listinfo/python-list


How to create functors?

2009-08-18 Thread Robert Dailey
Hello,

I want to simply wrap a function up into an object so it can be called
with no parameters. The parameters that it would otherwise have taken
are already filled in. Like so:


  print1 = lambda: print( "Foobar" )
  print1()

However, the above code fails with:

  File "C:\IT\work\distro_test\distribute_radix.py", line 286
print1 = lambda: print( "Foobar" )
 ^
SyntaxError: invalid syntax

How can I get this working?
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to create functors?

2009-08-18 Thread Duncan Booth
Robert Dailey  wrote:

> Hello,
> 
> I want to simply wrap a function up into an object so it can be called
> with no parameters. The parameters that it would otherwise have taken
> are already filled in. Like so:
> 
> 
>   print1 = lambda: print( "Foobar" )
>   print1()
> 
> However, the above code fails with:
> 
>   File "C:\IT\work\distro_test\distribute_radix.py", line 286
> print1 = lambda: print( "Foobar" )
>  ^
> SyntaxError: invalid syntax
> 
> How can I get this working?

def print1():
print "Foobar"

It looks like in your version of Python "print" isn't a function. It always 
helps if you say the exact version you are using in your question as the 
exact answer you need may vary.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to create functors?

2009-08-18 Thread Robert Dailey
On Aug 18, 3:31 pm, Duncan Booth  wrote:
> Robert Dailey  wrote:
> > Hello,
>
> > I want to simply wrap a function up into an object so it can be called
> > with no parameters. The parameters that it would otherwise have taken
> > are already filled in. Like so:
>
> >       print1 = lambda: print( "Foobar" )
> >       print1()
>
> > However, the above code fails with:
>
> >   File "C:\IT\work\distro_test\distribute_radix.py", line 286
> >     print1 = lambda: print( "Foobar" )
> >                          ^
> > SyntaxError: invalid syntax
>
> > How can I get this working?
>
> def print1():
>     print "Foobar"
>
> It looks like in your version of Python "print" isn't a function. It always
> helps if you say the exact version you are using in your question as the
> exact answer you need may vary.

I'm using Python 2.6. And using the legacy syntax in the lambda does
not work either. I want to avoid using a def if possible. Thanks.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Inheriting dictionary

2009-08-18 Thread Pavel Panchekha
On Aug 18, 4:23 pm, "Jan Kaliszewski"  wrote:
> 18-08-2009 o 21:44:55 Pavel Panchekha  wrote:
>
>
>
> > I want a dictionary that will transparently "inherit" from a parent
> > dictionary. So, for example:
>
> > """
> > a = InheritDict({1: "one", 2: "two", 4: "four"})
> > b = InheritDict({3: "three", 4: "foobar"}, inherit_from=a)
>
> > a[1] # "one"
> > a[4] # "four"
> > b[1] # "one"
> > b[3] # "three"
> > b[4] # "foobar"
> > """
>
> > I've written something like this in Python already, but I'm wondering
> > if something like this already exists, preferably written in C, for
> > speed.
>
> AFAIN -- no. But you can easily implement it in Python with rather
> small loss of speed...
>
>   class InheritDict(dict):
>
>       class NoParent(object):
>           def __getitem__(self, key):
>               raise KeyError('There is no %r key in the hierarchy' % key)
>           def __nonzero__(self):
>               return False
>
>       noparent = NoParent()
>
>       def __init__(self, *args, **kwargs):
>           parent = kwargs.pop('inherit_from', self.noparent)
>           dict.__init__(self, *args, **kwargs)
>           self.parent = parent
>
>       def __getitem__(self, key):
>           try:
>               return dict.__getitem__(self, key)
>           except KeyError:
>               return self.parent[key]
>
> Did you do it in similar way? (just curiosity) :-)
>
> Regards,
> *j
>
> --
> Jan Kaliszewski (zuo) 

I implemented it in a similar way (instead of a try block, an if
block, which works a tiny bit faster; also have a multiple-parents
case, but its rare, and I could do that in Python without much loss of
speed). Pity that there's no C version; this InheritDict is kind of
the core of my application (in a very basic test, I have 329901 calls
to __getitem__).

Oh well; I'll see if I can optimize the __getattr__ function with
minor tweaking. Thanks for your help.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: define class over 2 files

2009-08-18 Thread Simon Forman
On Tue, Aug 18, 2009 at 1:57 AM, Steven
D'Aprano wrote:
> On Mon, 17 Aug 2009 21:45:57 -0700, naveen wrote:
>
>> Is it possible to split up a class definition over multiple files?
>
> Not exactly, but you can do variations of this:
>
>
> In file A.py, create:
>
> class Parent:
>    def method(self):
>        return "Method"
>
>
> In file B.py, do this:
>
> import A
> class Child(B.parent):

class Child(A.Parent):
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to create functors?

2009-08-18 Thread Robert Dailey
On Aug 18, 3:31 pm, Duncan Booth  wrote:
> Robert Dailey  wrote:
> > Hello,
>
> > I want to simply wrap a function up into an object so it can be called
> > with no parameters. The parameters that it would otherwise have taken
> > are already filled in. Like so:
>
> >       print1 = lambda: print( "Foobar" )
> >       print1()
>
> > However, the above code fails with:
>
> >   File "C:\IT\work\distro_test\distribute_radix.py", line 286
> >     print1 = lambda: print( "Foobar" )
> >                          ^
> > SyntaxError: invalid syntax
>
> > How can I get this working?
>
> def print1():
>     print "Foobar"
>
> It looks like in your version of Python "print" isn't a function. It always
> helps if you say the exact version you are using in your question as the
> exact answer you need may vary.

Seems like it works fine on everything else except for print(). For
example:

print1 = lambda: MyFunction( "FooBar" )

The syntax above is accepted by the interpreter.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to create functors?

2009-08-18 Thread Chris Rebert
On Tue, Aug 18, 2009 at 1:32 PM, Robert Dailey wrote:
> On Aug 18, 3:31 pm, Duncan Booth  wrote:
>> Robert Dailey  wrote:
>> > Hello,
>>
>> > I want to simply wrap a function up into an object so it can be called
>> > with no parameters. The parameters that it would otherwise have taken
>> > are already filled in. Like so:
>>
>> >       print1 = lambda: print( "Foobar" )
>> >       print1()
>>
>> > However, the above code fails with:
>>
>> >   File "C:\IT\work\distro_test\distribute_radix.py", line 286
>> >     print1 = lambda: print( "Foobar" )
>> >                          ^
>> > SyntaxError: invalid syntax
>>
>> > How can I get this working?
>>
>> def print1():
>>     print "Foobar"
>>
>> It looks like in your version of Python "print" isn't a function. It always
>> helps if you say the exact version you are using in your question as the
>> exact answer you need may vary.
>
> I'm using Python 2.6. And using the legacy syntax in the lambda does
> not work either. I want to avoid using a def if possible. Thanks.

ch...@morpheus ~ $ python
Python 2.6.2 (r262:71600, May 14 2009, 16:34:51)
[GCC 4.0.1 (Apple Inc. build 5484)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print1 = lambda: print( "Foobar" )
  File "", line 1
print1 = lambda: print( "Foobar" )
 ^
SyntaxError: invalid syntax
>>> from __future__ import print_function
>>> print1 = lambda: print( "Foobar" )
>>> print1()
Foobar

Cheers,
Chris
--
http://blog.rebertia.com
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: define class over 2 files

2009-08-18 Thread Jan Kaliszewski

18-08-2009 o 06:58:58 Xavier Ho  wrote:


On Tue, Aug 18, 2009 at 2:45 PM, naveen  wrote:


Is it possible to split up a class definition over multiple files?
-

Answer in short, I don't think so.


Why not?

-
File a.py:

 class MyClass:
 def foo(self, x):
 return x * 6

-
File b.py:

 import a
 def bar(self):
 print 'bar'
 def baz(self, a):
 print self.f(a)

 # adding methods by hand:
 a.MyClass.bar = bar
 a.MyClass.baz = baz

-
File c.py

 import a
 def f(self, a):
 return a * self.foo(4)
 def baaar(self):
 print self.baz('tralala')
 def bazzz(self):
 print 'bzz'

 # adding methods more automaticly:
 for name, obj in globals().values():
 setattr(a.MyClass, name, obj)



 Now why would you want to do that?


It's a good question. As others said it's very probable that some other
solution would be better (e.g. inheritance).

Cheers,
*j

--
Jan Kaliszewski (zuo) 
--
http://mail.python.org/mailman/listinfo/python-list


Re: Parallelization in Python 2.6

2009-08-18 Thread Jonathan Gardner
On Aug 18, 11:19 am, Robert Dailey  wrote:
> I'm looking for a way to parallelize my python script without using
> typical threading primitives. For example, C++ has pthreads and TBB to
> break things into "tasks". I would like to see something like this for
> python. So, if I have a very linear script:
>
> doStuff1()
> doStuff2()
>
> I can parallelize it easily like so:
>
> create_task( doStuff1 )
> create_task( doStuff2 )
>
> Both of these functions would be called from new threads, and once
> execution ends the threads would die. I realize this is a simple
> example and I could create my own classes for this functionality, but
> I do not want to bother if a solution already exists.
>

If you haven't heard of the Python GIL, you'll want to find out sooner
rather than later. Short summary: Python doesn't do threading very
well.

There are quite a few parallelization solutions out there for Python,
however. (I don't know what they are off the top of my head, however.)
The way they work is they have worker processes that can be spread
across machines. When you want to parallelize a task, you send off a
function to those worker threads.

There are some serious caveats and problems, not the least of which is
sharing code between the worker threads and the director, so this
isn't a great solution.

If you're looking for highly parallelized code, Python may not be the
right answer. Try something like Erlang or Haskell.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to create functors?

2009-08-18 Thread Robert Dailey
On Aug 18, 3:40 pm, Chris Rebert  wrote:
> On Tue, Aug 18, 2009 at 1:32 PM, Robert Dailey wrote:
> > On Aug 18, 3:31 pm, Duncan Booth  wrote:
> >> Robert Dailey  wrote:
> >> > Hello,
>
> >> > I want to simply wrap a function up into an object so it can be called
> >> > with no parameters. The parameters that it would otherwise have taken
> >> > are already filled in. Like so:
>
> >> >       print1 = lambda: print( "Foobar" )
> >> >       print1()
>
> >> > However, the above code fails with:
>
> >> >   File "C:\IT\work\distro_test\distribute_radix.py", line 286
> >> >     print1 = lambda: print( "Foobar" )
> >> >                          ^
> >> > SyntaxError: invalid syntax
>
> >> > How can I get this working?
>
> >> def print1():
> >>     print "Foobar"
>
> >> It looks like in your version of Python "print" isn't a function. It always
> >> helps if you say the exact version you are using in your question as the
> >> exact answer you need may vary.
>
> > I'm using Python 2.6. And using the legacy syntax in the lambda does
> > not work either. I want to avoid using a def if possible. Thanks.
>
> ch...@morpheus ~ $ python
> Python 2.6.2 (r262:71600, May 14 2009, 16:34:51)
> [GCC 4.0.1 (Apple Inc. build 5484)] on darwin
> Type "help", "copyright", "credits" or "license" for more information.>>> 
> print1 = lambda: print( "Foobar" )
>
>   File "", line 1
>     print1 = lambda: print( "Foobar" )
>                          ^
> SyntaxError: invalid syntax>>> from __future__ import print_function
> >>> print1 = lambda: print( "Foobar" )
> >>> print1()
>
> Foobar
>
> Cheers,
> Chris
> --http://blog.rebertia.com

I see what you're saying now. However, why am I able to use print as a
function in general-purpose code in my Python 2.6 script, like so:

def SomeFunction():
   print( "Hello World" )

But, I am not able to do this:

SomeFunction = lambda: print( "Hello World" )

??

Doesn't make sense.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to create functors?

2009-08-18 Thread Rami Chowdhury
Lambda expressions are, I believe, syntactically limited to a single  
expression -- no statements, like 'print' is in Python 2.x.


If you are strongly against just defining a function, you might have to  
use a trick to get around it -- this page  
(http://p-nand-q.com/python/stupid_lambda_tricks.html) has some  
suggestions.


On Tue, 18 Aug 2009 13:32:55 -0700, Robert Dailey   
wrote:



On Aug 18, 3:31 pm, Duncan Booth  wrote:

Robert Dailey  wrote:
> Hello,

> I want to simply wrap a function up into an object so it can be called
> with no parameters. The parameters that it would otherwise have taken
> are already filled in. Like so:

>       print1 = lambda: print( "Foobar" )
>       print1()

> However, the above code fails with:

>   File "C:\IT\work\distro_test\distribute_radix.py", line 286
>     print1 = lambda: print( "Foobar" )
>                          ^
> SyntaxError: invalid syntax

> How can I get this working?

def print1():
    print "Foobar"

It looks like in your version of Python "print" isn't a function. It  
always

helps if you say the exact version you are using in your question as the
exact answer you need may vary.


I'm using Python 2.6. And using the legacy syntax in the lambda does
not work either. I want to avoid using a def if possible. Thanks.




--
Rami Chowdhury
"Never attribute to malice that which can be attributed to stupidity" --  
Hanlon's Razor

408-597-7068 (US) / 07875-841-046 (UK) / 0189-245544 (BD)
--
http://mail.python.org/mailman/listinfo/python-list


Re: How to create functors?

2009-08-18 Thread Ned Deily
In article 
,
 Robert Dailey  wrote:
> On Aug 18, 3:31 pm, Duncan Booth  wrote:
> > Robert Dailey  wrote:
> > > Hello,
> >
> > > I want to simply wrap a function up into an object so it can be called
> > > with no parameters. The parameters that it would otherwise have taken
> > > are already filled in. Like so:
> >
> > >       print1 = lambda: print( "Foobar" )
> > >       print1()
> >
> > > However, the above code fails with:
> >
> > >   File "C:\IT\work\distro_test\distribute_radix.py", line 286
> > >     print1 = lambda: print( "Foobar" )
> > >                          ^
> > > SyntaxError: invalid syntax
> >
> > > How can I get this working?
> >
> > def print1():
> >     print "Foobar"
> >
> > It looks like in your version of Python "print" isn't a function. It always
> > helps if you say the exact version you are using in your question as the
> > exact answer you need may vary.
> 
> I'm using Python 2.6. And using the legacy syntax in the lambda does
> not work either. I want to avoid using a def if possible. Thanks.

The problem is that in Python 2 print is a statement, not a function.  
That should work fine in Python 3 where print *is* a function.  In 2.x, 
you can wrap print in a function or use something like:

>>> import sys
>>> print1 = lambda: sys.stdout.write("Foobar\n")
>>> print1()
Foobar

or the pprint library module or various other solutions.

-- 
 Ned Deily,
 [email protected]

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


Re: Parallelization in Python 2.6

2009-08-18 Thread Robert Dailey
On Aug 18, 3:41 pm, Jonathan Gardner 
wrote:
> On Aug 18, 11:19 am, Robert Dailey  wrote:
>
>
>
>
>
> > I'm looking for a way to parallelize my python script without using
> > typical threading primitives. For example, C++ has pthreads and TBB to
> > break things into "tasks". I would like to see something like this for
> > python. So, if I have a very linear script:
>
> > doStuff1()
> > doStuff2()
>
> > I can parallelize it easily like so:
>
> > create_task( doStuff1 )
> > create_task( doStuff2 )
>
> > Both of these functions would be called from new threads, and once
> > execution ends the threads would die. I realize this is a simple
> > example and I could create my own classes for this functionality, but
> > I do not want to bother if a solution already exists.
>
> If you haven't heard of the Python GIL, you'll want to find out sooner
> rather than later. Short summary: Python doesn't do threading very
> well.
>
> There are quite a few parallelization solutions out there for Python,
> however. (I don't know what they are off the top of my head, however.)
> The way they work is they have worker processes that can be spread
> across machines. When you want to parallelize a task, you send off a
> function to those worker threads.
>
> There are some serious caveats and problems, not the least of which is
> sharing code between the worker threads and the director, so this
> isn't a great solution.
>
> If you're looking for highly parallelized code, Python may not be the
> right answer. Try something like Erlang or Haskell.

Really, all I'm trying to do is the most trivial type of
parallelization. Take two functions, execute them in parallel. This
type of parallelization is called "embarrassingly parallel", and is
the simplest form. There are no dependencies between the two
functions. They do requires read-only access to shared data, though.
And if they are being spawned as sub-processes this could cause
problems, unless the multiprocess module creates pipelines or other
means to handle this situation.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Identifying a class type - bad practice?

2009-08-18 Thread Chris Rebert
On Tue, Aug 18, 2009 at 10:09 AM, James
Harris wrote:
> I am writing some code to form a tree of nodes of different types. The
> idea is to define one class per node type such as
>
> class node_type_1(node):
>  
> class node_type_2(node):
>  
> etc
>
> (Class "node" would hold any common properties).
>
> When walking the tree I need to know what type of node I'm dealing
> with so polymorphism isn't generally useful. The action to be taken
> depends on the node type.

I'm sure it relates to the exact type of tree you're walking and the
calculation you're doing on it, but what is the reason why your code,
which in the abstract sounds like it will vaguely resemble this:

def walk_tree(tree):
if isinstance(tree, node_type_1):
#code
walk_tree(subtree)
elif isinstance(tree, node_type_2):
#code
walk_tree(subtree)
#etc...

can't be written instead as:

class node_type_1:
def walk_tree(self):
#code
self.subtree.walk()

class node_type_2:
def walk_tree(self):
#code
self.subtree.walk()

#etc

?

Cheers,
Chris
--
http://blog.rebertia.com
-- 
http://mail.python.org/mailman/listinfo/python-list


  1   2   >