diff --git a/xexe/processes.py b/xexe/processes.py index 6bd47d8..3c7768d 100644 --- a/xexe/processes.py +++ b/xexe/processes.py @@ -1,6 +1,7 @@ import logging import os import pathlib +from itertools import combinations from typing import List, Set, Union from money.currency import Currency @@ -11,11 +12,7 @@ from xexe.currency_pair import CurrencyPair from xexe.exchange_rates import ExchangeRates, add_equal_rates, add_inverse_rates from xexe.rate_fetching import build_rate_fetcher from xexe.rate_writing import build_rate_writer -from xexe.utils import ( - DateRange, - generate_currency_and_dates_combinations, - generate_pairs_and_dates_combinations, -) +from xexe.utils import DateRange, generate_pairs_and_dates_combinations logger = logging.getLogger() @@ -84,14 +81,14 @@ def run_get_rates( process_state = GetRatesProcessState(ignore_warnings=ignore_warnings) if currencies: - currency_and_date_combinations = generate_currency_and_dates_combinations( - date_range=date_range, currencies=currencies - ) + pairs = list(combinations(currencies, 2)) + pairs = [ + CurrencyPair(from_currency=pair[0], to_currency=pair[1]) for pair in pairs + ] - if pairs: - currency_and_date_combinations = generate_pairs_and_dates_combinations( - date_range=date_range, pairs=pairs - ) + currency_and_date_combinations = generate_pairs_and_dates_combinations( + date_range=date_range, pairs=pairs + ) rates = obtain_rates_from_source( rates_source=rates_source,