Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-txtorcon for openSUSE:Factory
checked in at 2024-09-23 15:23:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-txtorcon (Old)
and /work/SRC/openSUSE:Factory/.python-txtorcon.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-txtorcon"
Mon Sep 23 15:23:47 2024 rev:16 rq:1202567 version:24.8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-txtorcon/python-txtorcon.changes
2024-01-03 12:23:34.792390100 +0100
+++
/work/SRC/openSUSE:Factory/.python-txtorcon.new.29891/python-txtorcon.changes
2024-09-23 15:24:42.651630171 +0200
@@ -1,0 +2,7 @@
+Mon Sep 23 08:49:42 UTC 2024 - Dirk Müller <[email protected]>
+
+- update to 24.8.0:
+ * Fix (test) issues with Twisted 24.7.0
+ * Remove usage of "six"
+
+-------------------------------------------------------------------
Old:
----
txtorcon-23.11.0.tar.gz
New:
----
txtorcon-24.8.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-txtorcon.spec ++++++
--- /var/tmp/diff_new_pack.4L69ai/_old 2024-09-23 15:24:43.087648197 +0200
+++ /var/tmp/diff_new_pack.4L69ai/_new 2024-09-23 15:24:43.091648363 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-txtorcon
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,19 +17,20 @@
Name: python-txtorcon
-Version: 23.11.0
+Version: 24.8.0
Release: 0
Summary: Twisted-based asynchronous Tor control protocol implementation
License: MIT
URL: https://txtorcon.readthedocs.org
Source:
https://files.pythonhosted.org/packages/source/t/txtorcon/txtorcon-%{version}.tar.gz
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools >= 36.2}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-Automat
Requires: python-Twisted-tls >= 15.5.0
Requires: python-cryptography
-Requires: python-six
Requires: python-zope.interface >= 3.6.1
BuildArch: noarch
# SECTION test requirements
@@ -37,7 +38,6 @@
BuildRequires: %{python_module Automat}
BuildRequires: %{python_module Twisted-tls >= 15.5.0}
BuildRequires: %{python_module cryptography}
-BuildRequires: %{python_module six}
BuildRequires: %{python_module zope.interface >= 3.6.1}
%python_subpackages
@@ -51,10 +51,10 @@
sed -i '/data_files/,/\]\,/s/^/#/' setup.py
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
# remove the tests from distribution
%python_expand rm -rf %{buildroot}%{$python_sitelib}/test/
%python_expand %fdupes %{buildroot}%{$python_sitelib}
@@ -69,6 +69,6 @@
%files %{python_files}
%license LICENSE docs/*.rst
%{python_sitelib}/txtorcon
-%{python_sitelib}/txtorcon-%{version}*-info
+%{python_sitelib}/txtorcon-%{version}.dist-info
%{python_sitelib}/twisted/plugins/*
++++++ txtorcon-23.11.0.tar.gz -> txtorcon-24.8.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/Makefile
new/txtorcon-24.8.0/Makefile
--- old/txtorcon-23.11.0/Makefile 2023-11-20 08:48:37.000000000 +0100
+++ new/txtorcon-24.8.0/Makefile 2024-08-20 21:05:01.000000000 +0200
@@ -1,6 +1,6 @@
.PHONY: test html counts coverage sdist clean install doc integration diagrams
default: test
-VERSION = 23.11.0
+VERSION = 24.8.0
test:
PYTHONPATH=. trial --reporter=text test
@@ -119,8 +119,8 @@
gpg --verify dist/txtorcon-${VERSION}.tar.gz.asc || gpg --pinentry
loopback --no-version --detach-sign --armor --local-user [email protected]
dist/txtorcon-${VERSION}.tar.gz
release:
- twine upload -r pypi -c "txtorcon v${VERSION} tarball"
dist/txtorcon-${VERSION}.tar.gz dist/txtorcon-${VERSION}.tar.gz.asc
- twine upload -r pypi -c "txtorcon v${VERSION} wheel"
dist/txtorcon-${VERSION}-py3-none-any.whl
dist/txtorcon-${VERSION}-py3-none-any.whl.asc
+ twine upload --username __token__ --password `cat
PRIVATE-release-token` -r pypi -c "txtorcon v${VERSION} tarball"
dist/txtorcon-${VERSION}.tar.gz dist/txtorcon-${VERSION}.tar.gz.asc
+ twine upload --username __token__ --password `cat
PRIVATE-release-token` -r pypi -c "txtorcon v${VERSION} wheel"
dist/txtorcon-${VERSION}-py3-none-any.whl
dist/txtorcon-${VERSION}-py3-none-any.whl.asc
venv:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/PKG-INFO
new/txtorcon-24.8.0/PKG-INFO
--- old/txtorcon-23.11.0/PKG-INFO 2023-11-20 08:48:41.153334100 +0100
+++ new/txtorcon-24.8.0/PKG-INFO 2024-08-20 21:53:55.427759000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: txtorcon
-Version: 23.11.0
+Version: 24.8.0
Summary: Twisted-based Tor controller client, with state-tracking and
configuration abstractions. https://txtorcon.readthedocs.org
https://github.com/meejah/txtorcon
Home-page: https://github.com/meejah/txtorcon
Author: meejah
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/docs/releases.rst
new/txtorcon-24.8.0/docs/releases.rst
--- old/txtorcon-23.11.0/docs/releases.rst 2023-11-20 08:34:46.000000000
+0100
+++ new/txtorcon-24.8.0/docs/releases.rst 2024-08-20 21:35:46.000000000
+0200
@@ -15,7 +15,19 @@
See also :ref:`api_stability`.
-`git main <https://github.com/meejah/txtorcon>`_ *will likely become v24.1.0*
+`git main <https://github.com/meejah/txtorcon>`_ *will likely become v24.9.0*
+
+
+v24.8.0
+-------
+
+August 20, 2024
+
+ * `txtorcon-24.8.0.tar.gz
<http://fjblvrw2jrxnhtg67qpbzi45r7ofojaoo3orzykesly2j3c2m3htapid.onion/txtorcon-24.8.0.tar.gz>`_
(`PyPI <https://pypi.python.org/pypi/txtorcon/24.8.0>`_ (:download:`local-sig
</../signatues/txtorcon-24.8.0.tar.gz.asc>` or `github-sig
<https://github.com/meejah/txtorcon/blob/main/signatues/txtorcon-24.8.0.tar.gz.asc?raw=true>`_)
(`source <https://github.com/meejah/txtorcon/archive/v24.8.0.tar.gz>`_)
+ * Fix (test) issues with Twisted 24.7.0 (`#400
<https://github.com/meejah/txtorcon/pull/400>`_)
+ * Remove usage of "six" (`#395
<https://github.com/meejah/txtorcon/issues/395>`_,
+ from `a-dieste <https://github.com/a-detiste>`_
+
v23.11.0
--------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/examples/connect.py
new/txtorcon-24.8.0/examples/connect.py
--- old/txtorcon-23.11.0/examples/connect.py 2019-05-19 14:35:02.000000000
+0200
+++ new/txtorcon-24.8.0/examples/connect.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,6 +1,5 @@
#!/usr/bin/env python
-from __future__ import print_function
from twisted.internet.task import react
from twisted.internet.defer import inlineCallbacks
from twisted.internet.endpoints import TCP4ClientEndpoint
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/txtorcon-23.11.0/examples/disallow_streams_by_port.py
new/txtorcon-24.8.0/examples/disallow_streams_by_port.py
--- old/txtorcon-23.11.0/examples/disallow_streams_by_port.py 2018-05-31
20:59:02.000000000 +0200
+++ new/txtorcon-24.8.0/examples/disallow_streams_by_port.py 2024-03-13
23:34:03.000000000 +0100
@@ -1,4 +1,3 @@
-from __future__ import print_function
#
# This uses a very simple custom txtorcon.IStreamAttacher to disallow
# certain streams based solely on their port; by default it closes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/examples/dns_lookups.py
new/txtorcon-24.8.0/examples/dns_lookups.py
--- old/txtorcon-23.11.0/examples/dns_lookups.py 2018-05-31
20:59:02.000000000 +0200
+++ new/txtorcon-24.8.0/examples/dns_lookups.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,5 +1,3 @@
-from __future__ import print_function
-
from twisted.internet.task import react
from twisted.internet.defer import inlineCallbacks
from twisted.internet.endpoints import clientFromString
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/examples/hidden_echo.py
new/txtorcon-24.8.0/examples/hidden_echo.py
--- old/txtorcon-23.11.0/examples/hidden_echo.py 2018-05-31
20:59:02.000000000 +0200
+++ new/txtorcon-24.8.0/examples/hidden_echo.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,4 +1,3 @@
-from __future__ import print_function
from twisted.internet import protocol, reactor, endpoints
# like the echo-server example on the front page of
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/examples/launch_tor.py
new/txtorcon-24.8.0/examples/launch_tor.py
--- old/txtorcon-23.11.0/examples/launch_tor.py 2018-05-31 20:59:02.000000000
+0200
+++ new/txtorcon-24.8.0/examples/launch_tor.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,5 +1,3 @@
-from __future__ import print_function
-
"""
Launch a private Tor instance.
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/examples/launch_tor2web.py
new/txtorcon-24.8.0/examples/launch_tor2web.py
--- old/txtorcon-23.11.0/examples/launch_tor2web.py 2018-05-31
20:59:02.000000000 +0200
+++ new/txtorcon-24.8.0/examples/launch_tor2web.py 2024-03-13
23:34:03.000000000 +0100
@@ -5,8 +5,6 @@
# running tor supports, *without* resorting to looking at version
# numbers.
-from __future__ import print_function
-
import sys
from twisted.internet.task import react
from twisted.internet.defer import inlineCallbacks, Deferred
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/examples/launch_tor_endpoint.py
new/txtorcon-24.8.0/examples/launch_tor_endpoint.py
--- old/txtorcon-23.11.0/examples/launch_tor_endpoint.py 2018-05-31
20:59:02.000000000 +0200
+++ new/txtorcon-24.8.0/examples/launch_tor_endpoint.py 2024-03-13
23:34:03.000000000 +0100
@@ -1,5 +1,3 @@
-from __future__ import print_function
-
# Here we set up a Twisted Web server and then launch our own tor with
# a configured hidden service directed at the Web server we set
# up. This uses serverFromString to translate the "onion" endpoint
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/examples/launch_tor_endpoint2.py
new/txtorcon-24.8.0/examples/launch_tor_endpoint2.py
--- old/txtorcon-23.11.0/examples/launch_tor_endpoint2.py 2018-05-31
20:59:02.000000000 +0200
+++ new/txtorcon-24.8.0/examples/launch_tor_endpoint2.py 2024-03-13
23:34:03.000000000 +0100
@@ -5,8 +5,6 @@
# up. This uses serverFromString to translate the "onion" endpoint descriptor
# into a TCPHiddenServiceEndpoint object...
-from __future__ import print_function
-
from twisted.internet import reactor
from twisted.web import server, resource
from twisted.internet.endpoints import serverFromString
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/examples/launch_tor_unix_sockets.py
new/txtorcon-24.8.0/examples/launch_tor_unix_sockets.py
--- old/txtorcon-23.11.0/examples/launch_tor_unix_sockets.py 2020-06-10
00:27:42.000000000 +0200
+++ new/txtorcon-24.8.0/examples/launch_tor_unix_sockets.py 2024-03-13
23:34:03.000000000 +0100
@@ -1,5 +1,3 @@
-from __future__ import print_function
-
"""
Use the 'global_tor' instance from txtorcon; this is a Tor
instance that either doesn't exist or is unique to this process'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/txtorcon-23.11.0/examples/launch_tor_with_simplehttpd.py
new/txtorcon-24.8.0/examples/launch_tor_with_simplehttpd.py
--- old/txtorcon-23.11.0/examples/launch_tor_with_simplehttpd.py
2020-06-10 00:27:42.000000000 +0200
+++ new/txtorcon-24.8.0/examples/launch_tor_with_simplehttpd.py 2024-03-13
23:34:03.000000000 +0100
@@ -11,8 +11,6 @@
./launch_tor_with_simplehttpd.py -p 8080 -d /opt/files/
'''
-from __future__ import print_function
-
import SimpleHTTPServer
import SocketServer
import functools
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/examples/minimal_endpoint.py
new/txtorcon-24.8.0/examples/minimal_endpoint.py
--- old/txtorcon-23.11.0/examples/minimal_endpoint.py 2018-05-31
20:59:02.000000000 +0200
+++ new/txtorcon-24.8.0/examples/minimal_endpoint.py 2024-03-13
23:34:03.000000000 +0100
@@ -1,6 +1,5 @@
#!/usr/bin/env python
-from __future__ import print_function
from twisted.internet import reactor
from twisted.internet.endpoints import serverFromString
from twisted.web import server, static
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/examples/monitor.py
new/txtorcon-24.8.0/examples/monitor.py
--- old/txtorcon-23.11.0/examples/monitor.py 2018-05-31 20:59:02.000000000
+0200
+++ new/txtorcon-24.8.0/examples/monitor.py 2024-03-13 23:34:03.000000000
+0100
@@ -3,8 +3,6 @@
# Just listens for a few EVENTs from Tor (INFO NOTICE WARN ERR) and
# prints out the contents, so functions like a log monitor.
-from __future__ import print_function
-
from twisted.internet import task, defer
from twisted.internet.endpoints import UNIXClientEndpoint
import txtorcon
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/examples/stem_relay_descriptor.py
new/txtorcon-24.8.0/examples/stem_relay_descriptor.py
--- old/txtorcon-23.11.0/examples/stem_relay_descriptor.py 2023-06-09
09:50:36.000000000 +0200
+++ new/txtorcon-24.8.0/examples/stem_relay_descriptor.py 2024-03-13
23:34:03.000000000 +0100
@@ -13,7 +13,6 @@
# descriptors -- by default Tor only downloads "microdescriptors"
# (whose information is already available live via txtorcon.Router
# instances). Set "UseMicrodescriptors 0" to download "full" descriptors
-from __future__ import print_function
from twisted.internet.task import react
from twisted.internet.defer import inlineCallbacks
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/examples/stream_circuit_logger.py
new/txtorcon-24.8.0/examples/stream_circuit_logger.py
--- old/txtorcon-23.11.0/examples/stream_circuit_logger.py 2020-06-10
00:27:42.000000000 +0200
+++ new/txtorcon-24.8.0/examples/stream_circuit_logger.py 2024-03-13
23:34:03.000000000 +0100
@@ -3,8 +3,6 @@
# This uses an IStreamListener and an ICircuitListener to log all
# built circuits and all streams that succeed.
-from __future__ import print_function
-
import sys
from twisted.python import log
from twisted.internet.task import react
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/examples/tor_info.py
new/txtorcon-24.8.0/examples/tor_info.py
--- old/txtorcon-23.11.0/examples/tor_info.py 2018-05-31 20:59:02.000000000
+0200
+++ new/txtorcon-24.8.0/examples/tor_info.py 2024-03-13 23:34:03.000000000
+0100
@@ -15,8 +15,6 @@
# transaction, you'll have to use TorControlProtocol's get_info
# instead.
-from __future__ import print_function
-
import sys
from twisted.internet import reactor, defer
from txtorcon import TorInfo, build_local_tor_connection
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/examples/web_client.py
new/txtorcon-24.8.0/examples/web_client.py
--- old/txtorcon-23.11.0/examples/web_client.py 2023-08-11 09:41:38.000000000
+0200
+++ new/txtorcon-24.8.0/examples/web_client.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,8 +1,6 @@
# this example shows how to use Twisted's web client with Tor via
# txtorcon
-from __future__ import print_function
-
from twisted.internet.defer import inlineCallbacks
from twisted.internet.task import react
from twisted.internet.endpoints import TCP4ClientEndpoint
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/txtorcon-23.11.0/examples/web_client_authenticated.py
new/txtorcon-24.8.0/examples/web_client_authenticated.py
--- old/txtorcon-23.11.0/examples/web_client_authenticated.py 2018-05-31
20:59:02.000000000 +0200
+++ new/txtorcon-24.8.0/examples/web_client_authenticated.py 2024-03-13
23:34:03.000000000 +0100
@@ -1,8 +1,6 @@
# this example shows how to use Twisted's web client with Tor via
# txtorcon
-from __future__ import print_function
-
from twisted.internet.defer import inlineCallbacks
from twisted.internet.task import react
from twisted.internet.endpoints import TCP4ClientEndpoint
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/txtorcon-23.11.0/examples/web_client_custom_circuit.py
new/txtorcon-24.8.0/examples/web_client_custom_circuit.py
--- old/txtorcon-23.11.0/examples/web_client_custom_circuit.py 2020-06-10
00:27:42.000000000 +0200
+++ new/txtorcon-24.8.0/examples/web_client_custom_circuit.py 2024-03-13
23:34:03.000000000 +0100
@@ -5,8 +5,6 @@
# do anything "special" to select your circuit hops you risk making it
# easy to de-anonymize this (and all other) Tor circuits.
-from __future__ import print_function
-
from twisted.internet.protocol import Protocol, Factory
from twisted.internet.defer import inlineCallbacks, Deferred
from twisted.internet.task import react
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/examples/web_client_treq.py
new/txtorcon-24.8.0/examples/web_client_treq.py
--- old/txtorcon-23.11.0/examples/web_client_treq.py 2018-05-31
20:59:02.000000000 +0200
+++ new/txtorcon-24.8.0/examples/web_client_treq.py 2024-03-13
23:34:03.000000000 +0100
@@ -1,8 +1,6 @@
# just copying over most of "carml checkpypi" because it's a good
# example of "I want a stream over *this* circuit".
-from __future__ import print_function
-
from twisted.internet.defer import inlineCallbacks
from twisted.internet.task import react
from twisted.internet.endpoints import TCP4ClientEndpoint
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/txtorcon-23.11.0/examples/web_onion_service_endpoints.py
new/txtorcon-24.8.0/examples/web_onion_service_endpoints.py
--- old/txtorcon-23.11.0/examples/web_onion_service_endpoints.py
2018-05-31 20:59:02.000000000 +0200
+++ new/txtorcon-24.8.0/examples/web_onion_service_endpoints.py 2024-03-13
23:34:03.000000000 +0100
@@ -11,7 +11,6 @@
# parser plugin but code without knowledge of txtorcon can still
# launch a Tor instance using it. cool!
-from __future__ import print_function
from twisted.internet import defer, task, endpoints, error
from twisted.web import server, resource
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/txtorcon-23.11.0/examples/web_onion_service_ephemeral_auth.py
new/txtorcon-24.8.0/examples/web_onion_service_ephemeral_auth.py
--- old/txtorcon-23.11.0/examples/web_onion_service_ephemeral_auth.py
2020-06-10 00:27:42.000000000 +0200
+++ new/txtorcon-24.8.0/examples/web_onion_service_ephemeral_auth.py
2024-03-13 23:34:03.000000000 +0100
@@ -11,7 +11,6 @@
# parser plugin but code without knowledge of txtorcon can still
# launch a Tor instance using it. cool!
-from __future__ import print_function
from twisted.internet import defer, task, endpoints
from twisted.web import server, resource
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/txtorcon-23.11.0/examples/web_onion_service_ephemeral_nonanon.py
new/txtorcon-24.8.0/examples/web_onion_service_ephemeral_nonanon.py
--- old/txtorcon-23.11.0/examples/web_onion_service_ephemeral_nonanon.py
2020-06-10 00:27:42.000000000 +0200
+++ new/txtorcon-24.8.0/examples/web_onion_service_ephemeral_nonanon.py
2024-03-13 23:34:03.000000000 +0100
@@ -6,7 +6,6 @@
# services. Once you publish a service like this, there's no going
# back to location-hidden.
-from __future__ import print_function
from twisted.internet import defer, task, endpoints
from twisted.web import server, resource
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/txtorcon-23.11.0/examples/web_onion_service_ephemeral_unix.py
new/txtorcon-24.8.0/examples/web_onion_service_ephemeral_unix.py
--- old/txtorcon-23.11.0/examples/web_onion_service_ephemeral_unix.py
2020-06-10 00:27:42.000000000 +0200
+++ new/txtorcon-24.8.0/examples/web_onion_service_ephemeral_unix.py
2024-03-13 23:34:03.000000000 +0100
@@ -11,7 +11,6 @@
# parser plugin but code without knowledge of txtorcon can still
# launch a Tor instance using it. cool!
-from __future__ import print_function
from os.path import abspath
from twisted.internet import defer, task, endpoints
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/txtorcon-23.11.0/examples/web_onion_service_filesystem.py
new/txtorcon-24.8.0/examples/web_onion_service_filesystem.py
--- old/txtorcon-23.11.0/examples/web_onion_service_filesystem.py
2018-05-31 20:59:02.000000000 +0200
+++ new/txtorcon-24.8.0/examples/web_onion_service_filesystem.py
2024-03-13 23:34:03.000000000 +0100
@@ -1,6 +1,5 @@
#!/usr/bin/env python
-from __future__ import print_function
import os
from twisted.internet import defer, task, endpoints
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/txtorcon-23.11.0/examples/web_onion_service_prop224.py
new/txtorcon-24.8.0/examples/web_onion_service_prop224.py
--- old/txtorcon-23.11.0/examples/web_onion_service_prop224.py 2020-06-10
00:27:42.000000000 +0200
+++ new/txtorcon-24.8.0/examples/web_onion_service_prop224.py 2024-03-13
23:34:03.000000000 +0100
@@ -11,7 +11,6 @@
# parser plugin but code without knowledge of txtorcon can still
# launch a Tor instance using it. cool!
-from __future__ import print_function
from twisted.internet import defer, task, endpoints
from twisted.web import server, resource
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/txtorcon-23.11.0/examples/web_onion_service_prop224_endpoints_file.py
new/txtorcon-24.8.0/examples/web_onion_service_prop224_endpoints_file.py
--- old/txtorcon-23.11.0/examples/web_onion_service_prop224_endpoints_file.py
2018-05-31 20:59:02.000000000 +0200
+++ new/txtorcon-24.8.0/examples/web_onion_service_prop224_endpoints_file.py
2024-03-13 23:34:03.000000000 +0100
@@ -11,7 +11,6 @@
# parser plugin but code without knowledge of txtorcon can still
# launch a Tor instance using it. cool!
-from __future__ import print_function
from twisted.internet import defer, task, endpoints
from twisted.web import server, resource
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/examples/webui_server.py
new/txtorcon-24.8.0/examples/webui_server.py
--- old/txtorcon-23.11.0/examples/webui_server.py 2018-05-31
20:59:02.000000000 +0200
+++ new/txtorcon-24.8.0/examples/webui_server.py 2024-03-13
23:34:03.000000000 +0100
@@ -1,7 +1,5 @@
#!/usr/bin/env python
-from __future__ import print_function
-
from twisted.internet import reactor
from nevow.appserver import NevowSite
from nevow import loaders, tags, livepage
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/setup.py
new/txtorcon-24.8.0/setup.py
--- old/txtorcon-23.11.0/setup.py 2023-05-19 03:11:14.000000000 +0200
+++ new/txtorcon-24.8.0/setup.py 2024-03-13 23:34:03.000000000 +0100
@@ -1,8 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import print_function
-
from os.path import join
from os import listdir
from setuptools import setup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/test/test_controller.py
new/txtorcon-24.8.0/test/test_controller.py
--- old/txtorcon-23.11.0/test/test_controller.py 2023-11-20
07:11:22.000000000 +0100
+++ new/txtorcon-24.8.0/test/test_controller.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,5 +1,4 @@
import os
-import six
import functools
from os.path import join
from unittest.mock import Mock, patch
@@ -1504,12 +1503,6 @@
yield self.tor.remove_onion_authentication("non_existing.onion")
self.assertEqual(0, len(self.cfg.HidServAuth))
- def test_context_manager_py2(self):
- if not six.PY2:
- return
- with self.assertRaises(RuntimeError):
- self.tor.onion_authentication("foo.onion", "token")
-
@defer.inlineCallbacks
def test_add_and_remove(self):
yield self.tor.add_onion_authentication("foo.onion", "a_token")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/test/test_endpoints.py
new/txtorcon-24.8.0/test/test_endpoints.py
--- old/txtorcon-23.11.0/test/test_endpoints.py 2023-11-20 07:11:22.000000000
+0100
+++ new/txtorcon-24.8.0/test/test_endpoints.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,5 +1,3 @@
-from __future__ import print_function
-
import os
import sys
from unittest.mock import patch
@@ -1331,7 +1329,6 @@
def port_generator():
- # XXX six has xrange/range stuff?
for x in range(65535, 0, -1):
yield x
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/test/test_fsm.py
new/txtorcon-24.8.0/test/test_fsm.py
--- old/txtorcon-23.11.0/test/test_fsm.py 2018-05-31 20:59:02.000000000
+0200
+++ new/txtorcon-24.8.0/test/test_fsm.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,5 +1,3 @@
-from __future__ import print_function
-
import txtorcon.spaghetti
from txtorcon.spaghetti import State
from txtorcon.spaghetti import Transition
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/test/test_onion.py
new/txtorcon-24.8.0/test/test_onion.py
--- old/txtorcon-23.11.0/test/test_onion.py 2023-11-20 07:11:22.000000000
+0100
+++ new/txtorcon-24.8.0/test/test_onion.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,5 +1,3 @@
-from __future__ import print_function
-
import os
import sys
from unittest.mock import Mock
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/test/test_socks.py
new/txtorcon-24.8.0/test/test_socks.py
--- old/txtorcon-23.11.0/test/test_socks.py 2023-11-20 07:11:22.000000000
+0100
+++ new/txtorcon-24.8.0/test/test_socks.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,4 +1,4 @@
-from six import BytesIO, text_type
+from io import BytesIO
from unittest.mock import Mock, patch
from twisted.trial import unittest
@@ -768,7 +768,7 @@
d = socks.resolve_ptr(socks_ep, 'meejah.ca')
self.assertEqual(1, len(fac.mock_calls))
self.assertTrue(
- isinstance(fac.mock_calls[0][1][0], text_type)
+ isinstance(fac.mock_calls[0][1][0], str)
)
return d
@@ -778,7 +778,7 @@
d = socks.resolve(socks_ep, 'meejah.ca')
self.assertEqual(1, len(fac.mock_calls))
self.assertTrue(
- isinstance(fac.mock_calls[0][1][0], text_type)
+ isinstance(fac.mock_calls[0][1][0], str)
)
return d
@@ -788,7 +788,7 @@
d = socks.resolve_ptr(socks_ep, b'meejah.ca')
self.assertEqual(1, len(fac.mock_calls))
self.assertTrue(
- isinstance(fac.mock_calls[0][1][0], text_type)
+ isinstance(fac.mock_calls[0][1][0], str)
)
return d
@@ -798,7 +798,7 @@
d = socks.resolve(socks_ep, b'meejah.ca')
self.assertEqual(1, len(fac.mock_calls))
self.assertTrue(
- isinstance(fac.mock_calls[0][1][0], text_type)
+ isinstance(fac.mock_calls[0][1][0], str)
)
return d
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/test/test_stream.py
new/txtorcon-24.8.0/test/test_stream.py
--- old/txtorcon-23.11.0/test/test_stream.py 2023-08-11 09:41:38.000000000
+0200
+++ new/txtorcon-24.8.0/test/test_stream.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,5 +1,3 @@
-from __future__ import print_function
-
from txtorcon.util import maybe_ip_addr
from twisted.trial import unittest
from twisted.internet import defer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/test/test_torconfig.py
new/txtorcon-24.8.0/test/test_torconfig.py
--- old/txtorcon-23.11.0/test/test_torconfig.py 2023-11-20 07:11:22.000000000
+0100
+++ new/txtorcon-24.8.0/test/test_torconfig.py 2024-08-20 21:04:14.000000000
+0200
@@ -1,11 +1,9 @@
-from __future__ import print_function
-
import os
import shutil
import tempfile
import functools
import warnings
-from six import StringIO
+from io import StringIO
from unittest.mock import Mock, patch
from os.path import join
@@ -1459,8 +1457,11 @@
)
self.assertIs(tpp, fake_tor.process)
calls = warn.mock_calls
- self.assertEqual(1, len(calls))
- self.assertEqual(calls[0][1][1], DeprecationWarning)
+ # on Twisted 24.7.0 and higher, there's an extra deprecation
+ # warning due to returnValue being deprecated
+ self.assertTrue(len(calls) >= 1)
+ for call in calls:
+ self.assertEqual(call[1][1], DeprecationWarning)
class ErrorTests(unittest.TestCase):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/test/test_torcontrolprotocol.py
new/txtorcon-24.8.0/test/test_torcontrolprotocol.py
--- old/txtorcon-23.11.0/test/test_torcontrolprotocol.py 2023-10-04
21:25:18.000000000 +0200
+++ new/txtorcon-24.8.0/test/test_torcontrolprotocol.py 2024-03-13
23:34:03.000000000 +0100
@@ -1,6 +1,3 @@
-from __future__ import print_function
-from __future__ import with_statement
-
from os.path import exists
from twisted.python import log, failure
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/test/test_torstate.py
new/txtorcon-24.8.0/test/test_torstate.py
--- old/txtorcon-23.11.0/test/test_torstate.py 2023-11-20 07:11:22.000000000
+0100
+++ new/txtorcon-24.8.0/test/test_torstate.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,5 +1,3 @@
-from __future__ import print_function
-
from zope.interface import implementer, directlyProvides
from zope.interface.verify import verifyClass
from twisted.trial import unittest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/test/test_util_imports.py
new/txtorcon-24.8.0/test/test_util_imports.py
--- old/txtorcon-23.11.0/test/test_util_imports.py 2018-05-31
20:59:02.000000000 +0200
+++ new/txtorcon-24.8.0/test/test_util_imports.py 2024-03-13
23:34:03.000000000 +0100
@@ -3,7 +3,6 @@
import sys
import functools
from unittest import skipUnless
-import six
def fake_import(orig, name, *args, **kw):
@@ -14,7 +13,7 @@
class TestImports(unittest.TestCase):
- @skipUnless(six.PY2 and 'pypy' not in sys.version.lower(), "Doesn't work
in PYPY, Py3")
+ @skipUnless(False and 'pypy' not in sys.version.lower(), "Doesn't work in
PYPY, Py3")
def test_no_GeoIP(self):
"""
Make sure we don't explode if there's no GeoIP module
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/__init__.py
new/txtorcon-24.8.0/txtorcon/__init__.py
--- old/txtorcon-23.11.0/txtorcon/__init__.py 2018-05-31 20:59:02.000000000
+0200
+++ new/txtorcon-24.8.0/txtorcon/__init__.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,10 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import unicode_literals
-from __future__ import with_statement
-
from txtorcon._metadata import __version__, __author__, __contact__
from txtorcon._metadata import __license__, __copyright__, __url__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/_metadata.py
new/txtorcon-24.8.0/txtorcon/_metadata.py
--- old/txtorcon-23.11.0/txtorcon/_metadata.py 2023-11-20 07:12:18.000000000
+0100
+++ new/txtorcon-24.8.0/txtorcon/_metadata.py 2024-08-20 21:05:12.000000000
+0200
@@ -1,6 +1,6 @@
-__version__ = '23.11.0'
+__version__ = '24.8.0'
__author__ = 'meejah'
__contact__ = '[email protected]'
__url__ = 'https://github.com/meejah/txtorcon'
__license__ = 'MIT'
-__copyright__ = 'Copyright 2012-2023'
+__copyright__ = 'Copyright 2012-2024'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/addrmap.py
new/txtorcon-24.8.0/txtorcon/addrmap.py
--- old/txtorcon-23.11.0/txtorcon/addrmap.py 2018-05-31 20:59:02.000000000
+0200
+++ new/txtorcon-24.8.0/txtorcon/addrmap.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,10 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import unicode_literals
-from __future__ import with_statement
-
from txtorcon.interface import IAddrListener
from txtorcon.util import maybe_ip_addr
@@ -15,7 +10,7 @@
import shlex
-class Addr(object):
+class Addr:
"""
One address mapping (e.g. example.com -> 127.0.0.1)
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/circuit.py
new/txtorcon-24.8.0/txtorcon/circuit.py
--- old/txtorcon-23.11.0/txtorcon/circuit.py 2023-05-19 03:11:14.000000000
+0200
+++ new/txtorcon-24.8.0/txtorcon/circuit.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,11 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import unicode_literals
-from __future__ import with_statement
-
-import six
import time
from datetime import datetime
@@ -69,7 +63,7 @@
def _add_real_target(self, real_addr, circuit, d):
# joy oh joy, ipaddress wants unicode, Twisted gives us bytes...
- real_host = maybe_ip_addr(six.text_type(real_addr.host))
+ real_host = maybe_ip_addr(str(real_addr.host))
real_port = real_addr.port
self._circuit_targets[(real_host, real_port)] = (circuit, d)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/controller.py
new/txtorcon-24.8.0/txtorcon/controller.py
--- old/txtorcon-23.11.0/txtorcon/controller.py 2023-08-30 01:34:05.000000000
+0200
+++ new/txtorcon-24.8.0/txtorcon/controller.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import with_statement
-
import os
import sys
-import six
import shlex
import tempfile
import functools
@@ -1039,7 +1034,7 @@
raise ValueError(
"The only valid Onion service versions are 2 or 3"
)
- if not isinstance(ports, Sequence) or isinstance(ports,
six.string_types):
+ if not isinstance(ports, Sequence) or isinstance(ports, str):
raise ValueError("'ports' must be a sequence (list, tuple, ..)")
processed_ports = yield _validate_ports(self._reactor, ports)
@@ -1097,7 +1092,7 @@
been made.
"""
- if not isinstance(ports, Sequence) or isinstance(ports,
six.string_types):
+ if not isinstance(ports, Sequence) or isinstance(ports, str):
raise ValueError("'ports' must be a sequence (list, tuple, ..)")
processed_ports = yield _validate_ports(self._reactor, ports)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/endpoints.py
new/txtorcon-24.8.0/txtorcon/endpoints.py
--- old/txtorcon-23.11.0/txtorcon/endpoints.py 2023-08-11 09:41:38.000000000
+0200
+++ new/txtorcon-24.8.0/txtorcon/endpoints.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,9 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import with_statement
-
import os
import shutil
import weakref
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/interface.py
new/txtorcon-24.8.0/txtorcon/interface.py
--- old/txtorcon-23.11.0/txtorcon/interface.py 2023-05-19 03:11:14.000000000
+0200
+++ new/txtorcon-24.8.0/txtorcon/interface.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,10 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import unicode_literals
-from __future__ import with_statement
-
from zope.interface import implementer
from zope.interface import Interface, Attribute
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/log.py
new/txtorcon-24.8.0/txtorcon/log.py
--- old/txtorcon-23.11.0/txtorcon/log.py 2018-05-31 20:59:02.000000000
+0200
+++ new/txtorcon-24.8.0/txtorcon/log.py 2024-03-13 23:34:03.000000000 +0100
@@ -4,11 +4,6 @@
This module handles txtorcon debug messages.
"""
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import unicode_literals
-from __future__ import with_statement
-
from twisted.python import log as twlog
__all__ = ['txtorlog']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/onion.py
new/txtorcon-24.8.0/txtorcon/onion.py
--- old/txtorcon-23.11.0/txtorcon/onion.py 2019-05-19 14:35:02.000000000
+0200
+++ new/txtorcon-24.8.0/txtorcon/onion.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,6 +1,5 @@
import os
import re
-import six
import base64
import hashlib
import functools
@@ -20,7 +19,7 @@
from cryptography.hazmat.primitives import serialization
-class HiddenServiceClientAuth(object):
+class HiddenServiceClientAuth:
"""
Encapsulates a single client-authorization, as parsed from a
HiddenServiceDir's "client_keys" file if you have stealth or basic
@@ -1375,7 +1374,7 @@
"{} 127.0.0.1:{}".format(remote, local)
)
- elif isinstance(port, (six.text_type, str)):
+ elif isinstance(port, str):
_validate_single_port_string(port)
processed_ports.append(port)
@@ -1407,7 +1406,7 @@
"""
if not isinstance(ports, (list, tuple)):
raise ValueError("'ports' must be a list of strings")
- if any([not isinstance(x, (six.text_type, str)) for x in ports]):
+ if any([not isinstance(x, str) for x in ports]):
raise ValueError("'ports' must be a list of strings")
for port in ports:
_validate_single_port_string(port)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/router.py
new/txtorcon-24.8.0/txtorcon/router.py
--- old/txtorcon-23.11.0/txtorcon/router.py 2018-05-31 20:59:02.000000000
+0200
+++ new/txtorcon-24.8.0/txtorcon/router.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,15 +1,9 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import unicode_literals
-from __future__ import with_statement
-
import json
from datetime import datetime
from .util import NetLocation
from .util import _Version
-import six
from base64 import b64encode, b64decode
from binascii import b2a_hex, a2b_hex
@@ -38,7 +32,7 @@
return b64encode(a2b_hex(hexid))[:-1].decode('ascii')
-class PortRange(object):
+class PortRange:
"""
Represents a range of ports for Router policies.
"""
@@ -53,7 +47,7 @@
return "%d-%d" % (self.min, self.max)
-class Router(object):
+class Router:
"""
Represents a Tor Router, including location.
@@ -179,7 +173,7 @@
There is some current work in Twisted for open-ended constants
(enums) support however, it seems.
"""
- if isinstance(flags, (six.text_type, bytes)):
+ if isinstance(flags, (str, bytes)):
flags = flags.split()
self._flags = [x.lower() for x in flags]
self.name_is_unique = 'named' in self._flags
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/socks.py
new/txtorcon-24.8.0/txtorcon/socks.py
--- old/txtorcon-23.11.0/txtorcon/socks.py 2020-06-10 00:27:42.000000000
+0200
+++ new/txtorcon-24.8.0/txtorcon/socks.py 2024-03-13 23:34:03.000000000
+0100
@@ -4,9 +4,6 @@
# Python3. Also, Tor's SOCKS5 implementation is especially simple,
# since it doesn't do BIND or UDP ASSOCIATE.
-from __future__ import print_function
-
-import six
import struct
from socket import inet_pton, inet_ntoa, inet_aton, AF_INET6, AF_INET
@@ -41,9 +38,9 @@
def _create_ip_address(host, port):
- if not isinstance(host, six.text_type):
+ if not isinstance(host, str):
raise ValueError(
- "'host' must be {}, not {}".format(six.text_type, type(host))
+ "'host' must be str, not {}".format(type(host))
)
try:
a = ipaddress.ip_address(host)
@@ -87,13 +84,13 @@
req_type
)
)
- if not isinstance(host, (bytes, str, six.text_type)):
+ if not isinstance(host, (bytes, str)):
raise ValueError(
"'host' must be text (not {})".format(type(host))
)
# XXX what if addr is None?
self._req_type = req_type
- self._addr = _create_ip_address(six.text_type(host), port)
+ self._addr = _create_ip_address(str(host), port)
self._data = b''
self._on_disconnect = on_disconnect
self._create_connection = create_connection
@@ -646,9 +643,7 @@
:param hostname: the hostname to look up.
"""
- if six.PY2 and isinstance(hostname, str):
- hostname = unicode(hostname) # noqa
- elif six.PY3 and isinstance(hostname, bytes):
+ if isinstance(hostname, bytes):
hostname = hostname.decode('ascii')
factory = _TorSocksFactory(
hostname, 0, 'RESOLVE', None,
@@ -667,9 +662,7 @@
:param ip: the IP address to look up.
"""
- if six.PY2 and isinstance(ip, str):
- ip = unicode(ip) # noqa
- elif six.PY3 and isinstance(ip, bytes):
+ if isinstance(ip, bytes):
ip = ip.decode('ascii')
factory = _TorSocksFactory(
ip, 0, 'RESOLVE_PTR', None,
@@ -692,9 +685,7 @@
def __init__(self, socks_endpoint, host, port, tls=False):
self._proxy_ep = socks_endpoint # can be Deferred
assert self._proxy_ep is not None
- if six.PY2 and isinstance(host, str):
- host = unicode(host) # noqa
- if six.PY3 and isinstance(host, bytes):
+ if isinstance(host, bytes):
host = host.decode('ascii')
self._host = host
self._port = port
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/spaghetti.py
new/txtorcon-24.8.0/txtorcon/spaghetti.py
--- old/txtorcon-23.11.0/txtorcon/spaghetti.py 2018-05-31 20:59:02.000000000
+0200
+++ new/txtorcon-24.8.0/txtorcon/spaghetti.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,13 +1,9 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import with_statement
-
import warnings
-class FSM(object):
+class FSM:
"""
Pass callables for matcher and handler to add_handler to create
transitions between states. A "matcher" is a predicate, and if a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/stream.py
new/txtorcon-24.8.0/txtorcon/stream.py
--- old/txtorcon-23.11.0/txtorcon/stream.py 2023-02-16 06:25:43.000000000
+0100
+++ new/txtorcon-24.8.0/txtorcon/stream.py 2024-03-13 23:34:03.000000000
+0100
@@ -11,18 +11,13 @@
"""
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import unicode_literals
-from __future__ import with_statement
-
from twisted.python import log
from twisted.internet import defer
from txtorcon.interface import ICircuitContainer, IStreamListener
from txtorcon.util import find_keywords, maybe_ip_addr
-class Stream(object):
+class Stream:
"""
Represents an active stream in Tor's state (:class:`txtorcon.TorState`).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/torconfig.py
new/txtorcon-24.8.0/txtorcon/torconfig.py
--- old/txtorcon-23.11.0/txtorcon/torconfig.py 2023-11-20 07:07:30.000000000
+0100
+++ new/txtorcon-24.8.0/txtorcon/torconfig.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import with_statement
-
import os
import re
-import six
import functools
import warnings
from io import StringIO
@@ -67,7 +62,7 @@
defer.returnValue(tor.process)
-class TorConfigType(object):
+class TorConfigType:
"""
Base class for all configuration types, which function as parsers
and un-parsers.
@@ -253,11 +248,7 @@
return '_ListWrapper' + super(_ListWrapper, self).__repr__()
-if six.PY2:
- setattr(_ListWrapper, '__setslice__', _wrapture(list.__setslice__))
-
-
-class HiddenService(object):
+class HiddenService:
"""
Because hidden service configuration is handled specially by Tor,
we wrap the config in this class. This corresponds to the
@@ -424,7 +415,7 @@
# resulting class in isinstance() things and the like, because Twisted
# makes it into a function instead :( so we @deprecate __init__ for now
# @deprecated(_Version("txtorcon", 18, 0, 0))
-class EphemeralHiddenService(object):
+class EphemeralHiddenService:
'''
Deprecated as of 18.0.0. Please instead use
:class:`txtorcon.EphemeralOnionService`
@@ -448,7 +439,7 @@
raise ValueError(
'key_blob_or_type must be a string in the formats '
'"NEW:<ALGORITHM>" or "<ALGORITHM>:<KEY>"')
- if isinstance(ports, (six.text_type, str)):
+ if isinstance(ports, str):
ports = [ports]
self._ports = [x.replace(' ', ',') for x in ports]
self._keyblob = key_blob_or_type
@@ -523,7 +514,7 @@
return TCP4ClientEndpoint(reactor, host, port)
-class TorConfig(object):
+class TorConfig:
"""This class abstracts out Tor's config, and can be used both to
create torrc files from nothing and track live configuration of a Tor
instance.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/torcontrolprotocol.py
new/txtorcon-24.8.0/txtorcon/torcontrolprotocol.py
--- old/txtorcon-23.11.0/txtorcon/torcontrolprotocol.py 2023-10-04
21:25:18.000000000 +0200
+++ new/txtorcon-24.8.0/txtorcon/torcontrolprotocol.py 2024-03-13
23:34:03.000000000 +0100
@@ -1,9 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import with_statement
-
import os
import re
import base64
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/torinfo.py
new/txtorcon-24.8.0/txtorcon/torinfo.py
--- old/txtorcon-23.11.0/txtorcon/torinfo.py 2021-08-06 21:20:26.000000000
+0200
+++ new/txtorcon-24.8.0/txtorcon/torinfo.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,17 +1,12 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import unicode_literals
-from __future__ import with_statement
-
import functools
from twisted.internet import defer
from txtorcon.interface import ITorControlProtocol
-class MagicContainer(object):
+class MagicContainer:
"""
This merely contains 1 or more methods or further MagicContainer
instances; see _do_setup in TorInfo.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/torstate.py
new/txtorcon-24.8.0/txtorcon/torstate.py
--- old/txtorcon-23.11.0/txtorcon/torstate.py 2023-08-11 09:41:38.000000000
+0200
+++ new/txtorcon-24.8.0/txtorcon/torstate.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,9 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import with_statement
-
import os
import stat
import warnings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/util.py
new/txtorcon-24.8.0/txtorcon/util.py
--- old/txtorcon-23.11.0/txtorcon/util.py 2023-10-04 21:25:18.000000000
+0200
+++ new/txtorcon-24.8.0/txtorcon/util.py 2024-03-13 23:34:03.000000000
+0100
@@ -1,9 +1,6 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import with_statement
-
+import asyncio
import glob
import os
import hmac
@@ -12,7 +9,6 @@
import subprocess
import ipaddress
import re
-import six
from twisted.internet import defer
from twisted.internet.interfaces import IProtocolFactory
@@ -22,9 +18,6 @@
from zope.interface import implementer
from zope.interface import Interface
-if six.PY3:
- import asyncio
-
try:
import GeoIP as _GeoIP
GeoIP = _GeoIP
@@ -148,8 +141,6 @@
TODO consider explicitly checking for .exit or .onion at the end?
"""
- if six.PY2 and isinstance(addr, str):
- addr = unicode(addr) # noqa
try:
return ipaddress.ip_address(addr)
except ValueError:
@@ -337,10 +328,7 @@
# handeled as escape codes by string.decode('string-escape').
# This is needed so e.g. '\x00' is not unescaped as '\0'
string = re.sub(r'((?:^|[^\\])(?:\\\\)*)\\([^ntr0-7\\])', r'\1\2', string)
- if six.PY3:
- # XXX hmmm?
- return bytes(string, 'ascii').decode('unicode-escape')
- return string.decode('string-escape')
+ return bytes(string, 'ascii').decode('unicode-escape')
def default_control_port():
@@ -385,7 +373,7 @@
(This is to insert in all callback chains from user code, in case
that user code is Python3 and used 'async def')
"""
- if six.PY3 and asyncio.iscoroutine(obj):
+ if asyncio.iscoroutine(obj):
return defer.ensureDeferred(obj)
return obj
@@ -532,7 +520,7 @@
# for numeric hostnames, skip RFC1918 addresses, since no Tor exit
# node will be able to reach those. Likewise ignore IPv6 addresses.
try:
- a = ipaddress.ip_address(six.text_type(host))
+ a = ipaddress.ip_address(str(host))
except ValueError:
return False # non-numeric, let Tor try it
if a.is_loopback or a.is_multicast or a.is_private or a.is_reserved \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon/web.py
new/txtorcon-24.8.0/txtorcon/web.py
--- old/txtorcon-23.11.0/txtorcon/web.py 2023-05-19 03:11:14.000000000
+0200
+++ new/txtorcon-24.8.0/txtorcon/web.py 2024-03-13 23:34:03.000000000 +0100
@@ -1,9 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import with_statement
-
from twisted.web.iweb import IAgentEndpointFactory
from twisted.web.client import Agent, BrowserLikePolicyForHTTPS
from twisted.internet.defer import inlineCallbacks, returnValue, Deferred
@@ -17,7 +13,7 @@
@implementer(IAgentEndpointFactory)
-class _AgentEndpointFactoryUsingTor(object):
+class _AgentEndpointFactoryUsingTor:
def __init__(self, reactor, tor_socks_endpoint, tls_context_factory):
self._reactor = reactor
self._proxy_ep = SingleObserver()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/txtorcon-23.11.0/txtorcon.egg-info/PKG-INFO
new/txtorcon-24.8.0/txtorcon.egg-info/PKG-INFO
--- old/txtorcon-23.11.0/txtorcon.egg-info/PKG-INFO 2023-11-20
08:48:41.000000000 +0100
+++ new/txtorcon-24.8.0/txtorcon.egg-info/PKG-INFO 2024-08-20
21:53:55.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: txtorcon
-Version: 23.11.0
+Version: 24.8.0
Summary: Twisted-based Tor controller client, with state-tracking and
configuration abstractions. https://txtorcon.readthedocs.org
https://github.com/meejah/txtorcon
Home-page: https://github.com/meejah/txtorcon
Author: meejah