Skip to content

Commit dbf35c2

Browse files
authored
Merge pull request #779 from Path-of-Modifiers/778-fix-bug-where-unidentified-queries-dont-specify-the-name
778 fix bug where unidentified queries dont specify the name
2 parents 0dc14c2 + b12ef15 commit dbf35c2

File tree

3 files changed

+32
-27
lines changed
  • src
    • backend_api/app/plotting
    • backend_data_retrieval/data_retrieval_app/tests/scripts/create_public_stashes_test_data

3 files changed

+32
-27
lines changed

src/backend_api/app/plotting/plotter.py

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,28 @@ def _init_stmt(
128128

129129
return stmt
130130

131+
def _filter_item_names(
132+
self,
133+
statement: Select,
134+
*,
135+
item_model: type[model_Item | model_UniItem],
136+
query: Q,
137+
) -> Select:
138+
if query.itemSpecifications is not None:
139+
if query.itemSpecifications.name is not None:
140+
if "|" in query.itemSpecifications.name:
141+
name_filter = or_(
142+
*[
143+
item_model.name == name
144+
for name in query.itemSpecifications.name.split("|")
145+
]
146+
)
147+
else:
148+
name_filter = item_model.name == query.itemSpecifications.name
149+
statement = statement.where(name_filter)
150+
151+
return statement
152+
131153
def _filter_base_specs(
132154
self,
133155
statement: Select,
@@ -340,27 +362,6 @@ def _add_wanted_modifiers(
340362

341363
return statement.where(and_(True, *exists_conditions))
342364

343-
def _filter_item_names(
344-
self,
345-
statement: Select,
346-
*,
347-
query: IdentifiedPlotQuery,
348-
) -> Select:
349-
if query.itemSpecifications is not None:
350-
if query.itemSpecifications.name is not None:
351-
if "|" in query.itemSpecifications.name:
352-
name_filter = or_(
353-
*[
354-
model_Item.name == name
355-
for name in query.itemSpecifications.name.split("|")
356-
]
357-
)
358-
else:
359-
name_filter = model_Item.name == query.itemSpecifications.name
360-
statement = statement.where(name_filter)
361-
362-
return statement
363-
364365
def _filter_item_specs(
365366
self, statement: Select, *, item_spec_query: ItemSpecs
366367
) -> Select:
@@ -432,7 +433,9 @@ def _create_plot_statement(self, query: IdentifiedPlotQuery) -> Select:
432433
statement = self._filter_base_specs(
433434
statement, item_model=model_Item, query=query
434435
)
435-
statement = self._filter_item_names(statement, query=query)
436+
statement = self._filter_item_names(
437+
statement, item_model=model_Item, query=query
438+
)
436439
statement = self.filter_item_lvl(statement, item_model=model_Item, query=query)
437440
statement = self._filter_properties(
438441
statement, query=query, start=start, end=end
@@ -642,6 +645,9 @@ def _create_plot_statement(self, query: UnidentifiedPlotQuery) -> Select:
642645
end=end,
643646
query_select_args=q_add_args,
644647
)
648+
statement = self._filter_item_names(
649+
statement, item_model=model_UnidentifiedItem, query=query
650+
)
645651
statement = self._filter_base_specs(
646652
statement, item_model=model_UnidentifiedItem, query=query
647653
)

src/backend_data_retrieval/data_retrieval_app/tests/scripts/create_public_stashes_test_data/config.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from pydantic import computed_field
12
from pydantic_settings import BaseSettings
23

34

@@ -21,14 +22,12 @@ def dispersed_timing_enabled(self) -> bool:
2122
return bool(self.CREATE_DATA_DIFFERENT_TIMING_INTERVAL and self.TIMING_PERIOD)
2223

2324
ITEM_NOTE_CURRENCY_TYPES: list[str] = [
24-
"chaos",
25-
"divine",
2625
"divine",
2726
] # , "divine", "mirror", etc.
2827
MEAN_ITEM_PRICE: int = 200
2928

3029
SOFTCORE_LEAGUES: list[str] = ["Mercenaries", "Phrecia"]
31-
30+
3231
@computed_field # type: ignore[prop-decorator]
3332
@property
3433
def HARDCORE_LEAGUES(self) -> list[str]:

src/backend_data_retrieval/data_retrieval_app/tests/scripts/create_public_stashes_test_data/main.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ def __init__(self) -> None:
3333
)
3434
self.public_stashes_modifier_test_data_creator.create_templates()
3535
self.leagues = [
36-
*script_settings.LEAGUES,
37-
*[f"Hardcore {league}" for league in script_settings.LEAGUES],
36+
*script_settings.SOFTCORE_LEAGUES,
37+
*script_settings.HARDCORE_LEAGUES,
3838
]
3939

4040
def get_test_data(self) -> list[dict[str, Any]]:

0 commit comments

Comments
 (0)