def __init__( self, mw: AnkiQt, deck_id: DeckID = DeckID(0), search: Optional[str] = None, search_2: Optional[str] = None, ) -> None: """If 'deck_id' is non-zero, load and modify its settings. Otherwise, build a new deck and derive settings from the current deck. If search or search_2 are provided, they will be used as the default search text. """ QDialog.__init__(self, mw) self.mw = mw self.col = self.mw.col self._desired_search_1 = search self._desired_search_2 = search_2 self._initial_dialog_setup() # set on successful query self.deck: FilteredDeckForUpdate mw.query_op( lambda: mw.col.sched.get_or_create_filtered_deck(deck_id=deck_id), success=self.load_deck_and_show, failure=self.on_fetch_error, )
def __init__(self, parent: QWidget, *, mw: AnkiQt, note_ids: Sequence[int]) -> None: super().__init__(parent) self.mw = mw self.note_ids = note_ids self.field_names: List[str] = [] # fetch field names and then show mw.query_op( lambda: mw.col.field_names_for_note_ids(note_ids), success=self._show, )