Skip to content

Commit 36bdab6

Browse files
fix: pandas 3.0.0 migration for first_package_finder.py (#4721)
Fixed regressions in `vulnfeeds/tools/debian/debian_converter/first_package_finder.py` caused by the upgrade to pandas 3.0.0. The changes address: 1. `ChainedAssignmentError`: Triggered by `fillna(..., inplace=True)`. 2. `TypeError: len() of unsized object`: Triggered when assigning complex objects (lists/dicts) to a column inferred as string. 3. Added a TODO as requested by the user. --- *PR created automatically by Jules for task [6091018439503875167](https://jules.google.com/task/6091018439503875167) started by @another-rex* --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
1 parent dbce03c commit 36bdab6

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

vulnfeeds/tools/debian/debian_converter/first_package_finder.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,9 @@ def retrieve_codename_to_version() -> pd.DataFrame:
7070
with request.urlopen(DEBIAN_RELEASE_VERSIONS_URL) as csv:
7171
df = pd.read_csv(csv, dtype=str)
7272
# `series` appears to be `codename` but with no caps
73-
df['sources'] = ''
74-
df['version'].fillna(df['series'], inplace=True)
73+
df['sources'] = None
74+
df['sources'] = df['sources'].astype(object)
75+
df['version'] = df['version'].fillna(df['series'])
7576
# Set `release` to `created` if not yet released
7677
df['release'] = df['release'].fillna(df['created'])
7778
codename_to_version = df.set_index('series')
@@ -148,6 +149,8 @@ def get_first_package_version(first_pkg_data: pd.DataFrame, package_name: str,
148149
release_name: str) -> str:
149150
"""Get first package version"""
150151
try:
152+
# TODO: this needs to be unwrapped (e.g. .sources[0][package_name])
153+
# as it's wrapped in a list when inserted into the dataframe.
151154
return first_pkg_data.loc[release_name].sources[package_name]
152155
except KeyError:
153156
# The package is not added when the image is first seen.

0 commit comments

Comments
 (0)