Guest User

Untitled

a guest
Dec 5th, 2021
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.59 KB | None | 0 0
  1. #!/bin/env bash
  2.  
  3. # usage: piplatest packagename
  4.  
  5. compare_versions () {
  6.     BBlack='\e[1;30m'       # Black
  7.     BRed='\e[1;31m'         # Red
  8.     BGreen='\e[1;32m'       # Green
  9.     BYellow='\e[1;33m'      # Yellow
  10.     BBlue='\e[1;34m'        # Blue
  11.     BPurple='\e[1;35m'      # Purple
  12.     BCyan='\e[1;36m'        # Cyan
  13.     BWhite='\e[1;37m'       # White
  14.  
  15.     ESC='\e[0m'
  16.  
  17.     package="$1"
  18.     piplist="$2"
  19.     url="https://pypi.org/project/$package/"
  20.     locate_version_element='<div class="package-header__left">'
  21.  
  22.     #local_package_data=$(pip3 show "$package")
  23.  
  24.     version="$(curl -s "$url" | grep  -e "$locate_version_element" -A 2 | grep "$package" | sed "s/ *$package //")"
  25.  
  26.    
  27.     local_version="$(echo "$piplist" | grep "^$package " | sed "s/$package *//")"
  28.  
  29.     if [ "$version" != "$local_version" ]; then
  30.         version_color="$BRed"
  31.     else
  32.         version_color="$BGreen"
  33.     fi
  34.    
  35.     local_output="$(printf "%slocal%s=%s%s\t" "$BCyan" "$BYellow" "$version_color" "$local_version")"
  36.     pypi_output="$(printf "%spypi%s=%s%s\t" "$BCyan" "$BYellow" "$version_color" "$version")"
  37.     package_output="$(printf "%s%s\n" "$BPurple" "$package")"
  38.  
  39.     echo -e "$local_output\t$pypi_output\t$package_output"
  40.  
  41.  
  42.  
  43.     #"$BCyan""pypi"$BYellow"=""$version_color""$version""\t"\
  44.     #"$BPurple""$package"
  45.  
  46.     #echo "$BCyan""local"$BYellow"=""$version_color""$local_version""\t" \
  47.     #"$BCyan""pypi"$BYellow"=""$version_color""$version""\t"\
  48.     #"$BPurple""$package"
  49. }
  50.  
  51. piplist="$(pip list)"
  52.  
  53. for package in "$@"; do
  54.     compare_versions "$package" "$piplist"
  55. done
  56.  
  57.  
Advertisement
Add Comment
Please, Sign In to add comment