-
Notifications
You must be signed in to change notification settings - Fork 0
/
installer.cmd
130 lines (120 loc) · 3.77 KB
/
installer.cmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
@Echo Off
SETLOCAL EnableDelayedExpansion
:: code for colored lines
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
set "DEL=%%a"
)
SET root=%~dp0
pushd %~dp0
:: installing programs with scoop
call :colorEcho 0B "Installing scoop and any program dependencies (scoop needs administrator access on first install)"
echo[
call powershell -NoProfile -ExecutionPolicy Bypass -NoLogo -File .\inst\scoop-installer.ps1
echo[
:: refreshing path variables
call .\inst\RefreshEnv.cmd
:: testing that programs are installed
python -V >nul 2>&1 || goto :python
git --version >nul 2>&1 || goto :git
mpv -V >nul 2>&1 || goto :mpv
ffmpeg -version >nul 2>&1 || goto :ffmpeg
echo[
call :colorEcho 0B "Installing or updating Get-vods-clips now"
echo[
for /f %%i in ('git rev-parse --abbrev-ref HEAD') do set BRANCH=%%i
:: link to git repo if it isn't already
if not exist .git\ (
echo[
echo This seems to be your first run The setup will now proceed to download all required files They will be downloaded to the same location as where this install file is.
echo[
echo[
git init . >nul
git remote add origin https://github.com/loomkoom/get-vods-clips.git >nul 2>&1
git fetch --all
git reset --hard origin/main
)
git fetch origin main >nul 2>&1
git remote show origin > tmp.txt
set findfile="tmp.txt"
set findtext="up"
findstr %findtext% %findfile% >nul 2>&1 || goto :forward
goto :install
:: program not installed errors
:python
TITLE Error!
call :colorEcho 04 "python not added to PATH or not installed"
echo[
echo run installer again or download latest python version manually at https://www.python.org/downloads/ and make sure you add to PATH: https://i.imgur.com/KXgMcOK.png
goto :end
:git
TITLE Error!
call :colorEcho 04 "git not added to PATH or not installed"
echo[
echo run installer again or download git manually at https://git-scm.com/
goto :end
:ffmpeg
TITLE Warning!
call :colorEcho 04 "ffmpeg not added to PATH or not installed"
echo[
echo run installer again or download a ffmpeg version manually at https://ffmpeg.org/download.html#build-windows and make sure you add to PATH
goto :end
:mpv
TITLE Error!
call :colorEcho 04 "mpv not installed or not added to path"
echo[
echo run installer again or download mpv manually at https://mpv.io/installation/
goto :end
:: update files from git repo
:forward
set findfile="tmp.txt"
set forwardable="fast-forwardable"
findstr %forwardable% %findfile% >nul 2>&1
goto :update
:update
echo Starting update...
echo Latest update:
git --no-pager log --pretty=oneline -n1 origin/%BRANCH% ^%BRANCH%
git pull origin %BRANCH%
if errorlevel 1 goto force
echo Finished updating
goto :install
:force
git fetch --all
git reset --hard origin/%BRANCH%
echo Finished updating
goto :install
:: install python modules
:install
if exist tmp.txt del tmp.txt
FOR /f %%p in ('where python') do SET PYTHONPATH=%%p
call :colorEcho 0B "Checking-Installing requirements (takes some time on first install)"
echo[
set PYTHONIOENCODING=utf-8
call :colorEcho 0B "Installing python packages"
echo[
python -m pip install --upgrade pip
python -m pip install wheel
python -m pip install -r requirements.txt
if errorlevel 1 (
call :colorEcho 04 "Requirements installation failed, Perhaps some dependency is missing or access was denied"
echo Possible solutions:
echo - Run as administrator"
echo - Google the error"
pause
exit
)
call :colorEcho 0A "All python packages installed"
echo[
ping 127.0.0.1 -n 2 > nul
type .\inst\success.txt
echo[
echo[
if %ERRORLEVEL% == 15 goto :update
goto :end
:end
pause
exit
:colorEcho
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1i