solentware-bind 1.0__tar.gz → 1.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,76 @@
1
+ Metadata-Version: 2.1
2
+ Name: solentware-bind
3
+ Version: 1.0.2
4
+ Summary: Bind and exception handling for tkinter callbacks.
5
+ Author-email: Roger Marsh <roger.marsh@solentware.co.uk>
6
+ License: Licence for solentware_bind package
7
+ Copyright (c) 2022, Roger Marsh
8
+ All rights reserved.
9
+
10
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
11
+
12
+
13
+ Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
14
+
15
+ Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
16
+
17
+ Neither the name of the owner nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
18
+
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
21
+
22
+ Project-URL: Homepage, http://www.solentware.co.uk
23
+ Project-URL: Repository, https://github.com/RogerMarsh/solentware-bind.git
24
+ Project-URL: Bug Tracker, https://github.com/RogerMarsh/solentware-bind/issues
25
+ Classifier: License :: OSI Approved :: BSD License
26
+ Classifier: Programming Language :: Python :: 3.9
27
+ Classifier: Programming Language :: Python :: 3.10
28
+ Classifier: Programming Language :: Python :: 3.11
29
+ Classifier: Programming Language :: Python :: 3.12
30
+ Classifier: Operating System :: OS Independent
31
+ Classifier: Topic :: Software Development
32
+ Classifier: Intended Audience :: Developers
33
+ Classifier: Development Status :: 3 - Alpha
34
+ License-File: LICENCE
35
+
36
+ =============================
37
+ Event bindings and exceptions
38
+ =============================
39
+
40
+ .. contents::
41
+
42
+
43
+ Description
44
+ ===========
45
+
46
+ This package provides wrappers to catch exceptions in `tkinter`_ callbacks and use the identifiers returned by tkinter bind and tag_bind methods to avoid memory leaks. The `idlelib`_ module provided examples to follow.
47
+
48
+
49
+ Installation Instructions
50
+ =========================
51
+
52
+ This package is available on PyPI so can be installed by typing
53
+
54
+ python -m pip install --user solentware-misc
55
+
56
+ at the command prompt.
57
+
58
+ See `Python`_ and `pip`_ documentation for alternatives and platform-specific points.
59
+
60
+
61
+ Notes
62
+ =====
63
+
64
+ The docstring for tkinter.Misc.bind() states, at Python 3.9.14, "Bind will return an identifier to allow deletion of the bound function with unbind without memory leak.".
65
+
66
+ The docstrings for tkinter.Misc.bind_all(), tkinter.Misc.bind_class(), tkinter.Canvas.tag_bind(), and tkinter.Text.tag_bind(), refer to the docstring for tkinter.Misc.bind().
67
+
68
+ Wrappers for tkinter.Misc.bind_all() and tkinter.Misc.bind_class() are not provided.
69
+
70
+ The solentware_bind project exists to avoid solentware_base and solentware_grid depending on each other. The exceptionhandler and gridbindings modules were in solentware_misc before the bindings module was added.
71
+
72
+
73
+ .. _tkinter: https://python.org
74
+ .. _Python: https://python.org
75
+ .. _idlelib: https://python.org
76
+ .. _pip: https://packaging.python.org/installing
@@ -0,0 +1,51 @@
1
+ [build-system]
2
+ requires = [
3
+ "setuptools>=61.0",
4
+ "wheel"
5
+ ]
6
+ build-backend = "setuptools.build_meta"
7
+
8
+ [tool.black]
9
+ line-length = 79
10
+
11
+ [project]
12
+ name = "solentware-bind"
13
+ version = "1.0.2"
14
+ authors = [
15
+ { name="Roger Marsh", email="roger.marsh@solentware.co.uk" },
16
+ ]
17
+ description = "Bind and exception handling for tkinter callbacks."
18
+ classifiers = [
19
+ "License :: OSI Approved :: BSD License",
20
+ "Programming Language :: Python :: 3.9",
21
+ "Programming Language :: Python :: 3.10",
22
+ "Programming Language :: Python :: 3.11",
23
+ "Programming Language :: Python :: 3.12",
24
+ "Operating System :: OS Independent",
25
+ "Topic :: Software Development",
26
+ "Intended Audience :: Developers",
27
+ "Development Status :: 3 - Alpha",
28
+ ]
29
+ license = {file = "LICENCE"}
30
+ readme = "README"
31
+
32
+ [project.urls]
33
+ Homepage = "http://www.solentware.co.uk"
34
+ Repository = "https://github.com/RogerMarsh/solentware-bind.git"
35
+ "Bug Tracker" = "https://github.com/RogerMarsh/solentware-bind/issues"
36
+
37
+ # Still beta according to Python-3.10.12 built on openbsd7 on 19 June 2023.
38
+ # py3-setuptools-64.0.3p1v0 is setuptools version according to pkg_info.
39
+ # python3.10 -m pip install --user --no-index --find-links dist solentware_bind==1.0.1.dev0
40
+ # successfully installed the package so not having the setup.py script at
41
+ # setuptools.pypa.io/en/stable/userguide/pyproject_config.html
42
+ # is fine.
43
+ # uci_net uses the [tool.setuptools.packages.find] section for comparison.
44
+ # Actually it does not: uci_net.samples gets a huge deprecation warning and
45
+ # having both [tool.setuptools] and [tool.setuptools.packages.find] is an
46
+ # error.
47
+ [tool.setuptools]
48
+ packages = [
49
+ "solentware_bind",
50
+ "solentware_bind.gui",
51
+ ]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -201,27 +201,35 @@ class Bindings(ExceptionHandler):
201
201
 
202
202
  """
203
203
  for key, function_ids in self._binding.items():
204
- try:
205
- for function in function_ids:
204
+ for function in function_ids:
205
+ try:
206
206
  key[0].unbind(key[1], funcid=function)
207
- except tkinter.TclError as exc:
208
- if allow_exceptions:
209
- if str(exc).startswith("bad window path name "):
210
- continue
211
- if str(exc).startswith('can\'t invoke "bind" command: '):
212
- continue
213
- raise
207
+ except tkinter.TclError as exc:
208
+ if allow_exceptions:
209
+ if str(exc).startswith("bad window path name "):
210
+ continue
211
+ if str(exc).startswith('can\'t invoke "bind" command: '):
212
+ continue
213
+ raise
214
214
  for key, function_ids in self._tag_binding.items():
215
- try:
216
- for function in function_ids:
215
+ for function in function_ids:
216
+ try:
217
217
  key[0].tag_unbind(key[1], key[2], funcid=function)
218
- except tkinter.TclError as exc:
219
- if allow_exceptions:
220
- if str(exc).startswith("bad window path name "):
221
- continue
222
- if str(exc).startswith('can\'t invoke "bind" command: '):
223
- continue
224
- raise
218
+ except tkinter.TclError as exc:
219
+ if allow_exceptions:
220
+ if str(exc).startswith("bad window path name "):
221
+ continue
222
+ if str(exc).startswith(
223
+ 'can\'t invoke "bind" command: '
224
+ ):
225
+ continue
226
+ # Allow for attempts to unbind tag bindings after
227
+ # destruction of widget.
228
+ if str(exc).startswith(
229
+ 'invalid command name '
230
+ ):
231
+ continue
232
+ raise
225
233
  self._binding.clear()
226
234
  self._tag_binding.clear()
227
235
  self._current_binding = None
@@ -0,0 +1,76 @@
1
+ Metadata-Version: 2.1
2
+ Name: solentware-bind
3
+ Version: 1.0.2
4
+ Summary: Bind and exception handling for tkinter callbacks.
5
+ Author-email: Roger Marsh <roger.marsh@solentware.co.uk>
6
+ License: Licence for solentware_bind package
7
+ Copyright (c) 2022, Roger Marsh
8
+ All rights reserved.
9
+
10
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
11
+
12
+
13
+ Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
14
+
15
+ Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
16
+
17
+ Neither the name of the owner nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
18
+
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
21
+
22
+ Project-URL: Homepage, http://www.solentware.co.uk
23
+ Project-URL: Repository, https://github.com/RogerMarsh/solentware-bind.git
24
+ Project-URL: Bug Tracker, https://github.com/RogerMarsh/solentware-bind/issues
25
+ Classifier: License :: OSI Approved :: BSD License
26
+ Classifier: Programming Language :: Python :: 3.9
27
+ Classifier: Programming Language :: Python :: 3.10
28
+ Classifier: Programming Language :: Python :: 3.11
29
+ Classifier: Programming Language :: Python :: 3.12
30
+ Classifier: Operating System :: OS Independent
31
+ Classifier: Topic :: Software Development
32
+ Classifier: Intended Audience :: Developers
33
+ Classifier: Development Status :: 3 - Alpha
34
+ License-File: LICENCE
35
+
36
+ =============================
37
+ Event bindings and exceptions
38
+ =============================
39
+
40
+ .. contents::
41
+
42
+
43
+ Description
44
+ ===========
45
+
46
+ This package provides wrappers to catch exceptions in `tkinter`_ callbacks and use the identifiers returned by tkinter bind and tag_bind methods to avoid memory leaks. The `idlelib`_ module provided examples to follow.
47
+
48
+
49
+ Installation Instructions
50
+ =========================
51
+
52
+ This package is available on PyPI so can be installed by typing
53
+
54
+ python -m pip install --user solentware-misc
55
+
56
+ at the command prompt.
57
+
58
+ See `Python`_ and `pip`_ documentation for alternatives and platform-specific points.
59
+
60
+
61
+ Notes
62
+ =====
63
+
64
+ The docstring for tkinter.Misc.bind() states, at Python 3.9.14, "Bind will return an identifier to allow deletion of the bound function with unbind without memory leak.".
65
+
66
+ The docstrings for tkinter.Misc.bind_all(), tkinter.Misc.bind_class(), tkinter.Canvas.tag_bind(), and tkinter.Text.tag_bind(), refer to the docstring for tkinter.Misc.bind().
67
+
68
+ Wrappers for tkinter.Misc.bind_all() and tkinter.Misc.bind_class() are not provided.
69
+
70
+ The solentware_bind project exists to avoid solentware_base and solentware_grid depending on each other. The exceptionhandler and gridbindings modules were in solentware_misc before the bindings module was added.
71
+
72
+
73
+ .. _tkinter: https://python.org
74
+ .. _Python: https://python.org
75
+ .. _idlelib: https://python.org
76
+ .. _pip: https://packaging.python.org/installing
@@ -1,9 +1,6 @@
1
1
  LICENCE
2
- MANIFEST.in
3
2
  README
4
3
  pyproject.toml
5
- setup.cfg
6
- setup.py
7
4
  solentware_bind/__init__.py
8
5
  solentware_bind.egg-info/PKG-INFO
9
6
  solentware_bind.egg-info/SOURCES.txt
@@ -1 +0,0 @@
1
- include LICENCE
@@ -1,61 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: solentware-bind
3
- Version: 1.0
4
- Summary: Bind and exception handling for tkinter callbacks.
5
- Home-page: http://www.solentware.co.uk
6
- Author: Roger Marsh
7
- Author-email: roger.marsh@solentware.co.uk
8
- License: BSD
9
- Classifier: License :: OSI Approved :: BSD License
10
- Classifier: Programming Language :: Python :: 3.7
11
- Classifier: Programming Language :: Python :: 3.8
12
- Classifier: Programming Language :: Python :: 3.9
13
- Classifier: Programming Language :: Python :: 3.10
14
- Classifier: Programming Language :: Python :: 3.11
15
- Classifier: Operating System :: OS Independent
16
- Classifier: Topic :: Software Development
17
- Classifier: Intended Audience :: Developers
18
- Classifier: Development Status :: 3 - Alpha
19
- License-File: LICENCE
20
-
21
- =============================
22
- Event bindings and exceptions
23
- =============================
24
-
25
- .. contents::
26
-
27
-
28
- Description
29
- ===========
30
-
31
- This package provides wrappers to catch exceptions in `tkinter`_ callbacks and use the identifiers returned by tkinter bind and tag_bind methods to avoid memory leaks. The `idlelib`_ module provided examples to follow.
32
-
33
-
34
- Installation Instructions
35
- =========================
36
-
37
- This package is available on PyPI so can be installed by typing
38
-
39
- python -m pip install --user solentware-misc
40
-
41
- at the command prompt.
42
-
43
- See `Python`_ and `pip`_ documentation for alternatives and platform-specific points.
44
-
45
-
46
- Notes
47
- =====
48
-
49
- The docstring for tkinter.Misc.bind() states, at Python 3.9.14, "Bind will return an identifier to allow deletion of the bound function with unbind without memory leak.".
50
-
51
- The docstrings for tkinter.Misc.bind_all(), tkinter.Misc.bind_class(), tkinter.Canvas.tag_bind(), and tkinter.Text.tag_bind(), refer to the docstring for tkinter.Misc.bind().
52
-
53
- Wrappers for tkinter.Misc.bind_all() and tkinter.Misc.bind_class() are not provided.
54
-
55
- The solentware_bind project exists to avoid solentware_base and solentware_grid depending on each other. The exceptionhandler and gridbindings modules were in solentware_misc before the bindings module was added.
56
-
57
-
58
- .. _tkinter: https://python.org
59
- .. _Python: https://python.org
60
- .. _idlelib: https://python.org
61
- .. _pip: https://packaging.python.org/installing
@@ -1,9 +0,0 @@
1
- [build-system]
2
- requires = [
3
- "setuptools>=42",
4
- "wheel"
5
- ]
6
- build-backend = "setuptools.build_meta"
7
-
8
- [tool.black]
9
- line-length = 79
@@ -1,30 +0,0 @@
1
- [metadata]
2
- name = solentware-bind
3
- version = 1.0
4
- description = Bind and exception handling for tkinter callbacks.
5
- author = Roger Marsh
6
- author_email = roger.marsh@solentware.co.uk
7
- url = http://www.solentware.co.uk
8
- long_description = file: README
9
- license = BSD
10
- classifiers =
11
- License :: OSI Approved :: BSD License
12
- Programming Language :: Python :: 3.7
13
- Programming Language :: Python :: 3.8
14
- Programming Language :: Python :: 3.9
15
- Programming Language :: Python :: 3.10
16
- Programming Language :: Python :: 3.11
17
- Operating System :: OS Independent
18
- Topic :: Software Development
19
- Intended Audience :: Developers
20
- Development Status :: 3 - Alpha
21
-
22
- [options]
23
- packages =
24
- solentware_bind
25
- solentware_bind.gui
26
-
27
- [egg_info]
28
- tag_build =
29
- tag_date = 0
30
-
@@ -1,16 +0,0 @@
1
- # setup.py
2
- # Copyright 2022 Roger Marsh
3
- # Licence: See LICENCE (BSD licence)
4
- """solentware-bind setup file.
5
-
6
- Retained so 'python setup.py ...' can be used by my build scripts until
7
- conversion to 'python -m pip ...'.
8
-
9
- All setup() arguments are set in setup.cfg file.
10
- """
11
-
12
- from setuptools import setup
13
-
14
- if __name__ == "__main__":
15
-
16
- setup()
@@ -1,61 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: solentware-bind
3
- Version: 1.0
4
- Summary: Bind and exception handling for tkinter callbacks.
5
- Home-page: http://www.solentware.co.uk
6
- Author: Roger Marsh
7
- Author-email: roger.marsh@solentware.co.uk
8
- License: BSD
9
- Classifier: License :: OSI Approved :: BSD License
10
- Classifier: Programming Language :: Python :: 3.7
11
- Classifier: Programming Language :: Python :: 3.8
12
- Classifier: Programming Language :: Python :: 3.9
13
- Classifier: Programming Language :: Python :: 3.10
14
- Classifier: Programming Language :: Python :: 3.11
15
- Classifier: Operating System :: OS Independent
16
- Classifier: Topic :: Software Development
17
- Classifier: Intended Audience :: Developers
18
- Classifier: Development Status :: 3 - Alpha
19
- License-File: LICENCE
20
-
21
- =============================
22
- Event bindings and exceptions
23
- =============================
24
-
25
- .. contents::
26
-
27
-
28
- Description
29
- ===========
30
-
31
- This package provides wrappers to catch exceptions in `tkinter`_ callbacks and use the identifiers returned by tkinter bind and tag_bind methods to avoid memory leaks. The `idlelib`_ module provided examples to follow.
32
-
33
-
34
- Installation Instructions
35
- =========================
36
-
37
- This package is available on PyPI so can be installed by typing
38
-
39
- python -m pip install --user solentware-misc
40
-
41
- at the command prompt.
42
-
43
- See `Python`_ and `pip`_ documentation for alternatives and platform-specific points.
44
-
45
-
46
- Notes
47
- =====
48
-
49
- The docstring for tkinter.Misc.bind() states, at Python 3.9.14, "Bind will return an identifier to allow deletion of the bound function with unbind without memory leak.".
50
-
51
- The docstrings for tkinter.Misc.bind_all(), tkinter.Misc.bind_class(), tkinter.Canvas.tag_bind(), and tkinter.Text.tag_bind(), refer to the docstring for tkinter.Misc.bind().
52
-
53
- Wrappers for tkinter.Misc.bind_all() and tkinter.Misc.bind_class() are not provided.
54
-
55
- The solentware_bind project exists to avoid solentware_base and solentware_grid depending on each other. The exceptionhandler and gridbindings modules were in solentware_misc before the bindings module was added.
56
-
57
-
58
- .. _tkinter: https://python.org
59
- .. _Python: https://python.org
60
- .. _idlelib: https://python.org
61
- .. _pip: https://packaging.python.org/installing
File without changes
File without changes