Skip to content
Snippets Groups Projects
Commit f389eb3a authored by Piotr Sowinski's avatar Piotr Sowinski
Browse files

Merge branch 'feature-NXCALS-7605-fundamental-varible-enhancements' into 'develop'

Resolve NXCALS-7605 "Feature  fundamental varible enhancements"

Closes NXCALS-7605

See merge request !1970
parents 816b0526 0d107b5f
No related branches found
No related tags found
1 merge request!1970Resolve NXCALS-7605 "Feature fundamental varible enhancements"
...@@ -405,11 +405,13 @@ class TestFundamentals: ...@@ -405,11 +405,13 @@ class TestFundamentals:
result = ldb.getFundamentals( result = ldb.getFundamentals(
START_TIME, END_TIME, f"ACC_{RANDOM_SUFFIX}:CYCLE%:USER%" START_TIME, END_TIME, f"ACC_{RANDOM_SUFFIX}:CYCLE%:USER%"
) )
res_len = INTERVALS_NUMBER * int((RECORDS_NUMBER + 1) / 2) unique_values_set = set(result)
res_len = int((RECORDS_NUMBER + 1) / 2)
assert res_len == len(result) assert res_len == len(result)
assert f"ACC_{RANDOM_SUFFIX}:CYCLE0:USER0" in [ assert f"ACC_{RANDOM_SUFFIX}:CYCLE0:USER0" in [
fundamental.name for fundamental in result fundamental.name for fundamental in result
] ]
assert len(result) == len(unique_values_set)
def test_search_fundamental(self, ldb: LoggingDB) -> None: def test_search_fundamental(self, ldb: LoggingDB) -> None:
result = ldb.searchFundamental( result = ldb.searchFundamental(
......
...@@ -27,6 +27,9 @@ class Fundamentals: ...@@ -27,6 +27,9 @@ class Fundamentals:
""" """
LSA_CYCLE = "LSA_CYCLE"
USER = "USER"
def __init__( def __init__(
self, self,
fundamental_pattern: str, fundamental_pattern: str,
...@@ -144,10 +147,13 @@ class FundamentalVariable: ...@@ -144,10 +147,13 @@ class FundamentalVariable:
""" """
return "CMW" return "CMW"
def __str__(self) -> str:
return self.name
def _get_fundamental_variable_from(row: Row, acc: str) -> FundamentalVariable: def _get_fundamental_variable_from(row: Row, acc: str) -> FundamentalVariable:
cycle = row["LSA_CYCLE"] cycle = row[Fundamentals.LSA_CYCLE]
user = row["USER"] user = row[Fundamentals.USER]
return FundamentalVariable(f"{acc}:{cycle}:{user}") return FundamentalVariable(f"{acc}:{cycle}:{user}")
...@@ -173,7 +179,12 @@ class FundamentalsManager: ...@@ -173,7 +179,12 @@ class FundamentalsManager:
self, t1: PyTimberTimeType, t2: PyTimberTimeType, pattern: FundamentalsType self, t1: PyTimberTimeType, t2: PyTimberTimeType, pattern: FundamentalsType
) -> List[FundamentalVariable]: ) -> List[FundamentalVariable]:
fund = _convert_to_fundamentals(pattern) fund = _convert_to_fundamentals(pattern)
ds = self.get_fundamentals_ds(t1, t2, fund) ds = (
self.get_fundamentals_ds(t1, t2, fund)
.select(Fundamentals.LSA_CYCLE, Fundamentals.USER)
.distinct()
)
return [_get_fundamental_variable_from(row, fund.acc) for row in ds.collect()] return [_get_fundamental_variable_from(row, fund.acc) for row in ds.collect()]
def get_fundamentals_ds( def get_fundamentals_ds(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment