From 1d928851c7cd94ddbfb049483bd8d15e4f1c4855 Mon Sep 17 00:00:00 2001 From: Kostas Vilkelis <kostasvilkelis@gmail.com> Date: Mon, 13 May 2024 01:41:23 +0200 Subject: [PATCH] use argspec instead to obtain args --- meanfi/kwant_helper/utils.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/meanfi/kwant_helper/utils.py b/meanfi/kwant_helper/utils.py index baf61a5..7983e4a 100644 --- a/meanfi/kwant_helper/utils.py +++ b/meanfi/kwant_helper/utils.py @@ -1,5 +1,6 @@ from itertools import product from typing import Callable +import inspect import numpy as np from scipy.sparse import coo_array @@ -8,6 +9,7 @@ from kwant.builder import Site import kwant.lattice import kwant.builder + from meanfi.tb.tb import _tb_type @@ -49,7 +51,7 @@ def builder_to_tb( row, col = np.array([*product(tb_idx, tb_idx)]).T if callable(val): - param_keys = val.__code__.co_varnames[1:] + param_keys = inspect.getfullargspec(val).args[1:] try: val = val(site, *[params[key] for key in param_keys]) except KeyError as key: @@ -74,7 +76,7 @@ def builder_to_tb( row, col = np.array([*product(tb_idx1, tb_idx2)]).T if callable(val): - param_keys = val.__code__.co_varnames[2:] + param_keys = inspect.getfullargspec(val).args[2:] try: val = val(site1, site2, *[params[key] for key in param_keys]) except KeyError as key: -- GitLab