[更新] 修复未获取到组织信息时出现异常的情况
This commit is contained in:
@@ -16,7 +16,7 @@ URL_PUT="${URL_API_PKG}"
|
||||
UPFILE="空"
|
||||
|
||||
# 项目版本
|
||||
GUPKG_VERSION="v1.0.0"
|
||||
GUPKG_VERSION="v1.1.0"
|
||||
# 配置文件路径
|
||||
CONFIG_PATH="$HOME/.config/GUPKG"
|
||||
# 组合一个常用的crul账户配置
|
||||
@@ -125,7 +125,7 @@ web_repuest() {
|
||||
|
||||
# 判断下403的情况, 如果是少开权限了就自动跳过
|
||||
if [[ "$WEB_CODE" -eq 403 ]]; then
|
||||
access_urge="建议打开 用户[user] 和 仓库[repository] 的可读[read]权限, 获取更好的使用体验"
|
||||
access_urge="建议打开 用户[user] 和 组织[organization] 的可读[read]权限, 获取更好的使用体验"
|
||||
Show 3 "${access_urge}"
|
||||
# 判断是否有最基本的包读写权限
|
||||
if [[ ${WEB_CACHE} =~ write:package ]]; then
|
||||
@@ -139,10 +139,7 @@ web_repuest() {
|
||||
|
||||
# 从web缓存获取值
|
||||
get_json() {
|
||||
get_date="$WEB_CACHE" | jq -r ".$1" 2>/dev/null
|
||||
if [ ! "$clean_input" = "null" ]; then
|
||||
echo $get_date
|
||||
fi
|
||||
echo "$WEB_CACHE" | jq -r ".$1" 2>/dev/null
|
||||
}
|
||||
|
||||
# 上传链接
|
||||
@@ -167,11 +164,9 @@ user_check() {
|
||||
CONFIG_UP="-u ${GUPKG_USER}:${GUPKG_PASSWD}"
|
||||
web_repuest api user "${CONFIG_UP} -s"
|
||||
if [[ "$WEB_CODE" -eq 200 ]]; then
|
||||
# 如果用户没有昵称就用登录名
|
||||
user_name=$(get_json "full_name")
|
||||
user_name=${user_name:-${GUPKG_USER}}
|
||||
user_email=$(get_json "email")
|
||||
Show 0 "用户测试成功(${user_name}${user_email:+:$user_email}), 配件文件: ${CONFIG_FILE}"
|
||||
Show 0 "用户测试成功(${user_name:=${GUPKG_USER}}${user_email:+:$user_email}), 配件文件: ${CONFIG_FILE}"
|
||||
else
|
||||
Show 3 "未找到相关用户($WEB_CODE)"
|
||||
read -rp "是否重新初始化配置?[y/n]: " todo
|
||||
@@ -220,26 +215,31 @@ get_user_orgs() {
|
||||
web_repuest api user/orgs "${CONFIG_UP} -s"
|
||||
|
||||
# 提取 name 并存入数组
|
||||
names=($(echo "${WEB_CACHE}" | jq -r '.[].name'))
|
||||
names=($(echo "${WEB_CACHE}" | jq -r '.[].name' 2>/dev/null) )
|
||||
|
||||
Show 0 "解析到您拥有以下组织, 请选择一个组织/个人仓库上传"
|
||||
for i in "${!names[@]}"; do
|
||||
Show 4 "$((i + 1)). ${names[$i]}"
|
||||
done
|
||||
# 提示用户输入数字
|
||||
read -p "选择您要上传的组织 (1-${#names[@]}), 输入0则上传到自有源中: " choice
|
||||
|
||||
# 检查用户输入是否有效
|
||||
if [[ "$choice" =~ ^[0-9]+$ ]] && [ "$choice" -ge 1 ] && [ "$choice" -le "${#names[@]}" ]; then
|
||||
# 输出用户选择的内容
|
||||
GUPKG_OWNER=${names[$((choice - 1))]}
|
||||
if [ ${#names[@]} -eq 0 ]; then
|
||||
Show 0 "为检测到您的组织,请手动输入"
|
||||
read -p "为检测到您的组织,请手动输入(默认:${GUPKG_USER})" GUPKG_OWNER
|
||||
${GUPKG_OWNER:=${GUPKG_USER}}
|
||||
else
|
||||
GUPKG_OWNER=${GUPKG_USER}
|
||||
Show 0 "解析到您拥有以下组织, 请选择一个组织/个人仓库上传"
|
||||
for i in "${!names[@]}"; do
|
||||
Show 4 "$((i + 1)). ${names[$i]}"
|
||||
done
|
||||
# 提示用户输入数字
|
||||
read -p "选择您要上传的组织 (1-${#names[@]}), 输入0则上传到自有源中: " choice
|
||||
|
||||
# 检查用户输入是否有效
|
||||
if [[ "$choice" =~ ^[0-9]+$ ]] && [ "$choice" -ge 1 ] && [ "$choice" -le "${#names[@]}" ]; then
|
||||
# 输出用户选择的内容
|
||||
GUPKG_OWNER=${names[$((choice - 1))]}
|
||||
else
|
||||
GUPKG_OWNER=${GUPKG_USER}
|
||||
fi
|
||||
|
||||
Show 0 "已为您选择 $GUPKG_OWNER"
|
||||
fi
|
||||
|
||||
Show 0 "已为您选择 $GUPKG_OWNER"
|
||||
URL_PUT=${URL_PUT}/$GUPKG_OWNER
|
||||
#echo "${WEB_CODE} : ${WEB_CACHE}"
|
||||
}
|
||||
|
||||
# 接收一个文件后缀用于判断是什么格式的
|
||||
|
||||
10
README.md
10
README.md
@@ -33,14 +33,14 @@ Git仓库上传工具(Git Upload Package)
|
||||
令牌获取方式:
|
||||
1. 在网页中登陆
|
||||
2. 进入[`用户设置` > `应用`](https://git.whlug.cn/user/settings/applications) -> https://git.whlug.cn/user/settings/applications
|
||||
3. 输入令牌名称, 根据需求访问权限范围, 点开选择权限, 必须打开`包(package)`的`读写(write)`权限, 推荐打开`存储库(repository)`和`用户(user)`的`可读(read)`权限以便获取更好的使用体验
|
||||
3. 输入令牌名称, 根据需求访问权限范围, 点开选择权限, 必须打开`包(package)`的`读写(write)`权限, 推荐打开`组织(organization)`和`用户(user)`的`可读(read)`权限以便获取更好的使用体验
|
||||
|
||||
> 推荐权限选项:
|
||||
> 仓库和组织访问权限: 全部(公开、私有和受限)
|
||||
> 权限:
|
||||
> write:package
|
||||
> read:repository
|
||||
> read:user
|
||||
> 权限:
|
||||
> * read:organization
|
||||
> * write:package
|
||||
> * read:repository
|
||||
|
||||
|
||||
## 开发说明
|
||||
|
||||
Reference in New Issue
Block a user