/usr/lib/pypy/lib_pypy/_tkinter/__init__.py is in pypy-tk 2.2.1+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # _tkinter package -- low-level interface to libtk and libtcl.
#
# This is an internal module, applications should "import Tkinter" instead.
#
# This version is based on cffi, and is a translation of _tkinter.c
# from CPython, version 2.7.4.
class TclError(Exception):
pass
import cffi
try:
from .tklib import tklib, tkffi
except cffi.VerificationError:
raise ImportError("Tk headers and development libraries are required")
from .app import TkApp
TK_VERSION = tkffi.string(tklib.get_tk_version())
TCL_VERSION = tkffi.string(tklib.get_tcl_version())
READABLE = tklib.TCL_READABLE
WRITABLE = tklib.TCL_WRITABLE
EXCEPTION = tklib.TCL_EXCEPTION
DONT_WAIT = tklib.TCL_DONT_WAIT
def create(screenName=None, baseName=None, className=None,
interactive=False, wantobjects=False, wantTk=True,
sync=False, use=None):
return TkApp(screenName, baseName, className,
interactive, wantobjects, wantTk, sync, use)
def _flatten(item):
def _flatten1(output, item, depth):
if depth > 1000:
raise ValueError("nesting too deep in _flatten")
if not isinstance(item, (list, tuple)):
raise TypeError("argument must be sequence")
# copy items to output tuple
for o in item:
if isinstance(o, (list, tuple)):
_flatten1(output, o, depth + 1)
elif o is not None:
output.append(o)
result = []
_flatten1(result, item, 0)
return tuple(result)
|