[issue15861] ttk.Treeview unmatched open brace in list

2013-01-15 Thread Roundup Robot

Roundup Robot added the comment:

New changeset 411bb75be5d1 by Serhiy Storchaka in branch '3.2':
Issue #15861: tkinter now correctly works with lists and tuples containing
http://hg.python.org/cpython/rev/411bb75be5d1

New changeset 927352d7e994 by Serhiy Storchaka in branch '3.3':
Issue #15861: tkinter now correctly works with lists and tuples containing
http://hg.python.org/cpython/rev/927352d7e994

New changeset 340e97ebe911 by Serhiy Storchaka in branch 'default':
Issue #15861: tkinter now correctly works with lists and tuples containing
http://hg.python.org/cpython/rev/340e97ebe911

New changeset 917ae14831ec by Serhiy Storchaka in branch '2.7':
Issue #15861: tkinter now correctly works with lists and tuples containing
http://hg.python.org/cpython/rev/917ae14831ec

--
nosy: +python-dev

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2013-01-15 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

Fixed. Thank you for report, Bryan Oakley.

--
resolution:  - fixed
stage: patch review - committed/rejected

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2013-01-15 Thread Serhiy Storchaka

Changes by Serhiy Storchaka storch...@gmail.com:


--
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-12-30 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

Have you reviewed the patch? Is it good?

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-12-29 Thread Serhiy Storchaka

Changes by Serhiy Storchaka storch...@gmail.com:


--
assignee:  - serhiy.storchaka

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-12-22 Thread Guilherme Polo

Guilherme Polo added the comment:

I consider myself the main responsible for this bug, so if the current patch 
(which I didn't look at) passes all tests, doesn't slow things up (unlikely, I 
would think) and also works with some more involved styling code then I'm fine 
with it.

These formatting functions were added to the ttk module to make it easier to 
create and adjust styles using Python. It wouldn't be possible without them 
unless the person basically coded in Tcl while in Python. These functions ended 
up being used in other places (as was noticed here) for convenience. All in 
all, I'm glad someone else is using the module, reporting, and improving it.

--
nosy: +gpolo

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-12-12 Thread Serhiy Storchaka

Changes by Serhiy Storchaka storch...@gmail.com:


Removed file: http://bugs.python.org/file28011/tkinter_quoting_2.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-12-12 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

Patch updated. Added additional tests for ttk.Combobox (see issue11290).

--
Added file: http://bugs.python.org/file28286/tkinter_quoting_3.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-12-12 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

Patch for 2.7 added.

--
Added file: http://bugs.python.org/file28287/tkinter_quoting_3-2.7.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-11-17 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

Patch updated.

--
Added file: http://bugs.python.org/file28011/tkinter_quoting_2.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-11-11 Thread Serhiy Storchaka

Changes by Serhiy Storchaka storch...@gmail.com:


--
stage: needs patch - patch review

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-11-10 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

Here is a patch for right quoting of arguments before concatenation.  Thanks 
Bryan Oakley for the analysis.

--
keywords: +patch
Added file: http://bugs.python.org/file27942/tkinter_quoting.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-11-08 Thread Zachary Ware

Changes by Zachary Ware zachary.w...@gmail.com:


--
versions: +Python 3.2, Python 3.3, Python 3.4

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-11-08 Thread Zachary Ware

Zachary Ware added the comment:

Just tested on 3.3 and this still happens with that version of Tkinter, which 
should mean the same happens in 3.2 and 3.4.

--
nosy: +zach.ware

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-11-08 Thread Serhiy Storchaka

Changes by Serhiy Storchaka storch...@gmail.com:


--
nosy: +serhiy.storchaka
stage:  - needs patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-11-08 Thread Stefan Stuhr

Stefan Stuhr added the comment:

I think this is a case of faulty over-engineering in the ttk module. The 
following works just fine (imports converted to Python3):

import tkinter as tk
import tkinter.ttk as ttk

root = tk.Tk()
tree = ttk.Treeview(root, columns=1 2 3)
tree.tk.call(tree, insert, , end , -values, (one,two,bam! {))
tree.grid()

root.mainloop()

--
nosy: +Stefan.Stuhr

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-09-06 Thread Bryan Oakley

Bryan Oakley added the comment:

I gave myself an hour or so to play around with this, and the crux of the 
matter seems to be in the function `_format_optdict()` which converts a 
dictionary of options and values into something suitable to pass to 
`tk.call()`. However, I think the same bug is in other `_format*` functions as 
well, it's just that their nature is such that they have much less of a chance 
to be passed weird data.

`_format_optdict` has some code that does a half-hearted attempt at handling 
values that are tuples, such as the case with the values attribute of the 
ttk.Treeview widget. However, all it does is protect values that have a space, 
by surrounding the value with curly braces. Hence, when the value itself has a 
curly brace, tcl throws the unmatched open brace error. 

What is needed is to create a bona fide tcl list element according to the rules 
of Tcl. I tried a hack where I simply escaped all problem characters, so 
instead of returning `{foo bar}` the function returns `foo\ bar`. This seemed 
to work, at least for the tiny bit of testing that I did. Another solution 
might be to do something like tk.call(list,*the_tuple), though sadly, 
`_format_optdict` is a function rather than a method so it doesn't have access 
to the tcl interpreter. 

What I think ttk needs (and may already exist somewhere in the Tkinter world; I 
haven't looked...) is a function that takes a tuple and converts it to a 
canonical list. Then, the places that do something ad hoc can all call this one 
function. 

For more information on the gory details of the string representation of a list 
see http://www.tcl.tk/cgi-bin/tct/tip/407.html

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-09-05 Thread Ned Deily

Ned Deily added the comment:

What behavior do you expect?  By accident, I found your reply to this 
StackOverflow question.  I take it from that that you think tkinter should be 
quoting curly braces found in strings.  If that is what you mean, can you 
specify the set of characters that need to be escaped and in what contexts?

http://stackoverflow.com/questions/11566299/unmatched-open-brace-error-when-adding-item-to-ttk-treeview

--
nosy: +asvetlov, ned.deily

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-09-05 Thread Bryan Oakley

Bryan Oakley added the comment:

What behavior do I expect? I expect it to not throw an error. I expect whatever 
string I give to be inserted into the widget unadulterated (ie: if I give the 
string foo { I expect to see foo { in the widget). 

Tkinter is effectively telling me you have a Tcl syntax error. Since I'm 
programming in python I should be insulated from that, particularly since the 
error comes internally after Tkinter transforms my data. 

How Tkinter does it under the hood, I don't care. Tkinter should make sure that 
the data it passes to the Tcl interpreter is well-formed.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-09-05 Thread Ezio Melotti

Changes by Ezio Melotti ezio.melo...@gmail.com:


--
nosy: +ezio.melotti

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-09-05 Thread Eric V. Smith

Eric V. Smith added the comment:

I agree with Bryan. Further, if the string is being interpreted as Tcl, then 
this strikes me as a possible injection attack vector (although I'll admit to 
not having looked at the code to see how the Tcl code is being used and/or 
interpreted).

--
nosy: +eric.smith

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-09-05 Thread Ned Deily

Ned Deily added the comment:

I agree as well.  The bigger question is, as Eric suggests, is this the only 
such case when mapping between Python and Tcl elements?  Since Bryan is a 
well-known Tcl and Tkinter expert, his insights on that would be very useful.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15861] ttk.Treeview unmatched open brace in list

2012-09-04 Thread Bryan Oakley

New submission from Bryan Oakley:

If you try to insert an item into the treeview, give it a tuple of values for 
the values attribute, and one of those values has unbalanced braces, you'll 
get an error unmatched open brace in list

To reproduce:

import Tkinter as tk
import ttk

root = tk.Tk()
tree = ttk.Treeview(root)
tree.insert(,end,values=(one,two,bam! {))

root.mainloop()

--
components: Tkinter
messages: 169839
nosy: Bryan.Oakley
priority: normal
severity: normal
status: open
title: ttk.Treeview unmatched open brace in list
type: behavior
versions: Python 2.7

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15861
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com