From 209802c881630897015e288d8eaf3998b49bf689 Mon Sep 17 00:00:00 2001 From: evandrocoan Date: Wed, 24 Nov 2021 20:45:04 -0300 Subject: [PATCH] Fix issue 142 https://github.com/Stvad/CrowdAnki/issues/142 Lots of deprecated items when starting anki with crowdanki --- representation/deck.py | 4 +++- representation/deck_config.py | 4 +++- representation/deck_initializer.py | 6 ++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/representation/deck.py b/representation/deck.py index 1a1764b..e3e8bc2 100644 --- a/representation/deck.py +++ b/representation/deck.py @@ -103,7 +103,9 @@ def serialization_dict(self): def get_media_file_list(self, data_from_models=True, include_children=True): media = set() for note in self.notes: - for media_file in self.collection.media.filesInStr(note.anki_object.mid, note.anki_object.joinedFields()): + anki_object = note.anki_object + join_fields = anki_object.joined_fields if hasattr(anki_object, 'joined_fields') else anki_object.joinedFields + for media_file in self.collection.media.filesInStr(anki_object.mid, join_fields()): media.add(media_file) if include_children: diff --git a/representation/deck_config.py b/representation/deck_config.py index 396a3b7..48886c4 100644 --- a/representation/deck_config.py +++ b/representation/deck_config.py @@ -9,7 +9,9 @@ def __init__(self, anki_deck_config=None): @classmethod def from_collection(cls, collection, deck_config_id): - anki_dict = collection.decks.getConf(deck_config_id) + decks = collection.decks + get_conf = decks.get_conf if hasattr(decks, 'get_conf') else decks.getConf + anki_dict = get_conf(deck_config_id) deck_config = DeckConfig(anki_dict) deck_config._update_fields() diff --git a/representation/deck_initializer.py b/representation/deck_initializer.py index 8aa908c..ab38783 100644 --- a/representation/deck_initializer.py +++ b/representation/deck_initializer.py @@ -7,7 +7,9 @@ def from_collection(collection, name, deck_metadata=None, is_child=False) -> Deck: - anki_dict = collection.decks.byName(name) + decks = collection.decks + by_name = decks.by_name if hasattr(decks, 'by_name') else decks.byName + anki_dict = by_name(name) if AnkiDeck(anki_dict).is_dynamic: return None @@ -20,7 +22,7 @@ def from_collection(collection, name, deck_metadata=None, is_child=False) -> Dec deck.notes = Note.get_notes_from_collection(collection, deck.anki_dict["id"], deck.metadata.models) - direct_children = [child_name for child_name, _ in collection.decks.children(deck.anki_dict["id"]) + direct_children = [child_name for child_name, _ in decks.children(deck.anki_dict["id"]) if Deck.DECK_NAME_DELIMITER not in child_name[len(name) + len(Deck.DECK_NAME_DELIMITER):]]