25
25
logger = LoggerAddTag (my_logger = get_extension_logger (name = __name__ ), prefix = __title__ )
26
26
27
27
28
- def _create_alliance (alliance_ids : Iterable [int ] = None ) -> None :
28
+ def _create_alliance (alliance_ids : Iterable [int ]) -> None :
29
29
"""
30
30
Bulk creation of EveAllianceInfo objects
31
31
@@ -36,31 +36,28 @@ def _create_alliance(alliance_ids: Iterable[int] = None) -> None:
36
36
"""
37
37
38
38
alliance_ids = set (alliance_ids )
39
-
40
39
existing_alliance_ids = set (
41
40
EveAllianceInfo .objects .filter (alliance_id__in = alliance_ids ).values_list (
42
41
"alliance_id" , flat = True
43
42
)
44
43
)
45
44
46
45
alliances_to_fetch = alliance_ids - existing_alliance_ids
47
- count_alliances_to_fetch = len (alliances_to_fetch )
48
46
49
47
if alliances_to_fetch :
50
48
logger .debug (
51
- f"{ count_alliances_to_fetch } EveAllianceInfo object(s) need to be created …"
49
+ f"{ len ( alliances_to_fetch ) } EveAllianceInfo object(s) need to be created …"
52
50
)
53
51
54
- for loop_count , alliance_id in enumerate (alliances_to_fetch ):
52
+ for loop_count , alliance_id in enumerate (alliances_to_fetch , start = 1 ):
55
53
alliance = EveAllianceInfo .objects .create_alliance (alliance_id = alliance_id )
56
-
57
54
logger .debug (
58
- f"({ loop_count + 1 } /{ count_alliances_to_fetch } ) "
55
+ f"({ loop_count } /{ len ( alliances_to_fetch ) } ) "
59
56
f"EveAllianceInfo object created for: { alliance .alliance_name } "
60
57
)
61
58
62
59
63
- def _create_corporation (corporation_ids : Iterable [int ] = None ) -> None :
60
+ def _create_corporation (corporation_ids : Iterable [int ]) -> None :
64
61
"""
65
62
Bulk creation of EveCorporationInfo objects
66
63
@@ -71,34 +68,32 @@ def _create_corporation(corporation_ids: Iterable[int] = None) -> None:
71
68
"""
72
69
73
70
corporation_ids = set (corporation_ids )
74
-
75
71
existing_corporation_ids = set (
76
72
EveCorporationInfo .objects .filter (
77
73
corporation_id__in = corporation_ids
78
74
).values_list ("corporation_id" , flat = True )
79
75
)
80
76
81
77
corporations_to_fetch = corporation_ids - existing_corporation_ids
82
- count_corporations_to_fetch = len (corporations_to_fetch )
83
78
84
79
if corporations_to_fetch :
85
80
logger .debug (
86
- f"{ count_corporations_to_fetch } EveCorporationInfo object(s) need to be created …" # pylint: disable=line-too-long
81
+ f"{ len ( corporations_to_fetch ) } EveCorporationInfo object(s) need to be created …"
87
82
)
88
83
89
- for loop_count , corporation_id in enumerate (corporations_to_fetch ):
84
+ for loop_count , corporation_id in enumerate (corporations_to_fetch , start = 1 ):
90
85
corporation = EveCorporationInfo .objects .create_corporation (
91
86
corp_id = corporation_id
92
87
)
93
88
94
89
logger .debug (
95
- f"({ loop_count + 1 } /{ count_corporations_to_fetch } ) "
90
+ f"({ loop_count } /{ len ( corporations_to_fetch ) } ) "
96
91
f"EveCorporationInfo object created for: { corporation .corporation_name } "
97
92
)
98
93
99
94
100
95
def _create_character (
101
- character_ids : Iterable [int ] = None , with_affiliation : bool = True
96
+ character_ids : Iterable [int ], with_affiliation : bool = True
102
97
) -> None :
103
98
"""
104
99
Bulk creation of EveCharacter objects
@@ -112,35 +107,30 @@ def _create_character(
112
107
"""
113
108
114
109
character_ids = set (character_ids )
110
+ tmp_affiliation_ids = {"alliance" : set (), "corporation" : set ()}
115
111
116
- count_characters_to_fetch = len (character_ids )
117
-
118
- logger .debug (
119
- f"{ count_characters_to_fetch } EveCharacter object(s) need to be created …"
120
- )
121
-
122
- tmp_character_ids = {"corporation" : [], "alliance" : []}
112
+ logger .info (f"{ len (character_ids )} EveCharacter object(s) need to be created …" )
123
113
124
- for loop_count , character_id in enumerate (character_ids ):
114
+ for loop_count , character_id in enumerate (character_ids , start = 1 ):
125
115
# Create character
126
116
character = EveCharacter .objects .create_character (character_id = character_id )
127
117
128
118
logger .debug (
129
- f"({ loop_count + 1 } /{ count_characters_to_fetch } ) "
119
+ f"({ loop_count } /{ len ( character_ids ) } ) "
130
120
f"EveCharacter object created for: { character .character_name } "
131
121
)
132
122
133
- if character .alliance_id is not None :
134
- tmp_character_ids [ "alliance" ]. append ( character . alliance_id )
135
- else :
136
- tmp_character_ids [ "corporation" ]. append ( character . corporation_id )
123
+ affiliation_key = "alliance" if character .alliance_id else "corporation"
124
+ tmp_affiliation_ids [ affiliation_key ]. add (
125
+ character . alliance_id or character . corporation_id
126
+ )
137
127
138
- if with_affiliation is True :
139
- if len ( tmp_character_ids ["alliance" ]) > 0 :
140
- _create_alliance (tmp_character_ids ["alliance" ])
128
+ if with_affiliation :
129
+ if tmp_affiliation_ids ["alliance" ]:
130
+ _create_alliance (tmp_affiliation_ids ["alliance" ])
141
131
142
- if len ( tmp_character_ids ["corporation" ]) > 0 :
143
- _create_corporation (tmp_character_ids ["corporation" ])
132
+ if tmp_affiliation_ids ["corporation" ]:
133
+ _create_corporation (tmp_affiliation_ids ["corporation" ])
144
134
145
135
146
136
def get_or_create_character (
@@ -157,7 +147,7 @@ def get_or_create_character(
157
147
:rtype:
158
148
"""
159
149
160
- character_ids = set (character_ids )
150
+ character_ids = set (character_ids or [] )
161
151
162
152
logger .debug (
163
153
msg = f"Getting information for { len (character_ids )} character(s) from AA …"
@@ -174,6 +164,4 @@ def get_or_create_character(
174
164
if character_ids_to_fetch :
175
165
_create_character (character_ids = character_ids_to_fetch , with_affiliation = True )
176
166
177
- characters = EveCharacter .objects .filter (character_id__in = character_ids )
178
-
179
- return characters
167
+ return EveCharacter .objects .filter (character_id__in = character_ids )
0 commit comments