Support webp in imgcodecs module on VD profile
[platform/upstream/opencv.git] / samples / _winpack_run_python_sample.cmd
1 @ECHO OFF
2 SETLOCAL
3
4 SET SCRIPT_DIR=%~dp0
5 SET "OPENCV_SETUPVARS_SCRIPT=setup_vars_opencv4.cmd"
6 SET "BUILD_DIR=%SCRIPT_DIR%\..\..\build"
7 IF NOT EXIST "%BUILD_DIR%\%OPENCV_SETUPVARS_SCRIPT%" (
8   :: Winpack DLDT
9   SET "BUILD_DIR=%SCRIPT_DIR%\..\..\..\build"
10 )
11 IF NOT EXIST "%BUILD_DIR%\%OPENCV_SETUPVARS_SCRIPT%" (
12   ECHO ERROR: OpenCV Winpack installation is required
13   pause
14   exit
15 )
16 :: normalize path
17 for %%i in ("%PACKAGE_BUILD_DIR%") do SET "PACKAGE_BUILD_DIR=%%~fi"
18
19 :: Detect Python binary
20 python -V 2>nul
21 IF %ERRORLEVEL% EQU 0 (
22   SET PYTHON=python
23   GOTO :PYTHON_FOUND
24 )
25
26 CALL :QUERY_PYTHON 3.8
27 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
28 CALL :QUERY_PYTHON 3.7
29 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
30 CALL :QUERY_PYTHON 3.6
31 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
32 CALL :QUERY_PYTHON 3.5
33 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
34 CALL :QUERY_PYTHON 3.4
35 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
36 CALL :QUERY_PYTHON 2.7
37 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
38 GOTO :PYTHON_NOT_FOUND
39
40 :QUERY_PYTHON
41 SETLOCAL
42 SET PY_VERSION=%1
43 SET PYTHON_DIR=
44 CALL :regquery "HKCU\SOFTWARE\Python\PythonCore\%PY_VERSION%\InstallPath" PYTHON_DIR
45 IF EXIST "%PYTHON_DIR%\python.exe" (
46   SET "PYTHON=%PYTHON_DIR%\python.exe"
47   GOTO :QUERY_PYTHON_FOUND
48 )
49 CALL :regquery "HKLM\SOFTWARE\Python\PythonCore\%PY_VERSION%\InstallPath" PYTHON_DIR
50 IF EXIST "%PYTHON_DIR%\python.exe" (
51   SET "PYTHON=%PYTHON_DIR%\python.exe"
52   GOTO :QUERY_PYTHON_FOUND
53 )
54
55 ::echo Python %PY_VERSION% is not detected
56 ENDLOCAL
57 EXIT /B 1
58
59 :QUERY_PYTHON_FOUND
60 ECHO Found Python %PY_VERSION% from Windows Registry: %PYTHON%
61 ENDLOCAL & SET PYTHON=%PYTHON%
62 EXIT /B 0
63
64 IF exist C:\Python27-x64\python.exe (
65   SET PYTHON=C:\Python27-x64\python.exe
66   GOTO :PYTHON_FOUND
67 )
68 IF exist C:\Python27\python.exe (
69   SET PYTHON=C:\Python27\python.exe
70   GOTO :PYTHON_FOUND
71 )
72
73 :PYTHON_NOT_FOUND
74 ECHO ERROR: Python not found
75 IF NOT DEFINED OPENCV_BATCH_MODE ( pause )
76 EXIT /B
77
78 :PYTHON_FOUND
79 ECHO Using Python: %PYTHON%
80
81 :: Don't generate unnecessary .pyc cache files
82 SET PYTHONDONTWRITEBYTECODE=1
83
84 IF [%1]==[] goto rundemo
85
86 set SRC_FILENAME=%~dpnx1
87 echo SRC_FILENAME=%SRC_FILENAME%
88 call :dirname "%SRC_FILENAME%" SRC_DIR
89 call :dirname "%PYTHON%" PYTHON_DIR
90 PUSHD %SRC_DIR%
91
92 CALL "%BUILD_DIR%\%OPENCV_SETUPVARS_SCRIPT%"
93 :: repair SCRIPT_DIR
94 SET "SCRIPT_DIR=%~dp0"
95
96 ECHO Run: %*
97 %PYTHON% %*
98 SET result=%errorlevel%
99 IF %result% NEQ 0 (
100   IF NOT DEFINED OPENCV_BATCH_MODE (
101     SET "PATH=%PYTHON_DIR%;%PATH%"
102     echo ================================================================================
103     echo **  Type 'python sample_name.py' to run sample
104     echo **  Type 'exit' to exit from interactive shell and open the build directory
105     echo ================================================================================
106     cmd /k echo Current directory: %CD%
107   )
108 )
109
110 POPD
111 EXIT /B %result%
112
113 :rundemo
114 PUSHD "%SCRIPT_DIR%\python"
115
116 CALL "%BUILD_DIR%\%OPENCV_SETUPVARS_SCRIPT%"
117 :: repair SCRIPT_DIR
118 SET "SCRIPT_DIR=%~dp0"
119
120 %PYTHON% demo.py
121 SET result=%errorlevel%
122 IF %result% NEQ 0 (
123   IF NOT DEFINED OPENCV_BATCH_MODE ( pause )
124 )
125
126 POPD
127 EXIT /B %result%
128
129
130 :dirname file resultVar
131   setlocal
132   set _dir=%~dp1
133   set _dir=%_dir:~0,-1%
134   endlocal & set %2=%_dir%
135   EXIT /B 0
136
137 :regquery name resultVar
138   SETLOCAL
139   FOR /F "tokens=*" %%A IN ('REG QUERY "%1" /reg:64 /ve 2^>NUL ^| FIND "REG_SZ"') DO SET _val=%%A
140   IF "x%_val%x"=="xx" EXIT /B 1
141   SET _val=%_val:*REG_SZ=%
142   FOR /F "tokens=*" %%A IN ("%_val%") DO SET _val=%%A
143   ENDLOCAL & SET %2=%_val%
144   EXIT /B 0