Skip to content
Snippets Groups Projects

Use beautifulsoup4 CSS selectors to simplify code and type checking

Merged Antoine Lambert requested to merge anlambert/swh-lister:add-bs4-type-checking into master
  1. Apr 16, 2024
    • Antoine Lambert's avatar
      Use beautifulsoup4 CSS selectors to simplify code and type checking · 41407e0e
      Antoine Lambert authored
      As the types-beautifulsoup4 package gets installed in the swh virtualenv
      as it is a swh-scanner test dependency, some mypy errors were reported
      related to beautifulsoup4 typing.
      
      As the returned type for the find method of bs4 is the following union:
      Tag | NavigableString | None, isinstance calls must be used to ensure
      proper typing which is not great.
      
      So prefer to use the select_one method instead where a simple None check
      must be done to ensure typing is correct as it is returning Optional[Tag].
      In a similar manner, replace use of find_all method by select method.
      
      It also has the advantage to simplify the code.
      41407e0e
Loading