Code Duplication    Length = 20-20 lines in 2 locations

loglan_db/model_db/addons/addon_word_getter.py 1 location

@@ 27-46 (lines=20) @@
24
    event_start_id: db.Column = None
25
    event_end_id: db.Column = None
26
27
    @classmethod
28
    def by_event(
29
            cls, event_id: Union[BaseEvent, int] = None,
30
            add_to: BaseQuery = None) -> BaseQuery:
31
        """Query filtered by specified Event (latest by default)
32
33
        Args:
34
          event_id: Union[BaseEvent, int]: Event object or Event.id (int) (Default value = None)
35
          add_to:
36
        Returns:
37
          BaseQuery
38
39
        """
40
        if not event_id:
41
            event_id = BaseEvent.latest().id
42
43
        event_id = BaseEvent.id if isinstance(event_id, BaseEvent) else int(event_id)
44
45
        request = add_to if add_to else cls.query
46
        return cls._filter_event(event_id, request).order_by(cls.name)
47
48
    @staticmethod
49
    def _filter_event(event_id: Union[BaseEvent, int], add_to: BaseQuery) -> BaseQuery:

loglan_db/model_db/addons/addon_key_getter.py 1 location

@@ 22-41 (lines=20) @@
19
    event_start_id: db.Column = None
20
    event_end_id: db.Column = None
21
22
    @classmethod
23
    def by_event(
24
            cls, event_id: Union[BaseEvent, int] = None,
25
            add_to: BaseQuery = None) -> BaseQuery:
26
        """Query filtered by specified Event (latest by default)
27
28
        Args:
29
          event_id: Union[BaseEvent, int]: Event object or Event.id (int) (Default value = None)
30
          add_to:
31
        Returns:
32
          BaseQuery
33
34
        """
35
        if not event_id:
36
            event_id = BaseEvent.latest().id
37
38
        event_id = BaseEvent.id if isinstance(event_id, BaseEvent) else int(event_id)
39
40
        request = add_to if add_to else cls.query
41
        return cls._filter_event(event_id, request)
42
43
    @classmethod
44
    def _filter_event(cls, event_id: Union[BaseEvent, int], add_to: BaseQuery) -> BaseQuery: