github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/clients/python/scripts/pydantic.sh (about)

     1  #!/bin/bash -eu
     2  
     3  set -o pipefail
     4  
     5  filename=$1
     6  
     7  while IFS= read -r line; do
     8      if [ -z "${line}" ]; then
     9        echo "Nothing to do"
    10        continue 
    11      fi
    12      echo $line
    13      modules=$(echo $line | awk -F 'from pydantic import ' '{print $2}')
    14      newline="try:\n    from pydantic.v1 import $modules\nexcept ImportError:\n    from pydantic import $modules"
    15      
    16      echo "$newline"
    17      
    18      echo "Replacing import statement"
    19      sed -i "s/$line/$newline/g" "$filename"
    20  done <<< "$(sed -n '/^from pydantic import/p' $filename)"