Re: [Python-Dev] [RELEASE] Python 2.7.4 release candidate 1

2013-03-26 Thread Matthias Klose
Am 25.03.2013 01:30, schrieb Benjamin Peterson:
> 2.7.4 will be the latest maintenance release in the Python 2.7 series.

I hope it's not (and in the IDLE thread you say so otherwise too).

  Matthias


___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [RELEASE] Python 2.7.4 release candidate 1

2013-03-26 Thread Lennart Regebro
On Tue, Mar 26, 2013 at 11:54 AM, Matthias Klose  wrote:
> Am 25.03.2013 01:30, schrieb Benjamin Peterson:
>> 2.7.4 will be the latest maintenance release in the Python 2.7 series.
>
> I hope it's not (and in the IDLE thread you say so otherwise too).

It most certainly will be the latest once it's released. But hopefully
not the last. :-)

//Lennart
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [RELEASE] Python 2.7.4 release candidate 1

2013-03-26 Thread Victor Stinner
2013/3/26 Lennart Regebro :
> On Tue, Mar 26, 2013 at 11:54 AM, Matthias Klose  wrote:
>> Am 25.03.2013 01:30, schrieb Benjamin Peterson:
>>> 2.7.4 will be the latest maintenance release in the Python 2.7 series.
>>
>> I hope it's not (and in the IDLE thread you say so otherwise too).
>
> It most certainly will be the latest once it's released. But hopefully
> not the last. :-)

I also read "the last" by mistake!

Anyway, you should trust Brett Canon: "Python 3.3: Trust Me, It's
Better Than Python 2.7".

https://speakerdeck.com/pyconslides/python-3-dot-3-trust-me-its-better-than-python-2-dot-7-by-dr-brett-cannon

Victor
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [RELEASE] Python 2.7.4 release candidate 1

2013-03-26 Thread a . cavallo

It's already hard to sell 2.7 in most companies.

Regards,
Antonio


Anyway, you should trust Brett Canon: "Python 3.3: Trust Me, It's
Better Than Python 2.7".


https://speakerdeck.com/pyconslides/python-3-dot-3-trust-me-its-better-than-python-2-dot-7-by-dr-brett-cannon

Victor


___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [RELEASE] Python 2.7.4 release candidate 1

2013-03-26 Thread Benjamin Peterson
2013/3/26 Matthias Klose :
> Am 25.03.2013 01:30, schrieb Benjamin Peterson:
>> 2.7.4 will be the latest maintenance release in the Python 2.7 series.
>
> I hope it's not (and in the IDLE thread you say so otherwise too).

"latest" is different from "last" :)


-- 
Regards,
Benjamin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Can we triple quoted string as a comment?

2013-03-26 Thread R. David Murray
On Mon, 25 Mar 2013 18:16:47 -0700, Raymond Hettinger 
 wrote:
> If you're editing with Emacs, it is really easy to reflow paragraphs
> and to insert or remove multiline comments each prefixed with #.
> But with other editors, it can be a PITA and a multiline string is
> the easiest to maintain and works well when cutting-and-pasting
> the comments from somewhere else.

Just FYI it is also very easy in vim: gq plus whatever movement prefix
suits the situation.

--David
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [RELEASE] Python 2.7.4 release candidate 1

2013-03-26 Thread Antoine Pitrou
Le Tue, 26 Mar 2013 12:34:34 +0100,
Victor Stinner  a écrit :

> 2013/3/26 Lennart Regebro :
> > On Tue, Mar 26, 2013 at 11:54 AM, Matthias Klose 
> > wrote:
> >> Am 25.03.2013 01:30, schrieb Benjamin Peterson:
> >>> 2.7.4 will be the latest maintenance release in the Python 2.7
> >>> series.
> >>
> >> I hope it's not (and in the IDLE thread you say so otherwise too).
> >
> > It most certainly will be the latest once it's released. But
> > hopefully not the last. :-)
> 
> I also read "the last" by mistake!
> 
> Anyway, you should trust Brett Canon: "Python 3.3: Trust Me, It's
> Better Than Python 2.7".
> 
> https://speakerdeck.com/pyconslides/python-3-dot-3-trust-me-its-better-than-python-2-dot-7-by-dr-brett-cannon

You can always trust Brett Cannon!

cheers

Antoine.


___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Can we triple quoted string as a comment?

2013-03-26 Thread Antoine Pitrou
Le Tue, 26 Mar 2013 09:28:51 -0400,
"R. David Murray"  a écrit :
> On Mon, 25 Mar 2013 18:16:47 -0700, Raymond Hettinger
>  wrote:
> > If you're editing with Emacs, it is really easy to reflow paragraphs
> > and to insert or remove multiline comments each prefixed with #.
> > But with other editors, it can be a PITA and a multiline string is
> > the easiest to maintain and works well when cutting-and-pasting
> > the comments from somewhere else.
> 
> Just FYI it is also very easy in vim: gq plus whatever movement prefix
> suits the situation.

And on a user-friendly editor such as Kate, you can press Ctrl+D.

Regards

Antoine.


___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Can we triple quoted string as a comment?

2013-03-26 Thread Ethan Furman

On 03/25/2013 02:16 PM, Victor Stinner wrote:

Hi,

I just realized that the Python peephole optimizer removes useless
instructions like numbers and strings between other instructions,
without raising an error nor emiting an error. Example:

$ python -Wd -c 'print "Hello"; "World"'
Hello

As part of my astoptimizer project, I wrote a function to detect such
useless instructions which emit a warning. I opened the following
issue to report what I found:
http://bugs.python.org/issue17516

Different modules use long strings as comments. What is the "official"
policy about such strings? Should we use strings or comments?

(IMO a comment should be used instead.)


Someone will correct me if I'm wrong, I'm sure, but I believe Guido himself has said that a neat feature of 
triple-quoted strings is their ability to be used as comments.


--
~Ethan~
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Can we triple quoted string as a comment?

2013-03-26 Thread Guido van Rossum
And I still think it's neat. :-)


On Tue, Mar 26, 2013 at 8:46 AM, Ethan Furman  wrote:

> On 03/25/2013 02:16 PM, Victor Stinner wrote:
>
>> Hi,
>>
>> I just realized that the Python peephole optimizer removes useless
>> instructions like numbers and strings between other instructions,
>> without raising an error nor emiting an error. Example:
>>
>> $ python -Wd -c 'print "Hello"; "World"'
>> Hello
>>
>> As part of my astoptimizer project, I wrote a function to detect such
>> useless instructions which emit a warning. I opened the following
>> issue to report what I found:
>> http://bugs.python.org/**issue17516 
>>
>> Different modules use long strings as comments. What is the "official"
>> policy about such strings? Should we use strings or comments?
>>
>> (IMO a comment should be used instead.)
>>
>
> Someone will correct me if I'm wrong, I'm sure, but I believe Guido
> himself has said that a neat feature of triple-quoted strings is their
> ability to be used as comments.
>
> --
> ~Ethan~
>
> __**_
> Python-Dev mailing list
> Python-Dev@python.org
> http://mail.python.org/**mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/**mailman/options/python-dev/**
> guido%40python.org
>



-- 
--Guido van Rossum (python.org/~guido)
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] cpython (2.7): Issue 17538: Document XML vulnerabilties

2013-03-26 Thread Antoine Pitrou
On Tue, 26 Mar 2013 17:53:39 +0100 (CET)
christian.heimes  wrote:
> +
> +The XML processing modules are not secure against maliciously constructed 
> data.
> +An attacker can abuse vulnerabilities for e.g. denial of service attacks, to
> +access local files, to generate network connections to other machines, or
> +to or circumvent firewalls.

Really? Where does the "access local files, generate network
connections, circumvent firewalls" allegation come from?

Regards

Antoine.


___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] cpython (2.7): Issue 17538: Document XML vulnerabilties

2013-03-26 Thread Donald Stufft

On Mar 26, 2013, at 2:41 PM, Antoine Pitrou  wrote:

> On Tue, 26 Mar 2013 17:53:39 +0100 (CET)
> christian.heimes  wrote:
>> +
>> +The XML processing modules are not secure against maliciously constructed 
>> data.
>> +An attacker can abuse vulnerabilities for e.g. denial of service attacks, to
>> +access local files, to generate network connections to other machines, or
>> +to or circumvent firewalls.
> 
> Really? Where does the "access local files, generate network
> connections, circumvent firewalls" allegation come from?

https://pypi.python.org/pypi/defusedxml#external-entity-expansion-remote

https://pypi.python.org/pypi/defusedxml#external-entity-expansion-local-file

https://pypi.python.org/pypi/defusedxml#dtd-retrieval

> 
> Regards
> 
> Antoine.
> 
> 
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: 
> http://mail.python.org/mailman/options/python-dev/donald%40stufft.io


-
Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA



signature.asc
Description: Message signed with OpenPGP using GPGMail
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] cpython (2.7): Issue 17538: Document XML vulnerabilties

2013-03-26 Thread Christian Heimes
Am 26.03.2013 19:41, schrieb Antoine Pitrou:
> On Tue, 26 Mar 2013 17:53:39 +0100 (CET)
> christian.heimes  wrote:
>> +
>> +The XML processing modules are not secure against maliciously constructed 
>> data.
>> +An attacker can abuse vulnerabilities for e.g. denial of service attacks, to
>> +access local files, to generate network connections to other machines, or
>> +to or circumvent firewalls.
> 
> Really? Where does the "access local files, generate network
> connections, circumvent firewalls" allegation come from?

Really!

https://bitbucket.org/PSF/defusedxml/src/e76248a8c2b3102c565bd3451656130cb29f04f8/other/python_external.py?at=default


REQUEST:

Aachen

RESPONSE:
-
The weather in Aachen is terrible.

]>
&passwd;


RESPONSE:
-
Unknown city root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bi


REQUEST:


http://hg.python.org/cpython/raw-file/a11ddd687a0b/Lib/test/dh512.pem";>
]>
&url;


RESPONSE:
-
Unknown city -BEGIN DH PARAMETERS-
MEYCQQD1Kv884bEpQBgRjXyEpwpy1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWak
XUGfnHy9iUsiGSa6q6Jew1XpKgVfAgEC
-END DH PARAMETERS-

These are the 512 bit DH parameters from "Assigned Number for SKIP
Protocols"
(http://www.skip-vpn.org/spec/numbers.html).
See there for how they were generated.
Note that g is not a generator, but this is not a problem since p is a
safe prime.



Q.E.D.
Christian
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [RELEASE] Python 2.7.4 release candidate 1

2013-03-26 Thread Antoine Pitrou
On Tue, 26 Mar 2013 12:54:11 +0100
a.cava...@cavallinux.eu wrote:
> It's already hard to sell 2.7 in most companies.

Sure, it's often hard to sell free software!

Regards

Antoine.


___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] Google Summer of Code - Organization Deadline Approaching - March 29

2013-03-26 Thread Brian Curtin
Just an FYI that there are under 3 days to apply to Google Summer of
Code for mentoring organizations:
http://www.google-melange.com/gsoc/homepage/google/gsoc2013. The
student application deadline is later on in May.

If you run a project that is interested in applying under the Python
umbrella organization, contact Terri Oda at te...@zone12.com

Is anyone here interested in leading CPython through GSOC? Anyone have
potential students to get involved, or interested in being a mentor?
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [RELEASE] Python 2.7.4 release candidate 1

2013-03-26 Thread Georg Brandl
Am 26.03.2013 13:13, schrieb Benjamin Peterson:
> 2013/3/26 Matthias Klose :
>> Am 25.03.2013 01:30, schrieb Benjamin Peterson:
>>> 2.7.4 will be the latest maintenance release in the Python 2.7 series.
>>
>> I hope it's not (and in the IDLE thread you say so otherwise too).
> 
> "latest" is different from "last" :)

As opposed to 3.2.4, which will really be the last (the last regular one,
that is -- if/when the XML stuff gets released there will be a source-only
release).

Georg

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] astoptimizer: static optimizer working on the AST

2013-03-26 Thread Victor Stinner
Hi,

I made progress since last August on my astoptimizer project (read the
Changelog). Previous email thread:
http://mail.python.org/pipermail/python-dev/2012-August/121286.html

The astoptimizer project is an optimizer rewriting Python AST. It
executes as much code as possible during the compilation. The
optimizer itself is not designed to be fast, but to emit faster code.

https://bitbucket.org/haypo/astoptimizer/

Some optimizations are not "pythonic": don't respect the Python
language by making some assumptions (ex: on the namespace), which may
be wrong in some cases. astoptimizer is written for adults which know
which optimizations can be enabled, and which ones must be disabled in
their application (application, not module). I'm trying to write a
safe and "pythonic" default configuration. For example, len("abc") is
not replaced with 3 by default. You have to enable explicitly the
"builtin_funcs" configuration feature.

astoptimizer can be used as a pythonic preprocessor: it replaces
os.name, sys.platform and also your own constants by their value. It
removes dead code and so may be used to remove completly the overhead
of checks on the Python version or an the platform (if python3: ...
else: ...).

I would like to improve the integration of astoptimizer in Python 3.4.
Brett Canon asked me to use an hook in importlib, I proposed to add a
generic AST hook which would also be called by eval(), compile(), etc.
I would like to allow anyone to use its own AST modifier, and simplify
the usage of astoptimizer.
=> http://bugs.python.org/issue17515

Open issues:

 * what should be the name of "pyc" files?
 * how to handle different configuration of astoptimizer: generate
different "pyc" files?
 * no sys.getasthook(): it would permit to chain different AST hooks

--

There are many open issues proposing to write a better Python
optimizer. Some of them are stuck because implementing them using the
bytecode optimizer is hard.

 * http://bugs.python.org/issue1346238:
   A constant folding optimization pass for the AST
 * http://bugs.python.org/issue2181:
   optimize out local variables at end of function
 * http://bugs.python.org/issue2499:
   Fold unary + and not on constants
 * http://bugs.python.org/issue4264:
   Patch: optimize code to use LIST_APPEND instead of calling list.append
 * http://bugs.python.org/issue7682:
   Optimisation of if with constant expression
 * http://bugs.python.org/issue10399:
   AST Optimization: inlining of function calls
 * http://bugs.python.org/issue11549:
   Build-out an AST optimizer, moving some functionality out of the
peephole optimizer
 * http://bugs.python.org/issue17068:
   peephole optimization for constant strings
 * http://bugs.python.org/issue17430:
   missed peephole optimization

astoptimizer implements many optimizations listed in these issues.
Read the README file to the list of optimizations already implemented,
and the TODO file for ideas of new optimizations.

--

The project is still experimental. I ran Python 2.7 and 3.4 test
suites. Some tests are failing because the AST or the bytecode is
different (which is expected). More tests are failing if you enable
more agressive optimizations (especially if you enable the agressive
mode to remove dead code). At least, Python does not crash :-) (It
occurs sometimes when astoptimizer generates invalid AST!)

Victor
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [RELEASE] Python 2.7.4 release candidate 1

2013-03-26 Thread Sean Felipe Wolfe
On Tue, Mar 26, 2013 at 4:34 AM, Victor Stinner
 wrote:
> Anyway, you should trust Brett Canon: "Python 3.3: Trust Me, It's
> Better Than Python 2.7".
>
> https://speakerdeck.com/pyconslides/python-3-dot-3-trust-me-its-better-than-python-2-dot-7-by-dr-brett-cannon

Was there supposed to be audio with this, or is it slides only? I got
no audio :P
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [RELEASE] Python 2.7.4 release candidate 1

2013-03-26 Thread Hynek Schlawack
Am 26.03.2013 um 23:05 schrieb Sean Felipe Wolfe :

>> Anyway, you should trust Brett Canon: "Python 3.3: Trust Me, It's
>> Better Than Python 2.7".
>> 
>> https://speakerdeck.com/pyconslides/python-3-dot-3-trust-me-its-better-than-python-2-dot-7-by-dr-brett-cannon
> Was there supposed to be audio with this, or is it slides only? I got
> no audio :P

Speakerdeck is slides only. The video is here: 
http://pyvideo.org/video/1730/python-33-trust-me-its-better-than-27

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [RELEASE] Python 2.7.4 release candidate 1

2013-03-26 Thread Sean Felipe Wolfe
On Tue, Mar 26, 2013 at 3:26 PM, Hynek Schlawack  wrote:
> Speakerdeck is slides only. The video is here: 
> http://pyvideo.org/video/1730/python-33-trust-me-its-better-than-27

Sweet thanks!
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] noob contributions to unit tests

2013-03-26 Thread Sean Felipe Wolfe
Hey everybody how are you all :)

I am an intermediate-level python coder looking to get help out. I've
been reading over the dev guide about helping increase test coverage
-->
http://docs.python.org/devguide/coverage.html

And also the third-party code coverage referenced in the devguide page:
http://coverage.livinglogic.de/

I'm seeing that according to the coverage tool, two of my favorite
libraries, urllib/urllib2, have no unit tests? Is that correct or am I
reading it wrong?

If that's correct it seems like a great place perhaps for me to cut my
teeth and I would be excited to learn and help out here.

And of course any thoughts or advice for an aspiring Python
contributor would be appreciated. Of course the dev guide gives me
plenty of good info.

Thanks!



-- 
A musician must make music, an artist must paint, a poet must write,
if he is to be ultimately at peace with himself.
- Abraham Maslow
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] noob contributions to unit tests

2013-03-26 Thread Maciej Fijalkowski
On Tue, Mar 26, 2013 at 4:49 PM, Sean Felipe Wolfe  wrote:
> Hey everybody how are you all :)
>
> I am an intermediate-level python coder looking to get help out. I've
> been reading over the dev guide about helping increase test coverage
> -->
> http://docs.python.org/devguide/coverage.html
>
> And also the third-party code coverage referenced in the devguide page:
> http://coverage.livinglogic.de/
>
> I'm seeing that according to the coverage tool, two of my favorite
> libraries, urllib/urllib2, have no unit tests? Is that correct or am I
> reading it wrong?
>
> If that's correct it seems like a great place perhaps for me to cut my
> teeth and I would be excited to learn and help out here.
>
> And of course any thoughts or advice for an aspiring Python
> contributor would be appreciated. Of course the dev guide gives me
> plenty of good info.
>
> Thanks!

That looks like an error in the coverage report, there are certainly
urllib and urllib2 tests in test/test_urllib*
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] Can I introspect/reflect to get arguments exec()?

2013-03-26 Thread Rocky Bernstein
[asked on comp.lang.python but no takers. So I'm bumping it up a notch.]

I have ported my Python debugger pydbgr to Python3. See [1] or [2].

Inside the debugger, when there is an exec() somewhere in the call stack,
I'd like to be able to retrieve the string parameter. With this, the
debugger can show part of the string in a call stack. Or it can show the
text when the frame is set to that exec() frame.

Going further, the debugger could write the exec string out to a temporary
file. And when reporting locations, it could report not just something like
" line 4", but also give that temporary file name which a front-end
could use as well.

So consider this code using inspect.getargvalues() and
inspect.currentframe():

import inspect
def my_exec(string):
show_args(inspect.currentframe()) # simulate exec(string)

def show_args(frame):
print(inspect.getargvalues(frame))

my_exec("show_args(inspect.currentframe())")
exec("show_args(inspect.currentframe())")


When run this is the output:

python3 exec-args.py
ArgInfo(args=['string'], varargs=None, keywords=None, locals={'string':
'show_args(inspect.currentframe())'})
ArgInfo(args=[], varargs=None, keywords=None, locals={'my_exec':
,, ...


In a different setting, CPython byte-code assembly that gets generated for
running exec() is:

 25   88 LOAD_GLOBAL10 (exec)
  91 LOAD_CONST  4
('show_args(inspect.currentframe())')
   -->94 CALL_FUNCTION   1
  97 POP_TOP

What's going on?

Also, I have the same question for CPython 2.6 or Python 2.7.

Thanks!

[1] http://code.google.com/p/pydbgr/
[2] http://code.google.com/p/python3-trepan/
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Can I introspect/reflect to get arguments exec()?

2013-03-26 Thread Benjamin Peterson
2013/3/26 Rocky Bernstein :
> [asked on comp.lang.python but no takers. So I'm bumping it up a notch.]
>
> I have ported my Python debugger pydbgr to Python3. See [1] or [2].
>
> Inside the debugger, when there is an exec() somewhere in the call stack,
> I'd like to be able to retrieve the string parameter. With this, the
> debugger can show part of the string in a call stack. Or it can show the
> text when the frame is set to that exec() frame.
>
> Going further, the debugger could write the exec string out to a temporary
> file. And when reporting locations, it could report not just something like
> " line 4", but also give that temporary file name which a front-end
> could use as well.
>
> So consider this code using inspect.getargvalues() and
> inspect.currentframe():
>
> import inspect
> def my_exec(string):
> show_args(inspect.currentframe()) # simulate exec(string)
>
> def show_args(frame):
> print(inspect.getargvalues(frame))
>
> my_exec("show_args(inspect.currentframe())")
> exec("show_args(inspect.currentframe())")
>
>
> When run this is the output:
>
> python3 exec-args.py
> ArgInfo(args=['string'], varargs=None, keywords=None, locals={'string':
> 'show_args(inspect.currentframe())'})
> ArgInfo(args=[], varargs=None, keywords=None, locals={'my_exec':
> ,, ...
>
>
> In a different setting, CPython byte-code assembly that gets generated for
> running exec() is:
>
>  25   88 LOAD_GLOBAL10 (exec)
>   91 LOAD_CONST  4
> ('show_args(inspect.currentframe())')
>-->94 CALL_FUNCTION   1
>   97 POP_TOP
>
> What's going on?

execing something is not the same as calling it, so there are no arguments.



-- 
Regards,
Benjamin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] noob contributions to unit tests

2013-03-26 Thread R. David Murray
On Tue, 26 Mar 2013 16:59:06 -0700, Maciej Fijalkowski  wrote:
> On Tue, Mar 26, 2013 at 4:49 PM, Sean Felipe Wolfe  
> wrote:
> > Hey everybody how are you all :)
> >
> > I am an intermediate-level python coder looking to get help out. I've
> > been reading over the dev guide about helping increase test coverage
> > -->
> > http://docs.python.org/devguide/coverage.html
> >
> > And also the third-party code coverage referenced in the devguide page:
> > http://coverage.livinglogic.de/
> >
> > I'm seeing that according to the coverage tool, two of my favorite
> > libraries, urllib/urllib2, have no unit tests? Is that correct or am I
> > reading it wrong?
> >
> > If that's correct it seems like a great place perhaps for me to cut my
> > teeth and I would be excited to learn and help out here.
> >
> > And of course any thoughts or advice for an aspiring Python
> > contributor would be appreciated. Of course the dev guide gives me
> > plenty of good info.
> >
> > Thanks!
> 
> That looks like an error in the coverage report, there are certainly
> urllib and urllib2 tests in test/test_urllib*

The devguide contains instructions for running coverage yourself,
and if I recall correctly the 'fullcoverage' recipe does a better
job than what runs at coverage.livinglogic.de.

On the other hand, I'm fairly certain that even if the coverage were at
100% code-and-branch coverage, there'd still be tests worth adding,
if you are as familiar with the modules as your intro suggests :)

However, if you are writing new tests, please write them against
the default branch, which means urllib in Python3 (the test files
are still named like they are in Python2, though).

--David

PS: If you aren't aware of the core-mentorship mailing list, you
might want to check that out as well.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Can I introspect/reflect to get arguments exec()?

2013-03-26 Thread Rocky Bernstein
On Tue, Mar 26, 2013 at 10:18 PM, Benjamin Peterson wrote:

> 2013/3/26 Rocky Bernstein :
> > [asked on comp.lang.python but no takers. So I'm bumping it up a notch.]
> >
> > I have ported my Python debugger pydbgr to Python3. See [1] or [2].
> >
> > Inside the debugger, when there is an exec() somewhere in the call stack,
> > I'd like to be able to retrieve the string parameter. With this, the
> > debugger can show part of the string in a call stack. Or it can show the
> > text when the frame is set to that exec() frame.
> >
> > Going further, the debugger could write the exec string out to a
> temporary
> > file. And when reporting locations, it could report not just something
> like
> > " line 4", but also give that temporary file name which a
> front-end
> > could use as well.
> >
> > So consider this code using inspect.getargvalues() and
> > inspect.currentframe():
> >
> > import inspect
> > def my_exec(string):
> > show_args(inspect.currentframe()) # simulate exec(string)
> >
> > def show_args(frame):
> > print(inspect.getargvalues(frame))
> >
> > my_exec("show_args(inspect.currentframe())")
> > exec("show_args(inspect.currentframe())")
> >
> >
> > When run this is the output:
> >
> > python3 exec-args.py
> > ArgInfo(args=['string'], varargs=None, keywords=None,
> locals={'string':
> > 'show_args(inspect.currentframe())'})
> > ArgInfo(args=[], varargs=None, keywords=None, locals={'my_exec':
> > ,, ...
> >
> >
> > In a different setting, CPython byte-code assembly that gets generated
> for
> > running exec() is:
> >
> >  25   88 LOAD_GLOBAL10 (exec)
> >   91 LOAD_CONST  4
> > ('show_args(inspect.currentframe())')
> >-->94 CALL_FUNCTION   1
> >   97 POP_TOP
> >
> > What's going on?
>
> execing something is not the same as calling it, so there are no arguments.
>

Okay. But is the string is still somewhere in the CPython VM stack? (The
result of LOAD_CONST 4 above). Is there a way to pick it up from there? At
the point that we are stopped the exec action hasn't taken place yet.




>
>
> --
> Regards,
> Benjamin
>
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com