|
1 | 1 | from dataclasses import dataclass |
2 | 2 | from enum import Enum |
3 | | -from typing import Any, List, Set, Tuple, Union, TypeVar, Iterable |
4 | | -from unittest.mock import Base |
| 3 | +from typing import Any, Iterable, List, Set, Tuple, TypeVar |
5 | 4 |
|
6 | 5 | from feast.base_feature_view import BaseFeatureView |
7 | 6 | from feast.entity import Entity |
8 | 7 | from feast.feature_service import FeatureService |
9 | 8 | from feast.feature_table import FeatureTable |
10 | | -from feast.feature_view import FeatureView |
11 | | -from feast.on_demand_feature_view import OnDemandFeatureView |
12 | 9 | from feast.protos.feast.core.Entity_pb2 import Entity as EntityProto |
13 | 10 | from feast.protos.feast.core.FeatureView_pb2 import FeatureView as FeatureViewProto |
14 | | -from feast.request_feature_view import RequestFeatureView |
15 | 11 |
|
16 | 12 |
|
17 | 13 | @dataclass |
@@ -48,41 +44,33 @@ def add_fco_diff(self, fco_diff: FcoDiff): |
48 | 44 | self.fco_diffs.append(fco_diff) |
49 | 45 |
|
50 | 46 |
|
51 | | -T = TypeVar('T', Entity, BaseFeatureView, FeatureService, FeatureTable) |
| 47 | +T = TypeVar("T", Entity, BaseFeatureView, FeatureService, FeatureTable) |
52 | 48 |
|
53 | 49 |
|
54 | 50 | def tag_objects_for_keep_delete_add( |
55 | 51 | existing_objs: Iterable[T], desired_objs: Iterable[T] |
56 | | -) -> Tuple[Iterable[T], Iterable[T], Iterable[T]]: |
| 52 | +) -> Tuple[Set[T], Set[T], Set[T]]: |
57 | 53 | existing_obj_names = {e.name for e in existing_objs} |
58 | 54 | desired_obj_names = {e.name for e in desired_objs} |
59 | 55 |
|
60 | | - objs_to_add = { |
61 | | - e for e in desired_objs if e.name not in existing_obj_names |
62 | | - } |
| 56 | + objs_to_add = {e for e in desired_objs if e.name not in existing_obj_names} |
63 | 57 | objs_to_keep = {e for e in desired_objs if e.name in existing_obj_names} |
64 | | - objs_to_delete = { |
65 | | - e for e in existing_objs if e.name not in desired_obj_names |
66 | | - } |
| 58 | + objs_to_delete = {e for e in existing_objs if e.name not in desired_obj_names} |
67 | 59 |
|
68 | 60 | return objs_to_keep, objs_to_delete, objs_to_add |
69 | 61 |
|
70 | 62 |
|
71 | | -U = TypeVar('U', EntityProto, FeatureViewProto) |
| 63 | +U = TypeVar("U", EntityProto, FeatureViewProto) |
72 | 64 |
|
73 | 65 |
|
74 | 66 | def tag_proto_objects_for_keep_delete_add( |
75 | | - existing_objs: Iterable[U], desired_objs: Iterable[U] |
| 67 | + existing_objs: Iterable[U], desired_objs: Iterable[U] |
76 | 68 | ) -> Tuple[Iterable[U], Iterable[U], Iterable[U]]: |
77 | 69 | existing_obj_names = {e.spec.name for e in existing_objs} |
78 | 70 | desired_obj_names = {e.spec.name for e in desired_objs} |
79 | 71 |
|
80 | | - objs_to_add = [ |
81 | | - e for e in desired_objs if e.spec.name not in existing_obj_names |
82 | | - ] |
| 72 | + objs_to_add = [e for e in desired_objs if e.spec.name not in existing_obj_names] |
83 | 73 | objs_to_keep = [e for e in desired_objs if e.spec.name in existing_obj_names] |
84 | | - objs_to_delete = [ |
85 | | - e for e in existing_objs if e.spec.name not in desired_obj_names |
86 | | - ] |
| 74 | + objs_to_delete = [e for e in existing_objs if e.spec.name not in desired_obj_names] |
87 | 75 |
|
88 | 76 | return objs_to_keep, objs_to_delete, objs_to_add |
0 commit comments