Skip to content

Commit a1854fa

Browse files
committed
trying to filter away files starting with the same
1 parent b6e9f6f commit a1854fa

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

src/fagfunksjoner/paths/versions.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,12 @@ def get_latest_fileversions(glob_list_path: list[str] | str) -> list[str]:
4949

5050
for unique in uniques:
5151
# Collect all entries that match the current unique base name
52-
entries = [x for x in infiles
53-
if x.startswith(unique + "_v") and
54-
x.rsplit(".", 1)[0].rsplit("_v", 1)[-1].isdigit()] # Characters after match is only digits
52+
entries = [
53+
x
54+
for x in infiles
55+
if x.startswith(unique + "_v")
56+
and x.rsplit(".", 1)[0][len(unique + "_v") :].isdigit()
57+
] # Characters after match is only digits
5558
unique_sorter = []
5659

5760
for entry in entries:
@@ -67,6 +70,7 @@ def get_latest_fileversions(glob_list_path: list[str] | str) -> list[str]:
6770
# Sort the collected entries by version number and get the latest one
6871
if unique_sorter:
6972
latest_entry = max(unique_sorter, key=lambda x: x[0])[1]
73+
logger.info(f"Choosing: {latest_entry.rsplit('/',1)[-1]}")
7074
result.append(latest_entry)
7175

7276
return result
@@ -96,7 +100,9 @@ def latest_version_number(filepath: str) -> int:
96100
else:
97101
files = glob.glob(glob_pattern)
98102
if files:
99-
logger.info(f"Found {len(files)} files: {files}")
103+
logger.info(
104+
f"Found {len(files)} files: {[x.rsplit('/', 1)[-1] for x in files]}"
105+
)
100106
latest_file = get_latest_fileversions(files)[-1]
101107
else:
102108
logger.warning(
@@ -109,7 +115,7 @@ def latest_version_number(filepath: str) -> int:
109115
latest_version_int = int("".join([c for c in latest_version if c.isdigit()]))
110116

111117
if latest_version_int - int(old_version[1:]) > 0:
112-
logger.warning(
118+
logger.info(
113119
f"""You specified a path with version {old_version}, but we found a version {latest_version_int}.
114120
Are you sure you are working from the latest version?"""
115121
)

tests/paths/test_versions.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ def test_several_startswith():
8585
"gs://bucket/folder/nevner_verifisert_v2.parquet",
8686
"gs://bucket/folder/nevner_v3.parquet",
8787
]
88-
expected = ["gs://bucket/folder/nevner_verifisert_v12.parquet",
89-
"gs://bucket/folder/nevner_v3.parquet",]
90-
assert sorted(get_latest_fileversions(inputs)) == sorted(expected)
88+
expected = [
89+
"gs://bucket/folder/nevner_verifisert_v12.parquet",
90+
"gs://bucket/folder/nevner_v3.parquet",
91+
]
92+
assert sorted(get_latest_fileversions(inputs)) == sorted(expected)

0 commit comments

Comments
 (0)