Skip to content

Commit 117340e

Browse files
committed
optimized package.sh
1 parent d02f523 commit 117340e

File tree

2 files changed

+57
-93
lines changed

2 files changed

+57
-93
lines changed

src/package.sh

Lines changed: 55 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -17,70 +17,37 @@ source "${Dir}"/os.sh
1717
# source os.sh
1818
# source ask.sh
1919

20-
# pkg.sizeDL(pkg) -> str
21-
# Used to get dl size of a package.
20+
# pkg.size(dnload~install,package) -> int
21+
# Gives you needed size of package.
2222
# Args:
23-
# pkg (str) > takes package as arg. (eg: python, nodejs)
23+
# dnload (str) > dnload to get file size.
24+
# install (str) > install to get package installed size.
25+
# package (str) > takes package (eg: python,nodejs).
2426
# Returns:
25-
# Gives you file size in MB. (eg: 30 MB)
26-
pkg.sizeDL(){
27-
# assigning database variable.
28-
local SizeDB="$(apt show "${1}" 2> /dev/null | grep Download-Size:)";
29-
# assigning size variable.
30-
local Size="$(echo "${SizeDB}" | awk '{print $2}')";
31-
# assigning SizeUnit variable.
32-
local SizeUnit="$(echo "${SizeDB}" | awk '{print $3}')";
33-
# checking unit of package.
34-
if [[ "${SizeUnit}" == "kB" ]]; then
35-
# converting decimals to integers.
36-
local Size="${Size%%.*}";
37-
# gives size in MB.
38-
echo "$(( Size/1024 )) MB";
39-
elif [[ "${SizeUnit}" == "B" ]]; then
40-
# converting decimals to integers.
41-
local Size="${Size%%.*}";
42-
# gives size in MB.
43-
echo "$(( Size/1048576 )) MB";
44-
else
45-
# converting decimals to integers.
46-
local Size="${Size%%.*}"
47-
# gives already MB packages size.
48-
echo "${Size} ${SizeUnit}";
27+
# size (int) > Gives you size in MBs.
28+
# Usage:
29+
# pkg.size(dnload,package) > Gives you package file size.
30+
# pkg.size(install,package) > Gives you package installed size.
31+
pkg.size(){
32+
# checking args given or not.
33+
if [[ ! ${#} -eq 2 ]]; then
34+
echo "error: 'missing args'";
35+
return 1;
4936
fi
50-
# return function.
51-
return;
52-
}
53-
54-
# pkg.sizeIN(pkg) -> str
55-
# Used to get in size of a package.
56-
# Args:
57-
# pkg (str) > takes package as arg. (eg: python, nodejs)
58-
# Returns:
59-
# Gives you file size in MB. (eg: 30 MB)
60-
pkg.sizeIN(){
61-
# assigning database variable.
62-
local SizeDB="$(apt show "${1}" 2> /dev/null | grep Installed-Size:)";
63-
# assigning size variable.
64-
local Size="$(echo "${SizeDB}" | awk '{print $2}')";
65-
# assigning SizeUnit variable.
66-
local SizeUnit="$(echo "${SizeDB}" | awk '{print $3}')";
37+
case "${1}" in
38+
'dnload') local SizeVar="$(apt show "${2}" 2> /dev/null | grep 'Download-Size:')";;
39+
'install') local SizeVar="$(apt show "${2}" 2> /dev/null | grep 'Installed-Size:')";;
40+
esac
41+
local Size="$(echo "${SizeVar}" | awk '{print $2}')";
42+
local SizeUnit="$(echo "${SizeVar}" | awk '{print $3}')";
43+
# converting decimals to integers.
44+
local Size="${Size%%.*}";
6745
# checking unit of package.
68-
if [[ "${SizeUnit}" == "kB" ]]; then
69-
# converting decimals to integers.
70-
local Size="${Size%%.*}";
71-
# gives size in kB.
72-
echo "$(( Size/1048576 )) MB";
73-
elif [[ "${SizeUnit}" == "B" ]]; then
74-
# converting decimals to integers.
75-
local Size="${Size%%.*}";
76-
# gives size in kB.
77-
echo "$(( Size/2048 )) MB";
78-
else
79-
# converting decimals to integers.
80-
local Size="${Size%%.*}"
81-
# gives already kB packages size.
82-
echo "${Size} ${SizeUnit}";
83-
fi
46+
case "${SizeUnit}" in
47+
'MB') echo "${Size}";;
48+
'kB') echo "$(( Size/1024 ))";;
49+
'B') echo "$(( Size/1048576 ))";;
50+
esac
8451
# return function.
8552
return;
8653
}
@@ -90,13 +57,13 @@ pkg.sizeIN(){
9057
# Args:
9158
# pkgs (array) > takes array of packages.
9259
pkg.chart(){
93-
inspect.ScreenSize 96 12;
60+
inspect.ScreenSize '96' '12';
9461
# this takes all packages as arg.
9562
local ARGs=("${@}");
96-
# total download size of all packages.
97-
local UriSizeDL=0;
63+
# total content file size of all packages.
64+
local PuraSizeDL=0;
9865
# total installed size of all packages.
99-
local UriSizeIN=0;
66+
local PuraSizeIN=0;
10067
setCursor off;
10168
echo;
10269
say.success "📦 Getting Information Packages";
@@ -108,25 +75,25 @@ pkg.chart(){
10875
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛";
10976
for ARG in "${ARGs[@]}"
11077
do
111-
# assigning database variable.
112-
local Uri="$(apt show "${ARG}" 2> /dev/null)";
113-
# assign pkg name variable.
114-
local Id="$(echo "${Uri}" | grep Package: | awk '{print $2}')";
115-
# assign pkg version variable.
116-
local Build="$(echo "${Uri}" | grep Version: | awk '{print $2}')";
117-
# assign pkg download size variable.
118-
local SizeDL="$(pkg.sizeDL "${ARG}" | awk '{print $1}')";
119-
# assign pkg installed size variable.
120-
local SizeIN="$(pkg.sizeIN "${ARG}" | awk '{print $1}')";
121-
printf "${Green}%-13s${Clear} ${Yelo}%10s${Clear} ${Yelo}%-4s${Clear} %-2s ${Yelo}%-4s${Clear} %-2s ┃\n" "${Id}" "${Build}" "${SizeDL}" "MB" "${SizeIN}" "MB";
78+
# declare database variable.
79+
local PackageSource="$(apt show "${ARG}" 2> /dev/null)";
80+
# declare package variable.
81+
local PackageVar="$(echo "${PackageSource}" | grep 'Package:' | awk '{print $2}')";
82+
# declare package version variable.
83+
local PackageVersion="$(echo "${PackageSource}" | grep 'Version:' | awk '{print $2}' | awk -F'-' '{print $1}')";
84+
# declare package file size variable.
85+
local PackageSizeDL="$(pkg.size 'dnload' "${ARG}")";
86+
# declare package installed size variable.
87+
local PackageSizeIN="$(pkg.size 'install' "${ARG}")";
88+
printf "${Green}%-13s${Clear} ${Yelo}%10s${Clear} ${Yelo}%-4s${Clear} %-2s ${Yelo}%-4s${Clear} %-2s ┃\n" "${PackageVar}" "${PackageVersion}" "${PackageSizeDL}" "MB" "${PackageSizeIN}" "MB";
12289
echo -e " ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛";
12390
# Adding dl sizes of all packages.
124-
local UriSizeDL=$(( UriSizeDL + SizeDL ));
91+
local PuraSizeDL=$(( PuraSizeDL + PackageSizeDL ));
12592
# Adding ins sizes of all packages.
126-
local UriSizeIN=$(( UriSizeIN + SizeIN ));
93+
local PuraSizeIN=$(( PuraSizeIN + PackageSizeIN ));
12794
done
12895
# print total data.
129-
printf " ┃ [ ${Yelo}%5s${Clear} ] ─────────────────────────────────> ${Yelo}%6s${Clear} %-2s ${Yelo}%6s${Clear} %-2s ┃" "TOTAL" "${UriSizeDL}" "MB" "${UriSizeIN}" "MB"
96+
printf " ┃ [ ${Yelo}%5s${Clear} ] ─────────────────────────────────> ${Yelo}%6s${Clear} %-2s ${Yelo}%6s${Clear} %-2s ┃" "TOTAL" "${PuraSizeDL}" "MB" "${PuraSizeIN}" "MB"
13097
echo -e "\n ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛";
13198
echo;
13299
setCursor on;
@@ -140,22 +107,20 @@ pkg.chart(){
140107
pkg.install(){
141108
# function starts here.
142109
local ARGs=("${@}");
143-
# printing chart.
110+
# execution chart.
144111
pkg.chart "${ARGs[@]}";
145-
# required permission.
146-
if ask.case "Install Packages"; then
147-
for APP in "${ARGs[@]}"
112+
# request permission.
113+
if ask.case 'Install Packages'; then
114+
for ARG in "${ARGs[@]}"
148115
do
149-
spinner.start "Installing" "${APP}";
150-
# started installing.
116+
spinner.start 'Installing' "${ARG}";
117+
# started installation.
151118
if os.is_termux; then
152-
apt-get install -qq "${APP}" > /dev/null;
153-
elif os.is_shell.zsh && os.is_userland; then
154-
apt-get install -qq "${APP}" > /dev/null;
155-
elif os.is_userland; then
156-
sudo apt-get install -qq "${APP}" > /dev/null;
119+
apt-get install -qq "${ARG}" > /dev/null;
120+
elif os.is_shell.zsh; then
121+
apt-get install -qq "${ARG}" > /dev/null;
157122
else
158-
sudo apt-get install -qq "${APP}" > /dev/null;
123+
sudo apt-get install -qq "${ARG}" > /dev/null;
159124
fi
160125
# stopped installation.
161126
spinner.stop;

src/repo.sh

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ repo.size(){
2626
inspect.is_func curl;
2727
local Api="$(echo "${1}" | awk '{print $1}')";
2828
local UriSize=$(curl "https://api.github.com/repos/${Api}" 2> /dev/null | grep size | head -1 | tr -dc '[:digit:]');
29-
local UriSize=$(( UriSize/1024 ));
30-
echo "${UriSize} MB";
29+
echo $(( UriSize/1024 ));
3130
return;
3231
}
3332

@@ -50,7 +49,7 @@ repo.chart(){
5049
for ARG in "${ARGs[@]}"
5150
do
5251
local Api="$(echo "${ARG}" | awk '{print $1}')";
53-
local UriSize="$(repo.size "${ARG}" | awk '{print $1}')";
52+
local UriSize="$(repo.size "${ARG}")";
5453
printf "${Green}%-36s${Clear} ${Yelo}%8s${Clear} ┃\n" "${Api}" "${UriSize}";
5554
echo -e " ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛";
5655
done

0 commit comments

Comments
 (0)