Files
pip-install/pip-install.sh
2022-05-29 10:09:54 +03:00

62 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
print_help() {
echo -e
echo -e "For DOWNLOAD"
echo -e "$0 <package>"
echo -e
echo -e "For UPLOAD"
echo -e "$0 <nexus_host> <repository>"
echo -e "Like this:"
echo -e "<nexus_host>/service/rest/v1/components?repository=<repository>"
echo -e
}
search_package() {
local package=$1
curl https://pypi.org/project/$package/\#files -s | grep -Eo https://files\.+$package\.+whl > urls.txt
}
download_package() {
wget -nc -i urls.txt
}
# insert nexus_host, repository and package to upload
upload_package() {
local nexus_host=$1
local repository=$2
local package=$3
curl -X POST "$nexus_host/service/rest/v1/components?repository=$repository" \
-H "accept: application/json" \
-H "Content-Type: multipart/form-data" \
-F "pypi.asset=@$package" -i
}
upload_packages() {
local packages=$(ls *.whl *.tar.gz)
for package in $packages; do
upload_package $@ $package
rm $package
done
}
remove_all_packages() {
rm *.whl *.tar.gz urls.txt
}
main() {
if [[ $# -eq 1 ]]; then
search_package $@
download_package
elif [[ $# -eq 2 ]]; then
upload_packages $@
remove_all_packages
else
print_help
fi
}
main $@