From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id OLt/AEhFjGROTQEASxT56A (envelope-from ) for ; Fri, 16 Jun 2023 13:19:36 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id YPf+OkdFjGQyewEAG6o9tA (envelope-from ) for ; Fri, 16 Jun 2023 13:19:35 +0200 Received: from mail.notmuchmail.org (yantan.tethera.net [IPv6:2a01:4f9:c011:7a79::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 62A783ADA5 for ; Fri, 16 Jun 2023 13:19:35 +0200 (CEST) Received: from yantan.tethera.net (localhost [127.0.0.1]) by mail.notmuchmail.org (Postfix) with ESMTP id 5C4F15F5EB; Fri, 16 Jun 2023 11:19:32 +0000 (UTC) Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com [IPv6:2a00:1450:4864:20::52e]) by mail.notmuchmail.org (Postfix) with ESMTPS id C15645F3E5 for ; Fri, 16 Jun 2023 11:19:29 +0000 (UTC) Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-51480d3e161so694366a12.3 for ; Fri, 16 Jun 2023 04:19:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686914368; x=1689506368; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:sender:from:to:cc:subject:date:message-id:reply-to; bh=5eH8h5+eUnLND0y7/5JHuSWnOONxGU9KttqIS0ZvWEg=; b=LyjOJTcUqu1k7SeBJwJp9jQn62gjDz6n7bTGFkU55j4O+nEfXEFa6qOhKpIJD7cocd n+CA12+RDrenX1oO/ke485iwdlip1NZaARYjz4ZDA7A182Uo3OnZazUVmaW/MYyJI14E 1P433s35ZyoJM7w12sp7YKZdMEIz5o4WTbtjLP7s17tX+sZmBqHwrnPYJUbI0+4lFqwB hMyQTmkna7WgK5/3JdZbKiC8aOXRHkKVcbXbCeU5369OISovB4gQBnG5qD4OOsyoaAgF eiPWbQvqX0MZdALbiFVkHwZC8uCALKy38ytuESDDC1UjzaS/Myhe9x1NIabaLX7KatjD 20eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686914368; x=1689506368; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:sender:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=5eH8h5+eUnLND0y7/5JHuSWnOONxGU9KttqIS0ZvWEg=; b=l7c3tg+j0kjKaA8mOK+OzuB8Bwu7pwSbmiD/rlLBuI0/QNKHB6ZQhznu+Fc0sSFwHq r/vqKyNkoZ1N1oCiERR20hXH8AwbSNjxxrFTLpLk0G3Y+MlkuD4kicBz+YsMQts4Uksu 2muYg+QFfmOYad/eSdP81WFlfhw2vG3ULhQ25+MsaNUzjFK5Vpsz2AFrQrJHMv3ML0xz 4e5sxLj+QA0iFn1aEvVurDeY7ZWwjJPEfQOFlFIvuhWg8jEuK/ail60CW+6DierjP0Mq ROm8aansCCbfTFhX0qEjUJTJmWOSrYK2ZdiTSoflcLkzUEecbAJGkWYTu9pwRbiX/AVu VQwA== X-Gm-Message-State: AC+VfDxh++4kIkyYhwH8zo0e7Q1G5+6ZyPTF5MW2qsgbJXxkR20ZNzkA Oxaj2oiurhf5D3i+NvkbJNJTW0p87T0= X-Google-Smtp-Source: ACHHUZ6qEMDk9mMxuhmRidxuIHlVQ/xicNd1jTnMP8cyOcxdAObd4s1WVlvXyqPrWjurB5/esgPrGA== X-Received: by 2002:aa7:c250:0:b0:514:9423:65a5 with SMTP id y16-20020aa7c250000000b00514942365a5mr1207726edo.19.1686914368345; Fri, 16 Jun 2023 04:19:28 -0700 (PDT) Received: from localhost (nb-ana002.math.uni-hannover.de. [130.75.46.4]) by smtp.gmail.com with ESMTPSA id ba7-20020a0564021ac700b0050bc6983041sm9871588edb.96.2023.06.16.04.19.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Jun 2023 04:19:27 -0700 (PDT) Sender: Michael J Gruber From: michaeljgruber+grubix+git@gmail.com To: notmuch@notmuchmail.org Subject: [PATCH] python: adjust legacy bindings to py 3.12 Date: Fri, 16 Jun 2023 13:19:26 +0200 Message-ID: X-Mailer: git-send-email 2.41.0.169.g493b9e920c MIME-Version: 1.0 Message-ID-Hash: PGQ6XEVGDCRSIKQ3QDKWV6XXVK32PXX6 X-Message-ID-Hash: PGQ6XEVGDCRSIKQ3QDKWV6XXVK32PXX6 X-MailFrom: michaeljgruber+grubix+git@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-notmuch.notmuchmail.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Michael J Gruber X-Mailman-Version: 3.3.3 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Migadu-Country: DE X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1686914375; a=rsa-sha256; cv=none; b=icddj8T3CUMT3uIbV9t8MT0J3HAsbN0GIJMUgaV7xQv7iUPoWiQ6FwW9MHbEur1ITrWkRR z0n0Utp7sKDjjhycDpNyUaXXWSh2bIMOl7bImRKb/jyOigONKh37hyI6+M7cOJtd3/MGQ6 8Xa1ixmORv8FHalOTC6iJx8hUTWDCHq3K5ezdHqtQKTG2MWJswbM+FmjpGwTiXBGo3Qtg8 /ctaZNhFyyDgLCMSNwT9zPU7NEjdErkL227f6w4K5Q4T/+23qVJ1sHkcjglc2gPe+QLriw WERIWjrz7CNk8gp2o/oFtLWF+zTh3UHF4nU4KkHSD3tfDxTt7bIJs+tEXtGPxg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20221208 header.b=LyjOJTcU; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 2a01:4f9:c011:7a79::1 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1686914375; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-owner:list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=vCZTshwAxOVWoFRf/sYXMwD6XWPEAOJD/P17yyU4lbs=; b=P8HWzBqlAc8iiev73qOeSqhhVPr6KM82D7y49Cfwqr+73Whf9MYNHTi4PHHLX/kfdVozpx HdvmKx6kmXZAzNM00WKVfJt3BmG3crhe8hsEQiHD5GS63x8lrOs1vPn3cJhy89XGPw7N5h hS3gVyuB9ccaYqTtjKIdBGqS/StIiY5nKFv56gpmacCSktabxPTGwpp6gc3UrjuVBqEYWw +g7vOWW+bK8J1UaxhzG+leKIe5nPfKfOhSe7JkC41YZjvBitvdV0L4TcX9vhllsr8iXGpw 8qC6itoTV6oP+ewcjlVzCK1TX0wQ17Ov1ocYL+jsYoz2xhXioIyoaVHVK8Sctg== Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20221208 header.b=LyjOJTcU; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 2a01:4f9:c011:7a79::1 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: -1.41 X-Spam-Score: -1.41 X-Migadu-Queue-Id: 62A783ADA5 X-TUID: OSKK7h+pNt3A From: Michael J Gruber Py 3.12 finally pulled the plug on the `SafeConfigParser` class which has been deprecated since py 3.2. We use it in the legacy bindings only, so take the easy route of importing `ConfigParser` as `SafeConfigParser` and monkey-patching so that the class has the expected interface. --- bindings/python/notmuch/compat.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bindings/python/notmuch/compat.py b/bindings/python/notmuch/compat.py index c931329e..4a94e05c 100644 --- a/bindings/python/notmuch/compat.py +++ b/bindings/python/notmuch/compat.py @@ -47,7 +47,10 @@ if sys.version_info[0] == 2: return value else: - from configparser import SafeConfigParser + from configparser import ConfigParser as SafeConfigParser + + if not hasattr(SafeConfigParser, 'readfp'): # py >= 3.12 + SafeConfigParser.readfp = SafeConfigParser.read_file class Python3StringMixIn(object): def __str__(self): -- 2.41.0.169.g493b9e920c