Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0ebff871 authored by Markus Heiser's avatar Markus Heiser Committed by Markus Heiser
Browse files

[fix] update_currencies.py - AttributeError: 'str' object has no attribute 'insert'



Replace lists with one item by the item, not before last currency has been
added.  In this traceback 'MXN' is added to 'pesos' while pesos is no longer a
list as the optimization was carried out too early.

    $ ./local/py3/bin/python searxng_extra/update/update_currencies.py
    Traceback (most recent call last):
      File "searxng_extra/update/update_currencies.py", line 164, in <module>
        main()
      File "searxng_extra/update/update_currencies.py", line 157, in main
        add_currency_name(db, "pesos", 'MXN')
      File "searxng_extra/update/update_currencies.py", line 89, in add_currency_name
        iso4217_set.insert(0, iso4217)
      AttributeError: 'str' object has no attribute 'insert'

Signed-off-by: default avatarMarkus Heiser <markus.heiser@darmarit.de>
parent efea9625
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -131,13 +131,6 @@ def fetch_db():
        if 'unit' in r:
            add_currency_name(db, r['unit']['value'], iso4217, normalize_name=False)

    # reduce memory usage:
    # replace lists with one item by the item.
    # see searx.search.processors.online_currency.name_to_iso4217
    for name in db['names']:
        if len(db['names'][name]) == 1:
            db['names'][name] = db['names'][name][0]

    return db


@@ -146,8 +139,9 @@ def get_filename():


def main():
    #

    db = fetch_db()

    # static
    add_currency_name(db, "euro", 'EUR')
    add_currency_name(db, "euros", 'EUR')
@@ -156,6 +150,13 @@ def main():
    add_currency_name(db, "peso", 'MXN')
    add_currency_name(db, "pesos", 'MXN')

    # reduce memory usage:
    # replace lists with one item by the item.  see
    # searx.search.processors.online_currency.name_to_iso4217
    for name in db['names']:
        if len(db['names'][name]) == 1:
            db['names'][name] = db['names'][name][0]

    with open(get_filename(), 'w', encoding='utf8') as f:
        json.dump(db, f, ensure_ascii=False, indent=4)