From a0909405807e377769597cf1376c7b51dec45f25 Mon Sep 17 00:00:00 2001 From: Dekara VanHoc <50260825+dekaravanhoc@users.noreply.github.com> Date: Fri, 21 Jan 2022 16:37:29 +0100 Subject: [PATCH] Update to collections.abc Update to new abstract class for instance check of collections Added Fallback for oder Python Versions --- backtrader/writer.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/backtrader/writer.py b/backtrader/writer.py index 1f765d464..d69a2ec6d 100644 --- a/backtrader/writer.py +++ b/backtrader/writer.py @@ -26,6 +26,11 @@ import itertools import sys +try: + collectionsAbc = collections.abc +except AttributeError: + collectionsAbc = collections + import backtrader as bt from backtrader.utils.py3 import (map, with_metaclass, string_types, integer_types) @@ -205,7 +210,7 @@ def writedict(self, dct, level=0, recurse=False): self.writelineseparator(level=level) self.writeline(kline) self.writedict(val, level=level + 1, recurse=True) - elif isinstance(val, (list, tuple, collections.Iterable)): + elif isinstance(val, (list, tuple, collectionsAbc.Iterable)): line = ', '.join(map(str, val)) self.writeline(kline + ' ' + line) else: