Changeset 0f596fb in trunk
- Timestamp:
- 2024-02-21T15:16:07Z (13 months ago)
- Branches:
- master
- Children:
- 62f59fb6
- Parents:
- 2783bd8 (diff), 3afd2dc (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Files:
-
- 3 added
- 107 deleted
- 256 edited
- 4 moved
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified NEWS.rst ¶
r2783bd8 r0f596fb 6 6 7 7 .. towncrier start line 8 Release 1.190 (2024-01-04) 9 '''''''''''''''''''''''''' 10 11 Features 12 -------- 13 14 - Tahoe-LAFS now includes a new "Grid Manager" specification and implementation adding more options to control which storage servers a client will use for uploads. (`#2916 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2916>`_) 15 - Added support for Python 3.12, and work with Eliot 1.15 (`#3072 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3072>`_) 16 - `tahoe run ...` will now exit when its stdin is closed. 17 18 This facilitates subprocess management, specifically cleanup. 19 When a parent process is running tahoe and exits without time to do "proper" cleanup at least the stdin descriptor will be closed. 20 Subsequently "tahoe run" notices this and exits. (`#3921 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3921>`_) 21 - Mutable objects can now be created with a pre-determined "signature key" using the ``tahoe put`` CLI or the HTTP API. This enables deterministic creation of mutable capabilities. This feature must be used with care to preserve the normal security and reliability properties. (`#3962 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3962>`_) 22 - Added support for Python 3.11. (`#3982 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3982>`_) 23 - tahoe run now accepts --allow-stdin-close to mean "keep running if stdin closes" (`#4036 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4036>`_) 24 - The storage server and client now support a new, HTTPS-based protocol. (`#4041 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4041>`_) 25 - Started work on a new end-to-end benchmarking framework. (`#4060 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4060>`_) 26 - Some operations now run in threads, improving the responsiveness of Tahoe nodes. (`#4068 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4068>`_) 27 - Logs are now written in a thread, which should make the application more responsive under load. (`#4804 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4804>`_) 28 29 30 Bug Fixes 31 --------- 32 33 - Provide better feedback from plugin configuration errors 34 35 Local errors now print a useful message and exit. 36 Announcements that only contain invalid / unusable plugins now show a message in the Welcome page. (`#3899 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3899>`_) 37 - Work with (and require) newer versions of pycddl. (`#3938 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3938>`_) 38 - Uploading immutables will now better use available bandwidth, which should allow for faster uploads in many cases. (`#3939 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3939>`_) 39 - Downloads of large immutables should now finish much faster. (`#3946 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3946>`_) 40 - Fix incompatibility with transitive dependency charset_normalizer >= 3 when using PyInstaller. (`#3966 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3966>`_) 41 - A bug where Introducer nodes configured to listen on Tor or I2P would not actually do so has been fixed. (`#3999 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3999>`_) 42 - The (still off-by-default) HTTP storage client will now use Tor when Tor-based client-side anonymity was requested. 43 Previously it would use normal TCP connections and not be anonymous. (`#4029 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4029>`_) 44 - Provide our own copy of attrs' "provides()" validator 45 46 This validator is deprecated and slated for removal; that project's suggestion is to copy the code to our project. (`#4056 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4056>`_) 47 - Fix a race condition with SegmentFetcher (`#4078 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4078>`_) 48 49 50 Dependency/Installation Changes 51 ------------------------------- 52 53 - tenacity is no longer a dependency. (`#3989 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3989>`_) 54 55 56 Documentation Changes 57 --------------------- 58 59 - Several minor errors in the Great Black Swamp proposed specification document have been fixed. (`#3922 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3922>`_) 60 - Document the ``force_foolscap`` configuration options for ``[storage]`` and ``[client]``. (`#4039 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4039>`_) 61 62 63 Removed Features 64 ---------------- 65 66 - Python 3.7 is no longer supported, and Debian 10 and Ubuntu 18.04 are no longer tested. (`#3964 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3964>`_) 67 68 69 Other Changes 70 ------------- 71 72 - The integration test suite now includes a set of capability test vectors (``integration/vectors/test_vectors.yaml``) which can be used to verify compatibility between Tahoe-LAFS and other implementations. (`#3961 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3961>`_) 73 74 75 Misc/Other 76 ---------- 77 78 - `#3508 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3508>`_, `#3622 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3622>`_, `#3783 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3783>`_, `#3870 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3870>`_, `#3874 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3874>`_, `#3880 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3880>`_, `#3904 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3904>`_, `#3910 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3910>`_, `#3914 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3914>`_, `#3917 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3917>`_, `#3927 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3927>`_, `#3928 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3928>`_, `#3935 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3935>`_, `#3936 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3936>`_, `#3937 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3937>`_, `#3940 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3940>`_, `#3942 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3942>`_, `#3944 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3944>`_, `#3947 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3947>`_, `#3950 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3950>`_, `#3952 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3952>`_, `#3953 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3953>`_, `#3954 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3954>`_, `#3956 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3956>`_, `#3958 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3958>`_, `#3959 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3959>`_, `#3960 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3960>`_, `#3965 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3965>`_, `#3967 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3967>`_, `#3968 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3968>`_, `#3969 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3969>`_, `#3970 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3970>`_, `#3971 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3971>`_, `#3974 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3974>`_, `#3975 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3975>`_, `#3976 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3976>`_, `#3978 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3978>`_, `#3987 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3987>`_, `#3988 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3988>`_, `#3991 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3991>`_, `#3993 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3993>`_, `#3994 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3994>`_, `#3996 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3996>`_, `#3998 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3998>`_, `#4000 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4000>`_, `#4001 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4001>`_, `#4002 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4002>`_, `#4003 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4003>`_, `#4004 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4004>`_, `#4005 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4005>`_, `#4006 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4006>`_, `#4009 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4009>`_, `#4010 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4010>`_, `#4012 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4012>`_, `#4014 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4014>`_, `#4015 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4015>`_, `#4016 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4016>`_, `#4018 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4018>`_, `#4019 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4019>`_, `#4020 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4020>`_, `#4022 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4022>`_, `#4023 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4023>`_, `#4024 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4024>`_, `#4026 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4026>`_, `#4027 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4027>`_, `#4028 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4028>`_, `#4035 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4035>`_, `#4038 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4038>`_, `#4040 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4040>`_, `#4042 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4042>`_, `#4044 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4044>`_, `#4046 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4046>`_, `#4047 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4047>`_, `#4049 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4049>`_, `#4050 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4050>`_, `#4051 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4051>`_, `#4052 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4052>`_, `#4055 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4055>`_, `#4059 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4059>`_, `#4061 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4061>`_, `#4062 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4062>`_, `#4063 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4063>`_, `#4065 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4065>`_, `#4066 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4066>`_, `#4070 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4070>`_, `#4074 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4074>`_, `#4075 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4075>`_ 79 80 8 81 Release 1.18.0 (2022-10-02) 9 82 ''''''''''''''''''''''''''' -
TabularUnified docs/release-checklist.rst ¶
r2783bd8 r0f596fb 148 148 - when satisfied, sign the tarballs: 149 149 150 - gpg --pinentry=loopback --armor - -detach-sign dist/tahoe_lafs-1.16.0rc0-py2.py3-none-any.whl150 - gpg --pinentry=loopback --armor -u 0xE34E62D06D0E69CFCA4179FFBDE0D31D68666A7A --detach-sign dist/tahoe_lafs-1.16.0rc0-py2.py3-none-any.whl 151 151 - gpg --pinentry=loopback --armor --detach-sign dist/tahoe_lafs-1.16.0rc0.tar.gz 152 152 … … 198 198 uploaded to PyPI as well. 199 199 200 - how to do this? 201 - (original guide says only `twine upload dist/*`) 202 - the following developers have access to do this: 200 - ls dist/*1.19.0* 201 - twine upload --username __token__ --password `cat SECRET-pypi-tahoe-publish-token` dist/*1.19.0* 202 203 The following developers have access to do this: 203 204 204 205 - warner 206 - meejah 205 207 - exarkun (partial?) 206 - meejah (partial?) 208 207 209 208 210 Announcing the Release Candidate -
TabularUnified integration/test_aaa_aardvark.py ¶
r2783bd8 r0f596fb 6 6 # longer" to start the first test as the fixtures get built 7 7 8 from __future__ import unicode_literals9 from __future__ import absolute_import10 from __future__ import division11 from __future__ import print_function12 8 13 9 from future.utils import PY2 -
TabularUnified integration/test_sftp.py ¶
r2783bd8 r0f596fb 11 11 """ 12 12 13 from __future__ import unicode_literals14 from __future__ import absolute_import15 from __future__ import division16 from __future__ import print_function17 13 18 14 from future.utils import PY2 -
TabularUnified integration/test_streaming_logs.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import (5 print_function,6 unicode_literals,7 absolute_import,8 division,9 )10 4 11 5 from future.utils import PY2 -
TabularUnified misc/awesome_weird_stuff/boodlegrid.tac ¶
r2783bd8 r0f596fb 1 1 # -*- python -*- 2 2 3 from __future__ import print_function4 3 5 4 """Monitor a Tahoe grid, by playing sounds in response to remote events. -
TabularUnified misc/build_helpers/check-build.py ¶
r2783bd8 r0f596fb 3 3 # This helper script is used with the 'test-desert-island' Makefile target. 4 4 5 from __future__ import print_function6 5 7 6 import sys -
TabularUnified misc/build_helpers/gen-package-table.py ¶
r2783bd8 r0f596fb 3 3 # It expects to be run in the tahoe-lafs-dep-eggs directory. 4 4 5 from __future__ import print_function6 5 7 6 import re, os, sys -
TabularUnified misc/build_helpers/run-deprecations.py ¶
r2783bd8 r0f596fb 1 from __future__ import print_function2 1 3 2 import sys, os, io, re -
TabularUnified misc/build_helpers/test-osx-pkg.py ¶
r2783bd8 r0f596fb 30 30 # pyasn1-modules: 0.0.5 (/Applications/tahoe.app/support/lib/python2.7/site-packages/pyasn1_modules-0.0.5-py2.7.egg) 31 31 32 from __future__ import print_function33 32 34 33 import os, re, shutil, subprocess, sys, tempfile -
TabularUnified misc/checkers/check_grid.py ¶
r2783bd8 r0f596fb 1 from __future__ import print_function2 1 3 2 """ -
TabularUnified misc/coding_tools/check-debugging.py ¶
r2783bd8 r0f596fb 9 9 """ 10 10 11 from __future__ import print_function12 11 13 12 import sys, re, os -
TabularUnified misc/coding_tools/check-interfaces.py ¶
r2783bd8 r0f596fb 5 5 # bin/tahoe @misc/coding_tools/check-interfaces.py 6 6 7 from __future__ import print_function8 7 9 8 import os, sys, re, platform -
TabularUnified misc/coding_tools/check-umids.py ¶
r2783bd8 r0f596fb 9 9 # ./check-umids.py src 10 10 11 from __future__ import print_function12 11 13 12 import sys, re, os -
TabularUnified misc/coding_tools/graph-deps.py ¶
r2783bd8 r0f596fb 22 22 # wheels can be built with py3. 23 23 24 from __future__ import unicode_literals, print_function25 24 import os, sys, subprocess, json, tempfile, zipfile, re, itertools 26 25 import email.parser -
TabularUnified misc/coding_tools/make-canary-files.py ¶
r2783bd8 r0f596fb 1 1 #!/usr/bin/env python 2 2 3 from __future__ import print_function4 3 5 4 """ -
TabularUnified misc/coding_tools/make_umid ¶
r2783bd8 r0f596fb 1 1 #!/usr/bin/env python 2 2 3 from __future__ import print_function4 3 5 4 """Create a short probably-unique string for use as a umid= argument in a -
TabularUnified misc/operations_helpers/cpu-watcher-poll.py ¶
r2783bd8 r0f596fb 1 1 #!/usr/bin/env python 2 2 3 from __future__ import print_function4 3 5 4 from foolscap import Tub, eventual -
TabularUnified misc/operations_helpers/cpu-watcher-subscribe.py ¶
r2783bd8 r0f596fb 1 1 # -*- python -*- 2 2 3 from __future__ import print_function4 3 5 4 from twisted.internet import reactor -
TabularUnified misc/operations_helpers/cpu-watcher.tac ¶
r2783bd8 r0f596fb 1 1 # -*- python -*- 2 2 3 from __future__ import print_function4 3 5 4 """ -
TabularUnified misc/operations_helpers/find-share-anomalies.py ¶
r2783bd8 r0f596fb 3 3 # feed this the results of 'tahoe catalog-shares' for all servers 4 4 5 from __future__ import print_function6 5 7 6 import sys -
TabularUnified misc/operations_helpers/munin/tahoe_cpu_watcher ¶
r2783bd8 r0f596fb 1 1 #!/usr/bin/env python 2 2 3 from __future__ import print_function4 3 5 4 import os, sys, re -
TabularUnified misc/operations_helpers/munin/tahoe_diskleft ¶
r2783bd8 r0f596fb 6 6 # env_url= pointing at the diskwatcher.tac webport. 7 7 8 from __future__ import print_function9 8 10 9 import os, sys, urllib, json -
TabularUnified misc/operations_helpers/munin/tahoe_disktotal ¶
r2783bd8 r0f596fb 7 7 # diskwatcher.tac webport. 8 8 9 from __future__ import print_function10 9 11 10 import os, sys, urllib, json -
TabularUnified misc/operations_helpers/munin/tahoe_diskusage ¶
r2783bd8 r0f596fb 6 6 # pointing at the diskwatcher.tac webport. 7 7 8 from __future__ import print_function9 8 10 9 import os, sys, urllib, json -
TabularUnified misc/operations_helpers/munin/tahoe_diskused ¶
r2783bd8 r0f596fb 6 6 # env_url= pointing at the diskwatcher.tac webport. 7 7 8 from __future__ import print_function9 8 10 9 import os, sys, urllib, json -
TabularUnified misc/operations_helpers/munin/tahoe_doomsday ¶
r2783bd8 r0f596fb 6 6 # env_url= pointing at the diskwatcher.tac webport. 7 7 8 from __future__ import print_function9 8 10 9 import os, sys, urllib, json -
TabularUnified misc/operations_helpers/munin/tahoe_estimate_files ¶
r2783bd8 r0f596fb 1 1 #!/usr/bin/env python 2 2 3 from __future__ import print_function4 3 5 4 import sys, os.path -
TabularUnified misc/operations_helpers/munin/tahoe_files ¶
r2783bd8 r0f596fb 19 19 # 20 20 21 from __future__ import print_function22 21 23 22 import os, sys -
TabularUnified misc/operations_helpers/munin/tahoe_helperstats_active ¶
r2783bd8 r0f596fb 1 1 #!/usr/bin/env python 2 2 3 from __future__ import print_function4 3 5 4 import os, sys -
TabularUnified misc/operations_helpers/munin/tahoe_helperstats_fetched ¶
r2783bd8 r0f596fb 1 1 #!/usr/bin/env python 2 2 3 from __future__ import print_function4 3 5 4 import os, sys -
TabularUnified misc/operations_helpers/munin/tahoe_introstats ¶
r2783bd8 r0f596fb 1 1 #!/usr/bin/env python 2 2 3 from __future__ import print_function4 3 5 4 import os, sys -
TabularUnified misc/operations_helpers/munin/tahoe_nodememory ¶
r2783bd8 r0f596fb 5 5 # VmSize and VmRSS) from /proc 6 6 7 from __future__ import print_function8 7 9 8 import os, sys, re -
TabularUnified misc/operations_helpers/munin/tahoe_overhead ¶
r2783bd8 r0f596fb 28 28 # diskwatcher.tac webport, and env_deepsize_url= pointing at the PHP script. 29 29 30 from __future__ import print_function31 30 32 31 import os, sys, urllib, json -
TabularUnified misc/operations_helpers/munin/tahoe_rootdir_space ¶
r2783bd8 r0f596fb 1 1 #!/usr/bin/env python 2 2 3 from __future__ import print_function4 3 5 4 import os, sys -
TabularUnified misc/operations_helpers/munin/tahoe_server_latency_ ¶
r2783bd8 r0f596fb 43 43 # storage nodes. 44 44 45 from __future__ import print_function46 45 47 46 import os, sys -
TabularUnified misc/operations_helpers/munin/tahoe_server_operations_ ¶
r2783bd8 r0f596fb 33 33 # storage nodes. 34 34 35 from __future__ import print_function36 35 37 36 import os, sys -
TabularUnified misc/operations_helpers/munin/tahoe_spacetime ¶
r2783bd8 r0f596fb 6 6 # have left, and output it to another munin graph 7 7 8 from __future__ import print_function9 8 10 9 import sys, os, time -
TabularUnified misc/operations_helpers/munin/tahoe_stats ¶
r2783bd8 r0f596fb 1 1 #!/usr/bin/env python 2 2 3 from __future__ import print_function4 3 5 4 import os -
TabularUnified misc/operations_helpers/munin/tahoe_storagespace ¶
r2783bd8 r0f596fb 19 19 # since it imports a utility module from allmydata.utils . 20 20 21 from __future__ import print_function22 21 23 22 import os, sys -
TabularUnified misc/operations_helpers/provisioning/reliability.py ¶
r2783bd8 r0f596fb 1 1 #! /usr/bin/python 2 2 3 from __future__ import print_function4 3 5 4 import math -
TabularUnified misc/operations_helpers/provisioning/test_provisioning.py ¶
r2783bd8 r0f596fb 1 from __future__ import print_function2 1 3 2 import unittest -
TabularUnified misc/operations_helpers/spacetime/diskwatcher.tac ¶
r2783bd8 r0f596fb 1 1 # -*- python -*- 2 2 3 from __future__ import print_function4 3 5 4 """ -
TabularUnified misc/simulators/bench_spans.py ¶
r2783bd8 r0f596fb 1 from __future__ import print_function2 1 3 2 """ -
TabularUnified misc/simulators/count_dirs.py ¶
r2783bd8 r0f596fb 1 1 #!/usr/bin/env python 2 2 3 from __future__ import print_function4 3 5 4 """ -
TabularUnified misc/simulators/hashbasedsig.py ¶
r2783bd8 r0f596fb 1 1 #!python 2 2 3 from __future__ import print_function4 3 5 4 # range of hash output lengths -
TabularUnified misc/simulators/ringsim.py ¶
r2783bd8 r0f596fb 5 5 # import time 6 6 7 from __future__ import print_function8 7 9 8 import math -
TabularUnified misc/simulators/simulate_load.py ¶
r2783bd8 r0f596fb 3 3 # WARNING. There is a bug in this script so that it does not simulate the actual Tahoe Two server selection algorithm that it was intended to simulate. See http://allmydata.org/trac/tahoe-lafs/ticket/302 (stop permuting peerlist, use SI as offset into ring instead?) 4 4 5 from __future__ import print_function6 5 7 6 from past.builtins import cmp -
TabularUnified misc/simulators/simulator.py ¶
r2783bd8 r0f596fb 1 1 #! /usr/bin/env python 2 2 3 from __future__ import print_function4 3 5 4 import hashlib -
TabularUnified misc/simulators/sizes.py ¶
r2783bd8 r0f596fb 1 1 #! /usr/bin/env python 2 2 3 from __future__ import print_function4 3 5 4 from future.utils import PY2 -
TabularUnified misc/simulators/storage-overhead.py ¶
r2783bd8 r0f596fb 1 1 #!/usr/bin/env python 2 2 3 from __future__ import print_function4 3 5 4 import sys, math -
TabularUnified nix/pycddl.nix ¶
r2783bd8 r0f596fb 31 31 buildPythonPackage rec { 32 32 pname = "pycddl"; 33 version = "0. 4.0";33 version = "0.6.1"; 34 34 format = "pyproject"; 35 35 36 36 src = fetchPypi { 37 37 inherit pname version; 38 sha256 = "sha256- w0CGbPeiXyS74HqZXyiXhvaAMUaIj5onwjl9gWKAjqY=";38 sha256 = "sha256-63fe8UJXEH6t4l7ujV8JDvlGb7q3kL6fHHATFdklzFc="; 39 39 }; 40 40 … … 53 53 inherit src; 54 54 name = "${pname}-${version}"; 55 hash = "sha256- g96eeaqN9taPED4u+UKUcoitf5aTGFrW2/TOHoHEVHs=";55 hash = "sha256-ssDEKRd3Y9/10oXBZHCxvlRkl9KMh3pGYbCkM4rXThQ="; 56 56 }; 57 57 } -
TabularUnified nix/tahoe-lafs.nix ¶
r2783bd8 r0f596fb 1 1 let 2 2 pname = "tahoe-lafs"; 3 version = "1.1 8.0.post1";3 version = "1.19.0.post1"; 4 4 in 5 5 { lib -
TabularUnified pyinstaller.spec ¶
r2783bd8 r0f596fb 1 1 # -*- mode: python -*- 2 2 3 from __future__ import print_function4 3 5 4 from distutils.sysconfig import get_python_lib -
TabularUnified relnotes.txt ¶
r2783bd8 r0f596fb 1 ANNOUNCING Tahoe, the Least-Authority File Store, v1.1 8.01 ANNOUNCING Tahoe, the Least-Authority File Store, v1.19.0 2 2 3 The Tahoe-LAFS team is pleased to announce version 1.1 8.0 of3 The Tahoe-LAFS team is pleased to announce version 1.19.0 of 4 4 Tahoe-LAFS, an extremely reliable decentralized storage 5 5 system. Get it with "pip install tahoe-lafs", or download a … … 16 16 https://tahoe-lafs.readthedocs.org/en/latest/about.html 17 17 18 The previous stable release of Tahoe-LAFS was v1.1 7.1, released on19 January 7, 2022. 18 The previous stable release of Tahoe-LAFS was v1.18.0, released on 19 October 2, 2022. Major new features and changes in this release: 20 20 21 This release drops support for Python 2 and for Python 3.6 and earlier. 22 twistd.pid is no longer used (in favour of one with pid + process creation time). 23 A collection of minor bugs and issues were also fixed. 21 A new "Grid Manager" feature allows clients to specify any number of 22 parties whom they will use to limit which storage-server that client 23 talks to. See docs/managed-grid.rst for more. 24 25 The new HTTP-based "Great Black Swamp" protocol is now enabled 26 (replacing Foolscap). This allows integrators to start with their 27 favourite HTTP library (instead of implementing Foolscap first). Both 28 storage-servers and clients support this new protocol. 29 30 `tahoe run` will now exit if its stdin is closed (but accepts --allow-stdin-close now). 31 32 Mutables may be created with a pre-determined signature key; care must 33 be taken! 34 35 This release drops Python 3.7 support and adds Python 3.11 and 3.12 36 support. Several performance improvements have been made. Introducer 37 correctly listens on Tor or I2P. Debian 10 and Ubuntu 20.04 are no 38 longer tested. 39 40 Besides all this there have been dozens of other bug-fixes and 41 improvements. 42 43 Enjoy! 24 44 25 45 Please see ``NEWS.rst`` [1] for a complete list of changes. … … 146 166 147 167 148 [1] https://github.com/tahoe-lafs/tahoe-lafs/blob/tahoe-lafs-1.1 8.0/NEWS.rst168 [1] https://github.com/tahoe-lafs/tahoe-lafs/blob/tahoe-lafs-1.19.0/NEWS.rst 149 169 [2] https://github.com/tahoe-lafs/tahoe-lafs/blob/master/docs/known_issues.rst 150 170 [3] https://tahoe-lafs.org/trac/tahoe-lafs/wiki/RelatedProjects 151 [4] https://github.com/tahoe-lafs/tahoe-lafs/blob/tahoe-lafs-1.1 8.0/COPYING.GPL152 [5] https://github.com/tahoe-lafs/tahoe-lafs/blob/tahoe-lafs-1.1 8.0/COPYING.TGPPL.rst153 [6] https://tahoe-lafs.readthedocs.org/en/tahoe-lafs-1.1 8.0/INSTALL.html171 [4] https://github.com/tahoe-lafs/tahoe-lafs/blob/tahoe-lafs-1.19.0/COPYING.GPL 172 [5] https://github.com/tahoe-lafs/tahoe-lafs/blob/tahoe-lafs-1.19.0/COPYING.TGPPL.rst 173 [6] https://tahoe-lafs.readthedocs.org/en/tahoe-lafs-1.19.0/INSTALL.html 154 174 [7] https://lists.tahoe-lafs.org/mailman/listinfo/tahoe-dev 155 175 [8] https://tahoe-lafs.org/trac/tahoe-lafs/roadmap -
TabularUnified setup.py ¶
r2783bd8 r0f596fb 144 144 "werkzeug != 2.2.0", 145 145 "treq", 146 "cbor2",147 148 # 0.4 adds the ability to pass in mmap() values which greatly reduces the 149 # amount of copying involved.150 "pycddl >= 0. 4",146 # 5.6.0 excluded because https://github.com/agronholm/cbor2/issues/208 147 "cbor2 != 5.6.0", 148 149 # 0.6 adds the ability to decode CBOR. 0.6.1 fixes PyPy. 150 "pycddl >= 0.6.1", 151 151 152 152 # Command-line parsing -
TabularUnified src/allmydata/__main__.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import unicode_literals6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/_monkeypatch.py ¶
r2783bd8 r0f596fb 5 5 """ 6 6 7 from __future__ import unicode_literals8 from __future__ import absolute_import9 from __future__ import division10 from __future__ import print_function11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/blacklist.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/check_results.py ¶
r2783bd8 r0f596fb 1 1 """Ported to Python 3. 2 2 """ 3 from __future__ import absolute_import4 from __future__ import division5 from __future__ import print_function6 from __future__ import unicode_literals7 3 8 4 from future.utils import PY2 -
TabularUnified src/allmydata/codec.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/crypto/__init__.py ¶
r2783bd8 r0f596fb 10 10 """ 11 11 12 from __future__ import unicode_literals13 from __future__ import absolute_import14 from __future__ import division15 from __future__ import print_function16 12 17 13 from future.utils import PY2 -
TabularUnified src/allmydata/crypto/aes.py ¶
r2783bd8 r0f596fb 10 10 Ported to Python 3. 11 11 """ 12 from __future__ import absolute_import13 from __future__ import division14 from __future__ import print_function15 from __future__ import unicode_literals16 12 17 13 from future.utils import PY2 -
TabularUnified src/allmydata/crypto/error.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/crypto/util.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/deep_stats.py ¶
r2783bd8 r0f596fb 3 3 Ported to Python 3. 4 4 """ 5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/dirnode.py ¶
r2783bd8 r0f596fb 3 3 Ported to Python 3. 4 4 """ 5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/frontends/auth.py ¶
r2783bd8 r0f596fb 2 2 Authentication for frontends. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/frontends/sftpd.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/hashtree.py ¶
r2783bd8 r0f596fb 50 50 """ 51 51 52 from __future__ import absolute_import53 from __future__ import division54 from __future__ import print_function55 from __future__ import unicode_literals56 52 57 53 from future.utils import PY2 -
TabularUnified src/allmydata/history.py ¶
r2783bd8 r0f596fb 1 1 """Ported to Python 3. 2 2 """ 3 from __future__ import absolute_import4 from __future__ import division5 from __future__ import print_function6 from __future__ import unicode_literals7 3 8 4 from future.utils import PY2 -
TabularUnified src/allmydata/immutable/checker.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/immutable/downloader/__init__.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import unicode_literals6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/immutable/downloader/common.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import unicode_literals6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/immutable/downloader/fetcher.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import print_function6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2 … … 64 60 65 61 def stop(self): 66 log.msg("SegmentFetcher(%r).stop" % self._node._si_prefix, 67 level=log.NOISY, parent=self._lp, umid="LWyqpg") 68 self._cancel_all_requests() 69 self._running = False 70 # help GC ??? XXX 71 del self._shares, self._shares_from_server, self._active_share_map 72 del self._share_observers 62 if self._running: 63 log.msg("SegmentFetcher(%r).stop" % self._node._si_prefix, 64 level=log.NOISY, parent=self._lp, umid="LWyqpg") 65 self._cancel_all_requests() 66 self._running = False 67 # help GC ??? 68 del self._shares, self._shares_from_server, self._active_share_map 69 del self._share_observers 73 70 74 71 -
TabularUnified src/allmydata/immutable/downloader/finder.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/immutable/downloader/node.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 … … 133 129 # called by the Terminator at shutdown, mostly for tests 134 130 if self._active_segment: 135 se lf._active_segment.stop()136 se lf._active_segment = None131 seg, self._active_segment = self._active_segment, None 132 seg.stop() 137 133 self._sharefinder.stop() 138 134 … … 411 407 def fetch_failed(self, sf, f): 412 408 assert sf is self._active_segment 409 self._active_segment = None 413 410 # deliver error upwards 414 411 for (d,c,seg_ev) in self._extract_requests(sf.segnum): 415 412 seg_ev.error(now()) 416 413 eventually(self._deliver, d, c, f) 417 self._active_segment = None418 414 self._start_new_segment() 419 415 … … 435 431 else: 436 432 (offset, segment, decodetime) = result 433 self._active_segment = None 437 434 for (d,c,seg_ev) in self._extract_requests(segnum): 438 435 # when we have two requests for the same segment, the … … 447 444 eventually(self._deliver, d, c, result) 448 445 self._download_status.add_misc_event("process_block", start, now()) 449 self._active_segment = None450 446 self._start_new_segment() 451 447 d.addBoth(_deliver) … … 534 530 if t[2] != cancel] 535 531 segnums = [segnum for (segnum,d,c,seg_ev,lp) in self._segment_requests] 532 536 533 # self._active_segment might be None in rare circumstances, so make 537 534 # sure we tolerate it 538 535 if self._active_segment and self._active_segment.segnum not in segnums: 539 se lf._active_segment.stop()540 se lf._active_segment = None536 seg, self._active_segment = self._active_segment, None 537 seg.stop() 541 538 self._start_new_segment() 542 539 -
TabularUnified src/allmydata/immutable/downloader/segmentation.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/immutable/downloader/share.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/immutable/downloader/status.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import division5 from __future__ import absolute_import6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/immutable/encode.py ¶
r2783bd8 r0f596fb 5 5 """ 6 6 7 from __future__ import division8 from __future__ import absolute_import9 from __future__ import print_function10 from __future__ import unicode_literals11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/immutable/filenode.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/immutable/happiness_upload.py ¶
r2783bd8 r0f596fb 5 5 Ported to Python 3. 6 6 """ 7 from __future__ import absolute_import8 from __future__ import division9 from __future__ import print_function10 from __future__ import unicode_literals11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/immutable/literal.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/immutable/offloaded.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/immutable/repairer.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/interfaces.py ¶
r2783bd8 r0f596fb 6 6 Note that for RemoteInterfaces, the __remote_name__ needs to be a native string because of https://github.com/warner/foolscap/blob/43f4485a42c9c28e2c79d655b3a9e24d4e6360ca/src/foolscap/remoteinterface.py#L67 7 7 """ 8 from __future__ import absolute_import9 from __future__ import division10 from __future__ import print_function11 from __future__ import unicode_literals12 8 13 9 from future.utils import PY2, native_str -
TabularUnified src/allmydata/introducer/__init__.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import unicode_literals6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/introducer/client.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/introducer/common.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/introducer/interfaces.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import unicode_literals6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 5 10 6 from future.utils import PY2, native_str -
TabularUnified src/allmydata/monitor.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/mutable/checker.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/mutable/layout.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/mutable/publish.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import division5 from __future__ import absolute_import6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/mutable/repairer.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/scripts/admin.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/scripts/backupdb.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/scripts/default_nodedir.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import unicode_literals6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/scripts/slow_operation.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2, PY3 -
TabularUnified src/allmydata/scripts/tahoe_add_alias.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/scripts/tahoe_backup.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/scripts/tahoe_check.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/scripts/tahoe_cp.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/scripts/tahoe_get.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2, PY3 -
TabularUnified src/allmydata/scripts/tahoe_ls.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/scripts/tahoe_manifest.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2, PY3 -
TabularUnified src/allmydata/scripts/tahoe_mkdir.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/scripts/tahoe_mv.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/scripts/tahoe_run.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/scripts/tahoe_status.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/scripts/tahoe_unlink.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/scripts/tahoe_webopen.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/storage/common.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import unicode_literals5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 4 9 5 from future.utils import PY2, PY3 -
TabularUnified src/allmydata/storage/crawler.py ¶
r2783bd8 r0f596fb 5 5 """ 6 6 7 from __future__ import unicode_literals8 from __future__ import absolute_import9 from __future__ import division10 from __future__ import print_function11 7 12 8 from future.utils import PY2, PY3 -
TabularUnified src/allmydata/storage/expirer.py ¶
r2783bd8 r0f596fb 1 from __future__ import division2 from __future__ import absolute_import3 from __future__ import print_function4 from __future__ import unicode_literals5 1 6 2 from future.utils import PY2 -
TabularUnified src/allmydata/storage/http_client.py ¶
r2783bd8 r0f596fb 27 27 from eliot.twisted import DeferredContext 28 28 29 # TODO Make sure to import Python version?30 from cbor2 import loads, dumps31 29 from pycddl import Schema 32 30 from collections_extended import RangeMap … … 66 64 from ..util.tor_provider import _Provider as TorProvider 67 65 from ..util.cputhreadpool import defer_to_thread 66 from ..util.cbor import dumps 68 67 69 68 try: … … 562 561 563 562 def validate_and_decode(): 564 schema.validate_cbor(data) 565 return loads(data) 563 return schema.validate_cbor(data, True) 566 564 567 565 return await defer_to_thread(validate_and_decode) -
TabularUnified src/allmydata/storage/http_server.py ¶
r2783bd8 r0f596fb 58 58 59 59 60 # TODO Make sure to use pure Python versions?61 import cbor262 60 from pycddl import Schema, ValidationError as CDDLValidationError 63 61 from .server import StorageServer … … 76 74 from ..util.deferredutil import async_to_deferred 77 75 from ..util.cputhreadpool import defer_to_thread 78 from allmydata.interfaces import BadWriteEnablerError 76 from ..util import cbor 77 from ..interfaces import BadWriteEnablerError 79 78 80 79 … … 639 638 # Pycddl will release the GIL when validating larger documents, so 640 639 # let's take advantage of multiple CPUs: 641 await defer_to_thread(schema.validate_cbor, message) 642 643 # The CBOR parser will allocate more memory, but at least we can feed 644 # it the file-like object, so that if it's large it won't be make two 645 # copies. 646 request.content.seek(SEEK_SET, 0) 647 # Typically deserialization to Python will not release the GIL, and 648 # indeed as of Jan 2023 cbor2 didn't have any code to release the GIL 649 # in the decode path. As such, running it in a different thread has no benefit. 650 return cbor2.load(request.content) 651 640 decoded = await defer_to_thread(schema.validate_cbor, message, True) 641 return decoded 652 642 653 643 class HTTPServer(BaseApp): … … 696 686 request.setHeader("Content-Type", CBOR_MIME_TYPE) 697 687 f = TemporaryFile() 698 cbor 2.dump(data, f) # type: ignore688 cbor.dump(data, f) # type: ignore 699 689 700 690 def read_data(offset: int, length: int) -> bytes: -
TabularUnified src/allmydata/storage/immutable.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2, bytes_to_native_str -
TabularUnified src/allmydata/storage/immutable_schema.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/storage/lease.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/storage/mutable.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/storage/mutable_schema.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/storage/shares.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import unicode_literals6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/storage_client.py ¶
r2783bd8 r0f596fb 33 33 from __future__ import annotations 34 34 35 from typing import Union, Callable, Any, Optional, cast, Dict 35 from typing import Union, Callable, Any, Optional, cast, Dict, Iterable 36 36 from os import urandom 37 37 import re … … 140 140 signed by at least one of these keys. 141 141 """ 142 preferred_peers = attr.ib(default=())143 storage_plugins = attr.ib(default=attr.Factory(dict))144 grid_manager_keys = attr.ib(default=attr.Factory(list))142 preferred_peers : Iterable[bytes] = attr.ib(default=()) 143 storage_plugins : dict[str, dict[str, str]] = attr.ib(default=attr.Factory(dict)) 144 grid_manager_keys : list[ed25519.Ed25519PublicKey] = attr.ib(default=attr.Factory(list)) 145 145 146 146 @classmethod … … 1108 1108 reactor, 1109 1109 nurls: list[DecodedURL], 1110 request: Callable[[ Any, DecodedURL], defer.Deferred[Any]]1110 request: Callable[[object, DecodedURL], defer.Deferred[object]] 1111 1111 ) -> DecodedURL: 1112 1112 """Pick the first server we successfully send a request to. … … 1115 1115 the first successfully-connected server. 1116 1116 """ 1117 queries = race([ 1118 request(reactor, nurl).addCallback(lambda _, nurl=nurl: nurl) 1119 for nurl in nurls 1120 ]) 1121 1117 requests = [] 1118 for nurl in nurls: 1119 def to_nurl(_: object, nurl: DecodedURL=nurl) -> DecodedURL: 1120 return nurl 1121 1122 requests.append(request(reactor, nurl).addCallback(to_nurl)) 1123 1124 queries: defer.Deferred[tuple[int, DecodedURL]] = race(requests) 1122 1125 _, nurl = await queries 1123 1126 return nurl -
TabularUnified src/allmydata/test/__init__.py ¶
r2783bd8 r0f596fb 16 16 Ported to Python 3. 17 17 """ 18 from __future__ import absolute_import19 from __future__ import division20 from __future__ import print_function21 from __future__ import unicode_literals22 18 23 19 from future.utils import PY2 -
TabularUnified src/allmydata/test/cli/common.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/cli/test_admin.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/cli/test_alias.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/cli/test_backup.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/cli/test_backupdb.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import print_function5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/cli/test_check.py ¶
r2783bd8 r0f596fb 1 from __future__ import absolute_import2 from __future__ import division3 from __future__ import print_function4 from __future__ import unicode_literals5 1 6 2 from future.utils import PY2 -
TabularUnified src/allmydata/test/cli/test_cli.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/cli/test_cp.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import print_function5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/cli/test_create_alias.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/cli/test_list.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2, PY3 -
TabularUnified src/allmydata/test/cli/test_mv.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/cli/test_run.py ¶
r2783bd8 r0f596fb 265 265 self.assertThat(result_code, Equals(1)) 266 266 267 good_file_content_re = re.compile(r"\s [0-9]*\s[0-9]*\s", re.M)267 good_file_content_re = re.compile(r"\s*[0-9]*\s[0-9]*\s*", re.M) 268 268 269 269 @given(text()) -
TabularUnified src/allmydata/test/cli/test_status.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/cli_node_api.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/common.py ¶
r2783bd8 r0f596fb 178 178 cache_filepath = attr.ib() 179 179 180 subscribed_to = attr.ib(default=attr.Factory(list))181 published_announcements = attr.ib(default=attr.Factory(list))180 subscribed_to : list[Subscription] = attr.ib(default=attr.Factory(list)) 181 published_announcements : list[Announcement] = attr.ib(default=attr.Factory(list)) 182 182 183 183 … … 289 289 introducer_furl = attr.ib(validator=attr.validators.instance_of(str), 290 290 converter=six.ensure_str) 291 node_config = attr.ib(default=attr.Factory(dict))291 node_config : dict[bytes,bytes] = attr.ib(default=attr.Factory(dict)) 292 292 293 293 config = attr.ib(default=None) -
TabularUnified src/allmydata/test/common_system.py ¶
r2783bd8 r0f596fb 701 701 702 702 def _got_new_http_connection_pool(self, pool): 703 # Make sure the pool closes cached connections quickly: 704 pool.cachedConnectionTimeout = 0.1 703 705 # Register the pool for shutdown later: 704 706 self._http_client_pools.append(pool) -
TabularUnified src/allmydata/test/common_util.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import print_function5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2, PY3, bchr, binary_type -
TabularUnified src/allmydata/test/common_web.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/matchers.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/test/mutable/test_checker.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/mutable/test_datahandle.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/mutable/test_different_encoding.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/mutable/test_exceptions.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/test/mutable/test_filehandle.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/mutable/test_filenode.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/mutable/test_interoperability.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/mutable/test_multiple_encodings.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/mutable/test_multiple_versions.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/mutable/test_problems.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import print_function5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/mutable/test_repair.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/mutable/test_roundtrip.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import print_function5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/mutable/test_servermap.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/test/mutable/test_update.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import print_function5 from __future__ import division6 from __future__ import absolute_import7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/mutable/util.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2, bchr -
TabularUnified src/allmydata/test/storage_plugin.py ¶
r2783bd8 r0f596fb 5 5 Ported to Python 3. 6 6 """ 7 from __future__ import absolute_import8 from __future__ import division9 from __future__ import print_function10 from __future__ import unicode_literals11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/test/strategies.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_abbreviate.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_base32.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_base62.py ¶
r2783bd8 r0f596fb 5 5 """ 6 6 7 from __future__ import absolute_import8 from __future__ import division9 from __future__ import print_function10 from __future__ import unicode_literals11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_checker.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_codec.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_common_util.py ¶
r2783bd8 r0f596fb 2 2 This module has been ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_configutil.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_connections.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_consumer.py ¶
r2783bd8 r0f596fb 5 5 """ 6 6 7 from __future__ import unicode_literals8 from __future__ import absolute_import9 from __future__ import division10 from __future__ import print_function11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_crawler.py ¶
r2783bd8 r0f596fb 5 5 """ 6 6 7 from __future__ import print_function8 from __future__ import division9 from __future__ import absolute_import10 from __future__ import unicode_literals11 7 12 8 from future.utils import PY2, PY3 -
TabularUnified src/allmydata/test/test_crypto.py ¶
r2783bd8 r0f596fb 1 from __future__ import absolute_import2 from __future__ import division3 from __future__ import print_function4 from __future__ import unicode_literals5 1 6 2 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_deepcheck.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 # Python 2 compatibility -
TabularUnified src/allmydata/test/test_dirnode.py ¶
r2783bd8 r0f596fb 3 3 Ported to Python 3. 4 4 """ 5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import print_function8 from __future__ import unicode_literals9 5 10 6 from past.builtins import long -
TabularUnified src/allmydata/test/test_eliotutil.py ¶
r2783bd8 r0f596fb 1 1 """ 2 2 Tests for ``allmydata.util.eliotutil``. 3 4 Ported to Python 3.5 3 """ 6 7 from __future__ import (8 unicode_literals,9 print_function,10 absolute_import,11 division,12 )13 14 from future.utils import PY215 if PY2:16 from future.builtins import filter, map, zip, ascii, chr, hex, input, next, oct, open, pow, round, super, bytes, dict, list, object, range, str, max, min # noqa: F40117 4 18 5 from sys import stdout … … 68 55 _EliotLogging, 69 56 ) 57 from ..util.deferredutil import async_to_deferred 70 58 71 59 from .common import ( … … 215 203 216 204 217 # Opt out of the great features of common.SyncTestCase because we're218 # interacting with Eliot in a very obscure, particular, fragile way. :/219 class EliotLoggingTests( TestCase):205 # We need AsyncTestCase because logging happens in a thread tied to the 206 # reactor. 207 class EliotLoggingTests(AsyncTestCase): 220 208 """ 221 209 Tests for ``_EliotLogging``. 222 210 """ 223 def test_stdlib_event_relayed(self): 211 @async_to_deferred 212 async def test_stdlib_event_relayed(self): 224 213 """ 225 214 An event logged using the stdlib logging module is delivered to the Eliot … … 229 218 service = _EliotLogging([collected.append]) 230 219 service.startService() 231 self.addCleanup(service.stopService)232 233 # The first destination added to the global log destinations gets any234 # buffered messages delivered to it. We don't care about those.235 # Throw them on the floor. Sorry.236 del collected[:]237 220 238 221 logging.critical("oh no") 239 self.assertThat( 240 collected, 241 AfterPreprocessing( 242 len, 243 Equals(1), 244 ), 245 ) 246 247 def test_twisted_event_relayed(self): 222 await service.stopService() 223 224 self.assertTrue( 225 "oh no" in str(collected[-1]), collected 226 ) 227 228 @async_to_deferred 229 async def test_twisted_event_relayed(self): 248 230 """ 249 231 An event logged with a ``twisted.logger.Logger`` is delivered to the Eliot … … 253 235 service = _EliotLogging([collected.append]) 254 236 service.startService() 255 self.addCleanup(service.stopService)256 237 257 238 from twisted.logger import Logger 258 239 Logger().critical("oh no") 259 self.assertThat( 260 collected, 261 AfterPreprocessing( 262 len, Equals(1), 263 ), 240 await service.stopService() 241 242 self.assertTrue( 243 "oh no" in str(collected[-1]), collected 264 244 ) 265 245 … … 317 297 Is(expected), 318 298 ) 319 320 299 321 300 -
TabularUnified src/allmydata/test/test_encode.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import division5 from __future__ import absolute_import6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_encodingutil.py ¶
r2783bd8 r0f596fb 1 from __future__ import print_function2 from __future__ import absolute_import3 from __future__ import division4 from __future__ import unicode_literals5 1 6 2 from future.utils import PY2, PY3 -
TabularUnified src/allmydata/test/test_filenode.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_happiness.py ¶
r2783bd8 r0f596fb 7 7 """ 8 8 9 from __future__ import absolute_import10 from __future__ import division11 from __future__ import print_function12 from __future__ import unicode_literals13 9 14 10 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_hashutil.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_humanreadable.py ¶
r2783bd8 r0f596fb 5 5 """ 6 6 7 from __future__ import unicode_literals8 from __future__ import absolute_import9 from __future__ import division10 from __future__ import print_function11 7 12 8 from future.utils import PY2 … … 32 28 def test_repr(self): 33 29 hr = humanreadable.hr 34 self.failUnlessEqual(hr(foo), "<foo() at test_humanreadable.py:2 4>")30 self.failUnlessEqual(hr(foo), "<foo() at test_humanreadable.py:20>") 35 31 self.failUnlessEqual(hr(self.test_repr), 36 32 "<bound method HumanReadable.test_repr of <allmydata.test.test_humanreadable.HumanReadable testMethod=test_repr>>") -
TabularUnified src/allmydata/test/test_hung_server.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_i2p_provider.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_immutable.py ¶
r2783bd8 r0f596fb 2 2 This module has been ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_introducer.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_json_metadata.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_log.py ¶
r2783bd8 r0f596fb 5 5 """ 6 6 7 from __future__ import unicode_literals8 from __future__ import absolute_import9 from __future__ import division10 from __future__ import print_function11 7 12 8 from future.utils import PY2, native_str -
TabularUnified src/allmydata/test/test_monitor.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import unicode_literals6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_multi_introducers.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_netstring.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_no_network.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_observer.py ¶
r2783bd8 r0f596fb 5 5 """ 6 6 7 from __future__ import absolute_import8 from __future__ import division9 from __future__ import print_function10 from __future__ import unicode_literals11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_openmetrics.py ¶
r2783bd8 r0f596fb 5 5 """ 6 6 7 from __future__ import print_function8 from __future__ import absolute_import9 from __future__ import division10 from __future__ import unicode_literals11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_python2_regressions.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import unicode_literals6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_repairer.py ¶
r2783bd8 r0f596fb 3 3 Ported to Python 3. 4 4 """ 5 from __future__ import print_function6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_runner.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3 3 3 """ 4 5 from __future__ import (6 absolute_import,7 )8 from __future__ import division9 from __future__ import print_function10 from __future__ import unicode_literals11 4 12 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_sftp.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import print_function5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_spans.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import print_function6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_statistics.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_stats.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_storage_client.py ¶
r2783bd8 r0f596fb 42 42 from twisted.internet.interfaces import ( 43 43 IStreamClientEndpoint, 44 IProtocolFactory, 44 45 ) 45 46 from twisted.application.service import ( … … 605 606 was passed to ``connect``. 606 607 """ 607 _connects = attr.ib(default=attr.Factory(list))608 _connects : list[tuple[Deferred[object], IProtocolFactory]]= attr.ib(default=attr.Factory(list)) 608 609 609 610 def hint_to_endpoint(self, hint, reactor, update_status): -
TabularUnified src/allmydata/test/test_storage_http.py ¶
r2783bd8 r0f596fb 25 25 from typing import Union, Callable, Tuple, Iterable 26 26 from queue import Queue 27 from cbor2 import dumps28 27 from pycddl import ValidationError as CDDLValidationError 29 28 from hypothesis import assume, given, strategies as st, settings as hypothesis_settings … … 43 42 from zope.interface import implementer 44 43 44 from ..util.cbor import dumps 45 45 from ..util.deferredutil import async_to_deferred 46 46 from ..util.cputhreadpool import disable_thread_pool_for_test -
TabularUnified src/allmydata/test/test_storage_web.py ¶
r2783bd8 r0f596fb 5 5 """ 6 6 7 from __future__ import absolute_import8 from __future__ import division9 from __future__ import print_function10 from __future__ import unicode_literals11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_time_format.py ¶
r2783bd8 r0f596fb 2 2 Tests for allmydata.util.time_format. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_upload.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import unicode_literals7 from __future__ import absolute_import8 from __future__ import division9 from __future__ import print_function10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_uri.py ¶
r2783bd8 r0f596fb 5 5 """ 6 6 7 from __future__ import absolute_import8 from __future__ import division9 from __future__ import print_function10 from __future__ import unicode_literals11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/test/test_util.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import print_function6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/test/web/common.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/web/matchers.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/web/test_common.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/test/web/test_grid.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import print_function5 from __future__ import absolute_import6 from __future__ import division7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/web/test_introducer.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/web/test_logs.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 7 from __future__ import (8 print_function,9 unicode_literals,10 absolute_import,11 division,12 )13 6 14 7 from future.utils import PY2 -
TabularUnified src/allmydata/test/web/test_private.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 7 from __future__ import (8 print_function,9 unicode_literals,10 absolute_import,11 division,12 )13 6 14 7 from future.utils import PY2 -
TabularUnified src/allmydata/test/web/test_root.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/test/web/test_status.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/test/web/test_util.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/testing/web.py ¶
r2783bd8 r0f596fb 15 15 16 16 import hashlib 17 from typing import Iterable 17 18 18 19 import attr … … 142 143 143 144 data: BytesKeyDict = attr.ib(default=attr.Factory(BytesKeyDict)) 144 capability_generators = attr.ib(default=attr.Factory(dict))145 capability_generators: dict[bytes,Iterable[bytes]] = attr.ib(default=attr.Factory(dict)) 145 146 146 147 def _generate_capability(self, kind): -
TabularUnified src/allmydata/unknown.py ¶
r2783bd8 r0f596fb 1 1 """Ported to Python 3. 2 2 """ 3 from __future__ import absolute_import4 from __future__ import division5 from __future__ import print_function6 from __future__ import unicode_literals7 3 8 4 from future.utils import PY2 -
TabularUnified src/allmydata/util/abbreviate.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import division7 from __future__ import absolute_import8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/util/assertutil.py ¶
r2783bd8 r0f596fb 8 8 """ 9 9 10 from __future__ import division11 from __future__ import absolute_import12 from __future__ import print_function13 from __future__ import unicode_literals14 10 15 11 from future.utils import PY2 -
TabularUnified src/allmydata/util/base62.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/util/configutil.py ¶
r2783bd8 r0f596fb 6 6 Ported to Python 3. 7 7 """ 8 from __future__ import absolute_import9 from __future__ import division10 from __future__ import print_function11 from __future__ import unicode_literals12 8 13 9 from future.utils import PY2 -
TabularUnified src/allmydata/util/consumer.py ¶
r2783bd8 r0f596fb 5 5 Ported to Python 3. 6 6 """ 7 from __future__ import absolute_import8 from __future__ import division9 from __future__ import print_function10 from __future__ import unicode_literals11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/util/dbutil.py ¶
r2783bd8 r0f596fb 7 7 """ 8 8 9 from __future__ import absolute_import10 from __future__ import division11 from __future__ import print_function12 from __future__ import unicode_literals13 9 14 10 from future.utils import PY2 -
TabularUnified src/allmydata/util/eliotutil.py ¶
r2783bd8 r0f596fb 37 37 provides, 38 38 ) 39 39 from twisted.internet import reactor 40 40 from eliot import ( 41 41 ILogger, 42 42 Message, 43 43 FileDestination, 44 add_destinations,45 remove_destination,46 44 write_traceback, 47 45 start_action, … … 59 57 inline_callbacks, 60 58 ) 59 from eliot.logwriter import ThreadedWriter 61 60 from twisted.python.usage import ( 62 61 UsageError, … … 76 75 maybeDeferred, 77 76 ) 78 from twisted.application.service import Service77 from twisted.application.service import MultiService 79 78 80 79 from .jsonbytes import AnyBytesJSONEncoder … … 145 144 146 145 147 class _EliotLogging( Service):146 class _EliotLogging(MultiService): 148 147 """ 149 148 A service which adds stdout as an Eliot destination while it is running. … … 154 153 service. 155 154 """ 156 self.destinations = destinations 157 155 MultiService.__init__(self) 156 for destination in destinations: 157 service = ThreadedWriter(destination, reactor) 158 service.setServiceParent(self) 158 159 159 160 def startService(self): … … 161 162 self.twisted_observer = _TwistedLoggerToEliotObserver() 162 163 globalLogPublisher.addObserver(self.twisted_observer) 163 add_destinations(*self.destinations) 164 return Service.startService(self) 164 return MultiService.startService(self) 165 165 166 166 167 167 def stopService(self): 168 for dest in self.destinations:169 remove_destination(dest)170 168 globalLogPublisher.removeObserver(self.twisted_observer) 171 169 self.stdlib_cleanup() 172 return Service.stopService(self)170 return MultiService.stopService(self) 173 171 174 172 -
TabularUnified src/allmydata/util/encodingutil.py ¶
r2783bd8 r0f596fb 8 8 Unicode is the default everywhere in Python 3. 9 9 """ 10 from __future__ import absolute_import11 from __future__ import division12 from __future__ import print_function13 from __future__ import unicode_literals14 10 15 11 from future.utils import PY2, PY3, native_str -
TabularUnified src/allmydata/util/fileutil.py ¶
r2783bd8 r0f596fb 5 5 """ 6 6 7 from __future__ import print_function8 from __future__ import absolute_import9 from __future__ import division10 from __future__ import unicode_literals11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/util/gcutil.py ¶
r2783bd8 r0f596fb 11 11 Ported to Python 3. 12 12 """ 13 from __future__ import absolute_import14 from __future__ import division15 from __future__ import print_function16 from __future__ import unicode_literals17 13 18 14 from future.utils import PY2 -
TabularUnified src/allmydata/util/happinessutil.py ¶
r2783bd8 r0f596fb 5 5 Ported to Python 3. 6 6 """ 7 from __future__ import absolute_import8 from __future__ import division9 from __future__ import print_function10 from __future__ import unicode_literals11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/util/hashutil.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/util/humanreadable.py ¶
r2783bd8 r0f596fb 5 5 """ 6 6 7 from __future__ import division8 from __future__ import absolute_import9 from __future__ import print_function10 from __future__ import unicode_literals11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/util/idlib.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/util/jsonbytes.py ¶
r2783bd8 r0f596fb 5 5 """ 6 6 7 from __future__ import unicode_literals8 from __future__ import absolute_import9 from __future__ import division10 from __future__ import print_function11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/util/log.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/util/mathutil.py ¶
r2783bd8 r0f596fb 7 7 """ 8 8 9 from __future__ import division10 from __future__ import absolute_import11 from __future__ import print_function12 from __future__ import unicode_literals13 9 14 10 from future.utils import PY2 -
TabularUnified src/allmydata/util/netstring.py ¶
r2783bd8 r0f596fb 4 4 Ported to Python 3. 5 5 """ 6 from __future__ import absolute_import7 from __future__ import division8 from __future__ import print_function9 from __future__ import unicode_literals10 6 11 7 from future.utils import PY2 -
TabularUnified src/allmydata/util/observer.py ¶
r2783bd8 r0f596fb 5 5 """ 6 6 7 from __future__ import absolute_import8 from __future__ import division9 from __future__ import print_function10 from __future__ import unicode_literals11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/util/rrefutil.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/util/spans.py ¶
r2783bd8 r0f596fb 1 from __future__ import print_function2 from __future__ import absolute_import3 from __future__ import division4 from __future__ import unicode_literals5 1 6 2 from future.utils import PY2 -
TabularUnified src/allmydata/util/statistics.py ¶
r2783bd8 r0f596fb 12 12 13 13 14 from __future__ import unicode_literals15 from __future__ import absolute_import16 from __future__ import division17 from __future__ import print_function18 14 19 15 from future.utils import PY2 -
TabularUnified src/allmydata/util/time_format.py ¶
r2783bd8 r0f596fb 5 5 http://www.cl.cam.ac.uk/~mgk25/iso-time.html 6 6 """ 7 from __future__ import absolute_import8 from __future__ import division9 from __future__ import print_function10 from __future__ import unicode_literals11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/util/yamlutil.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/web/check_results.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/web/directory.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/web/info.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/web/logs.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import (5 print_function,6 unicode_literals,7 absolute_import,8 division,9 )10 4 11 5 from autobahn.twisted.resource import WebSocketResource -
TabularUnified src/allmydata/web/operations.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/web/private.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/web/status.py ¶
r2783bd8 r0f596fb 3 3 """ 4 4 5 from __future__ import division6 from __future__ import absolute_import7 from __future__ import print_function8 from __future__ import unicode_literals9 5 10 6 from future.utils import PY2 -
TabularUnified src/allmydata/web/storage.py ¶
r2783bd8 r0f596fb 2 2 Ported to Python 3. 3 3 """ 4 from __future__ import absolute_import5 from __future__ import division6 from __future__ import print_function7 from __future__ import unicode_literals8 4 9 5 from future.utils import PY2 -
TabularUnified src/allmydata/web/storage_plugins.py ¶
r2783bd8 r0f596fb 5 5 Ported to Python 3. 6 6 """ 7 from __future__ import absolute_import8 from __future__ import division9 from __future__ import print_function10 from __future__ import unicode_literals11 7 12 8 from future.utils import PY2 -
TabularUnified src/allmydata/windows/fixups.py ¶
r2783bd8 r0f596fb 1 from __future__ import print_function2 1 3 2 from future.utils import PY3 -
TabularUnified tox.ini ¶
r2783bd8 r0f596fb 125 125 basepython = python3 126 126 deps = 127 mypy==1. 5.1127 mypy==1.8.0 128 128 mypy-zope 129 129 types-mock -
TabularUnified ws_client.py ¶
r2783bd8 r0f596fb 1 from __future__ import print_function2 1 3 2 import sys
Note: See TracChangeset
for help on using the changeset viewer.