-
-
Notifications
You must be signed in to change notification settings - Fork 118
Expand file tree
/
Copy pathvisualpy.bat
More file actions
250 lines (217 loc) · 7.37 KB
/
visualpy.bat
File metadata and controls
250 lines (217 loc) · 7.37 KB
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
@echo off
SetLocal
rem #==========================================================================
rem # Filename : visualpy.bat
rem # function : control Visual Python for windows
rem # Creator : BlackLogic - LJ
rem # version : 2.1
rem # License : GPLv3
rem # Date : 2020 07.30
rem # MDate : 2020 12.29
rem #==========================================================================
rem ## setting variables
set v_prod=visualpython
(echo "%v_prod%" & echo.) | findstr /O . | more +1 | (set /P RESULT= & call exit /B %%RESULT%%)
set /A v_prd_length=%ERRORLEVEL%-5
set v_option=%1
for /f "delims=, tokens=1*" %%i in ('pip show %v_prod% 2^>^&1 ^| find "Location"') do (
set v_1=%%i)
set v_path1=%v_1:~10%
set v_str1=jupyter nbextension
set v_str2=%v_prod%/src/main
set v_srch=pip search %v_prod%
set v_upgr=pip install %v_prod% --upgrade
set v_unst=pip uninstall %v_prod%
set v_ckup=pip list -o
set v_show=pip show %v_prod%
rem check env & setting path2
where /q conda-env
IF ERRORLEVEL 1 (
call :l_prt_be_line
ECHO Not a conda env.
set v_path2=%APPDATA%\jupyter\nbextensions\
) ELSE (
call :l_prt_be_line
ECHO conda env.
set v_path2=%v_path1:~,-18%\share\jupyter\nbextensions\
)
rem ## Main Block
:l_main
IF /i "%v_option%"=="" goto :l_help
for %%i in (-h help) do if /i %v_option% == %%i call :l_help
for %%i in (-e enable) do if /i %v_option% == %%i call :l_enable
for %%i in (-d disable) do if /i %v_option% == %%i call :l_disable
for %%i in (-i install) do if /i %v_option% == %%i call :l_install
for %%i in (-up upgrade) do if /i %v_option% == %%i call :l_upgrade
for %%i in (-v version) do if /i %v_option% == %%i call :l_version
for %%i in (-ce checkext) do if /i %v_option% == %%i call :l_check_extension
for %%i in (-cb checkbpl) do if /i %v_option% == %%i call :l_check_visualpython
for %%i in (-un uninstall) do if /i %v_option% == %%i goto :l_uninstall
goto :eof
rem ## Function Block
:l_help
echo.
echo usage: visualpy option
echo optional arguments:
echo -h, help show this help message and exit
echo -e, enable enable Visual Python
echo -d, disable disable Visual Python
echo -i, install install Visual Python extensions
echo -un, uninstall uninstall Visual Python packages
echo -up, upgrade upgrade Visual Python Package
echo -v, version show Visual Python current version
echo.
goto :eof
:l_check_extension
IF NOT EXIST "%v_path2%" call :l_prt_extensiondir
goto :eof
:l_check_visualpython
IF EXIST "%v_path2%%v_prod%" (
set v_flag=1
) ELSE (
set v_flag=2
)
goto :eof
:l_install
rem "" is for envname with space.
IF EXIST "%v_path2%%v_prod%" ( call :l_prt_be_line
echo Check installed %v_prod% Path :
echo %v_path2%%v_prod%
call :l_prt_visualpythondir
call :l_overwrite
) ELSE ( call :l_copy_files
call :l_enable
)
goto :eof
:l_enable
call :l_prt_be_line
%v_str1% enable %v_str2%
call :l_prt_af_line
goto :eof
:l_disable
call :l_prt_af_line
%v_str1% disable %v_str2%
call :l_prt_af_line
goto :eof
:l_overwrite
rem if visaulpython 없는경우 install로 수행
rem else remove & install
call :l_disable
call :l_remove_files
call :l_copy_files
call :l_enable
goto :eof
:l_copy_files
call :l_prt_be_line
echo source : %v_path1%\%v_prod%\
rem "" is for envname with space.
xcopy /q /y /e "%v_path1%\%v_prod%" "%v_path2%%v_prod%\"
echo target : %v_path2%%v_prod%\
call :l_prt_af_line
goto :eof
:l_remove_files
call :l_prt_be_line
echo Remove Visual Python Directories.
rem "" is for envname with space.
rmdir /s /q "%v_path2%%v_prod%"
call :l_prt_af_line
goto :eof
:l_upgrade
call :l_prt_af_line
echo Running upgrade visualpython.
call :l_prt_af_line
rem setting current version
for /f "tokens=*" %%i in ( '%v_show% 2^>^&1 ^| findstr /i Version') do (
set v_currentver=%%i
)
rem running version upgrade
%v_upgr%
rem setting last installed version
for /f "tokens=*" %%i in ( '%v_show% 2^>^&1 ^| findstr /i Version') do (
set v_lastver=%%i
)
set v_install= Installed %v_currentver%
set v_last=Last Release %v_lastver%
call :l_prt_af_line
if not %v_lastver:~9% == %v_currentver:~9% (
echo change visualpython extension files ...
call :l_disable
call :l_copy_files
call :l_enable
) else (
echo Already installed last Visual Python version.
call :l_print_version
)
goto :eof
:l_version
rem call :l_prt_be_line
for /f "tokens=*" %%i in ('%v_ckup% 2^>^&1 ^| find /i "%v_prod%"') do ( set v_info=%%i )
if "%v_info%."=="." (
rem pass upgrade
for /f "tokens=*" %%i in ( '%v_show% 2^>^&1 ^| findstr /i Version') do ( set v_last=%%i
set v_last=Last Release %%i
set v_install= Installed %%i
set v_ver_flag=0
)
) else (
rem run upgrade
for /f "tokens=2-3" %%i in ( 'echo %v_info%' ) do (
rem echo Last release Version : %%j
rem echo Installed Version : %%i
set v_install= Installed Version: %%i
set v_last=Last Release Version: %%j
set v_ver_flag=1
)
)
call :l_print_version
goto :eof
:l_print_version
call :l_prt_af_line
echo %v_install%
echo %v_last%
call :l_prt_af_line
rem echo %v_flag%
goto :eof
:l_prt_extensiondir
call :l_prt_be_line
echo Nbextension not activated
echo Plz install nbextension
call :l_prt_af_line
goto :eof
:l_prt_visualpythondir
call :l_prt_af_line
echo Already exists Visual Python.
goto :eof
:l_prt_notexists_visualpythondir
call :l_prt_be_line
echo Visual Python extension not installed.
call :l_prt_af_line
goto :eof
:l_prt_be_line
echo.
echo ==========================================================================================
goto :eof
:l_prt_af_line
echo ==========================================================================================
goto :eof
:l_prt_line
echo ------------------------------------------------------------------------------------------
goto :eof
:l_uninstall
IF EXIST "%v_path2%%v_prod%" (
call :l_disable
call :l_remove_files
echo "%v_path2%%v_prod%"
call :l_prt_af_line
%v_unst%
) else (
call :l_prt_be_line
echo %v_path1:~,-18%\share\jupyter\nbextensions\
echo %v_path2%%v_prod%
call :l_prt_af_line
%v_unst%
)
rem #==========================================================================
rem #End of File
rem #==========================================================================
EndLocal