Compare commits

...

11 commits

Author SHA1 Message Date
0fb7c7fde8
minor change in doc 2024-11-04 23:34:16 +01:00
246f25600e
upd with yay 2024-10-29 02:33:23 +01:00
ad32f12055
small upd 2024-10-29 02:32:31 +01:00
5be6d0ec88
small upd 2024-10-29 02:31:07 +01:00
458345c79c
-whitesource 2024-10-29 02:24:48 +01:00
Francois B. (Makoto)
80150201fe Ubuntu 16.04/Mint 18.x removed 2020-12-22 15:53:41 +01:00
makotosan
e68fef7879 upd for Ubuntu 20.04, Linux Mint 20, Arch Linux 2020-05-31 16:18:23 +02:00
makotosan
07a7680df8 whitespace bug fixed 2020-05-31 16:13:48 +02:00
makotosan
dd2cfa7999 Merge branch 'master' of github.com:shakasan/wpfind 2019-03-31 01:56:31 +01:00
makotosan
f1ce8b6894 some minor changes 2019-03-31 01:56:27 +01:00
whitesource-bolt-for-github[bot]
153cc41e02 Initial WhiteSource configuration file 2018-12-06 20:25:02 +00:00
5 changed files with 69 additions and 70 deletions

0
.gitignore vendored Normal file → Executable file
View file

0
LICENSE Normal file → Executable file
View file

67
README.md Normal file → Executable file
View file

@ -1,41 +1,43 @@
![wpfind](pics/logo.png)
# WPFind
WPFind
======
![wpfind](pics/logo.png)
The purpose of this script is to find wallpapers among pictures files in directory and sub-directories and move/copy them to a separate directory.
It can be useful when you are trying to clean your mess on your computer ;-)
Requirements
------------
## Requirements
* Ubuntu, Linux Mint (should work on other Ubuntu derivatives)
* detox
* imagemagick
- Ubuntu, Linux Mint (should work on Ubuntu derivatives), Arch Linux (should work on Ubuntu derivatives) and probably any Linux distro
- detox
- imagemagick
Installation
------------
For Ubuntu 16.04, Linux Mint 18.x, and other derivatives
```
curl -L https://packagecloud.io/makoto/stable/gpgkey | sudo apt-key add -
echo "deb https://packagecloud.io/makoto/stable/ubuntu/ xenial main" | sudo tee /etc/apt/sources.list.d/makoto.list
sudo apt-get update
sudo apt-get install wpfind
```
## Installation
For Ubuntu 18.04, Linux Mint 19.x, and other derivatives
```
```shell
curl -L https://packagecloud.io/makoto/stable/gpgkey | sudo apt-key add -
echo "deb https://packagecloud.io/makoto/stable/ubuntu/ bionic main" | sudo tee /etc/apt/sources.list.d/makoto.list
sudo apt-get update
sudo apt-get install wpfind
```
Usage options
-------------
For Ubuntu 20.04, Linux Mint 20.x, and other derivatives
```shell
curl -L https://packagecloud.io/makoto/stable/gpgkey | sudo apt-key add -
echo "deb https://packagecloud.io/makoto/stable/ubuntu/ focal main" | sudo tee /etc/apt/sources.list.d/makoto.list
sudo apt-get update
sudo apt-get install wpfind
```
For Arch Linux and derivatives
```shell
yay -S wpfind
```
## Usage options
```
██╗ ██╗██████╗ ███████╗██╗███╗ ██╗██████╗
@ -47,7 +49,7 @@ Usage options
Find wallpapers recursively in a dir and sub-directories...
Version : 0.1.2
Version : 0.1.3
Author : Francois B (Makoto)
Licence : GPLv3
@ -62,36 +64,33 @@ Usage : wpfind [options]
-h : show help & informations
```
Usage examples
--------------
## Usage examples
Copy wallpapers in the current directory and sub-directories with minimum width of 1920px to wpfiles
```
```shell
wpfind -c
```
Move wallpapers in the current directory and sub-directories with minimum width of 1920px to wpfiles
```
```shell
wpfind -m
```
Move wallpapers in the /home/user/MyPics directory and sub-directories with minimum width of 2560px to /home/user/MyWP directory
```
```shell
wpfind -m -w 2560 -i /home/user/MyPics -o /home/user/MyWP
```
Credits
-------
## Credits
This script has been written by Francois B. (Makotosan/Shakasan)
* Email : francois@makotonoblog.be
* Website : https://makotonoblog.be/wpfind/
- Email : francois@exoseed.be
- Website : https://makotonoblog.be/wpfind/
Licence
-------
## Licence
The script is licensed under the terms of the GPLv3

0
pics/logo.png Normal file → Executable file
View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

70
wpfind
View file

@ -7,7 +7,7 @@
#------------------------------------------------------------------------------
# app version number
version="0.1.3"
version="0.1.3.2"
# logfile
logfile="wpfind.log"
touch $logfile
@ -56,7 +56,7 @@ function logo() {
printf " ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚═════╝ \n";
printf "$BOLDVERT";
printf "\n"
printf "Find wallpapers recursively in a dir and sub-directories...\n"
printf "Find wallpapers recursively in a dir and sub-directories...\n"
printf "\n"
printf "$NORMAL"
printf "Version : $version\n"
@ -78,7 +78,7 @@ function usage() {
printf " -o <wallpapers_found_save_directory> (default: wpfiles inside the current directory)\n"
printf " -w <minimum_pixel_width> (default: 1920px)\n"
printf " -v : verbose mode\n"
printf " -h : show help & informations\n"
printf " -h : show help & informations\n"
}
#------------------------------------------------------------------------------
@ -129,47 +129,47 @@ function wpFind () {
# browse recursively files and dir
for pic in $1/*; do
# if directory
if [ -d "$pic" ]; then
if [ -d "$pic" ]; then
# and if not outputDir
if [ "$pic" != "$outputDirToCheck" ]; then
# browse sub-dir
wpFind "$pic"
wpFind "$pic"
fi
# if file
elif [ -f "$pic" ]; then
elif [ -f "$pic" ]; then
# if file type is a picture
if [[ $(file --mime-type -b "$pic") == image/*g ]]; then
pic_w_size=$(identify -format %w $pic)
pic_h_size=$(identify -format %h $pic)
pic_w_size=$(identify -format %w $pic)
pic_h_size=$(identify -format %h $pic)
# if picture width > height
if [ "$pic_w_size" -gt "$pic_h_size" ]; then
if [ "$pic_w_size" -gt "$pic_h_size" ]; then
# if picture width <= minimum width
if [ "$pic_w_size" -gt "$(($minw-1))" ]; then
if [ "$pic_w_size" -gt "$(($minw-1))" ]; then
# if copy mode
if [ "$pic2move" = "no" ]; then
if [ "$pic2move" = "no" ]; then
# if verbose mode
if [ "$verbosemode" = "yes" ]; then
printf "cp $iMode $pic $outputDir\n"
fi
cp $iMode $pic $outputDir
cp $iMode "$pic" "$outputDir"
date2log=$($date +'%Y-%m-%d %H:%M:%S')
printf "$date2log - cp $iMode $pic $outputDir\n" >> $logfile
# if move mode
elif [ "$pic2move" = "yes" ]; then
elif [ "$pic2move" = "yes" ]; then
# if verbose mode
if [ "$verbosemode" = "yes" ]; then
printf "mv $iMode $pic $outputDir\n"
fi
mv $iMode $pic $outputDir
mv $iMode "$pic" "$outputDir"
date2log=$($date +'%Y-%m-%d %H:%M:%S')
printf "$date2log - mv $iMode $pic $outputDir\n" >> $logfile
fi
picmoved=$(($picmoved+1))
fi
fi
fi
fi
done
fi
picmoved=$(($picmoved+1))
fi
fi
fi
fi
done
}
#------------------------------------------------------------------------------
@ -177,9 +177,9 @@ function wpFind () {
#------------------------------------------------------------------------------
function main() {
beginProcess=$($date +'%s')
printf "$NORMAL""Analyzing...(this may take a (very)(long) while)\n""$NORMAL"
printf "$NORMAL""Analyzing...(this may take a (very)(long) while)\n""$NORMAL"
# check if detox is installed
# check if dependencies are installed
depInstalled
# create the outputDir if doesn't exist
@ -205,7 +205,7 @@ function main() {
isValidDirectory $inputDir "i"
# some var init
picmoved=0
picmoved=0
minw=$(($minw-1))
# begin the process
@ -213,18 +213,18 @@ function main() {
# display final status
if [ "$pic2move" = "yes" ]; then
printf "$NORMAL""Pictures moved : ""$BOLDVERT""$picmoved\n""$NORMAL"
printf "$NORMAL""Pictures moved : ""$BOLDVERT""$picmoved\n""$NORMAL"
elif [ "$pic2move" = "no" ]; then
printf "$NORMAL""Pictures copied : ""$BOLDVERT""$picmoved\n""$NORMAL"
fi
# display additional informations with the status
if [ "$verbosemode" = "yes" ]; then
printf "$NORMAL""Minimal width : $(($minw+1))\n""$NORMAL"
printf "$NORMAL""Logfile : wpfind.log\n""$NORMAL"
printf "$NORMAL""Logfile : wpfind.log\n""$NORMAL"
printf "$NORMAL""Analyzed dir : $inputDir\n""$NORMAL"
printf "$NORMAL""Wallpapers dir : $outputDir\n""$NORMAL"
printf "$NORMAL""Wallpapers dir : $outputDir\n""$NORMAL"
fi
printf "\n" >> $logfile
printf "\n" >> $logfile
# display the time elapsed for the complete process
endProcess=$($date +'%s')
@ -237,11 +237,11 @@ function main() {
[[ $# -lt 1 ]] && logo && usage && exit
while getopts ":c,m,h,v,s,i:,o:,w:" option; do
case "$option" in
c)
case "$option" in
c)
pic2move=no
;;
m)
m)
pic2move=yes
;;
o)
@ -253,7 +253,7 @@ while getopts ":c,m,h,v,s,i:,o:,w:" option; do
w)
minw=$OPTARG
;;
h)
h)
logo
usage
exit 0
@ -261,7 +261,7 @@ while getopts ":c,m,h,v,s,i:,o:,w:" option; do
s)
iMode="-i"
;;
v)
v)
verbosemode=yes
;;
:)
@ -269,12 +269,12 @@ while getopts ":c,m,h,v,s,i:,o:,w:" option; do
usage
exit 1
;;
\?)
\?)
printf "$BOLDROUGE""Error""$NORMAL"" : $OPTARG : invalid option\n\n"
usage
exit 1
;;
esac
esac
done
# if no mode choosed but other options set