From 028e1cd4676cd8e5b9d0aa3aa8a03ec4df5d9656 Mon Sep 17 00:00:00 2001 From: Luiko Czub Date: Fri, 24 Jan 2014 23:12:17 +0100 Subject: [PATCH 01/24] PP_TYPE added in build.bat and main.nsi --- .gitignore | 1 + build.bat | 20 +++++++++++--------- main.nsi | 6 +++--- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index d620f6f..686b1ad 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ ################# shortcuts/*.exe +build diff --git a/build.bat b/build.bat index fea826a..cf6ed18 100644 --- a/build.bat +++ b/build.bat @@ -39,19 +39,21 @@ if "--clean" == "%2" ( call COMMON :LogMessage call COMMON :LogMessage "Portable Python build script started :: %date% %time%" -call COMMON :LogMessage -call COMMON :LogMessage "Building distribution based on Python %1" - + :: Check can we find config dir if not exist %1 ( - call COMMON :LogMessage "ERROR: Config folder not found for this version !! Aborting..." + call COMMON :LogMessage "ERROR: Config folder %1 not found for this version !! Aborting..." goto:eof ) :: Load variables for specified version -call .\%1\settings.bat +set PP_TYPE=%1 +call .\%PP_TYPE%\settings.bat -set TEMP_FOLDER=%TEMP%\PortablePython.v.%PY_VERSION%.%PP_VERSION%.Build +call COMMON :LogMessage +call COMMON :LogMessage "Building distribution %PP_TYPE% based on Python %PY_VERSION%" + +set TEMP_FOLDER=%TEMP%\PortablePython%PP_TYPE%.v.%PY_VERSION%.%PP_VERSION%.Build set BIN_FOLDER=%TEMP_FOLDER%\binaries set UNPACK_FOLDER=%TEMP_FOLDER%\unpacked set OUTPUT_FOLDER=%TEMP_FOLDER%\output @@ -91,12 +93,12 @@ if not exist %TEMP_FOLDER% ( ) :: Extract modules -call .\%1\modules.bat +call .\%PP_TYPE%\modules.bat :: Build installer call COMMON :LogMessage -call COMMON :LogMessage "Building Portable Python %PY_VERSION%.%PP_VERSION% installer ..." -tools\nsis\makensis /V0 /DPY_VERSION=%1 /DPP_VERSION=%PP_VERSION% /DOUTPUT_FOLDER="%OUTPUT_FOLDER%" /DSOURCES_FOLDER="%UNPACK_FOLDER%" main.nsi +call COMMON :LogMessage "Building Portable Python %PP_TYPE% %PY_VERSION%.%PP_VERSION% installer ..." +tools\nsis\makensis /V0 /DPP_TYPE=%1 /DPY_VERSION=%PY_VERSION% /DPP_VERSION=%PP_VERSION% /DOUTPUT_FOLDER="%OUTPUT_FOLDER%" /DSOURCES_FOLDER="%UNPACK_FOLDER%" main.nsi call COMMON :LogMessage call COMMON :LogMessage "Portable Python build script completed at :: %date% %time%" call COMMON :LogMessage "Installer ready at: %OUTPUT_FOLDER%" \ No newline at end of file diff --git a/main.nsi b/main.nsi index 087d4ae..e3c991b 100644 --- a/main.nsi +++ b/main.nsi @@ -28,12 +28,12 @@ !verbose 2 ; Include correct folder -!AddIncludeDir ${PY_VERSION} +!AddIncludeDir ${PP_TYPE} !define WEBSITE "PortablePython.com" !define VERSION "${PY_VERSION}.${PP_VERSION}" -!define APPNAME "Portable Python ${VERSION}" -!define OUTFILENAME "PortablePython_${VERSION}.exe" +!define APPNAME "Portable Python ${PP_TYPE} ${VERSION}" +!define OUTFILENAME "PortablePython${PP_TYPE}_${VERSION}.exe" !define OUTFOLDER "${OUTPUT_FOLDER}" !define SOURCESFOLDER "${SOURCES_FOLDER}" From 31f8e7e96e360a4710b98f8fe7ba81a3b25f08a6 Mon Sep 17 00:00:00 2001 From: Luiko Czub Date: Sun, 26 Jan 2014 20:14:24 +0100 Subject: [PATCH 02/24] suggestion for PP and PY version names --- 2.7/settings.bat | 4 ++-- 3.2/settings.bat | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/2.7/settings.bat b/2.7/settings.bat index 89d52d2..e7bd12b 100644 --- a/2.7/settings.bat +++ b/2.7/settings.bat @@ -22,8 +22,8 @@ :: http://PortablePython.com ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -set PY_VERSION=2.7 -set PP_VERSION=5.1 +set PY_VERSION=275 +set PP_VERSION=1.0.0 set PY_SHORT_VERSION=27 :: Core diff --git a/3.2/settings.bat b/3.2/settings.bat index 99bbe49..6711821 100644 --- a/3.2/settings.bat +++ b/3.2/settings.bat @@ -22,8 +22,8 @@ :: http://PortablePython.com ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -set PY_VERSION=3.2 -set PP_VERSION=5.1 +set PY_VERSION=325 +set PP_VERSION=1.0.0 set PY_SHORT_VERSION=32 :: Modules From 26526d63a051e72beed41b4affaa26c7829c91e0 Mon Sep 17 00:00:00 2001 From: Luiko Czub Date: Fri, 21 Mar 2014 21:18:09 +0100 Subject: [PATCH 03/24] modules.bat accepts a package list as parameter this allows to download and build a reduced set of packages. Example: modules.bat Python WxPython Convention: package name XYZ must match subroutine name :UnpackXYZ --- 2.7/modules.bat | 7 +++++++ 3.2/modules.bat | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/2.7/modules.bat b/2.7/modules.bat index 84b76f4..bb14799 100644 --- a/2.7/modules.bat +++ b/2.7/modules.bat @@ -25,6 +25,13 @@ :: Include common functions set COMMON=.\..\common.bat +:: CHECK Parameter, maybe only a subset of packages should be build +if [%1]==[] (SET _packagelist=All) ELSE (SET _packagelist=%*) +for %%G in (%_packagelist%) do (call :Unpack%%G) +goto:EOF + +:UnpackAll + call :UnpackPython call :UnpackPyScripter call :UnpackNumPy diff --git a/3.2/modules.bat b/3.2/modules.bat index 5645b8b..8afe2bb 100644 --- a/3.2/modules.bat +++ b/3.2/modules.bat @@ -25,6 +25,13 @@ :: Include common functions set COMMON=.\..\common.bat +:: CHECK Parameter, maybe only a subset of packages should be build +if [%1]==[] (SET _packagelist=All) ELSE (SET _packagelist=%*) +for %%G in (%_packagelist%) do (call :Unpack%%G) +goto:EOF + +:UnpackAll + call :UnpackPython call :UnpackPyScripter call :UnpackNumPy From e0e704c223781b560cf07fdad3354b9fad5823db Mon Sep 17 00:00:00 2001 From: Luiko Czub Date: Mon, 24 Mar 2014 18:28:22 +0100 Subject: [PATCH 04/24] alternative IPython installation via pip new pip install section with IPython example - extract from https://github.com/wheeler-microfluidics/microdrop_portable_python_base/blob/microdrop/2.7/modules.nsh --- 2.7/modules.nsh | 36 ++++++++++++++++++++++++++++++++++++ 2.7/settings.bat | 4 ++-- 3.2/settings.bat | 4 ++-- 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/2.7/modules.nsh b/2.7/modules.nsh index 982202c..3780c8e 100644 --- a/2.7/modules.nsh +++ b/2.7/modules.nsh @@ -143,4 +143,40 @@ SectionGroup "Code editors" File /r "${SOURCESFOLDER}\PyScripter\*.*" File "${SOURCESFOLDER}\PyScripter-Portable.exe" SectionEnd +SectionGroupEnd + +; pip section is an extract from +; https://github.com/wheeler-microfluidics/microdrop_portable_python_base/blob/microdrop/2.7/modules.nsh +; many thanks to Christian Frobel for these piece of work + +SectionGroup "`pip` packages" + Section "Prepare `easy_install` and `pip`" + Var /GLOBAL EasyInstall + Var /GLOBAL Pip + Var /GLOBAL PipInstallFlags + SectionIn 1 2 RO + StrCpy $EasyInstall '$INSTDIR\App\Scripts\easy_install.exe' + StrCpy $Pip '$INSTDIR\App\Scripts\pip.exe' + ; Use `--pre` argument to allow installation of [pre-release][1] + ; package versions. + ; + ; [1]: http://stackoverflow.com/questions/18230956/could-not-find-a-version-that-satisfies-the-requirement-pytz + StrCpy $PipInstallFlags ' --pre ' + SectionEnd + + Section "Install pip" + SectionIn 1 2 RO + nsExec::ExecToLog '$EasyInstall pip' + SectionEnd + + Section "Install ipython" MODULE_IPYTHON + ;SectionIn 1 + ;not in section 'full', cause IPython 0.13.1 already included + ;this is just an example, how packges could be installed via pip + ;known problem: + ; - with pip installed scripts App\Scripts\iXYZ-script.py incudes "hard coded" python path + ; - if the pp installation moves, these paths must be adapted manually + nsExec::ExecToLog '$Pip install ipython $PipInstallFlags' + SectionEnd + SectionGroupEnd \ No newline at end of file diff --git a/2.7/settings.bat b/2.7/settings.bat index e7bd12b..100c345 100644 --- a/2.7/settings.bat +++ b/2.7/settings.bat @@ -22,8 +22,8 @@ :: http://PortablePython.com ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -set PY_VERSION=275 -set PP_VERSION=1.0.0 +set PY_VERSION=2.7 +set PP_VERSION=5.2 set PY_SHORT_VERSION=27 :: Core diff --git a/3.2/settings.bat b/3.2/settings.bat index 6711821..99bbe49 100644 --- a/3.2/settings.bat +++ b/3.2/settings.bat @@ -22,8 +22,8 @@ :: http://PortablePython.com ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -set PY_VERSION=325 -set PP_VERSION=1.0.0 +set PY_VERSION=3.2 +set PP_VERSION=5.1 set PY_SHORT_VERSION=32 :: Modules From fff7d0d42e0054eb0566683f66c3bd9e0dd9ab24 Mon Sep 17 00:00:00 2001 From: Luiko Czub Date: Tue, 25 Mar 2014 21:19:52 +0100 Subject: [PATCH 05/24] correction alternative IPython installation ipython pip installation needs an unique index description --- 2.7/descriptions.nsh | 2 ++ 2.7/modules.nsh | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/2.7/descriptions.nsh b/2.7/descriptions.nsh index 3437f09..6c20121 100644 --- a/2.7/descriptions.nsh +++ b/2.7/descriptions.nsh @@ -45,6 +45,7 @@ LangString DESC_MODULE_PYGTK ${LANG_ENGLISH} "PyGTK lets you to easily create pr LangString DESC_MODULE_PYQT ${LANG_ENGLISH} "PYQT is a set of Python bindings for Nokia's Qt application framework implemented as a set of Python modules and contain over 300 classes and over 6,000 functions and methods." LangString DESC_MODULE_IPYTHON ${LANG_ENGLISH} "IPython provides a rich toolkit to help you make the most out of using Python interactively." LangString DESC_MODULE_PANDAS ${LANG_ENGLISH} "Pandas is a Python package providing fast, flexible, and expressive data structures designed to make working with structured (tabular, multidimensional, potentially heterogeneous) and time series data both easy and intuitive." +LangString DESC_PIP_MODULE_IPYTHON ${LANG_ENGLISH} "Alternative pip installation for IPython. IPython provides a rich toolkit to help you make the most out of using Python interactively." !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${PYTHON_CORE} $(DESC_PYTHON_CORE) @@ -66,4 +67,5 @@ LangString DESC_MODULE_PANDAS ${LANG_ENGLISH} "Pandas is a Python package provid !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_PYQT} $(DESC_MODULE_PYQT) !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_IPYTHON} $(DESC_MODULE_IPYTHON) !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_PANDAS} $(DESC_MODULE_PANDAS) + !insertmacro MUI_DESCRIPTION_TEXT ${PIP_MODULE_IPYTHON} $(DESC_PIP_MODULE_IPYTHON) !insertmacro MUI_FUNCTION_DESCRIPTION_END \ No newline at end of file diff --git a/2.7/modules.nsh b/2.7/modules.nsh index 3780c8e..6389a57 100644 --- a/2.7/modules.nsh +++ b/2.7/modules.nsh @@ -169,7 +169,7 @@ SectionGroup "`pip` packages" nsExec::ExecToLog '$EasyInstall pip' SectionEnd - Section "Install ipython" MODULE_IPYTHON + Section "Install ipython" PIP_MODULE_IPYTHON ;SectionIn 1 ;not in section 'full', cause IPython 0.13.1 already included ;this is just an example, how packges could be installed via pip From a75273e29d0b0be612c5187a725e6cd74f53b674 Mon Sep 17 00:00:00 2001 From: Luiko Czub Date: Wed, 30 Apr 2014 22:02:16 +0200 Subject: [PATCH 06/24] 2.7.6 merge conflict --- 2.7/descriptions.nsh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/2.7/descriptions.nsh b/2.7/descriptions.nsh index c440b8d..385d84e 100644 --- a/2.7/descriptions.nsh +++ b/2.7/descriptions.nsh @@ -76,9 +76,6 @@ LangString DESC_PIP_MODULE_IPYTHON ${LANG_ENGLISH} "Alternative pip installation !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_PYQT} $(DESC_MODULE_PYQT) !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_IPYTHON} $(DESC_MODULE_IPYTHON) !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_PANDAS} $(DESC_MODULE_PANDAS) -<<<<<<< HEAD - !insertmacro MUI_DESCRIPTION_TEXT ${PIP_MODULE_IPYTHON} $(DESC_PIP_MODULE_IPYTHON) -======= !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_DATEUTIL} $(DESC_MODULE_DATEUTIL) !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_PYPARSING} $(DESC_MODULE_PYPARSING) !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_SIX} $(DESC_MODULE_SIX) @@ -86,5 +83,5 @@ LangString DESC_PIP_MODULE_IPYTHON ${LANG_ENGLISH} "Alternative pip installation !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_XLWT} $(DESC_MODULE_XLWT) !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_XLUTILS} $(DESC_MODULE_XLUTILS) !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_OPENPYXL} $(DESC_MODULE_OPENPYXL) ->>>>>>> pporigin/master + !insertmacro MUI_DESCRIPTION_TEXT ${PIP_MODULE_IPYTHON} $(DESC_PIP_MODULE_IPYTHON) !insertmacro MUI_FUNCTION_DESCRIPTION_END \ No newline at end of file From 0f3293a21e3894b49f6d33c2729c2aa46143298f Mon Sep 17 00:00:00 2001 From: xunningy Date: Wed, 22 Apr 2015 22:52:59 -0500 Subject: [PATCH 07/24] Updated Portable Python with major updates: python (win32) 2.7.9, numpy 1.9.2, scipy 0.15.1, PyCharm 4.0.6 and more. --- 2.7/modules.bat | 17 ++++++---- 2.7/modules.nsh | 20 ++++++------ 2.7/settings.bat | 60 +++++++++++++++++----------------- patches/PyCharm.3.1.x.PPpatch | Bin 4143 -> 0 bytes patches/PyCharm.4.0.x.PPpatch | Bin 0 -> 3761 bytes shortcuts/splash.pdn | Bin 18972 -> 19126 bytes shortcuts/splash2.7.bmp | Bin 101078 -> 101078 bytes 7 files changed, 50 insertions(+), 47 deletions(-) delete mode 100644 patches/PyCharm.3.1.x.PPpatch create mode 100644 patches/PyCharm.4.0.x.PPpatch diff --git a/2.7/modules.bat b/2.7/modules.bat index 46498c2..ed5522e 100644 --- a/2.7/modules.bat +++ b/2.7/modules.bat @@ -182,7 +182,7 @@ call COMMON :VerifyFile %NUMPY_FILE% MD5 %NUMPY_ZIP_MD5% :: Unpack files call COMMON :LogMessage "Extracting NumPy files" tools\uniextract16\bin\7z.exe x "%BIN_FOLDER%\%NUMPY_FILE%" -o%UNPACK_FOLDER%\numpy\ -y -tools\uniextract16\UniExtract.exe "%UNPACK_FOLDER%\numpy\%NUMPY_FILE_NOSSE%" %UNPACK_FOLDER%\numpy\ +tools\uniextract16\bin\7z.exe x "%UNPACK_FOLDER%\numpy\%NUMPY_FILE_NOSSE%" -o%UNPACK_FOLDER%\numpy\ -y :: Fix call COMMON :FixMSCRT %UNPACK_FOLDER%\numpy\ @@ -856,6 +856,7 @@ tools\uniextract16\UniExtract.exe "%BIN_FOLDER%\%PYCHARM_FILE%" %UNPACK_FOLDER%\ call COMMON :LogMessage "Copy files to PyCharm folder" RD %UNPACK_FOLDER%\pycharm-temp\$PLUGINSDIR /S /Q RD %UNPACK_FOLDER%\pycharm-temp\bin\$PLUGINSDIR /S /Q +RD "%UNPACK_FOLDER%\PyCharm" /S /Q mkdir %UNPACK_FOLDER%\PyCharm mkdir %UNPACK_FOLDER%\PyCharm\App move /Y "%UNPACK_FOLDER%\pycharm-temp" "%UNPACK_FOLDER%\PyCharm\App\PyCharm" @@ -863,19 +864,21 @@ move /Y "%UNPACK_FOLDER%\pycharm-temp" "%UNPACK_FOLDER%\PyCharm\App\PyCharm" :: Patch PyCharm call COMMON :LogMessage "Patch PyCharm" del %UNPACK_FOLDER%\PyCharm\App\PyCharm\bin\idea.properties /Q -tools\uniextract16\UniExtract.exe "patches\PyCharm.3.1.x.PPpatch" "%UNPACK_FOLDER%\PyCharm\App\PyCharm" >NUL +tools\uniextract16\UniExtract.exe "patches\PyCharm.4.0.x.PPpatch" "%UNPACK_FOLDER%\PyCharm\App\PyCharm" >NUL +del "%UNPACK_FOLDER%\PyCharm\App\PyCharm\.PyCharm\config\options\other.xml" /Q :: Replace @PY_VERSION@ in jdk.table.xml.tmp to %PY_VERSION% jdk.table.xml setlocal ENABLEDELAYEDEXPANSION -set filein="%UNPACK_FOLDER%\PyCharm\App\PyCharm\.PyCharm30\config\options\jdk.table.xml.tmp" -set fileout="%UNPACK_FOLDER%\PyCharm\App\PyCharm\.PyCharm30\config\options\jdk.table.xml" +set filein="%UNPACK_FOLDER%\PyCharm\App\PyCharm\.PyCharm\config\options\jdk.table.xml.tmp" +set fileout="%UNPACK_FOLDER%\PyCharm\App\PyCharm\.PyCharm\config\options\jdk.table.xml" +echo write to "%fileout%"... set old=@PY_VERSION@ set new=%PY_VERSION% -for /f "tokens=* delims=¶" %%i in ( '"type %filein%"') do ( +(for /f "usebackq tokens=* delims=? " %%i in (`type %filein%`) do ( set str=%%i set str=!str:%old%=%new%! - echo !str! >> %fileout% -) + echo !str! +)) > %fileout% del %filein% :: Build Shortcut diff --git a/2.7/modules.nsh b/2.7/modules.nsh index e7431e2..d26a60d 100644 --- a/2.7/modules.nsh +++ b/2.7/modules.nsh @@ -26,7 +26,7 @@ InstType "Full" InstType "Minimal" -Section "!Python 2.7.6 core" PYTHON_CORE +Section "!Python 2.7.9 core" PYTHON_CORE SectionIn 1 2 RO SetOutPath "$INSTDIR" File /r "${SOURCESFOLDER}\python-core\*.*" @@ -35,17 +35,17 @@ Section "!Python 2.7.6 core" PYTHON_CORE File "${SOURCESFOLDER}\IDLE-Portable.exe" SectionEnd SectionGroup "Modules" - Section "NumPy 1.8.1" MODULE_NUMPY + Section "NumPy 1.9.2" MODULE_NUMPY SectionIn 1 SetOutPath "$INSTDIR\App\Lib\site-packages\" File /r "${SOURCESFOLDER}\numpy\PLATLIB\*.*" SectionEnd - Section "SciPy 0.13.3" MODULE_SCIPY + Section "SciPy 0.15.1" MODULE_SCIPY SectionIn 1 SetOutPath "$INSTDIR\App\Lib\site-packages\" File /r "${SOURCESFOLDER}\scipy\PLATLIB\*.*" SectionEnd - Section "PyWin32 218" MODULE_PYWIN32 + Section "PyWin32 219" MODULE_PYWIN32 SectionIn 1 SetOutPath "$INSTDIR\App\" File /r "${SOURCESFOLDER}\pywin32\*.*" @@ -77,12 +77,12 @@ SectionGroup "Modules" SetOutPath "$INSTDIR\App\" File /r "${SOURCESFOLDER}\wxpython\package\*.*" SectionEnd - Section "matplotlib 1.3.1" MODULE_MATPLOTLIB + Section "matplotlib 1.4.3" MODULE_MATPLOTLIB SectionIn 1 SetOutPath "$INSTDIR\App\Lib\site-packages\" File /r "${SOURCESFOLDER}\matplotlib\PLATLIB\*.*" SectionEnd - Section "lxml 3.3.4" MODULE_LXML + Section "lxml 3.4.3" MODULE_LXML SectionIn 1 SetOutPath "$INSTDIR\App\Lib\site-packages\" File /r "${SOURCESFOLDER}\lxml\PLATLIB\*.*" @@ -109,7 +109,7 @@ SectionGroup "Modules" SetOutPath "$INSTDIR" File "${SOURCESFOLDER}\Glade3-Portable.exe" SectionEnd - Section "PyQT 4.10.4" MODULE_PYQT + Section "PyQT 4.11.3" MODULE_PYQT SectionIn 1 SetOutPath "$INSTDIR\App\Lib\" File /r "${SOURCESFOLDER}\pyqt\Lib\*.*" @@ -129,10 +129,10 @@ SectionGroup "Modules" SetOutPath "$INSTDIR" File "${SOURCESFOLDER}\IPython-Portable.exe" SectionEnd - Section "Pandas 0.13.1" MODULE_PANDAS + Section "Pandas 0.16.0" MODULE_PANDAS SectionIn 1 SetOutPath "$INSTDIR\App\Lib\site-packages\" - File /r "${SOURCESFOLDER}\pandas\PLATLIB\*.*" + File /r "${SOURCESFOLDER}\pandas\*.*" SectionEnd Section "Dateutil 2.2" MODULE_DATEUTIL SectionIn 1 @@ -179,7 +179,7 @@ SectionGroup "Code editors" File /r "${SOURCESFOLDER}\PyScripter\*.*" File "${SOURCESFOLDER}\PyScripter-Portable.exe" SectionEnd - Section "PyCharm Community 3.1.2" IDE_PYCHARM + Section "PyCharm Community 4.0.6" IDE_PYCHARM SectionIn 1 SetOutPath "$INSTDIR" File /r "${SOURCESFOLDER}\PyCharm\*.*" diff --git a/2.7/settings.bat b/2.7/settings.bat index b252a06..abdb30d 100644 --- a/2.7/settings.bat +++ b/2.7/settings.bat @@ -23,13 +23,13 @@ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: set PY_VERSION=2.7 -set PP_VERSION=6.1 +set PP_VERSION=9.1 set PY_SHORT_VERSION=27 :: Core -set PY_MSI_DOWNLOAD="http://python.org/ftp/python/2.7.6/python-2.7.6.msi" -set PY_MSI_FILE=python-2.7.6.msi -set PY_MSI_MD5=ac54e14f7ba180253b9bae6635d822ea +set PY_MSI_DOWNLOAD="https://www.python.org/ftp/python/2.7.9/python-2.7.9.msi" +set PY_MSI_FILE=python-2.7.9.msi +set PY_MSI_MD5=3ed20d8b06dcd339f814b38861f88fc9 :: Modules set PY_SETUPTOOLS_DOWNLOAD="http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11.win32-py2.7.exe" @@ -40,19 +40,19 @@ set PY_SCRIPTER_DOWNLOAD="http://pyscripter.googlecode.com/files/PyScripter-v2.5 set PY_SCRIPTER_FILE=PyScripter-v2.5.3.zip set PY_SCRIPTER_SHA1=363226a2dc708bc5dd83eda9ccc36339b79a7345 -set NUMPY_DOWNLOAD="http://sourceforge.net/projects/numpy/files/NumPy/1.8.1/numpy-1.8.1-win32-superpack-python2.7.exe" -set NUMPY_FILE=numpy-1.8.1-win32-superpack-python2.7.exe -set NUMPY_FILE_NOSSE=numpy-1.8.1-nosse.exe -set NUMPY_ZIP_MD5=47dcbfaba32a64f1e30927c219853fc1 +set NUMPY_DOWNLOAD="http://sourceforge.net/projects/numpy/files/NumPy/1.9.2/numpy-1.9.2-win32-superpack-python2.7.exe" +set NUMPY_FILE=numpy-1.9.2-win32-superpack-python2.7.exe +set NUMPY_FILE_NOSSE=numpy-1.9.2-sse2.exe +set NUMPY_ZIP_MD5=694e11489cd5340e06d01f19866ecf3b -set SCIPY_DOWNLOAD="http://sourceforge.net/projects/scipy/files/scipy/0.13.3/scipy-0.13.3-win32-superpack-python2.7.exe" -set SCIPY_FILE=scipy-0.13.3-win32-superpack-python2.7.exe -set SCIPY_FILE_NOSSE=scipy-0.13.3-nosse.exe -set SCIPY_ZIP_MD5=ab43e3022aa642bef49a1f92516a6fdf +set SCIPY_DOWNLOAD="http://sourceforge.net/projects/scipy/files/scipy/0.15.1/scipy-0.15.1-win32-superpack-python2.7.exe" +set SCIPY_FILE=scipy-0.15.1-win32-superpack-python2.7.exe +set SCIPY_FILE_NOSSE=scipy-0.15.1-sse2.exe +set SCIPY_ZIP_MD5=8d8ab3c298bf0693e827dc419fa7d6f7 -set PYWIN32_DOWNLOAD="http://sourceforge.net/projects/pywin32/files/pywin32/Build 218/pywin32-218.win32-py2.7.exe" -set PYWIN32_FILE=pywin32-218.win32-py2.7.exe -set PYWIN32_MD5=16e178ac18b49fa0d27ba0be90f460af +set PYWIN32_DOWNLOAD="http://sourceforge.net/projects/pywin32/files/pywin32/Build 219/pywin32-219.win32-py2.7.exe" +set PYWIN32_FILE=pywin32-219.win32-py2.7.exe +set PYWIN32_MD5=f270e9f88155f649fc1a6c2f85aa128d set NETWORKX_DOWNLOAD="http://networkx.lanl.gov/download/networkx/networkx-1.7-py2.7.egg" set NETWORKX_FILE=networkx-1.7-py2.7.egg @@ -74,9 +74,9 @@ set WXPYTHON_DOWNLOAD="http://sourceforge.net/projects/wxpython/files/wxPython/3 set WXPYTHON_FILE=wxPython3.0-win32-3.0.0.0-py27.exe set WXPYTHON_MD5=37b0b48483cf8f26d05fe152d60c214a -set MATPLOTLIB_DOWNLOAD="http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.3.1/matplotlib-1.3.1.win32-py2.7.exe" -set MATPLOTLIB_FILE=matplotlib-1.3.1.win32-py2.7.exe -set MATPLOTLIB_MD5=08953f7c4b2ddd7c233b0e42db51f13a +set MATPLOTLIB_DOWNLOAD="http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.4.3/windows/matplotlib-1.4.3.win32-py2.7.exe" +set MATPLOTLIB_FILE=matplotlib-1.4.3.win32-py2.7.exe +set MATPLOTLIB_MD5=f43c20480a1673185afefc7d4848a1d2 set DATEUTIL_DOWNLOAD="https://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-2.2.tar.gz" set DATEUTIL_FILE=python-dateutil-2.2.tar.gz @@ -87,9 +87,9 @@ set PYPARSING_DOWNLOAD="https://pypi.python.org/packages/any/p/pyparsing/pyparsi set PYPARSING_FILE=pyparsing-2.0.1.win32-py2.7.exe set PYPARSING_MD5=e312e220208383c0b87f3c36996cf47a -set LXML_DOWNLOAD="https://pypi.python.org/packages/2.7/l/lxml/lxml-3.3.4.win32-py2.7.exe" -set LXML_FILE=lxml-3.3.4.win32-py2.7.exe -set LXML_MD5=55384beefb503549675f752697c2095f +set LXML_DOWNLOAD="https://pypi.python.org/packages/2.7/l/lxml/lxml-3.4.3.win32-py2.7.exe" +set LXML_FILE=lxml-3.4.3.win32-py2.7.exe +set LXML_MD5=a22fd83608bf1a3127b1c2f233ac1e10 set PY_SERIAL_DOWNLOAD="http://sourceforge.net/projects/pyserial/files/pyserial/2.7/pyserial-2.7.win32.exe" set PY_SERIAL_FILE=pyserial-2.7.win32.exe @@ -106,17 +106,17 @@ set PYGTK_DOWNLOAD="http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24/pyg set PYGTK_FILE=pygtk-all-in-one-2.24.2.win32-py2.7.msi set PYGTK_MD5=4bddf847f81d8de2d73048b113da3dd5 -set PYQT_DOWNLOAD="http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.10.4/PyQt4-4.10.4-gpl-Py2.7-Qt4.8.5-x32.exe" -set PYQT_FILE=PyQt4-4.10.4-gpl-Py2.7-Qt4.8.5-x32.exe -set PYQT_MD5=4dbba5c9920a5fa5311c294d5975b65f +set PYQT_DOWNLOAD="http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.3/PyQt4-4.11.3-gpl-Py2.7-Qt4.8.6-x32.exe" +set PYQT_FILE=PyQt4-4.11.3-gpl-Py2.7-Qt4.8.6-x32.exe +set PYQT_MD5=bf9e4d934a998ba081f29b065b88e213 set IPYTHON_DOWNLOAD="https://pypi.python.org/packages/source/i/ipython/ipython-1.2.1.zip" set IPYTHON_FILE=ipython-1.2.1.zip set IPYTHON_MD5=a4b36d55e2671c6e821018a63d50b8b1 -set PANDAS_DOWNLOAD="https://pypi.python.org/packages/2.7/p/pandas/pandas-0.11.0.win32-py2.7.exe" -set PANDAS_FILE=pandas-0.11.0.win32-py2.7.exe -set PANDAS_MD5=aaefa25cc5042f0408834f4d1f74ed10 +set PANDAS_DOWNLOAD="https://pypi.python.org/packages/2.7/p/pandas/pandas-0.16.0-cp27-none-win32.whl" +set PANDAS_FILE=pandas-0.16.0-cp27-none-win32.whl +set PANDAS_MD5=81cba8feac97e202dcabb9683d34204d set SIX_DOWNLOAD="https://pypi.python.org/packages/source/s/six/six-1.6.1.tar.gz" set SIX_FILE=six-1.6.1.tar.gz @@ -143,6 +143,6 @@ set OPENPYXL_FILE=openpyxl-1.8.5.tar.gz set OPENPYXL_FILE_TAR=openpyxl-1.8.5.tar set OPENPYXL_MD5=6f2eca608c3129dbfd77982713565709 -set PYCHARM_DOWNLOAD="http://download-cf.jetbrains.com/python/pycharm-community-3.1.2.exe" -set PYCHARM_FILE=pycharm-community-3.1.2.exe -set PYCHARM_MD5=4707668758b044bf5a4214557e7a15fa +set PYCHARM_DOWNLOAD="http://download-cf.jetbrains.com/python/pycharm-community-4.0.6.exe" +set PYCHARM_FILE=pycharm-community-4.0.6.exe + diff --git a/patches/PyCharm.3.1.x.PPpatch b/patches/PyCharm.3.1.x.PPpatch deleted file mode 100644 index e741b1f2623f1b584615eed40513d3bf329a9718..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4143 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 B^oRfe diff --git a/patches/PyCharm.4.0.x.PPpatch b/patches/PyCharm.4.0.x.PPpatch new file mode 100644 index 0000000000000000000000000000000000000000..553ef0b90b58d10a615969463040dd0f47465d71 GIT binary patch literal 3761 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 YzxwRu*FX8edq4e}haY5_-+k`?0yZG^(EtDd delta 8647 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 bU-$2S>+i7dd)w1b{3i0V@BKLQ@#p?evJig4 diff --git a/shortcuts/splash2.7.bmp b/shortcuts/splash2.7.bmp index bc4053b365979faaa9626d99e7ce969ca2e00bf0..c22c3241705e33462d5483845aab205c67920452 100644 GIT binary patch literal 101078 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 literal 101078 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 Date: Thu, 23 Apr 2015 22:32:52 -0500 Subject: [PATCH 08/24] Initial build with python 3.4.3 (x64) core and the PyScripter 2.6.0.0 --- 3.4/descriptions.nsh | 59 + 3.4/modules.bat | 512 ++++++ 3.4/modules.nsh | 117 ++ 3.4/settings.bat | 85 + patches/PyScripter26.ini | 3423 ++++++++++++++++++++++++++++++++++++++ shortcuts/splash.pdn | Bin 19126 -> 20515 bytes shortcuts/splash3.4.bmp | Bin 0 -> 101078 bytes 7 files changed, 4196 insertions(+) create mode 100644 3.4/descriptions.nsh create mode 100644 3.4/modules.bat create mode 100644 3.4/modules.nsh create mode 100644 3.4/settings.bat create mode 100644 patches/PyScripter26.ini create mode 100644 shortcuts/splash3.4.bmp diff --git a/3.4/descriptions.nsh b/3.4/descriptions.nsh new file mode 100644 index 0000000..fe347ce --- /dev/null +++ b/3.4/descriptions.nsh @@ -0,0 +1,59 @@ +; ================================================================= +; The MIT License (MIT) +; Copyright (c) 2007 Perica Zivkovic + +; Permission is hereby granted, free of charge, to any person obtaining a copy +; of this software and associated documentation files (the "Software"), to deal +; in the Software without restriction, including without limitation the rights +; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +; copies of the Software, and to permit persons to whom the Software is furnished +; to do so, subject to the following conditions: + +; The above copyright notice and this permission notice shall be included in all +; copies or substantial portions of the Software. + +; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +; IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +; DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +; ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +; OTHER DEALINGS IN THE SOFTWARE. + +; http://PortablePython.com +; ================================================================= + +; This file keeps generic mofule descriptions. +; Don't use any version numbers here as it is shared between versions. + +LangString DESC_PYTHON_CORE ${LANG_ENGLISH} "Installs Python core engine. This component is required and can not be deselected." +LangString DESC_IDE_PYSCRIPTER ${LANG_ENGLISH} "PyScripter is a free and open-source Python Integrated Development Environment (IDE)." +LangString DESC_IDE_PYCHARM ${LANG_ENGLISH} "PyCharm Community is a free Python Integrated Development Environment (IDE)." +LangString DESC_MODULE_PYWIN32 ${LANG_ENGLISH} "Python Extensions for Windows." +LangString DESC_MODULE_NETWORKX ${LANG_ENGLISH} "Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks." +LangString DESC_MODULE_PY_SERIAL ${LANG_ENGLISH} "This module encapsulates the access for the serial port." +LangString DESC_MODULE_NUMPY ${LANG_ENGLISH} "NumPy is the fundamental package needed for scientific computing with Python." +LangString DESC_MODULE_SCIPY ${LANG_ENGLISH} "SciPy is open-source software for mathematics, science, and engineering" +LangString DESC_MODULE_MATPLOTLIB ${LANG_ENGLISH} "2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms" +LangString DESC_MODULE_LXML ${LANG_ENGLISH} "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." +LangString DESC_MODULE_PYODBC ${LANG_ENGLISH} "Module that allows you to use ODBC to connect to almost any database from Windows, Linux, OS/X, and more." +LangString DESC_MODULE_PYQT ${LANG_ENGLISH} "PYQT is a set of Python bindings for Nokia's Qt application framework implemented as a set of Python modules and contain over 300 classes and over 6,000 functions and methods." +LangString DESC_MODULE_IPYTHON ${LANG_ENGLISH} "IPython provides a rich toolkit to help you make the most out of using Python interactively." +LangString DESC_MODULE_PANDAS ${LANG_ENGLISH} "Pandas is a Python package providing fast, flexible, and expressive data structures designed to make working with structured (tabular, multidimensional, potentially heterogeneous) and time series data both easy and intuitive." + + +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN + !insertmacro MUI_DESCRIPTION_TEXT ${PYTHON_CORE} $(DESC_PYTHON_CORE) + !insertmacro MUI_DESCRIPTION_TEXT ${IDE_PYSCRIPTER} $(DESC_IDE_PYSCRIPTER) +; !insertmacro MUI_DESCRIPTION_TEXT ${IDE_PYCHARM} $(DESC_IDE_PYCHARM) +; !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_PYWIN32} $(DESC_MODULE_PYWIN32) +; !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_NETWORKX} $(DESC_MODULE_NETWORKX) +; !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_PY_SERIAL} $(DESC_MODULE_PY_SERIAL) +; !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_NUMPY} $(DESC_MODULE_NUMPY) +; !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_SCIPY} $(DESC_MODULE_SCIPY) +; !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_MATPLOTLIB} $(DESC_MODULE_MATPLOTLIB) +; !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_LXML} $(DESC_MODULE_LXML) +; !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_PYODBC} $(DESC_MODULE_PYODBC) +; !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_PYQT} $(DESC_MODULE_PYQT) +; !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_IPYTHON} $(DESC_MODULE_IPYTHON) +!insertmacro MUI_FUNCTION_DESCRIPTION_END \ No newline at end of file diff --git a/3.4/modules.bat b/3.4/modules.bat new file mode 100644 index 0000000..abf1c5f --- /dev/null +++ b/3.4/modules.bat @@ -0,0 +1,512 @@ +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: The MIT License (MIT) +:: Copyright (c) 2007 Perica Zivkovic + +:: Permission is hereby granted, free of charge, to any person obtaining a +:: copy of this software and associated documentation files (the "Software"), +:: to deal in the Software without restriction, including without limitation +:: the rights to use, copy, modify, merge, publish, distribute, sublicense, +:: and/or sell copies of the Software, and to permit persons to whom the +:: Software is furnished to do so, subject to the following conditions: + +:: The above copyright notice and this permission notice shall be included +:: in all copies or substantial portions of the Software. + +:: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +:: OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +:: FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +:: AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +:: WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +:: CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +:: http://PortablePython.com +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +:: Include common functions +set COMMON=.\..\common.bat + +call :UnpackPython +call :UnpackPyScripter +:: call :UnpackPyCharm +:: call :UnpackNumPy +:: call :UnpackSciPy +:: call :UnpackPyWin32 +:: call :UnpackNetworkX +:: call :UnpackMatplotlib +:: call :UnpackLXML +:: call :UnpackPySerial +:: call :UnpackPyODBC +:: call :UnpackPyQT +:: call :UnpackIPython +:: call :UnpackPandas + +goto:EOF + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:UnpackPython +:: +:: By: Perica Zivkovic +:: Func: Downloads and extracts Python core files and patches MSCRT +:: Args: none +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +setlocal ENABLEEXTENSIONS + +:: Download python +call COMMON :DownloadFile %PY_MSI_DOWNLOAD% + +:: Verify python core +call COMMON :VerifyFile %PY_MSI_FILE% MD5 %PY_MSI_MD5% + +:: Unpack python core +call COMMON :LogMessage "Extracting python core files" +msiexec /quiet /a "%BIN_FOLDER%\%PY_MSI_FILE%" TARGETDIR="%UNPACK_FOLDER%\python-core\App" + +:: Unpack MSCRT patch +call COMMON :LogMessage "Extracting MSCRT patch" +tools\uniextract16\UniExtract.exe patches\Microsoft.VC100.CRT.PPpatch %UNPACK_FOLDER%\python-core\App >NUL + +:: Configure prompt +echo import sys >> "%UNPACK_FOLDER%\python-core\App\Lib\ppp.py" +echo sys.ps1 = "Portable Python >>> " >> "%UNPACK_FOLDER%\python-core\App\Lib\ppp.py" + +:: Build Shortcuts +call COMMON :LogMessage "Build shortcuts" +tools\nsis\makensis.exe /V0 /DSHORTCUTNAME=Python /DPY_VERSION=%PY_VERSION% /DPP_VERSION=%PP_VERSION% shortcuts\shortcut.nsi +tools\nsis\makensis.exe /V0 /DSHORTCUTNAME=IDLE /DPY_VERSION=%PY_VERSION% /DPP_VERSION=%PP_VERSION% shortcuts\shortcut.nsi + +:: Copy shortcut +call COMMON :LogMessage "Copy Python Portable shortcut" +copy shortcuts\Python-Portable.exe "%UNPACK_FOLDER%" 1>NUL +copy shortcuts\IDLE-Portable.exe "%UNPACK_FOLDER%" 1>NUL + +:: Fix +call COMMON :FixMSCRT %UNPACK_FOLDER%\python-core\ + +endlocal&goto :EOF +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:UnpackPyScripter +:: +:: By: Perica Zivkovic +:: Func: Downloads and extracts pyScripter +:: Args: none +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +setlocal ENABLEEXTENSIONS + +:: Download PyScripter +call COMMON :DownloadFile %PY_SCRIPTER_DOWNLOAD% + +:: Verify +call COMMON :VerifyFile %PY_SCRIPTER_FILE% SHA1 %PY_SCRIPTER_SHA1% + +:: Unpack files +call COMMON :LogMessage "Extracting PyScripter files" +tools\uniextract16\UniExtract.exe "%BIN_FOLDER%\%PY_SCRIPTER_FILE%" %UNPACK_FOLDER%\pyscripter-temp >NUL + +:: Copy files to PyScripter folder +call COMMON :LogMessage "Copy files to PyScripter folder" +mkdir %UNPACK_FOLDER%\PyScripter +move "%UNPACK_FOLDER%\pyscripter-temp\PyScripter" "%UNPACK_FOLDER%\PyScripter\App" +:: mkdir %UNPACK_FOLDER%\PyScripter\App +:: mkdir %UNPACK_FOLDER%\PyScripter\App\locale +:: mkdir %UNPACK_FOLDER%\PyScripter\App\Skins +:: copy %UNPACK_FOLDER%\pyscripter-temp\PyScripter\PyScripter.exe "%UNPACK_FOLDER%\PyScripter\App\" >NUL +:: copy %UNPACK_FOLDER%\pyscripter-temp\PyScripter\PyScripter.chm "%UNPACK_FOLDER%\PyScripter\App\" >NUL +:: copy %UNPACK_FOLDER%\pyscripter-temp\PyScripter\PyProject.ico "%UNPACK_FOLDER%\PyScripter\App\" >NUL +:: xcopy /QEY %UNPACK_FOLDER%\pyscripter-temp\PyScripter\locale "%UNPACK_FOLDER%\PyScripter\App\locale" >NUL + +:: Unpack rpyc +:: call COMMON :LogMessage "Unpack rypc" +:: tools\uniextract16\UniExtract.exe "%UNPACK_FOLDER%\pyscripter-temp\PyScripter\Lib\rpyc.zip" %UNPACK_FOLDER%\PyScripter\App\Lib\site-packages\ >NUL + +:: Patch PyScripter +call COMMON :LogMessage "Patch PyScripter" +xcopy /QEY patches\PyScripter26.ini %UNPACK_FOLDER%\PyScripter\App\PyScripter.ini 1>NUL 2>NUL + +:: Build Shortcut +call COMMON :LogMessage "Build PyScripter shortcut" +tools\nsis\makensis.exe /V0 /DSHORTCUTNAME=PyScripter /DPY_VERSION=%PY_VERSION% /DPP_VERSION=%PP_VERSION% /DPY_SHORT_VERSION=%PY_SHORT_VERSION% shortcuts\shortcut.nsi + +:: Copy shortcuts +call COMMON :LogMessage "Copy PyScripter shortcut" +copy shortcuts\PyScripter-Portable.exe "%UNPACK_FOLDER%" >NUL + +endlocal&goto :EOF +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:UnpackNumPy +:: +:: By: Perica Zivkovic +:: Func: Downloads and extracts numpy +:: Args: none +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +setlocal ENABLEEXTENSIONS + +:: Download +call COMMON :DownloadFile %NUMPY_DOWNLOAD% + +:: Verify +call COMMON :VerifyFile %NUMPY_FILE% MD5 %NUMPY_ZIP_MD5% + +:: Unpack files +call COMMON :LogMessage "Extracting NumPy files" +tools\uniextract16\bin\7z.exe x "%BIN_FOLDER%\%NUMPY_FILE%" -o%UNPACK_FOLDER%\numpy\ -y >NUL +tools\uniextract16\UniExtract.exe "%UNPACK_FOLDER%\numpy\%NUMPY_FILE_NOSSE%" %UNPACK_FOLDER%\numpy\ >NUL + +:: Fix +call COMMON :FixMSCRT %UNPACK_FOLDER%\numpy\ + +endlocal&goto :EOF +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:UnpackSciPy +:: +:: By: Perica Zivkovic +:: Func: Downloads and extracts scipy +:: Args: none +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +setlocal ENABLEEXTENSIONS + +:: Download +call COMMON :DownloadFile %SCIPY_DOWNLOAD% + +:: Verify +call COMMON :VerifyFile %SCIPY_FILE% MD5 %SCIPY_ZIP_MD5% + +:: Unpack files +call COMMON :LogMessage "Extracting SciPy files" +tools\uniextract16\bin\7z.exe x "%BIN_FOLDER%\%SCIPY_FILE%" -o%UNPACK_FOLDER%\scipy\ -y >NUL +tools\uniextract16\bin\7z.exe x "%UNPACK_FOLDER%\scipy\%SCIPY_FILE_NOSSE%" -o%UNPACK_FOLDER%\scipy\ -y >NUL + +:: Fix +call COMMON :FixMSCRT %UNPACK_FOLDER%\scipy\ + +endlocal&goto :EOF +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:UnpackPyWin32 +:: +:: By: Perica Zivkovic +:: Func: Downloads and extracts pywin32 +:: Args: none +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +setlocal ENABLEEXTENSIONS + +:: Download +call COMMON :DownloadFile %PYWIN32_DOWNLOAD% + +:: Verify +call COMMON :VerifyFile %PYWIN32_FILE% MD5 %PYWIN32_MD5% + +:: Unpack files +call COMMON :LogMessage "Extracting PyWin32 files" +mkdir %UNPACK_FOLDER%\pywin32-temp\ +tools\uniextract16\bin\7z.exe x "%BIN_FOLDER%\%PYWIN32_FILE%" -o%UNPACK_FOLDER%\pywin32-temp\ >NUL + +mkdir %UNPACK_FOLDER%\pywin32\ +mkdir %UNPACK_FOLDER%\pywin32\Lib +mkdir %UNPACK_FOLDER%\pywin32\Lib\site-packages\ + +xcopy /QEY %UNPACK_FOLDER%\pywin32-temp\PLATLIB\pywin32_system32\*.* %UNPACK_FOLDER%\pywin32\ >NUL +rmdir /S /Q %UNPACK_FOLDER%\pywin32-temp\PLATLIB\pywin32_system32 >NUL +xcopy /QEY %UNPACK_FOLDER%\pywin32-temp\PLATLIB\*.* %UNPACK_FOLDER%\pywin32\Lib\site-packages\ >NUL + +:: Fix +call COMMON :FixMSCRT %UNPACK_FOLDER%\pywin32\ + +endlocal&goto :EOF +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:UnpackNetworkX +:: +:: By: Perica Zivkovic +:: Func: Downloads and extracts networkx +:: Args: none +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +setlocal ENABLEEXTENSIONS + +:: Download +call COMMON :DownloadFile %NETWORKX_DOWNLOAD% + +:: Verify +call COMMON :VerifyFile %NETWORKX_FILE% MD5 %NETWORKX_MD5% >NUL + +:: Unpack files +call COMMON :LogMessage "Extracting networkx files" +tools\uniextract16\UniExtract.exe "%BIN_FOLDER%\%NETWORKX_FILE%" %UNPACK_FOLDER%\networkx\ >NUL + +:: Fix +call COMMON :FixMSCRT %UNPACK_FOLDER%\networkx\ + +endlocal&goto :EOF +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:UnpackMatplotlib +:: +:: By: Perica Zivkovic +:: Func: Downloads and extracts Matplotlib +:: Args: none +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +setlocal ENABLEEXTENSIONS + +:: Download +call COMMON :DownloadFile %MATPLOTLIB_DOWNLOAD% + +:: Verify +call COMMON :VerifyFile %MATPLOTLIB_FILE% MD5 %MATPLOTLIB_MD5% + +:: Unpack files +call COMMON :LogMessage "Extracting matplotlib files" +tools\uniextract16\bin\7z.exe x "%BIN_FOLDER%\%MATPLOTLIB_FILE%" -o%UNPACK_FOLDER%\matplotlib\ -y >NUL + +:: Fix +call COMMON :FixMSCRT %UNPACK_FOLDER%\matplotlib\ + +endlocal&goto :EOF +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:UnpackLXML +:: +:: By: Perica Zivkovic +:: Func: Downloads and extracts LXML +:: Args: none +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +setlocal ENABLEEXTENSIONS + +:: Download +call COMMON :DownloadFile %LXML_DOWNLOAD% + +:: Unpack files +call COMMON :LogMessage "Extracting LXML files" +tools\uniextract16\UniExtract.exe "%BIN_FOLDER%\%LXML_FILE%" %UNPACK_FOLDER%\lxml\ 1>NUL 2>NUL + +:: Fix +call COMMON :FixMSCRT %UNPACK_FOLDER%\lxml\ + +endlocal&goto :EOF +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:UnpackPySerial +:: +:: By: Perica Zivkovic +:: Func: Downloads and extracts PySerial +:: Args: none +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +setlocal ENABLEEXTENSIONS + +:: Download +call COMMON :DownloadFile %PY_SERIAL_DOWNLOAD% %PY_SERIAL_FILE% + +:: Verify +call COMMON :VerifyFile %PY_SERIAL_FILE% MD5 %PY_SERIAL_MD5% + +:: Unpack files +call COMMON :LogMessage "Extracting PySerial files" +tools\uniextract16\UniExtract.exe "%BIN_FOLDER%\%PY_SERIAL_FILE%" %UNPACK_FOLDER%\pyserial\ >NUL + +:: Fix +call COMMON :FixMSCRT %UNPACK_FOLDER%\pyserial\ + +endlocal&goto :EOF +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:UnpackPyODBC +:: +:: By: Perica Zivkovic +:: Func: Downloads and extracts PyODBC +:: Args: none +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +setlocal ENABLEEXTENSIONS + +:: Download +call COMMON :DownloadFile %PYODBC_DOWNLOAD% + +:: Verify +call COMMON :VerifyFile %PYODBC_FILE% SHA1 %PYODBC_SHA1% + +:: Unpack files +call COMMON :LogMessage "Extracting PyODBC files" +tools\uniextract16\UniExtract.exe "%BIN_FOLDER%\%PYODBC_FILE%" %UNPACK_FOLDER%\pyodbc\ >NUL + +:: Fix +call COMMON :FixMSCRT %UNPACK_FOLDER%\pyodbc\ + +endlocal&goto :EOF +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:UnpackPyQT +:: +:: By: Perica Zivkovic +:: Func: Downloads and extracts PyQT +:: Args: none +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +setlocal ENABLEEXTENSIONS + +:: Download +call COMMON :DownloadFile %PYQT_DOWNLOAD% + +:: Verify +call COMMON :VerifyFile %PYQT_FILE% MD5 %PYQT_MD5% + +:: Unpack files +call COMMON :LogMessage "Extracting PyQT files" +tools\uniextract16\UniExtract.exe "%BIN_FOLDER%\%PYQT_FILE%" %UNPACK_FOLDER%\pyqt\ >NUL + +:: Patch uic +call COMMON :LogMessage "Patching PyQt4 uic" +echo "#" > "%UNPACK_FOLDER%\pyqt\$[31]\uic\port_v3\__init__.py" +mkdir "%UNPACK_FOLDER%\pyqt\Lib\site-packages\PyQt4\uic" +xcopy /EY "%UNPACK_FOLDER%\pyqt\$[31]\uic" "%UNPACK_FOLDER%\pyqt\Lib\site-packages\PyQt4\uic" >NUL +mkdir "%UNPACK_FOLDER%\pyqt\Lib\site-packages\PyQt4\doc" +xcopy /EY "%UNPACK_FOLDER%\pyqt\$[31]\doc" "%UNPACK_FOLDER%\pyqt\Lib\site-packages\PyQt4\doc" >NUL +xcopy /EY "%UNPACK_FOLDER%\pyqt\$[31]\include" "%UNPACK_FOLDER%\pyqt\Lib\site-packages\PyQt4\include" >NUL + +:: Patch Qt.conf +echo [Paths] >> "%UNPACK_FOLDER%\pyqt\Lib\site-packages\PyQt4\qt.conf" +echo Prefix = . >> "%UNPACK_FOLDER%\pyqt\Lib\site-packages\PyQt4\qt.conf" +echo Binaries = . >> "%UNPACK_FOLDER%\pyqt\Lib\site-packages\PyQt4\qt.conf" + +:: Unpack MSCRT patch +call COMMON :LogMessage "Extracting MSCRT patch" +tools\uniextract16\UniExtract.exe patches\Microsoft.VC90.CRT.PPpatch %UNPACK_FOLDER%\pyqt\Lib\site-packages\PyQt4 >NUL + +:: Build Shortcut +call COMMON :LogMessage "Build QtDesigner shortcut" +tools\nsis\makensis.exe /V0 /DSHORTCUTNAME=QtDesigner /DPY_VERSION=%PY_VERSION% /DPP_VERSION=%PP_VERSION% /DPY_SHORT_VERSION=%PY_SHORT_VERSION% shortcuts\shortcut.nsi + +:: Copy shortcut +call COMMON :LogMessage "Copy QtDesigner Portable shortcut" +copy shortcuts\QtDesigner-Portable.exe "%UNPACK_FOLDER%" 1>NUL + +:: Fix +call COMMON :FixMSCRT %UNPACK_FOLDER%\pyqt\ + +endlocal&goto :EOF +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:UnpackIPython +:: +:: By: Perica Zivkovic +:: Func: Downloads and extracts IPython +:: Args: none +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +setlocal ENABLEEXTENSIONS + +:: Download +call COMMON :DownloadFile %IPYTHON_DOWNLOAD% + +:: Verify +call COMMON :VerifyFile %IPYTHON_FILE% MD5 %IPYTHON_MD5% + +:: Unpack files +call COMMON :LogMessage "Extracting IPython files" +tools\uniextract16\bin\7z.exe x "%BIN_FOLDER%\%IPYTHON_FILE%" -o%UNPACK_FOLDER%\ipython\ -y >NUL + +:: Fix +call COMMON :FixMSCRT %UNPACK_FOLDER%\ipython\ + +:: Unpack files +call COMMON :LogMessage "Extracting PyReadline files" +tools\uniextract16\bin\7z.exe x patches\pyreadline-2.0-dev1.win32-py3.2.PPpatch -o%UNPACK_FOLDER%\pyreadline\ -y >NUL + +:: Fix +call COMMON :FixMSCRT %UNPACK_FOLDER%\pyreadline\ + +:: Build Shortcuts +call COMMON :LogMessage "Build shortcuts" +tools\nsis\makensis.exe /V0 /DSHORTCUTNAME=IPython /DPY_VERSION=%PY_VERSION% /DPP_VERSION=%PP_VERSION% shortcuts\shortcut.nsi + +:: Copy shortcut +call COMMON :LogMessage "Copy Python Portable shortcut" +copy shortcuts\IPython-Portable.exe "%UNPACK_FOLDER%" 1>NUL + +endlocal&goto :EOF +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:UnpackPandas +:: +:: By: Perica Zivkovic +:: Func: Downloads and extracts Pandas +:: Args: none +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +setlocal ENABLEEXTENSIONS + +:: Download +call COMMON :DownloadFile %PANDAS_DOWNLOAD% + +:: Unpack files +call COMMON :LogMessage "Extracting Pandas files" +tools\uniextract16\UniExtract.exe "%BIN_FOLDER%\%PANDAS_FILE%" %UNPACK_FOLDER%\pandas\ >NUL + +:: Fix +call COMMON :FixMSCRT %UNPACK_FOLDER%\pandas\ + +endlocal&goto :EOF +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:UnpackPyCharm +:: +:: By: Krzysztof Cebulski +:: Func: Downloads and extracts PyCharm Community Edition +:: Args: none +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +setlocal ENABLEEXTENSIONS +:: Download PyCharm +call COMMON :DownloadFile %PYCHARM_DOWNLOAD% + +:: Verify +call COMMON :VerifyFile %PYCHARM_FILE% MD5 %PYCHARM_MD5% + +:: Unpack files +call COMMON :LogMessage "Extracting PyCharm files" +tools\uniextract16\UniExtract.exe "%BIN_FOLDER%\%PYCHARM_FILE%" %UNPACK_FOLDER%\pycharm-temp >NUL + +:: Copy files to PyCharm folder +call COMMON :LogMessage "Copy files to PyCharm folder" +RD %UNPACK_FOLDER%\pycharm-temp\$PLUGINSDIR /S /Q +RD %UNPACK_FOLDER%\pycharm-temp\bin\$PLUGINSDIR /S /Q +mkdir %UNPACK_FOLDER%\PyCharm +mkdir %UNPACK_FOLDER%\PyCharm\App +move /Y "%UNPACK_FOLDER%\pycharm-temp" "%UNPACK_FOLDER%\PyCharm\App\PyCharm" + +:: Patch PyCharm +call COMMON :LogMessage "Patch PyCharm" +del %UNPACK_FOLDER%\PyCharm\App\PyCharm\bin\idea.properties /Q +tools\uniextract16\UniExtract.exe "patches\PyCharm.3.1.x.PPpatch" "%UNPACK_FOLDER%\PyCharm\App\PyCharm" >NUL + +:: Replace @PY_VERSION@ in jdk.table.xml.tmp to %PY_VERSION% jdk.table.xml +setlocal ENABLEDELAYEDEXPANSION +set filein="%UNPACK_FOLDER%\PyCharm\App\PyCharm\.PyCharm30\config\options\jdk.table.xml.tmp" +set fileout="%UNPACK_FOLDER%\PyCharm\App\PyCharm\.PyCharm30\config\options\jdk.table.xml" +set old=@PY_VERSION@ +set new=%PY_VERSION% +for /f "tokens=* delims=¶" %%i in ( '"type %filein%"') do ( + set str=%%i + set str=!str:%old%=%new%! + echo !str! >> %fileout% +) +del %filein% + +:: Build Shortcut +call COMMON :LogMessage "Build PyCharm shortcut" +tools\nsis\makensis.exe /V0 /DSHORTCUTNAME=PyCharm /DPY_VERSION=%PY_VERSION% /DPP_VERSION=%PP_VERSION% shortcuts\shortcut.nsi + +:: Copy shortcuts +call COMMON :LogMessage "Copy PyCharm shortcut" +copy shortcuts\PyCharm-Portable.exe "%UNPACK_FOLDER%" >NUL + +endlocal&goto :EOF +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: \ No newline at end of file diff --git a/3.4/modules.nsh b/3.4/modules.nsh new file mode 100644 index 0000000..a992225 --- /dev/null +++ b/3.4/modules.nsh @@ -0,0 +1,117 @@ +; ================================================================= +; The MIT License (MIT) +; Copyright (c) 2007 Perica Zivkovic + +; Permission is hereby granted, free of charge, to any person obtaining a copy +; of this software and associated documentation files (the "Software"), to deal +; in the Software without restriction, including without limitation the rights +; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +; copies of the Software, and to permit persons to whom the Software is furnished +; to do so, subject to the following conditions: + +; The above copyright notice and this permission notice shall be included in all +; copies or substantial portions of the Software. + +; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +; IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +; DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +; ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +; OTHER DEALINGS IN THE SOFTWARE. + +; http://PortablePython.com +; ================================================================= + +InstType "Full" +InstType "Minimal" + +Section "!Python 3.4.3 core (x64)" PYTHON_CORE + SectionIn 1 2 RO + SetOutPath "$INSTDIR" + File /r "${SOURCESFOLDER}\python-core\*.*" + File "${SOURCESFOLDER}\Python-Portable.exe" + File "${SOURCESFOLDER}\IDLE-Portable.exe" +SectionEnd + +;SectionGroup "Modules" +; Section "NumPy 1.7.1" MODULE_NUMPY +; SectionIn 1 +; SetOutPath "$INSTDIR\App\Lib\site-packages\" +; File /r "${SOURCESFOLDER}\numpy\PLATLIB\*.*" +; SectionEnd +; Section "SciPy 0.12.0" MODULE_SCIPY +; SectionIn 1 +; SetOutPath "$INSTDIR\App\Lib\site-packages\" +; File /r "${SOURCESFOLDER}\scipy\PLATLIB\*.*" +; SectionEnd +; Section "PyWin32 218" MODULE_PYWIN32 +; SectionIn 1 +; SetOutPath "$INSTDIR\App\" +; File /r "${SOURCESFOLDER}\pywin32\*.*" +; SectionEnd +; Section "NetworkX 1.7" MODULE_NETWORKX +; SectionIn 1 +; SetOutPath "$INSTDIR\App\Lib\site-packages\networkx\" +; File /r "${SOURCESFOLDER}\networkx\networkx\*.*" +; SectionEnd +; Section "matplotlib 1.2.1" MODULE_MATPLOTLIB +; SectionIn 1 +; SetOutPath "$INSTDIR\App\Lib\site-packages\" +; File /r "${SOURCESFOLDER}\matplotlib\PLATLIB\*.*" +; SectionEnd +; Section "lxml 2.3" MODULE_LXML +; SectionIn 1 +; SetOutPath "$INSTDIR\App\Lib\site-packages\" +; File /r "${SOURCESFOLDER}\lxml\PLATLIB\*.*" +; SectionEnd +; Section "PySerial 2.5" MODULE_PY_SERIAL +; SectionIn 1 +; SetOutPath "$INSTDIR\App\Lib\site-packages\" +; File /r "${SOURCESFOLDER}\pyserial\PURELIB\*.*" +; SectionEnd +; Section "PyODBC 3.0.2" MODULE_PYODBC +; SectionIn 1 +; SetOutPath "$INSTDIR\App\Lib\site-packages\" +; File /r "${SOURCESFOLDER}\pyodbc\PLATLIB\*.*" +; SectionEnd +; Section "PyQT 4.9.6-1" MODULE_PYQT +; SectionIn 1 +; SetOutPath "$INSTDIR\App\Lib\" +; File /r "${SOURCESFOLDER}\pyqt\Lib\*.*" +; SetOutPath "$INSTDIR" +; File "${SOURCESFOLDER}\QtDesigner-Portable.exe" +; SectionEnd +; Section "IPython 0.13.1" MODULE_IPYTHON +; SectionIn 1 +; SetOutPath "$INSTDIR\App\Lib\site-packages\" +; File /r "${SOURCESFOLDER}\ipython\PURELIB\*.*" +; SetOutPath "$INSTDIR\App\Lib\site-packages\" +; File /r "${SOURCESFOLDER}\pyreadline\PURELIB\*.*" +; SetOutPath "$INSTDIR" +; File "${SOURCESFOLDER}\IPython-Portable.exe" +; SectionEnd +; Section "Pandas 0.11.0" MODULE_PANDAS +; SectionIn 1 +; SetOutPath "$INSTDIR\App\Lib\site-packages\" +; File /r "${SOURCESFOLDER}\pandas\PLATLIB\*.*" +; SectionEnd +;SectionGroupEnd +; +SectionGroup "Code editors" + Section "PyScripter 2.6.0" IDE_PYSCRIPTER + SectionIn 1 2 + SetOutPath "$INSTDIR" + File /r "${SOURCESFOLDER}\PyScripter\*.*" + File "${SOURCESFOLDER}\PyScripter-Portable.exe" + SectionEnd + ; Section "PyCharm Community 3.1.2" IDE_PYCHARM + ; SectionIn 1 + ; SetOutPath "$INSTDIR" + ; File /r "${SOURCESFOLDER}\PyCharm\*.*" + ; File "${SOURCESFOLDER}\PyCharm-Portable.exe" + ; SectionEnd +SectionGroupEnd + + + diff --git a/3.4/settings.bat b/3.4/settings.bat new file mode 100644 index 0000000..b409002 --- /dev/null +++ b/3.4/settings.bat @@ -0,0 +1,85 @@ +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: The MIT License (MIT) +:: Copyright (c) 2007 Perica Zivkovic + +:: Permission is hereby granted, free of charge, to any person obtaining a +:: copy of this software and associated documentation files (the "Software"), +:: to deal in the Software without restriction, including without limitation +:: the rights to use, copy, modify, merge, publish, distribute, sublicense, +:: and/or sell copies of the Software, and to permit persons to whom the +:: Software is furnished to do so, subject to the following conditions: + +:: The above copyright notice and this permission notice shall be included +:: in all copies or substantial portions of the Software. + +:: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +:: OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +:: FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +:: AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +:: WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +:: CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +:: http://PortablePython.com +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +set PY_VERSION=3.4 +set PP_VERSION=3.1 +set PY_SHORT_VERSION=34 + +:: Modules +set PY_MSI_DOWNLOAD="https://www.python.org/ftp/python/3.4.3/python-3.4.3.amd64.msi" +set PY_MSI_FILE=python-3.4.3.amd64.msi +set PY_MSI_MD5=f6ade29acaf8fcdc0463e69a6e7ccf87 + +set PY_SCRIPTER_DOWNLOAD="http://sourceforge.net/projects/pyscripter/files/PyScripter-v2.6.0-x64.zip" +set PY_SCRIPTER_FILE=PyScripter-v2.6.0-x64.zip +set PY_SCRIPTER_SHA1=ebdf3920a186a00d57a631aaa3aeefcfe099f88d + +set NUMPY_DOWNLOAD="http://sourceforge.net/projects/numpy/files/NumPy/1.7.1/numpy-1.7.1-win32-superpack-python3.2.exe" +set NUMPY_FILE=numpy-1.7.1-win32-superpack-python3.2.exe +set NUMPY_FILE_NOSSE=numpy-1.7.1-nosse.exe +set NUMPY_ZIP_MD5=bb0d30de007d649757a2d6d2e1c59c9a + +set SCIPY_DOWNLOAD="http://sourceforge.net/projects/scipy/files/scipy/0.12.0/scipy-0.12.0-win32-superpack-python3.2.exe" +set SCIPY_FILE=scipy-0.12.0-win32-superpack-python3.2.exe +set SCIPY_FILE_NOSSE=scipy-0.12.0-nosse.exe +set SCIPY_ZIP_MD5=391b306093c43f58d6588cee76bf0c10 + +set PYWIN32_DOWNLOAD="http://sourceforge.net/projects/pywin32/files/pywin32/Build 218/pywin32-218.win32-py3.2.exe" +set PYWIN32_FILE=pywin32-218.win32-py3.2.exe +set PYWIN32_MD5=527c69c12ab817d2d325b378adb32583 + +set NETWORKX_DOWNLOAD="http://pypi.python.org/packages/3.2/n/networkx/networkx-1.7-py3.2.egg" +set NETWORKX_FILE=networkx-1.7-py3.2.egg +set NETWORKX_MD5=5a852d8e2c815dd69ffce22e6056af9e + +set MATPLOTLIB_DOWNLOAD="http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.2.1/matplotlib-1.2.1.win32-py3.2.exe" +set MATPLOTLIB_FILE=matplotlib-1.2.1.win32-py3.2.exe +set MATPLOTLIB_MD5=e888b2d1d3e2d914209a1c46532384fc + +set LXML_DOWNLOAD="http://pypi.python.org/packages/3.2/l/lxml/lxml-2.3.win32-py3.2.exe" +set LXML_FILE=lxml-2.3.win32-py3.2.exe + +set PY_SERIAL_DOWNLOAD="http://pypi.python.org/packages/any/p/pyserial/pyserial-py3k-2.5.win32.exe" +set PY_SERIAL_FILE=pyserial-py3k-2.5.win32.exe +set PY_SERIAL_MD5=c7d770dede6f6c6197d9652a7658f18e + +set PYODBC_DOWNLOAD="http://pyodbc.googlecode.com/files/pyodbc-3.0.2.win32-py3.2.exe" +set PYODBC_FILE=pyodbc-3.0.2.win32-py3.2.exe +set PYODBC_SHA1=9abe8b36be9f3a2dbb427a4a049e9b70cd909c6d + +set PYQT_DOWNLOAD="http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.9.6/PyQt-Py3.2-x86-gpl-4.9.6-1.exe" +set PYQT_FILE=PyQt-Py3.2-x86-gpl-4.9.6-1.exe +set PYQT_MD5=9c4a1b3b1246e936c3439c0e8a1d5774 + +set IPYTHON_DOWNLOAD="http://pypi.python.org/packages/any/i/ipython/ipython-0.13.1.py3-win32.exe" +set IPYTHON_FILE=ipython-0.13.1.py3-win32.exe +set IPYTHON_MD5=43c1c567b920b718a38fffd1866a4392 + +set PANDAS_DOWNLOAD="https://pypi.python.org/packages/3.2/p/pandas/pandas-0.11.0.win32-py3.2.exe" +set PANDAS_FILE=pandas-0.11.0.win32-py3.2.exe +set PANDAS_MD5=7f11d2f59284c5ba64e7d781e1023f95 + +set PYCHARM_DOWNLOAD="http://download-cf.jetbrains.com/python/pycharm-community-3.1.2.exe" +set PYCHARM_FILE=pycharm-community-3.1.2.exe +set PYCHARM_MD5=4707668758b044bf5a4214557e7a15fa \ No newline at end of file diff --git a/patches/PyScripter26.ini b/patches/PyScripter26.ini new file mode 100644 index 0000000..b7015b9 --- /dev/null +++ b/patches/PyScripter26.ini @@ -0,0 +1,3423 @@ +[Factory Toolbar Items v1.0] +Item0=[Items] +Item1=Count=46 +Item2=0=MainToolBar, tbiFileNewModule, Ctrl+N +Item3=1=MainToolBar, tbiFileOpen, Ctrl+O +Item4=2=MainToolBar, tbiFileSave, Ctrl+S +Item5=3=MainToolBar, tbiFileSaveAll, 0 +Item6=4=MainToolBar, TBXSeparatorItem1, 0 +Item7=5=MainToolBar, tbiFilePrint, Ctrl+P +Item8=6=MainToolBar, TBXSeparatorItem2, 0 +Item9=7=MainToolBar, tbiEditCut, Ctrl+X +Item10=8=MainToolBar, tbiEditCopy, Ctrl+C +Item11=9=MainToolBar, tbiEditPaste, Ctrl+V +Item12=10=MainToolBar, TBXSeparatorItem3, 0 +Item13=11=MainToolBar, tbiEditUndo, Ctrl+Z +Item14=12=MainToolBar, tbiEditRedo, Shift+Ctrl+Z +Item15=13=MainToolBar, TBXSeparatorItem4, 0 +Item16=14=MainToolBar, tbiSearchFind, Ctrl+F +Item17=15=MainToolBar, tbiSearchFindNext, F3 +Item18=16=MainToolBar, tbiSearchReplace, Ctrl+H +Item19=17=MainToolBar, tbiFindInFiles, Shift+Ctrl+F +Item20=18=MainToolBar, mnuFindInFilesResults, Ctrl+Alt+F +Item21=19=MainToolBar, TBXSeparatorItem5, 0 +Item22=20=MainToolBar, tbiAbout, 0 +Item23=21=DebugToolbar, tbiRunRun, Ctrl+F9 +Item24=22=DebugToolbar, TBXSeparatorItem6, 0 +Item25=23=DebugToolbar, tbiRunDebug, F9 +Item26=24=DebugToolbar, tbiRunRunToCursor, F4 +Item27=25=DebugToolbar, tbiRunStepInto, F7 +Item28=26=DebugToolbar, tbiRunStepOver, F8 +Item29=27=DebugToolbar, tbiRunStepOut, Shift+F8 +Item30=28=DebugToolbar, tbiRunPause, 0 +Item31=29=DebugToolbar, tbiRunAbort, Ctrl+Alt+F9 +Item32=30=DebugToolbar, TBXSeparatorItem7, 0 +Item33=31=DebugToolbar, tbiRunToggleBreakpoint, F5 +Item34=32=DebugToolbar, tbiRunClearAllBreakpoints, 0 +Item35=33=ViewToolbar, tbiViewThemes, 0 +Item36=34=ViewToolbar, tbiViewLayouts, 0 +Item37=35=EditorToolbar, tbiBrowsePrevious, Alt+Left +Item38=36=EditorToolbar, tbiBrowseNext, Alt+Right +Item39=37=EditorToolbar, TBXSeparatorItem14, 0 +Item40=38=EditorToolbar, tbiEditDedent, Shift+Ctrl+U +Item41=39=EditorToolbar, tbiEditIndent, Shift+Ctrl+I +Item42=40=EditorToolbar, TBXSeparatorItem10, 0 +Item43=41=EditorToolbar, tbiEditToggleComment, Ctrl+' +Item44=42=EditorToolbar, TBXSeparatorItem11, 0 +Item45=43=EditorToolbar, tbiEditLineNumbers, 0 +Item46=44=EditorToolbar, tbiEditWordWrap, 0 +Item47=45=EditorToolbar, tbiEditSpecialCharacters, 0 +Item48= +Count=49 + +[Layouts\Default\Forms] +FormNames=FileExplorerWindow;ProjectExplorerWindow;CodeExplorerWindow;TJvDockTabHostForm_FileExplorerWindow_ProjectExplorerWindow_0000000002A52680;PyIDEMainForm@LeftDockPanel;PyIDEMainForm@LeftDockPanel_PopupPanel;PyIDEMainForm@RightDockPanel;PyIDEMainForm@RightDockPanel_PopupPanel;PyIDEMainForm@TopDockPanel;PyIDEMainForm@TopDockPanel_PopupPanel;CallStackWindow;VariablesWindow;WatchesWindow;BreakPointsWindow;OutputWindow;MessagesWindow;PythonIIForm;TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90;PyIDEMainForm@BottomDockPanel;PyIDEMainForm@BottomDockPanel_PopupPanel;PyIDEMainForm;ToDoWindow;RegExpTesterWindow;UnitTestWindow;FindResultsWindow; + +[Layouts\Default\Forms\FileExplorerWindow] +ParentName=TJvDockTabHostForm_FileExplorerWindow_ProjectExplorerWindow_0000000002A52680 +DockLeft=2 +DockTop=2 +DockRight=198 +DockBottom=258 +LastDockSiteName=Cannot find window +UnDockLeft=398 +UnDockTop=201 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=243 +UnDockHeight=478 +DockClientData= + +[Layouts\Default\Forms\ProjectExplorerWindow] +ParentName=TJvDockTabHostForm_FileExplorerWindow_ProjectExplorerWindow_0000000002A52680 +DockLeft=356 +DockTop=263 +DockRight=599 +DockBottom=710 +LastDockSiteName=Cannot find window +UnDockLeft=356 +UnDockTop=263 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=243 +UnDockHeight=447 +DockClientData= + +[Layouts\Default\Forms\CodeExplorerWindow] +ParentName=TJvDockTabHostForm_FileExplorerWindow_ProjectExplorerWindow_0000000002A52680 +DockLeft=237 +DockTop=237 +DockRight=502 +DockBottom=582 +LastDockSiteName=Cannot find window +UnDockLeft=237 +UnDockTop=237 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=265 +UnDockHeight=345 +DockClientData= + +[Layouts\Default\Forms\TJvDockTabHostForm_FileExplorerWindow_ProjectExplorerWindow_0000000002A52680] +ParentName=PyIDEMainForm@LeftDockPanel +DockTop=23 +DockRight=200 +DockBottom=306 +LastDockSiteName=Cannot find window +UnDockLeft=398 +UnDockTop=201 +LRDockWidth=220 +TBDockHeight=461 +UnDockWidth=243 +UnDockHeight=478 +DockFormStyle=2 +DockClientData=00000400030000001200000046696C654578706C6F72657257696E646F77010000001500000050726F6A6563744578706C6F72657257696E646F770100000012000000436F64654578706C6F72657257696E646F770100000000000000F6FFFFFF + +[Layouts\Default\Forms\PyIDEMainForm@LeftDockPanel] +ParentName=PyIDEMainForm +DockTop=51 +DockRight=200 +DockBottom=357 +LastDockSiteName= +UnDockWidth=200 +UnDockHeight=306 +DockFormStyle=3 +CanDocked=FALSE +EachOtherDocked=FALSE +LeftDocked=FALSE +TopDocked=FALSE +RightDocked=FALSE +BottomDocked=FALSE +CustomDocked=FALSE +DockClientData=0000040000000000000000000000000000010000000000010000000001010000000000000000010100000000014C000000544A76446F636B546162486F7374466F726D5F46696C654578706C6F72657257696E646F775F50726F6A6563744578706C6F72657257696E646F775F3030303030303030303241353236383001FFFFFFFF + +[Layouts\Default\Forms\PyIDEMainForm@LeftDockPanel_PopupPanel] +ParentName=PyIDEMainForm +LastDockSiteName= +Visible=FALSE +DockFormStyle=3 +CanDocked=FALSE +EachOtherDocked=FALSE +LeftDocked=FALSE +TopDocked=FALSE +RightDocked=FALSE +BottomDocked=FALSE +CustomDocked=FALSE +DockClientData=0000040000000000000000000000000000010000000000010000000001FFFFFFFF + +[Layouts\Default\Forms\PyIDEMainForm@RightDockPanel] +ParentName=PyIDEMainForm +DockLeft=779 +DockTop=51 +DockRight=779 +DockBottom=357 +LastDockSiteName= +UnDockHeight=306 +DockFormStyle=3 +CanDocked=FALSE +EachOtherDocked=FALSE +LeftDocked=FALSE +TopDocked=FALSE +RightDocked=FALSE +BottomDocked=FALSE +CustomDocked=FALSE +DockClientData=0000040000000000000000000000000000010000000000010000000001FFFFFFFF + +[Layouts\Default\Forms\PyIDEMainForm@RightDockPanel_PopupPanel] +ParentName=PyIDEMainForm +LastDockSiteName= +Visible=FALSE +DockFormStyle=3 +CanDocked=FALSE +EachOtherDocked=FALSE +LeftDocked=FALSE +TopDocked=FALSE +RightDocked=FALSE +BottomDocked=FALSE +CustomDocked=FALSE +DockClientData=0000040000000000000000000000000000010000000000010000000001FFFFFFFF + +[Layouts\Default\Forms\PyIDEMainForm@TopDockPanel] +ParentName=PyIDEMainForm +DockTop=51 +DockRight=780 +DockBottom=51 +LastDockSiteName= +UnDockWidth=780 +DockFormStyle=3 +CanDocked=FALSE +EachOtherDocked=FALSE +LeftDocked=FALSE +TopDocked=FALSE +RightDocked=FALSE +BottomDocked=FALSE +CustomDocked=FALSE +DockClientData=0000040000000000000000000000000000010000000000010000000001FFFFFFFF + +[Layouts\Default\Forms\PyIDEMainForm@TopDockPanel_PopupPanel] +ParentName=PyIDEMainForm +LastDockSiteName= +Visible=FALSE +DockFormStyle=3 +CanDocked=FALSE +EachOtherDocked=FALSE +LeftDocked=FALSE +TopDocked=FALSE +RightDocked=FALSE +BottomDocked=FALSE +CustomDocked=FALSE +DockClientData=0000040000000000000000000000000000010000000000010000000001FFFFFFFF + +[Layouts\Default\Forms\CallStackWindow] +ParentName=TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90 +DockLeft=569 +DockTop=397 +DockRight=966 +DockBottom=604 +LastDockSiteName=Cannot find window +UnDockLeft=569 +UnDockTop=397 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=397 +UnDockHeight=207 +DockClientData= + +[Layouts\Default\Forms\VariablesWindow] +ParentName=TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90 +DockLeft=237 +DockTop=237 +DockRight=832 +DockBottom=523 +LastDockSiteName=Cannot find window +UnDockLeft=237 +UnDockTop=237 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=595 +UnDockHeight=286 +LeftDocked=FALSE +RightDocked=FALSE +DockClientData= + +[Layouts\Default\Forms\WatchesWindow] +ParentName=TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90 +DockLeft=331 +DockTop=325 +DockRight=1107 +DockBottom=593 +LastDockSiteName=Cannot find window +UnDockLeft=331 +UnDockTop=325 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=776 +UnDockHeight=268 +DockClientData= + +[Layouts\Default\Forms\BreakPointsWindow] +ParentName=TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90 +DockLeft=491 +DockTop=381 +DockRight=886 +DockBottom=664 +LastDockSiteName=Cannot find window +UnDockLeft=491 +UnDockTop=381 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=395 +UnDockHeight=283 +DockClientData= + +[Layouts\Default\Forms\OutputWindow] +ParentName=TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90 +DockLeft=319 +DockTop=173 +DockRight=887 +DockBottom=543 +LastDockSiteName=Cannot find window +UnDockLeft=319 +UnDockTop=173 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=568 +UnDockHeight=370 +DockClientData= + +[Layouts\Default\Forms\MessagesWindow] +ParentName=TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90 +DockLeft=259 +DockTop=257 +DockRight=968 +DockBottom=482 +LastDockSiteName=Cannot find window +UnDockLeft=259 +UnDockTop=257 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=709 +UnDockHeight=225 +DockClientData= + +[Layouts\Default\Forms\PythonIIForm] +ParentName=TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90 +DockLeft=2 +DockTop=2 +DockRight=778 +DockBottom=102 +LastDockSiteName=Cannot find window +UnDockLeft=104 +UnDockTop=104 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=960 +UnDockHeight=494 +DockClientData= + +[Layouts\Default\Forms\TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90] +ParentName=PyIDEMainForm@BottomDockPanel +DockTop=23 +DockRight=780 +DockBottom=150 +LastDockSiteName=Cannot find window +UnDockLeft=569 +UnDockTop=397 +LRDockWidth=780 +TBDockHeight=220 +UnDockWidth=397 +UnDockHeight=207 +DockFormStyle=2 +DockClientData=00000400070000000F00000043616C6C537461636B57696E646F77010000000F0000005661726961626C657357696E646F77010000000D0000005761746368657357696E646F770100000011000000427265616B506F696E747357696E646F77010000000C0000004F757470757457696E646F77010000000E0000004D6573736167657357696E646F77010000000C000000507974686F6E4949466F726D0100000006000000F6FFFFFF + +[Layouts\Default\Forms\PyIDEMainForm@BottomDockPanel] +ParentName=PyIDEMainForm +DockTop=388 +DockRight=780 +DockBottom=538 +LastDockSiteName= +UnDockWidth=780 +UnDockHeight=150 +DockFormStyle=3 +CanDocked=FALSE +EachOtherDocked=FALSE +LeftDocked=FALSE +TopDocked=FALSE +RightDocked=FALSE +BottomDocked=FALSE +CustomDocked=FALSE +DockClientData=00000400000000000000000000000000000100000000000100000000010100000000000000000101000000000143000000544A76446F636B546162486F7374466F726D5F43616C6C537461636B57696E646F775F5661726961626C657357696E646F775F3030303030303030303241353244393001FFFFFFFF + +[Layouts\Default\Forms\PyIDEMainForm@BottomDockPanel_PopupPanel] +ParentName=PyIDEMainForm +LastDockSiteName= +Visible=FALSE +DockFormStyle=3 +CanDocked=FALSE +EachOtherDocked=FALSE +LeftDocked=FALSE +TopDocked=FALSE +RightDocked=FALSE +BottomDocked=FALSE +CustomDocked=FALSE +DockClientData=0000040000000000000000000000000000010000000000010000000001FFFFFFFF + +[Layouts\Default\Forms\PyIDEMainForm] +ParentName= +DockLeft=-8 +DockTop=-8 +DockRight=788 +DockBottom=569 +LastDockSiteName= +LRDockWidth=796 +TBDockHeight=577 +UnDockWidth=796 +UnDockHeight=577 +BorderStyle=2 +WindowState=2 +DockClientData= + +[Layouts\Default\Forms\ToDoWindow] +ParentName= +DockLeft=377 +DockTop=226 +DockRight=885 +DockBottom=558 +LastDockSiteName=Cannot find window +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=508 +UnDockHeight=332 +Visible=FALSE +BorderStyle=5 +DockClientData= + +[Layouts\Default\Forms\RegExpTesterWindow] +ParentName= +DockLeft=356 +DockTop=263 +DockRight=756 +DockBottom=780 +LastDockSiteName=Cannot find window +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=400 +UnDockHeight=517 +Visible=FALSE +BorderStyle=5 +TopDocked=FALSE +BottomDocked=FALSE +DockClientData= + +[Layouts\Default\Forms\UnitTestWindow] +ParentName= +DockLeft=356 +DockTop=263 +DockRight=634 +DockBottom=753 +LastDockSiteName=Cannot find window +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=278 +UnDockHeight=490 +Visible=FALSE +BorderStyle=5 +TopDocked=FALSE +BottomDocked=FALSE +DockClientData= + +[Layouts\Default\Forms\FindResultsWindow] +ParentName= +DockLeft=362 +DockTop=146 +DockRight=981 +DockBottom=543 +LastDockSiteName=Cannot find window +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=619 +UnDockHeight=397 +Visible=FALSE +BorderStyle=5 +DockClientData= + +[Layouts\Default\Toolbars] +Item0=[Layouts] +Item1=Count=1 +Item2=0=Default +Item3= +Item4=[Default @ MainMenu] +Item5=Rev=2000 +Item6=Visible=1 +Item7=DockedTo=TBXDockTop +Item8=LastDock=TBXDockTop +Item9=DockRow=0 +Item10=DockPos=0 +Item11=FloatLeft=0 +Item12=FloatTop=0 +Item13=FloatRightX=0 +Item14=DisplayMode=0 +Item15= +Item16=[Default @ MainToolBar] +Item17=Rev=2000 +Item18=Visible=1 +Item19=DockedTo=TBXDockTop +Item20=LastDock=TBXDockTop +Item21=DockRow=1 +Item22=DockPos=3 +Item23=FloatLeft=0 +Item24=FloatTop=0 +Item25=FloatRightX=0 +Item26=DisplayMode=0 +Item27= +Item28=[Default @ DebugToolbar] +Item29=Rev=2000 +Item30=Visible=1 +Item31=DockedTo=TBXDockTop +Item32=LastDock=TBXDockTop +Item33=DockRow=1 +Item34=DockPos=361 +Item35=FloatLeft=0 +Item36=FloatTop=0 +Item37=FloatRightX=0 +Item38=DisplayMode=0 +Item39= +Item40=[Default @ ViewToolbar] +Item41=Rev=2000 +Item42=Visible=1 +Item43=DockedTo=TBXDockTop +Item44=LastDock=TBXDockTop +Item45=DockRow=1 +Item46=DockPos=728 +Item47=FloatLeft=0 +Item48=FloatTop=0 +Item49=FloatRightX=0 +Item50=DisplayMode=0 +Item51= +Item52=[Default @ EditorToolbar] +Item53=Rev=2000 +Item54=Visible=1 +Item55=DockedTo=TBXDockTop +Item56=LastDock=TBXDockTop +Item57=DockRow=1 +Item58=DockPos=574 +Item59=FloatLeft=0 +Item60=FloatTop=0 +Item61=FloatRightX=0 +Item62=DisplayMode=0 +Item63= +Item64=[Default @ FindToolbar] +Item65=Rev=2000 +Item66=Visible=0 +Item67=DockedTo=TBXDockTop +Item68=LastDock=TBXDockTop +Item69=DockRow=2 +Item70=DockPos=1 +Item71=FloatLeft=0 +Item72=FloatTop=0 +Item73=FloatRightX=0 +Item74=DisplayMode=0 +Item75= +Item76=[Default @ UserToolbar] +Item77=Rev=2000 +Item78=Visible=0 +Item79=DockedTo=TBXDockTop +Item80=LastDock=TBXDockTop +Item81=DockRow=2 +Item82=DockPos=310 +Item83=FloatLeft=0 +Item84=FloatTop=0 +Item85=FloatRightX=0 +Item86=DisplayMode=0 +Item87= +Item88=[Default @ TabSplitter] +Item89=SplitterRestorePos=60 +Item90= +Count=91 + +[Other Settings] +PyScripter Version=2.6.0.0 +Language= +File Explorer Filter=TRUE +File Explorer Path= +Status Bar=TRUE +Theme Name=Office 2003 +Active Project= + +[IDE Options] +TimeOut=0 +UndoAfterSave=TRUE +SaveFilesBeforeRun=TRUE +SaveEnvironmentBeforeRun=FALSE +RestoreOpenFiles=TRUE +CreateBackupFiles=FALSE +ExporerInitiallyExpanded=FALSE +SearchTextAtCaret=TRUE +PythonFileFilter=Python Files (*.py;*.pyw)|*.py;*.pyw +CythonFileFilter=Cython Files (*.pyx*.pxd;*.pxi)|*.pyx;*.pxd;*.pxi +HTMLFileFilter=HTML Documents (*.htm;*.html)|*.htm;*.html +XMLFileFilter=XML Files (*.xml;*.xsd;*.xsl;*.xslt;*.dtd)|*.xml;*.xsd;*.xsl;*.xslt;*.dtd +CSSFileFilter=Cascading Stylesheets (*.css)|*.css +CPPFileFilter=C/C++ Files (*.c;*.cpp;*.cc;*.h;*.hpp;*.hh;*.cxx;*.hxx;*.cu)|*.c;*.cpp;*.cc;*.h;*.hpp;*.hh;*.cxx;*.hxx;*.cu +YAMLFileFilter=ΑÏχεία YAML (*.yaml)|*.yaml +JSFileFilter=Javascript Files (*.js)|*.js +PHPFileFilter=PHP Files (*.php;*.php3;*.phtml;*.inc)|*.php;*.php3;*.phtml;*.inc +FileExplorerFilter=*.py;*.pyw +DateLastCheckedForUpdates=00E828CC31EC85A40E40 +AutoCheckForUpdates=TRUE +DaysBetweenChecks=7 +MaskFPUExceptions=TRUE +SpecialPackages=os, wx, scipy +UTF8inInterpreter=TRUE +ShowCodeHints=TRUE +ShowDebuggerHints=TRUE +AutoCompleteBrackets=TRUE +CommandLine= +UseCommandLine=FALSE +MarkExecutableLines=TRUE +CheckSyntaxAsYouType=TRUE +FileExplorerContextMenu=TRUE +NewFileLineBreaks=sffDos +NewFileEncoding=sf_Ansi +DetectUTF8Encoding=TRUE +EditorsTabPosition=ttpBottom +PythonEngineType=peRemote +PrettyPrintOutput=TRUE +SmartNextPrevPage=TRUE +AutoReloadChangedFiles=TRUE +ClearOutputBeforeRun=FALSE +AutoHideFindToolbar=FALSE +EditorCodeCompletion=TRUE +InterpreterCodeCompletion=TRUE +CodeCompletionListSize=8 +ShowTabCloseButton=TRUE +PostMortemOnException=FALSE +DockAnimationInterval=20 +DockAnimationMoveWidth=20 +InterpreterHistorySize=50 +SaveInterpreterHistory=TRUE +ReinitializeBeforeRun=TRUE +JumpToErrorOnException=TRUE +FileTemplateForNewScripts=Πηγαίος Κώδικας Python +HighlightSelectedWord=TRUE +UsePythonColorsInIDE=FALSE +FileChangeNotification=fcnNoMappedDrives +CodeCompletionCaseSensitive=TRUE +CompleteKeywords=TRUE +CompleteAsYouType=TRUE +CompleteWithWordBreakChars=FALSE +CompleteWithOneEntry=FALSE +DisplayPackageNames=TRUE +CheckSyntaxLineLimit=1000 + +[IDE Options\AutoCompletionFont] +Charset=DEFAULT_CHARSET +Color=clWindowText +Height=-15 +Name=Segoe UI +Orientation=0 +Pitch=fpDefault +Size=9 +Quality=fqDefault + +[IDE Options\AutoCompletionFont\Style] +fsBold=FALSE +fsItalic=FALSE +fsUnderline=FALSE +fsStrikeOut=FALSE + +[Editor Search Options] +SearchSelectionOnly=FALSE +SearchCaseSensitiveType=scsAuto +SearchFromCaret=TRUE +SearchTextAtCaret=TRUE +SearchWholeWords=FALSE +UseRegExp=FALSE +IncrementalSearch=TRUE + +[Code Templates] +Item0=hdr +Item1=|Python Module header +Item2==#------------------------------------------------------------------------------- +Item3==# Name: $[ActiveDoc-Name] +Item4==# Purpose: | +Item5==# +Item6==# Author: $[UserName] +Item7==# +Item8==# Created: $[DateTime-'DD/MM/YYYY'-DateFormat] +Item9==# Copyright: (c) $[UserName] $[DateTime-'YYYY'-DateFormat] +Item10==# Licence: +Item11==#------------------------------------------------------------------------------- +Item12=cl +Item13=|Comment Line +Item14==#------------------------------------------------------------------------------- +Item15==| +Item16=pyapp +Item17=|Python application +Item18==def main(): +Item19== |pass +Item20== +Item21==if __name__ == '__main__': +Item22== main() +Item23=cls +Item24=|Python class +Item25==class |(object): +Item26== """ +Item27== class comment +Item28== """ +Item29== +Item30== def __init__(self): +Item31== pass +Item32=fec +Item33=|File encoding comment +Item34==# -*- coding: UTF-8 -*- +Item35==| +Count=36 + +[Secondary Tabs] +Visible=FALSE + +[Find in Files Results Options] +ResultsHeight=185 +ShowToolBar=TRUE +ShowStatusBar=TRUE +ShowContext=TRUE + +[Variables Window Options] +DocPanelWidth=375 +Types Visible=TRUE +Names Width=160 +Types Width=100 + +[Call Stack Window Options] +Function Width=100 +Line Width=50 + +[Breakpoints Window Options] +FileName Width=200 +Line Width=50 + +[Messages Window Options] +FileName Width=200 +Line Width=50 +Position Width=60 + +[RegExp Tester Options] +Regular Expression= +Search Text= +DOTALL=TRUE +IGNORECASE=TRUE +LOCALE=TRUE +MULTILINE=TRUE +UNICODE=TRUE +VERBOSE=TRUE +SearchType=1 +AutoExec=FALSE +RegExpHeight=82 +GroupsHeight=138 +SearchHeight=95 + +[File Explorer Favorites] +Count=0 + +[Code Explorer Options] +AlphaSort=FALSE +Show Selection=TRUE +Follow Editor=TRUE + +[Custom Params] +Count=0 + +[Output Window\Font] +Charset=DEFAULT_CHARSET +Color=clWindowText +Height=-12 +Name=Courier New + +[Output Window\Font\Style] +fsBold=FALSE +fsItalic=FALSE +fsUnderline=FALSE +fsStrikeOut=FALSE + +[Output Window] +Color=-16777211 + +[Watches] +Count=0 +WatchesWidth=200 +Types Width=148 + +[Layouts] +Item0=Default +Count=1 + +[Command History] +Count=0 + +[Main Form Placement] +ShowCmd=3 +Flags=2 +PixelsPerInch=120 +MinMaxPos(1920x1080)=-1,-1,-1,-1 +MinMaxPos=-1,-1,-1,-1 +NormPos(1920x1080)=120,120,918,703 +NormPos=120,120,918,703 + +[Open Files] +Count=0 +ActiveEditor= + +[Layouts\Current\Forms] +FormNames=FileExplorerWindow;ProjectExplorerWindow;CodeExplorerWindow;TJvDockTabHostForm_FileExplorerWindow_ProjectExplorerWindow_0000000002A52680;PyIDEMainForm@LeftDockPanel;PyIDEMainForm@LeftDockPanel_PopupPanel;PyIDEMainForm@RightDockPanel;PyIDEMainForm@RightDockPanel_PopupPanel;PyIDEMainForm@TopDockPanel;PyIDEMainForm@TopDockPanel_PopupPanel;CallStackWindow;VariablesWindow;WatchesWindow;BreakPointsWindow;OutputWindow;MessagesWindow;PythonIIForm;TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90;PyIDEMainForm@BottomDockPanel;PyIDEMainForm@BottomDockPanel_PopupPanel;PyIDEMainForm;ToDoWindow;RegExpTesterWindow;UnitTestWindow;FindResultsWindow; + +[Layouts\Current\Forms\FileExplorerWindow] +ParentName=TJvDockTabHostForm_FileExplorerWindow_ProjectExplorerWindow_0000000002A52680 +DockLeft=2 +DockTop=2 +DockRight=198 +DockBottom=703 +LastDockSiteName=Cannot find window +UnDockLeft=398 +UnDockTop=201 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=297 +UnDockHeight=580 +DockClientData= + +[Layouts\Current\Forms\ProjectExplorerWindow] +ParentName=TJvDockTabHostForm_FileExplorerWindow_ProjectExplorerWindow_0000000002A52680 +DockLeft=2 +DockTop=2 +DockRight=198 +DockBottom=703 +LastDockSiteName=Cannot find window +UnDockLeft=356 +UnDockTop=263 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=297 +UnDockHeight=542 +DockClientData= + +[Layouts\Current\Forms\CodeExplorerWindow] +ParentName=TJvDockTabHostForm_FileExplorerWindow_ProjectExplorerWindow_0000000002A52680 +DockLeft=2 +DockTop=2 +DockRight=198 +DockBottom=703 +LastDockSiteName=Cannot find window +UnDockLeft=237 +UnDockTop=237 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=324 +UnDockHeight=417 +DockClientData= + +[Layouts\Current\Forms\TJvDockTabHostForm_FileExplorerWindow_ProjectExplorerWindow_0000000002A52680] +ParentName=PyIDEMainForm@LeftDockPanel +DockTop=25 +DockRight=200 +DockBottom=758 +LastDockSiteName=Cannot find window +UnDockLeft=398 +UnDockTop=201 +LRDockWidth=220 +TBDockHeight=461 +UnDockWidth=272 +UnDockHeight=241 +DockFormStyle=2 +DockClientData=00000400030000001200000046696C654578706C6F72657257696E646F77010000001500000050726F6A6563744578706C6F72657257696E646F770100000012000000436F64654578706C6F72657257696E646F770100000000000000F6FFFFFF + +[Layouts\Current\Forms\PyIDEMainForm@LeftDockPanel] +ParentName=PyIDEMainForm +DockTop=60 +DockRight=200 +DockBottom=818 +LastDockSiteName= +UnDockWidth=200 +UnDockHeight=465 +DockFormStyle=3 +CanDocked=FALSE +EachOtherDocked=FALSE +LeftDocked=FALSE +TopDocked=FALSE +RightDocked=FALSE +BottomDocked=FALSE +CustomDocked=FALSE +DockClientData=0000040000000000000000000000000000010000000000010000000001010000000000000000010100000000014C000000544A76446F636B546162486F7374466F726D5F46696C654578706C6F72657257696E646F775F50726F6A6563744578706C6F72657257696E646F775F3030303030303030303241353236383001FFFFFFFF + +[Layouts\Current\Forms\PyIDEMainForm@LeftDockPanel_PopupPanel] +ParentName=PyIDEMainForm +LastDockSiteName= +Visible=FALSE +DockFormStyle=3 +CanDocked=FALSE +EachOtherDocked=FALSE +LeftDocked=FALSE +TopDocked=FALSE +RightDocked=FALSE +BottomDocked=FALSE +CustomDocked=FALSE +DockClientData=0000040000000000000000000000000000010000000000010000000001FFFFFFFF + +[Layouts\Current\Forms\PyIDEMainForm@RightDockPanel] +ParentName=PyIDEMainForm +DockLeft=1919 +DockTop=60 +DockRight=1919 +DockBottom=818 +LastDockSiteName= +UnDockHeight=465 +DockFormStyle=3 +CanDocked=FALSE +EachOtherDocked=FALSE +LeftDocked=FALSE +TopDocked=FALSE +RightDocked=FALSE +BottomDocked=FALSE +CustomDocked=FALSE +DockClientData=0000040000000000000000000000000000010000000000010000000001FFFFFFFF + +[Layouts\Current\Forms\PyIDEMainForm@RightDockPanel_PopupPanel] +ParentName=PyIDEMainForm +LastDockSiteName= +Visible=FALSE +DockFormStyle=3 +CanDocked=FALSE +EachOtherDocked=FALSE +LeftDocked=FALSE +TopDocked=FALSE +RightDocked=FALSE +BottomDocked=FALSE +CustomDocked=FALSE +DockClientData=0000040000000000000000000000000000010000000000010000000001FFFFFFFF + +[Layouts\Current\Forms\PyIDEMainForm@TopDockPanel] +ParentName=PyIDEMainForm +DockTop=60 +DockRight=1920 +DockBottom=60 +LastDockSiteName= +UnDockWidth=1280 +DockFormStyle=3 +CanDocked=FALSE +EachOtherDocked=FALSE +LeftDocked=FALSE +TopDocked=FALSE +RightDocked=FALSE +BottomDocked=FALSE +CustomDocked=FALSE +DockClientData=0000040000000000000000000000000000010000000000010000000001FFFFFFFF + +[Layouts\Current\Forms\PyIDEMainForm@TopDockPanel_PopupPanel] +ParentName=PyIDEMainForm +LastDockSiteName= +Visible=FALSE +DockFormStyle=3 +CanDocked=FALSE +EachOtherDocked=FALSE +LeftDocked=FALSE +TopDocked=FALSE +RightDocked=FALSE +BottomDocked=FALSE +CustomDocked=FALSE +DockClientData=0000040000000000000000000000000000010000000000010000000001FFFFFFFF + +[Layouts\Current\Forms\CallStackWindow] +ParentName=TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90 +DockLeft=2 +DockTop=2 +DockRight=1918 +DockBottom=95 +LastDockSiteName=Cannot find window +UnDockLeft=569 +UnDockTop=397 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=487 +UnDockHeight=247 +DockClientData= + +[Layouts\Current\Forms\VariablesWindow] +ParentName=TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90 +DockLeft=2 +DockTop=2 +DockRight=1918 +DockBottom=95 +LastDockSiteName=Cannot find window +UnDockLeft=237 +UnDockTop=237 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=731 +UnDockHeight=344 +LeftDocked=FALSE +RightDocked=FALSE +DockClientData= + +[Layouts\Current\Forms\WatchesWindow] +ParentName=TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90 +DockLeft=2 +DockTop=2 +DockRight=1918 +DockBottom=95 +LastDockSiteName=Cannot find window +UnDockLeft=331 +UnDockTop=325 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=953 +UnDockHeight=322 +DockClientData= + +[Layouts\Current\Forms\BreakPointsWindow] +ParentName=TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90 +DockLeft=2 +DockTop=2 +DockRight=1918 +DockBottom=95 +LastDockSiteName=Cannot find window +UnDockLeft=491 +UnDockTop=381 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=484 +UnDockHeight=340 +DockClientData= + +[Layouts\Current\Forms\OutputWindow] +ParentName=TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90 +DockLeft=2 +DockTop=2 +DockRight=1918 +DockBottom=95 +LastDockSiteName=Cannot find window +UnDockLeft=319 +UnDockTop=173 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=697 +UnDockHeight=447 +DockClientData= + +[Layouts\Current\Forms\MessagesWindow] +ParentName=TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90 +DockLeft=2 +DockTop=2 +DockRight=1918 +DockBottom=95 +LastDockSiteName=Cannot find window +UnDockLeft=259 +UnDockTop=257 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=871 +UnDockHeight=269 +DockClientData= + +[Layouts\Current\Forms\PythonIIForm] +ParentName=TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90 +DockLeft=2 +DockTop=2 +DockRight=1918 +DockBottom=95 +LastDockSiteName=Cannot find window +UnDockLeft=104 +UnDockTop=104 +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=1152 +UnDockHeight=596 +DockClientData= + +[Layouts\Current\Forms\TJvDockTabHostForm_CallStackWindow_VariablesWindow_0000000002A52D90] +ParentName=PyIDEMainForm@BottomDockPanel +DockTop=25 +DockRight=1920 +DockBottom=150 +LastDockSiteName=Cannot find window +UnDockLeft=569 +UnDockTop=397 +LRDockWidth=780 +TBDockHeight=220 +UnDockWidth=272 +UnDockHeight=241 +DockFormStyle=2 +DockClientData=00000400070000000F00000043616C6C537461636B57696E646F77010000000F0000005661726961626C657357696E646F77010000000D0000005761746368657357696E646F770100000011000000427265616B506F696E747357696E646F77010000000C0000004F757470757457696E646F77010000000E0000004D6573736167657357696E646F77010000000C000000507974686F6E4949466F726D0100000006000000F6FFFFFF + +[Layouts\Current\Forms\PyIDEMainForm@BottomDockPanel] +ParentName=PyIDEMainForm +DockTop=825 +DockRight=1920 +DockBottom=975 +LastDockSiteName= +UnDockWidth=1280 +UnDockHeight=150 +DockFormStyle=3 +CanDocked=FALSE +EachOtherDocked=FALSE +LeftDocked=FALSE +TopDocked=FALSE +RightDocked=FALSE +BottomDocked=FALSE +CustomDocked=FALSE +DockClientData=00000400000000000000000000000000000100000000000100000000010100000000000000000101000000000143000000544A76446F636B546162486F7374466F726D5F43616C6C537461636B57696E646F775F5661726961626C657357696E646F775F3030303030303030303241353244393001FFFFFFFF + +[Layouts\Current\Forms\PyIDEMainForm@BottomDockPanel_PopupPanel] +ParentName=PyIDEMainForm +LastDockSiteName= +Visible=FALSE +DockFormStyle=3 +CanDocked=FALSE +EachOtherDocked=FALSE +LeftDocked=FALSE +TopDocked=FALSE +RightDocked=FALSE +BottomDocked=FALSE +CustomDocked=FALSE +DockClientData=0000040000000000000000000000000000010000000000010000000001FFFFFFFF + +[Layouts\Current\Forms\PyIDEMainForm] +ParentName= +DockLeft=-9 +DockTop=-9 +DockRight=1929 +DockBottom=1041 +LastDockSiteName= +LRDockWidth=1296 +TBDockHeight=736 +UnDockWidth=1296 +UnDockHeight=736 +BorderStyle=2 +WindowState=2 +DockClientData= + +[Layouts\Current\Forms\ToDoWindow] +ParentName= +DockLeft=377 +DockTop=226 +DockRight=885 +DockBottom=558 +LastDockSiteName=Cannot find window +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=508 +UnDockHeight=332 +Visible=FALSE +BorderStyle=5 +DockClientData= + +[Layouts\Current\Forms\RegExpTesterWindow] +ParentName= +DockLeft=356 +DockTop=263 +DockRight=756 +DockBottom=780 +LastDockSiteName=Cannot find window +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=400 +UnDockHeight=517 +Visible=FALSE +BorderStyle=5 +TopDocked=FALSE +BottomDocked=FALSE +DockClientData= + +[Layouts\Current\Forms\UnitTestWindow] +ParentName= +DockLeft=356 +DockTop=263 +DockRight=634 +DockBottom=753 +LastDockSiteName=Cannot find window +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=278 +UnDockHeight=490 +Visible=FALSE +BorderStyle=5 +TopDocked=FALSE +BottomDocked=FALSE +DockClientData= + +[Layouts\Current\Forms\FindResultsWindow] +ParentName= +DockLeft=362 +DockTop=146 +DockRight=981 +DockBottom=543 +LastDockSiteName=Cannot find window +LRDockWidth=220 +TBDockHeight=220 +UnDockWidth=619 +UnDockHeight=397 +Visible=FALSE +BorderStyle=5 +DockClientData= + +[Layouts\Current\Toolbars] +Item0=[Layouts] +Item1=Count=1 +Item2=0=Current +Item3= +Item4=[Current @ MainMenu] +Item5=Rev=2000 +Item6=Visible=1 +Item7=DockedTo=TBXDockTop +Item8=LastDock=TBXDockTop +Item9=DockRow=0 +Item10=DockPos=0 +Item11=FloatLeft=0 +Item12=FloatTop=0 +Item13=FloatRightX=0 +Item14=DisplayMode=0 +Item15= +Item16=[Current @ MainToolBar] +Item17=Rev=2000 +Item18=Visible=1 +Item19=DockedTo=TBXDockTop +Item20=LastDock=TBXDockTop +Item21=DockRow=1 +Item22=DockPos=3 +Item23=FloatLeft=0 +Item24=FloatTop=0 +Item25=FloatRightX=0 +Item26=DisplayMode=0 +Item27= +Item28=[Current @ DebugToolbar] +Item29=Rev=2000 +Item30=Visible=1 +Item31=DockedTo=TBXDockTop +Item32=LastDock=TBXDockTop +Item33=DockRow=1 +Item34=DockPos=361 +Item35=FloatLeft=0 +Item36=FloatTop=0 +Item37=FloatRightX=0 +Item38=DisplayMode=0 +Item39= +Item40=[Current @ ViewToolbar] +Item41=Rev=2000 +Item42=Visible=1 +Item43=DockedTo=TBXDockTop +Item44=LastDock=TBXDockTop +Item45=DockRow=1 +Item46=DockPos=728 +Item47=FloatLeft=0 +Item48=FloatTop=0 +Item49=FloatRightX=0 +Item50=DisplayMode=0 +Item51= +Item52=[Current @ EditorToolbar] +Item53=Rev=2000 +Item54=Visible=1 +Item55=DockedTo=TBXDockTop +Item56=LastDock=TBXDockTop +Item57=DockRow=1 +Item58=DockPos=574 +Item59=FloatLeft=0 +Item60=FloatTop=0 +Item61=FloatRightX=0 +Item62=DisplayMode=0 +Item63= +Item64=[Current @ FindToolbar] +Item65=Rev=2000 +Item66=Visible=0 +Item67=DockedTo=TBXDockTop +Item68=LastDock=TBXDockTop +Item69=DockRow=2 +Item70=DockPos=1 +Item71=FloatLeft=0 +Item72=FloatTop=0 +Item73=FloatRightX=0 +Item74=DisplayMode=0 +Item75= +Item76=[Current @ UserToolbar] +Item77=Rev=2000 +Item78=Visible=0 +Item79=DockedTo=TBXDockTop +Item80=LastDock=TBXDockTop +Item81=DockRow=2 +Item82=DockPos=310 +Item83=FloatLeft=0 +Item84=FloatTop=0 +Item85=FloatRightX=0 +Item86=DisplayMode=0 +Item87= +Item88=[Current @ TabSplitter] +Item89=SplitterRestorePos=60 +Item90= +Count=91 + +[Editor Options\Options] +eoAltSetsColumnMode=FALSE +eoAutoIndent=TRUE +eoAutoSizeMaxScrollWidth=FALSE +eoDisableScrollArrows=FALSE +eoDragDropEditing=TRUE +eoDropFiles=FALSE +eoEnhanceHomeKey=TRUE +eoEnhanceEndKey=TRUE +eoGroupUndo=TRUE +eoHalfPageScroll=FALSE +eoHideShowScrollbars=TRUE +eoKeepCaretX=TRUE +eoNoCaret=FALSE +eoNoSelection=FALSE +eoRightMouseMovesCursor=TRUE +eoScrollByOneLess=FALSE +eoScrollHintFollows=FALSE +eoScrollPastEof=FALSE +eoScrollPastEol=FALSE +eoShowScrollHint=TRUE +eoShowSpecialChars=FALSE +eoSmartTabDelete=TRUE +eoSmartTabs=FALSE +eoSpecialLineDefaultFg=FALSE +eoTabIndent=TRUE +eoTabsToSpaces=TRUE +eoTrimTrailingSpaces=TRUE + +[Editor Options] +Color=clWindow +ExtraLineSpacing=0 +RightEdge=80 +RightEdgeColor=clSilver +WantTabs=TRUE +WordWrap=FALSE +InsertCaret=ctVerticalLine +OverwriteCaret=ctBlock +HideSelection=FALSE +MaxScrollWidth=1024 +MaxUndo=1024 +TabWidth=4 +ActiveLineColor=clNone + +[Editor Options\Font] +Charset=DEFAULT_CHARSET +Color=clWindowText +Height=-13 +Name=Consolas + +[Editor Options\Font\Style] +fsBold=FALSE +fsItalic=FALSE +fsUnderline=FALSE +fsStrikeOut=FALSE + +[Editor Options\Gutter] +AutoSize=TRUE +BorderStyle=gbsNone +DigitCount=3 +LeftOffset=25 +RightOffset=1 +Width=27 +Gradient=TRUE +GradientStartColor=clWhite +GradientEndColor=15194057 + +[Editor Options\Gutter\Font] +Charset=DEFAULT_CHARSET +Color=clWindowText +Height=-12 +Name=Courier New + +[Editor Options\Gutter\Font\Style] +fsBold=FALSE +fsItalic=FALSE +fsUnderline=FALSE +fsStrikeOut=FALSE + +[Editor Options\Keystrokes\Item0] +Command=ecUp +ShortCut=38 + +[Editor Options\Keystrokes\Item1] +Command=ecSelUp +ShortCut=8230 + +[Editor Options\Keystrokes\Item2] +Command=ecScrollUp +ShortCut=16422 + +[Editor Options\Keystrokes\Item3] +Command=ecDown +ShortCut=40 + +[Editor Options\Keystrokes\Item4] +Command=ecSelDown +ShortCut=8232 + +[Editor Options\Keystrokes\Item5] +Command=ecScrollDown +ShortCut=16424 + +[Editor Options\Keystrokes\Item6] +Command=ecLeft +ShortCut=37 + +[Editor Options\Keystrokes\Item7] +Command=ecSelLeft +ShortCut=8229 + +[Editor Options\Keystrokes\Item8] +Command=ecWordLeft +ShortCut=16421 + +[Editor Options\Keystrokes\Item9] +Command=ecSelWordLeft +ShortCut=24613 + +[Editor Options\Keystrokes\Item10] +Command=ecRight +ShortCut=39 + +[Editor Options\Keystrokes\Item11] +Command=ecSelRight +ShortCut=8231 + +[Editor Options\Keystrokes\Item12] +Command=ecWordRight +ShortCut=16423 + +[Editor Options\Keystrokes\Item13] +Command=ecSelWordRight +ShortCut=24615 + +[Editor Options\Keystrokes\Item14] +Command=ecPageDown +ShortCut=34 + +[Editor Options\Keystrokes\Item15] +Command=ecSelPageDown +ShortCut=8226 + +[Editor Options\Keystrokes\Item16] +Command=ecPageBottom +ShortCut=16418 + +[Editor Options\Keystrokes\Item17] +Command=ecSelPageBottom +ShortCut=24610 + +[Editor Options\Keystrokes\Item18] +Command=ecPageUp +ShortCut=33 + +[Editor Options\Keystrokes\Item19] +Command=ecSelPageUp +ShortCut=8225 + +[Editor Options\Keystrokes\Item20] +Command=ecPageTop +ShortCut=16417 + +[Editor Options\Keystrokes\Item21] +Command=ecSelPageTop +ShortCut=24609 + +[Editor Options\Keystrokes\Item22] +Command=ecLineStart +ShortCut=36 + +[Editor Options\Keystrokes\Item23] +Command=ecSelLineStart +ShortCut=8228 + +[Editor Options\Keystrokes\Item24] +Command=ecEditorTop +ShortCut=16420 + +[Editor Options\Keystrokes\Item25] +Command=ecSelEditorTop +ShortCut=24612 + +[Editor Options\Keystrokes\Item26] +Command=ecLineEnd +ShortCut=35 + +[Editor Options\Keystrokes\Item27] +Command=ecSelLineEnd +ShortCut=8227 + +[Editor Options\Keystrokes\Item28] +Command=ecEditorBottom +ShortCut=16419 + +[Editor Options\Keystrokes\Item29] +Command=ecSelEditorBottom +ShortCut=24611 + +[Editor Options\Keystrokes\Item30] +Command=ecToggleMode +ShortCut=45 + +[Editor Options\Keystrokes\Item31] +Command=ecCopy +ShortCut=16429 + +[Editor Options\Keystrokes\Item32] +Command=ecCut +ShortCut=8238 + +[Editor Options\Keystrokes\Item33] +Command=ecPaste +ShortCut=8237 + +[Editor Options\Keystrokes\Item34] +Command=ecDeleteChar +ShortCut=46 + +[Editor Options\Keystrokes\Item35] +Command=ecDeleteLastChar +ShortCut=8 + +[Editor Options\Keystrokes\Item36] +Command=ecDeleteLastChar +ShortCut=8200 + +[Editor Options\Keystrokes\Item37] +Command=ecDeleteLastWord +ShortCut=16392 + +[Editor Options\Keystrokes\Item38] +Command=ecUndo +ShortCut=32776 + +[Editor Options\Keystrokes\Item39] +Command=ecRedo +ShortCut=40968 + +[Editor Options\Keystrokes\Item40] +Command=ecLineBreak +ShortCut=13 + +[Editor Options\Keystrokes\Item41] +Command=ecLineBreak +ShortCut=8205 + +[Editor Options\Keystrokes\Item42] +Command=ecTab +ShortCut=9 + +[Editor Options\Keystrokes\Item43] +Command=ecShiftTab +ShortCut=8201 + +[Editor Options\Keystrokes\Item44] +Command=ecContextHelp +ShortCut=112 + +[Editor Options\Keystrokes\Item45] +Command=ecSelectAll +ShortCut=16449 + +[Editor Options\Keystrokes\Item46] +Command=ecCopy +ShortCut=16451 + +[Editor Options\Keystrokes\Item47] +Command=ecPaste +ShortCut=16470 + +[Editor Options\Keystrokes\Item48] +Command=ecCut +ShortCut=16472 + +[Editor Options\Keystrokes\Item49] +Command=ecBlockIndent +ShortCut=24649 + +[Editor Options\Keystrokes\Item50] +Command=ecBlockUnindent +ShortCut=24661 + +[Editor Options\Keystrokes\Item51] +Command=ecLineBreak +ShortCut=16461 + +[Editor Options\Keystrokes\Item52] +Command=ecInsertLine +ShortCut=16462 + +[Editor Options\Keystrokes\Item53] +Command=ecDeleteWord +ShortCut=16468 + +[Editor Options\Keystrokes\Item54] +Command=ecDeleteLine +ShortCut=16473 + +[Editor Options\Keystrokes\Item55] +Command=ecDeleteEOL +ShortCut=24665 + +[Editor Options\Keystrokes\Item56] +Command=ecUndo +ShortCut=16474 + +[Editor Options\Keystrokes\Item57] +Command=ecRedo +ShortCut=24666 + +[Editor Options\Keystrokes\Item58] +Command=ecGotoMarker0 +ShortCut=16432 + +[Editor Options\Keystrokes\Item59] +Command=ecGotoMarker1 +ShortCut=16433 + +[Editor Options\Keystrokes\Item60] +Command=ecGotoMarker2 +ShortCut=16434 + +[Editor Options\Keystrokes\Item61] +Command=ecGotoMarker3 +ShortCut=16435 + +[Editor Options\Keystrokes\Item62] +Command=ecGotoMarker4 +ShortCut=16436 + +[Editor Options\Keystrokes\Item63] +Command=ecGotoMarker5 +ShortCut=16437 + +[Editor Options\Keystrokes\Item64] +Command=ecGotoMarker6 +ShortCut=16438 + +[Editor Options\Keystrokes\Item65] +Command=ecGotoMarker7 +ShortCut=16439 + +[Editor Options\Keystrokes\Item66] +Command=ecGotoMarker8 +ShortCut=16440 + +[Editor Options\Keystrokes\Item67] +Command=ecGotoMarker9 +ShortCut=16441 + +[Editor Options\Keystrokes\Item68] +Command=ecSetMarker0 +ShortCut=24624 + +[Editor Options\Keystrokes\Item69] +Command=ecSetMarker1 +ShortCut=24625 + +[Editor Options\Keystrokes\Item70] +Command=ecSetMarker2 +ShortCut=24626 + +[Editor Options\Keystrokes\Item71] +Command=ecSetMarker3 +ShortCut=24627 + +[Editor Options\Keystrokes\Item72] +Command=ecSetMarker4 +ShortCut=24628 + +[Editor Options\Keystrokes\Item73] +Command=ecSetMarker5 +ShortCut=24629 + +[Editor Options\Keystrokes\Item74] +Command=ecSetMarker6 +ShortCut=24630 + +[Editor Options\Keystrokes\Item75] +Command=ecSetMarker7 +ShortCut=24631 + +[Editor Options\Keystrokes\Item76] +Command=ecSetMarker8 +ShortCut=24632 + +[Editor Options\Keystrokes\Item77] +Command=ecSetMarker9 +ShortCut=24633 + +[Editor Options\Keystrokes\Item78] +Command=ecNormalSelect +ShortCut=24654 + +[Editor Options\Keystrokes\Item79] +Command=ecColumnSelect +ShortCut=24643 + +[Editor Options\Keystrokes\Item80] +Command=ecLineSelect +ShortCut=24652 + +[Editor Options\Keystrokes\Item81] +Command=1104 +ShortCut=16416 + +[Editor Options\Keystrokes\Item82] +Command=1105 +ShortCut=24608 + +[Editor Options\Keystrokes\Item83] +Command=1106 +ShortCut=24797 + +[Editor Options\Keystrokes\Item84] +Command=ecMatchBracket +ShortCut=16605 + +[Editor Options\Keystrokes] +Count=85 + +[Highlighters\Python] +DefaultFilter=Python Files (*.py;*.pyw)|*.py;*.pyw + +[Highlighters\Python\Options] +AutoDetectEnabled=FALSE +AutoDetectLineLimit=0 +Visible=FALSE + +[Highlighters\C/C++\Options] +AutoDetectEnabled=FALSE +AutoDetectLineLimit=0 +Visible=FALSE + +[Highlighters\CSS] +DefaultFilter=Cascading Stylesheets (*.css)|*.css +ActiveHighlighterSwitch=FALSE + +[Highlighters\CSS\Options] +HtmlVersion=shvHtml401Transitional + +[Highlighters\CSS\Engine\Options] +HtmlVersion=shvHtml401Transitional + +[Highlighters\CSS\Engine\PhpHereDocList] +Item0=content +Item1=CONTENT +Item2=eod +Item3=EOD +Item4=eof +Item5=EOF +Item6=eol +Item7=EOL +Item8=eot +Item9=EOT +Item10=heredoc +Item11=HEREDOC +Item12=html +Item13=HTML +Item14=out +Item15=OUT +Item16=string +Item17=STRING +Count=18 + +[Highlighters\HTML] +DefaultFilter=HTML Documents (*.htm;*.html)|*.htm;*.html +ActiveHighlighterSwitch=FALSE + +[Highlighters\HTML\Options] +HtmlVersion=shvHtml401Transitional + +[Highlighters\HTML\Engine\Options] +HtmlVersion=shvHtml401Transitional + +[Highlighters\HTML\Engine\PhpHereDocList] +Item0=content +Item1=CONTENT +Item2=eod +Item3=EOD +Item4=eof +Item5=EOF +Item6=eol +Item7=EOL +Item8=eot +Item9=EOT +Item10=heredoc +Item11=HEREDOC +Item12=html +Item13=HTML +Item14=out +Item15=OUT +Item16=string +Item17=STRING +Count=18 + +[Highlighters\INI\Options] +AutoDetectEnabled=FALSE +AutoDetectLineLimit=0 +Visible=FALSE + +[Highlighters\JavaScript] +DefaultFilter=Javascript Files (*.js)|*.js +ActiveHighlighterSwitch=FALSE + +[Highlighters\JavaScript\Engine\Options] +HtmlVersion=shvHtml401Transitional + +[Highlighters\JavaScript\Engine\PhpHereDocList] +Item0=content +Item1=CONTENT +Item2=eod +Item3=EOD +Item4=eof +Item5=EOF +Item6=eol +Item7=EOL +Item8=eot +Item9=EOT +Item10=heredoc +Item11=HEREDOC +Item12=html +Item13=HTML +Item14=out +Item15=OUT +Item16=string +Item17=STRING +Count=18 + +[Highlighters\PHP] +DefaultFilter=PHP Files (*.php;*.php3;*.phtml;*.inc)|*.php;*.php3;*.phtml;*.inc +ActiveHighlighterSwitch=FALSE + +[Highlighters\PHP\Engine\Options] +HtmlVersion=shvHtml401Transitional + +[Highlighters\PHP\Engine\PhpHereDocList] +Item0=content +Item1=CONTENT +Item2=eod +Item3=EOD +Item4=eof +Item5=EOF +Item6=eol +Item7=EOL +Item8=eot +Item9=EOT +Item10=heredoc +Item11=HEREDOC +Item12=html +Item13=HTML +Item14=out +Item15=OUT +Item16=string +Item17=STRING +Count=18 + +[Highlighters\XML] +DefaultFilter=XML Files (*.xml;*.xsd;*.xsl;*.xslt;*.dtd)|*.xml;*.xsd;*.xsl;*.xslt;*.dtd +ActiveHighlighterSwitch=FALSE + +[Highlighters\XML\Engine\Options] +HtmlVersion=shvHtml401Transitional + +[Highlighters\XML\Engine\PhpHereDocList] +Item0=content +Item1=CONTENT +Item2=eod +Item3=EOD +Item4=eof +Item5=EOF +Item6=eol +Item7=EOL +Item8=eot +Item9=EOT +Item10=heredoc +Item11=HEREDOC +Item12=html +Item13=HTML +Item14=out +Item15=OUT +Item16=string +Item17=STRING +Count=18 + +[Highlighters\YAML\Options] +AutoDetectEnabled=FALSE +AutoDetectLineLimit=0 +Visible=FALSE + +[Highlighters\Cython] +DefaultFilter=Cython Files (*.pyx*.pxd;*.pxi)|*.pyx;*.pxd;*.pxi + +[Highlighters\Cython\Options] +AutoDetectEnabled=FALSE +AutoDetectLineLimit=0 +Visible=FALSE + +[Highlighters\Intepreter] +DefaultFilter=Python Files (*.py;*.pyw)|*.py;*.pyw +PS1=>>> +PS2=... +Dbg=[Dbg] +PM=[PM] + +[Highlighters\Intepreter\Options] +AutoDetectEnabled=FALSE +AutoDetectLineLimit=0 +Visible=FALSE + +[Highlighters\Intepreter\CommentAttri] +Foreground=clGreen + +[Highlighters\Intepreter\KeyAttri] +Foreground=clNavy + +[Highlighters\Intepreter\KeyAttri\Style] +fsBold=FALSE +fsItalic=FALSE +fsUnderline=FALSE +fsStrikeOut=FALSE + +[Highlighters\Intepreter\NonKeyAttri\Style] +fsBold=FALSE +fsItalic=FALSE +fsUnderline=FALSE +fsStrikeOut=FALSE + +[Highlighters\Intepreter\NumberAttri] +Foreground=clTeal + +[Highlighters\Intepreter\HexAttri] +Foreground=clTeal + +[Highlighters\Intepreter\OctalAttri] +Foreground=clTeal + +[Highlighters\Intepreter\FloatAttri] +Foreground=clTeal + +[Highlighters\Intepreter\StringAttri] +Foreground=clOlive + +[Highlighters\Intepreter\SymbolAttri] +Foreground=clMaroon + +[Highlighters\Intepreter\BannerAttri] +Background=clNone +Foreground=clBlue + +[Highlighters\Intepreter\OutputAttri] +Background=clNone +Foreground=clTeal + +[Highlighters\Intepreter\TracebackAttri] +Background=clNone +Foreground=clRed + +[Highlighters\Intepreter\PromptAttri] +Background=clNone +Foreground=clNone + +[Interpreter Editor Options\Options] +eoAltSetsColumnMode=FALSE +eoAutoIndent=TRUE +eoAutoSizeMaxScrollWidth=FALSE +eoDisableScrollArrows=FALSE +eoDragDropEditing=TRUE +eoDropFiles=FALSE +eoEnhanceHomeKey=TRUE +eoEnhanceEndKey=TRUE +eoGroupUndo=TRUE +eoHalfPageScroll=FALSE +eoHideShowScrollbars=TRUE +eoKeepCaretX=TRUE +eoNoCaret=FALSE +eoNoSelection=FALSE +eoRightMouseMovesCursor=TRUE +eoScrollByOneLess=FALSE +eoScrollHintFollows=FALSE +eoScrollPastEof=FALSE +eoScrollPastEol=FALSE +eoShowScrollHint=TRUE +eoShowSpecialChars=FALSE +eoSmartTabDelete=TRUE +eoSmartTabs=FALSE +eoSpecialLineDefaultFg=FALSE +eoTabIndent=TRUE +eoTabsToSpaces=TRUE +eoTrimTrailingSpaces=FALSE + +[Interpreter Editor Options] +Color=clWindow +ExtraLineSpacing=0 +RightEdge=0 +RightEdgeColor=clSilver +WantTabs=TRUE +WordWrap=TRUE +InsertCaret=ctVerticalLine +OverwriteCaret=ctBlock +HideSelection=FALSE +MaxScrollWidth=1024 +MaxUndo=1024 +TabWidth=4 +ActiveLineColor=clNone + +[Interpreter Editor Options\Font] +Charset=DEFAULT_CHARSET +Color=clWindowText +Height=-13 +Name=Consolas + +[Interpreter Editor Options\Font\Style] +fsBold=FALSE +fsItalic=FALSE +fsUnderline=FALSE +fsStrikeOut=FALSE + +[Interpreter Editor Options\Gutter] +AutoSize=TRUE +DigitCount=3 +LeftOffset=25 +RightOffset=1 +Visible=FALSE +Width=0 +Gradient=TRUE + +[Interpreter Editor Options\Gutter\Font] +Charset=DEFAULT_CHARSET +Color=clWindowText +Height=-12 +Name=Courier New + +[Interpreter Editor Options\Gutter\Font\Style] +fsBold=FALSE +fsItalic=FALSE +fsUnderline=FALSE +fsStrikeOut=FALSE + +[Print Options] +Copies=1 +Colors=TRUE +TabWidth=8 +Color=clWhite +HeaderItems=$TITLE$\.1\.0\.-17\.Arial\.0\.120\.10\.0\.1\.2 +FooterItems=$PAGENUM$\\.$PAGECOUNT$\.1\.0\.-17\.Arial\.0\.120\.10\.0\.1\.2 + +[Print Options\Header\DefaultFont] +Charset=DEFAULT_CHARSET +Color=clBlack +Height=-13 +Name=Arial + +[Print Options\Header\DefaultFont\Style] +fsBold=FALSE +fsItalic=FALSE +fsUnderline=FALSE +fsStrikeOut=FALSE + +[Print Options\Footer\DefaultFont] +Charset=DEFAULT_CHARSET +Color=clBlack +Height=-13 +Name=Arial + +[Print Options\Footer\DefaultFont\Style] +fsBold=FALSE +fsItalic=FALSE +fsUnderline=FALSE +fsStrikeOut=FALSE + +[Print Options\Margins] +Left=00000000000000C80340 +Right=00000000000000F00240 +Top=00000000000000C80340 +Bottom=00000000000000C80340 +Header=00000000000000900340 +Footer=00000000000000900340 +LeftHFTextIndent=00000000000000800040 +RightHFTextIndent=00000000000000800040 +HFInternalMargin=0000000000000080FE3F +MirrorMargins=FALSE + +[Print Options\Font] +Charset=DEFAULT_CHARSET +Color=clWindowText +Height=-13 +Name=Courier New + +[Print Options\Font\Style] +fsBold=FALSE +fsItalic=FALSE +fsUnderline=FALSE +fsStrikeOut=FALSE + +[File Templates\Item0] +Name=Πηγαίος Κώδικας Python +Highlighter=Python +Extension=py +Category=Python + +[File Templates\Item0\Template] +Item0=#------------------------------------------------------------------------------- +Item1=# Name: $[ActiveDoc-Name] +Item2="# Purpose: " +Item3=# +Item4=# Author: $[UserName] +Item5=# +Item6=# Created: $[DateTime-'DD/MM/YYYY'-DateFormat] +Item7=# Copyright: (c) $[UserName] $[DateTime-'YYYY'-DateFormat] +Item8=# Licence: +Item9=#------------------------------------------------------------------------------- +Item10= +Item11=def main(): +Item12=" pass" +Item13= +Item14=if __name__ == '__main__': +Item15=" main()" +Count=16 + +[File Templates\Item1] +Name=Cython Script +Highlighter=Cython +Extension=pyx +Category=Python + +[File Templates\Item1\Template] +Item0=#------------------------------------------------------------------------------- +Item1=# Name: $[ActiveDoc-Name] +Item2="# Purpose: " +Item3=# +Item4=# Author: $[UserName] +Item5=# +Item6=# Created: $[DateTime-'DD/MM/YYYY'-DateFormat] +Item7=# Copyright: (c) $[UserName] $[DateTime-'YYYY'-DateFormat] +Item8=# Licence: +Item9=#------------------------------------------------------------------------------- +Item10= +Item11=def main(): +Item12=" pass" +Item13= +Item14=if __name__ == '__main__': +Item15=" main()" +Count=16 + +[File Templates\Item2] +Name=ΑÏχείο HTML +Highlighter=HTML +Extension=htm +Category=Διαδίκτυο + +[File Templates\Item2\Template] +Item0= +Item1= +Item2= +Item3=" " +Item4=" Untitled" +Item5=" " +Item6=" " +Item7=" " +Item8=" " +Item9= +Item10=" " +Item11= +Count=12 + +[File Templates\Item3] +Name=ΑÏχείο XML +Highlighter=XML +Extension=xml +Category=Διαδίκτυο + +[File Templates\Item3\Template] +Item0= +Count=1 + +[File Templates\Item4] +Name=ΑÏχείο CSS +Highlighter=CSS +Extension=css +Category=Διαδίκτυο + +[File Templates\Item4\Template] +Item0=BODY { +Item1= +Item2=} +Count=3 + +[File Templates\Item5] +Name=JavaScript Code +Highlighter=JavaScript +Extension=js +Category=Άλλα + +[File Templates\Item5\Template] +Count=0 + +[File Templates\Item6] +Name=PHP Code +Highlighter=XML +Extension=xml +Category=Άλλα + +[File Templates\Item6\Template] +Count=0 + +[File Templates\Item7] +Name=ΑÏχείο Κειμένου +Highlighter= +Extension=txt +Category=Άλλα + +[File Templates\Item7\Template] +Count=0 + +[File Templates] +Count=8 + +[ToDo Options] +ShowTokens=FALSE +ScanType=tstOpenFiles +RecurseDirScan=FALSE +FileName Width=200 +Line Width=60 + +[ToDo Options\DirsToScan] +Count=0 + +[ToDo Options\Todo Tokens] +Count=6 + +[ToDo Options\Todo Tokens\Token0] +Token=TODO +Priority=tpMed + +[ToDo Options\Todo Tokens\Token1] +Token=FIXME +Priority=tpMed + +[ToDo Options\Todo Tokens\Token2] +Token=XXX +Priority=tpMed + +[ToDo Options\Todo Tokens\Token3] +Token=ToDo1 +Priority=tpHigh + +[ToDo Options\Todo Tokens\Token4] +Token=ToDo2 +Priority=tpMed + +[ToDo Options\Todo Tokens\Token5] +Token=ToDo3 +Priority=tpLow + +[Find in Files Options] +CaseSensitive=FALSE +NoComments=FALSE +Search=1 +SubDirectories=TRUE +Save=TRUE +ExpandAll=FALSE +BackupModified=FALSE +Whole Word=FALSE +Middle=TRUE +RegEx=FALSE +NumContextLines=2 +ContextMatchColor=-16777203 + +[Find in Files Options\ListFont] +Charset=DEFAULT_CHARSET +Color=clWindowText +Height=-12 +Name=Calibri + +[Find in Files Options\ListFont\Style] +fsBold=FALSE +fsItalic=FALSE +fsUnderline=FALSE +fsStrikeOut=FALSE + +[Find in Files Options\ContextFont] +Charset=DEFAULT_CHARSET +Color=clWindowText +Height=-12 +Name=Calibri + +[Find in Files Options\ContextFont\Style] +fsBold=FALSE +fsItalic=FALSE +fsUnderline=FALSE +fsStrikeOut=FALSE + +[Find in Files Options\DirectoryList] +Item0=C:\Program Files\Python34\Lib +Count=1 + +[Find in Files Options\SearchList] +Count=0 + +[Find in Files Options\ReplaceList] +Count=0 + +[Find in Files Options\MaskList] +Item0=*.py;*.pyw +Count=1 + +[Tools\Tool0\ExternalTool] +Caption=Python &Interpreter +Description=External Python Interpreter +ApplicationName=$[PythonExe-Short] +WorkingDirectory=$[ActiveDoc-Dir] +ShortCut=0 +SaveFiles=sfAll +MessagesFormat=$[FileName] $[LineNumber] +CaptureOutput=FALSE +ConsoleHidden=FALSE +WaitForTerminate=FALSE + +[Tools\Tool1\ExternalTool] +Caption=Python&Win help +Description=Show Python Win Help +ApplicationName=$[PythonExe-Path-Short]Lib\site-packages\PyWin32.chm +ShortCut=0 +MessagesFormat=$[FileName] $[LineNumber] +CaptureOutput=FALSE +ConsoleHidden=FALSE +WaitForTerminate=FALSE + +[Tools\Tool2\ExternalTool] +Caption=Check &Indentation +Description=Check the Indentation of the Python program +ApplicationName=$[PythonExe-Short] +Parameters=$[PythonDir-Short]Lib\tabnanny.py $[ActiveDoc-Short] +WorkingDirectory=$[ActiveDoc-Dir] +ShortCut=24660 +Context=tcActivePythonFile +SaveFiles=sfActive +ParseMessages=TRUE +ParseTraceback=TRUE +MessagesFormat=$[FileName] $[LineNumber] + +[Tools\Tool3\ExternalTool] +Caption=Command Prompt +Description=Start a console at the directory of the active file +ApplicationName=%COMSPEC% +WorkingDirectory=$[ActiveDoc-Dir] +ShortCut=0 +SaveFiles=sfAll +MessagesFormat=$[FileName] $[LineNumber] +CaptureOutput=FALSE +ConsoleHidden=FALSE +WaitForTerminate=FALSE + +[Tools\Tool4\ExternalTool] +Caption=Profile +Description=Profile active file +ApplicationName=$[PythonExe-Short] +Parameters=$[PythonDir-Short]Lib\profile.py $[ActiveDoc-Short] $[CmdLineArgs] +WorkingDirectory=$[ActiveDoc-Dir] +ShortCut=0 +Context=tcActivePythonFile +SaveFiles=sfActive +ParseTraceback=TRUE +MessagesFormat=$[FileName] $[LineNumber] + +[Tools\Tool5\ExternalTool] +Caption=Py&lint +Description=PyLint tool (www.logilab.org/projects/pylint) +ApplicationName=$[PythonExe-Short] +Parameters=$[PythonDir-Short]Lib\site-packages\pylint\lint.py $[ActiveDoc-Short] -f parseable +ShortCut=16460 +Context=tcActivePythonFile +SaveFiles=sfAll +ParseMessages=TRUE +ParseTraceback=TRUE +MessagesFormat=$[FileName]:$[LineNumber]: + +[Tools\Tool6\ExternalTool] +Caption=Advanced Replace +Description=Advanced Search and replace +ApplicationName=$[PythonExe-Short] +Parameters=-c "import sys, re;l=sys.stdin.read();sys.stdout.write(re.sub('$[st?Search Text:]', '$[rt?Replace Text:]', l))" +ShortCut=0 +Context=tcSelectionAvailable +ProcessInput=piSelection +ProcessOutput=poSelection +MessagesFormat=$[FileName] $[LineNumber] +CaptureOutput=FALSE + +[Tools\Tool7\ExternalTool] +Caption=Sort Selection +Description=Sort the selected editor block ("one-liner" demo) +ApplicationName=$[PythonExe-Short] +Parameters=-c "import sys;l=sys.stdin.readlines();l.sort();sys.stdout.writelines(l)" +ShortCut=24659 +Context=tcSelectionAvailable +ProcessInput=piSelection +ProcessOutput=poSelection +MessagesFormat=$[FileName] $[LineNumber] +CaptureOutput=FALSE + +[Tools\Tool8\ExternalTool] +Caption=&Reindent +Description=Reindent the active file +ApplicationName=$[PythonExe-Short] +Parameters=$[PythonDir-Short]Tools\Scripts\reindent.py +ShortCut=0 +Context=tcActivePythonFile +ProcessInput=piActiveFile +ProcessOutput=poActiveFile +MessagesFormat=$[FileName] $[LineNumber] + +[Tools\Tool9\ExternalTool] +Caption=&Upper Case +Description=Change selection to upper case +ApplicationName=$[PythonExe-Short] +Parameters=-c "import sys;sys.stdout.writelines([s.upper() for s in sys.stdin.readlines()])" +ShortCut=0 +Context=tcSelectionAvailable +ProcessInput=piSelection +ProcessOutput=poSelection +MessagesFormat=$[FileName] $[LineNumber] +CaptureOutput=FALSE + +[Tools\Tool10\ExternalTool] +Caption=&Lower Case +Description=Change selection to lower case +ApplicationName=$[PythonExe-Short] +Parameters=-c "import sys;sys.stdout.writelines([s.lower() for s in sys.stdin.readlines()])" +ShortCut=0 +Context=tcSelectionAvailable +ProcessInput=piSelection +ProcessOutput=poSelection +MessagesFormat=$[FileName] $[LineNumber] +CaptureOutput=FALSE + +[Tools] +Count=11 + +[Tools\External Run] +Caption=Python Interpreter +Description=External Python Interpreter +ApplicationName=$[PythonExe-Short] +Parameters=$[ActiveDoc-Short] $[CmdLineArgs] +WorkingDirectory=$[ActiveDoc-Dir] +ShortCut=0 +MessagesFormat=$[FileName] $[LineNumber] + +[Toolbar Items] +Item0=[Items] +Item1=Count=197 +Item2=0=MainToolBar, tbiFileNewModule, Ctrl+N +Item3=1=MainToolBar, tbiFileOpen, Ctrl+O +Item4=2=MainToolBar, tbiFileSave, Ctrl+S +Item5=3=MainToolBar, tbiFileSaveAll, 0 +Item6=4=MainToolBar, TBXSeparatorItem1, 0 +Item7=5=MainToolBar, tbiFilePrint, Ctrl+P +Item8=6=MainToolBar, TBXSeparatorItem2, 0 +Item9=7=MainToolBar, tbiEditCut, Ctrl+X +Item10=8=MainToolBar, tbiEditCopy, Ctrl+C +Item11=9=MainToolBar, tbiEditPaste, Ctrl+V +Item12=10=MainToolBar, TBXSeparatorItem3, 0 +Item13=11=MainToolBar, tbiEditUndo, Ctrl+Z +Item14=12=MainToolBar, tbiEditRedo, Shift+Ctrl+Z +Item15=13=MainToolBar, TBXSeparatorItem4, 0 +Item16=14=MainToolBar, tbiSearchFind, Ctrl+F +Item17=15=MainToolBar, tbiSearchFindNext, F3 +Item18=16=MainToolBar, tbiSearchReplace, Ctrl+H +Item19=17=MainToolBar, tbiFindInFiles, Shift+Ctrl+F +Item20=18=MainToolBar, mnuFindInFilesResults, Ctrl+Alt+F +Item21=19=MainToolBar, TBXSeparatorItem5, 0 +Item22=20=MainToolBar, tbiAbout, 0 +Item23=21=DebugToolbar, tbiRunRun, Ctrl+F9 +Item24=22=DebugToolbar, TBXSeparatorItem6, 0 +Item25=23=DebugToolbar, tbiRunDebug, F9 +Item26=24=DebugToolbar, tbiRunRunToCursor, F4 +Item27=25=DebugToolbar, tbiRunStepInto, F7 +Item28=26=DebugToolbar, tbiRunStepOver, F8 +Item29=27=DebugToolbar, tbiRunStepOut, Shift+F8 +Item30=28=DebugToolbar, tbiRunPause, 0 +Item31=29=DebugToolbar, tbiRunAbort, Ctrl+Alt+F9 +Item32=30=DebugToolbar, TBXSeparatorItem7, 0 +Item33=31=DebugToolbar, tbiRunToggleBreakpoint, F5 +Item34=32=DebugToolbar, tbiRunClearAllBreakpoints, 0 +Item35=33=ViewToolbar, tbiViewThemes, 0 +Item36=34=ViewToolbar, tbiViewLayouts, 0 +Item37=35=EditorToolbar, tbiBrowsePrevious, Alt+Left +Item38=36=EditorToolbar, tbiBrowseNext, Alt+Right +Item39=37=EditorToolbar, TBXSeparatorItem14, 0 +Item40=38=EditorToolbar, tbiEditDedent, Shift+Ctrl+U +Item41=39=EditorToolbar, tbiEditIndent, Shift+Ctrl+I +Item42=40=EditorToolbar, TBXSeparatorItem10, 0 +Item43=41=EditorToolbar, tbiEditToggleComment, Ctrl+' +Item44=42=EditorToolbar, TBXSeparatorItem11, 0 +Item45=43=EditorToolbar, tbiEditLineNumbers, 0 +Item46=44=EditorToolbar, tbiEditWordWrap, 0 +Item47=45=EditorToolbar, tbiEditSpecialCharacters, 0 +Item48=46=SpTBXCustomizer, tbactViewMainMenu, Ctrl+F10 +Item49=47=SpTBXCustomizer, tbactCallStackWin, 0 +Item50=48=SpTBXCustomizer, tbactVariablesWin, 0 +Item51=49=SpTBXCustomizer, tbactSyntaxCheck, 0 +Item52=50=SpTBXCustomizer, tbactCommandLine, 0 +Item53=51=SpTBXCustomizer, tbactImportModule, 0 +Item54=52=SpTBXCustomizer, tbactFileCloseAll, Shift+Ctrl+F4 +Item55=53=SpTBXCustomizer, tbactFileExit, Alt+F4 +Item56=54=SpTBXCustomizer, tbactViewStatusBar, 0 +Item57=55=SpTBXCustomizer, tbactExternalRun, Alt+F9 +Item58=56=SpTBXCustomizer, tbactExternalRunConfigure, 0 +Item59=57=SpTBXCustomizer, tbactRunDebugLastScript, Shift+F9 +Item60=58=SpTBXCustomizer, tbactRestoreEditor, Shift+Alt+Z +Item61=59=SpTBXCustomizer, tbactRunLastScriptExternal, Shift+Alt+F9 +Item62=60=SpTBXCustomizer, tbactRunLastScript, Shift+Ctrl+F9 +Item63=61=SpTBXCustomizer, tbactBreakPointsWin, 0 +Item64=62=SpTBXCustomizer, tbactWatchesWin, 0 +Item65=63=SpTBXCustomizer, tbactMessagesWin, 0 +Item66=64=SpTBXCustomizer, tbactViewII, 0 +Item67=65=SpTBXCustomizer, tbactViewCodeExplorer, 0 +Item68=66=SpTBXCustomizer, tbactViewFileExplorer, 0 +Item69=67=SpTBXCustomizer, tbactViewToDoList, 0 +Item70=68=SpTBXCustomizer, tbactViewOutput, 0 +Item71=69=SpTBXCustomizer, tbactViewUnitTests, 0 +Item72=70=SpTBXCustomizer, tbactFindDefinition, Alt+D +Item73=71=SpTBXCustomizer, tbactFindReferences, 0 +Item74=72=SpTBXCustomizer, tbactBrowseBack, Alt+Left +Item75=73=SpTBXCustomizer, tbactBrowseForward, Alt+Right +Item76=74=SpTBXCustomizer, tbactViewRegExpTester, 0 +Item77=75=SpTBXCustomizer, tbactLayoutSave, 0 +Item78=76=SpTBXCustomizer, tbactLayoutsDelete, 0 +Item79=77=SpTBXCustomizer, tbactLayoutDebug, 0 +Item80=78=SpTBXCustomizer, tbactMaximizeEditor, Alt+Z +Item81=79=SpTBXCustomizer, tbactEditorZoomIn, "Alt+Num +" +Item82=80=SpTBXCustomizer, tbactEditorZoomOut, "Alt+Num -" +Item83=81=SpTBXCustomizer, tbactViewSplitEditorVer, 0 +Item84=82=SpTBXCustomizer, tbactAddWatchAtCursor, Alt+W +Item85=83=SpTBXCustomizer, tbactPythonReinitialize, Ctrl+F2 +Item86=84=SpTBXCustomizer, tbactPythonInternal, 0 +Item87=85=SpTBXCustomizer, tbactPythonRemote, 0 +Item88=86=SpTBXCustomizer, tbactPythonRemoteTk, 0 +Item89=87=SpTBXCustomizer, tbactPythonRemoteWx, 0 +Item90=88=SpTBXCustomizer, tbactNewFile, 0 +Item91=89=SpTBXCustomizer, tbactNavWatches, Ctrl+Alt+W +Item92=90=SpTBXCustomizer, tbactNavBreakpoints, Ctrl+Alt+B +Item93=91=SpTBXCustomizer, tbactNavInterpreter, Ctrl+Alt+I +Item94=92=SpTBXCustomizer, tbactNavVariables, Ctrl+Alt+V +Item95=93=SpTBXCustomizer, tbactNavCallStack, Ctrl+Alt+S +Item96=94=SpTBXCustomizer, tbactNavMessages, Ctrl+Alt+M +Item97=95=SpTBXCustomizer, tbactNavFileExplorer, Ctrl+Alt+X +Item98=96=SpTBXCustomizer, tbactNavCodeExplorer, Ctrl+Alt+C +Item99=97=SpTBXCustomizer, tbactNavTodo, Ctrl+Alt+T +Item100=98=SpTBXCustomizer, tbactNavUnitTests, Ctrl+Alt+U +Item101=99=SpTBXCustomizer, tbactNavOutput, Ctrl+Alt+O +Item102=100=SpTBXCustomizer, tbactNavEditor, F12 +Item103=101=SpTBXCustomizer, tbactExecSelection, Ctrl+F7 +Item104=102=SpTBXCustomizer, tbactViewSplitEditorHor, 0 +Item105=103=SpTBXCustomizer, tbactViewHideSecondEditor, 0 +Item106=104=SpTBXCustomizer, tbactPostMortem, 0 +Item107=105=SpTBXCustomizer, tbactViewCustomizeToolbars, 0 +Item108=106=SpTBXCustomizer, tbactViewProjectExplorer, 0 +Item109=107=SpTBXCustomizer, tbactNavProjectExplorer, Ctrl+Alt+P +Item110=108=SpTBXCustomizer, tbactViewSplitWorkspaceVer, 0 +Item111=109=SpTBXCustomizer, tbactViewSplitWorkspaceHor, 0 +Item112=110=SpTBXCustomizer, tbactViewHideSecondaryWorkspace, 0 +Item113=111=SpTBXCustomizer, tbactToolsPythonInterpreter, 0 +Item114=112=SpTBXCustomizer, tbactToolsPythonWinhelp, 0 +Item115=113=SpTBXCustomizer, tbactToolsCheckIndentation, Shift+Ctrl+T +Item116=114=SpTBXCustomizer, tbactToolsCommandPrompt, 0 +Item117=115=SpTBXCustomizer, tbactToolsProfile, 0 +Item118=116=SpTBXCustomizer, tbactToolsPylint, Ctrl+L +Item119=117=SpTBXCustomizer, tbactToolsAdvancedReplace, 0 +Item120=118=SpTBXCustomizer, tbactToolsSortSelection, Shift+Ctrl+S +Item121=119=SpTBXCustomizer, tbactToolsReindent, 0 +Item122=120=SpTBXCustomizer, tbactToolsUpperCase, 0 +Item123=121=SpTBXCustomizer, tbactToolsLowerCase, 0 +Item124=122=SpTBXCustomizer, tbactFileSaveAs, 0 +Item125=123=SpTBXCustomizer, tbactFileClose, Ctrl+F4 +Item126=124=SpTBXCustomizer, tbactEditDelete, 0 +Item127=125=SpTBXCustomizer, tbactEditSelectAll, Ctrl+A +Item128=126=SpTBXCustomizer, tbactSearchFindPrev, Shift+F3 +Item129=127=SpTBXCustomizer, tbactPrinterSetup, 0 +Item130=128=SpTBXCustomizer, tbactPrintPreview, 0 +Item131=129=SpTBXCustomizer, tbactPageSetup, 0 +Item132=130=SpTBXCustomizer, tbactEditorOptions, 0 +Item133=131=SpTBXCustomizer, tbactIDEOptions, 0 +Item134=132=SpTBXCustomizer, tbactEditCommentOut, Ctrl+Alt+. +Item135=133=SpTBXCustomizer, tbactEditUncomment, Ctrl+Alt+, +Item136=134=SpTBXCustomizer, tbactSearchMatchingBrace, Ctrl+] +Item137=135=SpTBXCustomizer, tbactEditTabify, Alt+' +Item138=136=SpTBXCustomizer, tbactEditUntabify, Shift+Alt+' +Item139=137=SpTBXCustomizer, tbactPythonPath, 0 +Item140=138=SpTBXCustomizer, tbactHelpContents, 0 +Item141=139=SpTBXCustomizer, tbactPythonManuals, 0 +Item142=140=SpTBXCustomizer, tbactSearchGoToLine, Alt+G +Item143=141=SpTBXCustomizer, tbactSearchGoToSyntaxError, Shift+Ctrl+E +Item144=142=SpTBXCustomizer, tbactParameterCompletion, Shift+Ctrl+P +Item145=143=SpTBXCustomizer, tbactModifierCompletion, Shift+Ctrl+M +Item146=144=SpTBXCustomizer, tbactReplaceParameters, Shift+Ctrl+R +Item147=145=SpTBXCustomizer, tbactHelpParameters, 0 +Item148=146=SpTBXCustomizer, tbactInsertTemplate, Ctrl+J +Item149=147=SpTBXCustomizer, tbactCustomizeParameters, 0 +Item150=148=SpTBXCustomizer, tbactIDEShortcuts, 0 +Item151=149=SpTBXCustomizer, tbactCodeTemplates, 0 +Item152=150=SpTBXCustomizer, tbactConfigureTools, 0 +Item153=151=SpTBXCustomizer, tbactHelpExternalTools, 0 +Item154=152=SpTBXCustomizer, tbactFindFunction, Ctrl+G +Item155=153=SpTBXCustomizer, tbactFindPreviousReference, Ctrl+Alt+Up +Item156=154=SpTBXCustomizer, tbactFindNextReference, Ctrl+Alt+Down +Item157=155=SpTBXCustomizer, tbactEditLBDos, 0 +Item158=156=SpTBXCustomizer, tbactEditLBUnix, 0 +Item159=157=SpTBXCustomizer, tbactEditLBMac, 0 +Item160=158=SpTBXCustomizer, tbactEditAnsi, 0 +Item161=159=SpTBXCustomizer, tbactHelpEditorShortcuts, 0 +Item162=160=SpTBXCustomizer, tbactCheckForUpdates, 0 +Item163=161=SpTBXCustomizer, tbactUnitTestWizard, 0 +Item164=162=SpTBXCustomizer, tbactInterpreterEditorOptions, 0 +Item165=163=SpTBXCustomizer, tbactFileTemplates, 0 +Item166=164=SpTBXCustomizer, tbactEditUTF8, 0 +Item167=165=SpTBXCustomizer, tbactEditUTF8NoBOM, 0 +Item168=166=SpTBXCustomizer, tbactEditUTF16LE, 0 +Item169=167=SpTBXCustomizer, tbactEditUTF16BE, 0 +Item170=168=SpTBXCustomizer, tbactFileReload, 0 +Item171=169=SpTBXCustomizer, tbactImportShortcuts, 0 +Item172=170=SpTBXCustomizer, tbactExportShortCuts, 0 +Item173=171=SpTBXCustomizer, tbactImportHighlighters, 0 +Item174=172=SpTBXCustomizer, tbactExportHighlighters, 0 +Item175=173=SpTBXCustomizer, tbactSearchReplaceNow, 0 +Item176=174=SpTBXCustomizer, tbactSearchHighlight, Shift+Ctrl+H +Item177=175=SpTBXCustomizer, tbactSearchGoToDebugLine, 0 +Item178=176=SpTBXCustomizer, tbactHelpWebProjectHome, 0 +Item179=177=SpTBXCustomizer, tbactHelpWebGroupSupport, 0 +Item180=178=SpTBXCustomizer, tbactFileCloseAllOther, 0 +Item181=179=SpTBXCustomizer, tbactEditCopyFileName, 0 +Item182=180=SpTBXCustomizer, tbactToolsEditStartupScripts, 0 +Item183=181=SpTBXCustomizer, tbactHelpWebBlog, 0 +Item184=182=SpTBXCustomizer, tbactCopyHistory, 0 +Item185=183=SpTBXCustomizer, tbactClearContents, 0 +Item186=184=SpTBXCustomizer, tbactCopyWithoutPrompts, Shift+Ctrl+C +Item187=185=SpTBXCustomizer, tbactPasteAndExecute, Shift+Ctrl+V +Item188=186=SpTBXCustomizer, tbactProjectNew, 0 +Item189=187=SpTBXCustomizer, tbactProjectOpen, 0 +Item190=188=SpTBXCustomizer, tbactProjectSave, 0 +Item191=189=SpTBXCustomizer, tbactProjectSaveAs, 0 +Item192=190=SpTBXCustomizer, tbactProjectRelativePaths, 0 +Item193=191=SpTBXCustomizer, tbactProjectShowFileExtensions, 0 +Item194=192=SpTBXCustomizer, tbactProjectExtraPythonPath, 0 +Item195=193=SpTBXCustomizer, tbactProjectExpandAll, 0 +Item196=194=SpTBXCustomizer, tbactProjectCollapseAll, 0 +Item197=195=SpTBXCustomizer, tbactPreviousFrame, F11 +Item198=196=SpTBXCustomizer, tbactNextFrame, Shift+F11 +Item199= +Count=200 + +[IDE Shortcuts\Action0] +ActionListName=actlStandard +ActionName=actViewMainMenu +ShortCut=16505 + +[IDE Shortcuts\Action1] +ActionListName=actlStandard +ActionName=actCallStackWin + +[IDE Shortcuts\Action2] +ActionListName=actlStandard +ActionName=actVariablesWin + +[IDE Shortcuts\Action3] +ActionListName=actlStandard +ActionName=actSyntaxCheck + +[IDE Shortcuts\Action4] +ActionListName=actlStandard +ActionName=actRun +ShortCut=16504 + +[IDE Shortcuts\Action5] +ActionListName=actlStandard +ActionName=actCommandLine + +[IDE Shortcuts\Action6] +ActionListName=actlStandard +ActionName=actImportModule + +[IDE Shortcuts\Action7] +ActionListName=actlStandard +ActionName=actFileNewModule +ShortCut=16462 + +[IDE Shortcuts\Action8] +ActionListName=actlStandard +ActionName=actFileOpen +ShortCut=16463 + +[IDE Shortcuts\Action9] +ActionListName=actlStandard +ActionName=actFileCloseAll +ShortCut=24691 + +[IDE Shortcuts\Action10] +ActionListName=actlStandard +ActionName=actFileExit +ShortCut=32883 + +[IDE Shortcuts\Action11] +ActionListName=actlStandard +ActionName=actViewStatusBar + +[IDE Shortcuts\Action12] +ActionListName=actlStandard +ActionName=actExternalRun +ShortCut=32888 + +[IDE Shortcuts\Action13] +ActionListName=actlStandard +ActionName=actExternalRunConfigure + +[IDE Shortcuts\Action14] +ActionListName=actlStandard +ActionName=actRunDebugLastScript +ShortCut=8312 + +[IDE Shortcuts\Action15] +ActionListName=actlStandard +ActionName=actDebug +ShortCut=120 + +[IDE Shortcuts\Action16] +ActionListName=actlStandard +ActionName=actRestoreEditor +ShortCut=41050 + +[IDE Shortcuts\Action17] +ActionListName=actlStandard +ActionName=actRunToCursor +ShortCut=115 + +[IDE Shortcuts\Action18] +ActionListName=actlStandard +ActionName=actStepInto +ShortCut=118 + +[IDE Shortcuts\Action19] +ActionListName=actlStandard +ActionName=actStepOver +ShortCut=119 + +[IDE Shortcuts\Action20] +ActionListName=actlStandard +ActionName=actStepOut +ShortCut=8311 + +[IDE Shortcuts\Action21] +ActionListName=actlStandard +ActionName=actDebugPause + +[IDE Shortcuts\Action22] +ActionListName=actlStandard +ActionName=actDebugAbort +ShortCut=49272 + +[IDE Shortcuts\Action23] +ActionListName=actlStandard +ActionName=actRunLastScriptExternal +ShortCut=41080 + +[IDE Shortcuts\Action24] +ActionListName=actlStandard +ActionName=actRunLastScript +ShortCut=24696 + +[IDE Shortcuts\Action25] +ActionListName=actlStandard +ActionName=actToggleBreakPoint +ShortCut=116 + +[IDE Shortcuts\Action26] +ActionListName=actlStandard +ActionName=actClearAllBreakpoints + +[IDE Shortcuts\Action27] +ActionListName=actlStandard +ActionName=actBreakPointsWin + +[IDE Shortcuts\Action28] +ActionListName=actlStandard +ActionName=actWatchesWin + +[IDE Shortcuts\Action29] +ActionListName=actlStandard +ActionName=actMessagesWin + +[IDE Shortcuts\Action30] +ActionListName=actlStandard +ActionName=actViewII + +[IDE Shortcuts\Action31] +ActionListName=actlStandard +ActionName=actViewCodeExplorer + +[IDE Shortcuts\Action32] +ActionListName=actlStandard +ActionName=actViewFileExplorer + +[IDE Shortcuts\Action33] +ActionListName=actlStandard +ActionName=actViewToDoList + +[IDE Shortcuts\Action34] +ActionListName=actlStandard +ActionName=actViewFindResults +ShortCut=49222 + +[IDE Shortcuts\Action35] +ActionListName=actlStandard +ActionName=actViewOutput + +[IDE Shortcuts\Action36] +ActionListName=actlStandard +ActionName=actViewUnitTests + +[IDE Shortcuts\Action37] +ActionListName=actlStandard +ActionName=actFindDefinition +ShortCut=32836 + +[IDE Shortcuts\Action38] +ActionListName=actlStandard +ActionName=actFindReferences + +[IDE Shortcuts\Action39] +ActionListName=actlStandard +ActionName=actBrowseBack +ShortCut=32805 + +[IDE Shortcuts\Action40] +ActionListName=actlStandard +ActionName=actBrowseForward +ShortCut=32807 + +[IDE Shortcuts\Action41] +ActionListName=actlStandard +ActionName=actViewRegExpTester + +[IDE Shortcuts\Action42] +ActionListName=actlStandard +ActionName=actLayoutSave + +[IDE Shortcuts\Action43] +ActionListName=actlStandard +ActionName=actLayoutsDelete + +[IDE Shortcuts\Action44] +ActionListName=actlStandard +ActionName=actLayoutDebug + +[IDE Shortcuts\Action45] +ActionListName=actlStandard +ActionName=actMaximizeEditor +ShortCut=32858 + +[IDE Shortcuts\Action46] +ActionListName=actlStandard +ActionName=actEditorZoomIn +ShortCut=32875 + +[IDE Shortcuts\Action47] +ActionListName=actlStandard +ActionName=actEditorZoomOut +ShortCut=32877 + +[IDE Shortcuts\Action48] +ActionListName=actlStandard +ActionName=actViewSplitEditorVer + +[IDE Shortcuts\Action49] +ActionListName=actlStandard +ActionName=actAddWatchAtCursor +ShortCut=32855 + +[IDE Shortcuts\Action50] +ActionListName=actlStandard +ActionName=actPythonReinitialize +ShortCut=16497 + +[IDE Shortcuts\Action51] +ActionListName=actlStandard +ActionName=actPythonInternal + +[IDE Shortcuts\Action52] +ActionListName=actlStandard +ActionName=actPythonRemote + +[IDE Shortcuts\Action53] +ActionListName=actlStandard +ActionName=actPythonRemoteTk + +[IDE Shortcuts\Action54] +ActionListName=actlStandard +ActionName=actPythonRemoteWx + +[IDE Shortcuts\Action55] +ActionListName=actlStandard +ActionName=actNewFile + +[IDE Shortcuts\Action56] +ActionListName=actlStandard +ActionName=actNavWatches +ShortCut=49239 + +[IDE Shortcuts\Action57] +ActionListName=actlStandard +ActionName=actNavBreakpoints +ShortCut=49218 + +[IDE Shortcuts\Action58] +ActionListName=actlStandard +ActionName=actNavInterpreter +ShortCut=49225 + +[IDE Shortcuts\Action59] +ActionListName=actlStandard +ActionName=actNavVariables +ShortCut=49238 + +[IDE Shortcuts\Action60] +ActionListName=actlStandard +ActionName=actNavCallStack +ShortCut=49235 + +[IDE Shortcuts\Action61] +ActionListName=actlStandard +ActionName=actNavMessages +ShortCut=49229 + +[IDE Shortcuts\Action62] +ActionListName=actlStandard +ActionName=actNavFileExplorer +ShortCut=49240 + +[IDE Shortcuts\Action63] +ActionListName=actlStandard +ActionName=actNavCodeExplorer +ShortCut=49219 + +[IDE Shortcuts\Action64] +ActionListName=actlStandard +ActionName=actNavTodo +ShortCut=49236 + +[IDE Shortcuts\Action65] +ActionListName=actlStandard +ActionName=actNavUnitTests +ShortCut=49237 + +[IDE Shortcuts\Action66] +ActionListName=actlStandard +ActionName=actNavOutput +ShortCut=49231 + +[IDE Shortcuts\Action67] +ActionListName=actlStandard +ActionName=actNavEditor +ShortCut=123 + +[IDE Shortcuts\Action68] +ActionListName=actlStandard +ActionName=actExecSelection +ShortCut=16502 + +[IDE Shortcuts\Action69] +ActionListName=actlStandard +ActionName=actViewSplitEditorHor + +[IDE Shortcuts\Action70] +ActionListName=actlStandard +ActionName=actViewHideSecondEditor + +[IDE Shortcuts\Action71] +ActionListName=actlStandard +ActionName=actPostMortem + +[IDE Shortcuts\Action72] +ActionListName=actlStandard +ActionName=actViewCustomizeToolbars + +[IDE Shortcuts\Action73] +ActionListName=actlStandard +ActionName=actViewProjectExplorer + +[IDE Shortcuts\Action74] +ActionListName=actlStandard +ActionName=actNavProjectExplorer +ShortCut=49232 + +[IDE Shortcuts\Action75] +ActionListName=actlStandard +ActionName=actViewSplitWorkspaceVer + +[IDE Shortcuts\Action76] +ActionListName=actlStandard +ActionName=actViewSplitWorkspaceHor + +[IDE Shortcuts\Action77] +ActionListName=actlStandard +ActionName=actViewHideSecondaryWorkspace + +[IDE Shortcuts\Action78] +ActionListName=actlStandard +ActionName=actToolsPythonInterpreter + +[IDE Shortcuts\Action79] +ActionListName=actlStandard +ActionName=actToolsPythonWinhelp + +[IDE Shortcuts\Action80] +ActionListName=actlStandard +ActionName=actToolsCheckIndentation +ShortCut=24660 + +[IDE Shortcuts\Action81] +ActionListName=actlStandard +ActionName=actToolsCommandPrompt + +[IDE Shortcuts\Action82] +ActionListName=actlStandard +ActionName=actToolsProfile + +[IDE Shortcuts\Action83] +ActionListName=actlStandard +ActionName=actToolsPylint +ShortCut=16460 + +[IDE Shortcuts\Action84] +ActionListName=actlStandard +ActionName=actToolsAdvancedReplace + +[IDE Shortcuts\Action85] +ActionListName=actlStandard +ActionName=actToolsSortSelection +ShortCut=24659 + +[IDE Shortcuts\Action86] +ActionListName=actlStandard +ActionName=actToolsReindent + +[IDE Shortcuts\Action87] +ActionListName=actlStandard +ActionName=actToolsUpperCase + +[IDE Shortcuts\Action88] +ActionListName=actlStandard +ActionName=actToolsLowerCase + +[IDE Shortcuts\Action89] +ActionListName=actlMain +ActionName=actFileSave +ShortCut=16467 + +[IDE Shortcuts\Action90] +ActionListName=actlMain +ActionName=actFileSaveAs + +[IDE Shortcuts\Action91] +ActionListName=actlMain +ActionName=actFileClose +ShortCut=16499 + +[IDE Shortcuts\Action92] +ActionListName=actlMain +ActionName=actEditCut +ShortCut=16472 + +[IDE Shortcuts\Action93] +ActionListName=actlMain +ActionName=actEditCopy +ShortCut=16451 + +[IDE Shortcuts\Action94] +ActionListName=actlMain +ActionName=actEditPaste +ShortCut=16470 + +[IDE Shortcuts\Action95] +ActionListName=actlMain +ActionName=actEditDelete + +[IDE Shortcuts\Action96] +ActionListName=actlMain +ActionName=actEditUndo +ShortCut=16474 + +[IDE Shortcuts\Action97] +ActionListName=actlMain +ActionName=actEditRedo +ShortCut=24666 + +[IDE Shortcuts\Action98] +ActionListName=actlMain +ActionName=actEditSelectAll +ShortCut=16449 + +[IDE Shortcuts\Action99] +ActionListName=actlMain +ActionName=actSearchFind +ShortCut=16454 + +[IDE Shortcuts\Action100] +ActionListName=actlMain +ActionName=actSearchFindNext +ShortCut=114 + +[IDE Shortcuts\Action101] +ActionListName=actlMain +ActionName=actSearchFindPrev +ShortCut=8306 + +[IDE Shortcuts\Action102] +ActionListName=actlMain +ActionName=actSearchReplace +ShortCut=16456 + +[IDE Shortcuts\Action103] +ActionListName=actlMain +ActionName=actFileSaveAll + +[IDE Shortcuts\Action104] +ActionListName=actlMain +ActionName=actFilePrint +ShortCut=16464 + +[IDE Shortcuts\Action105] +ActionListName=actlMain +ActionName=actPrinterSetup + +[IDE Shortcuts\Action106] +ActionListName=actlMain +ActionName=actPrintPreview + +[IDE Shortcuts\Action107] +ActionListName=actlMain +ActionName=actPageSetup + +[IDE Shortcuts\Action108] +ActionListName=actlMain +ActionName=actEditorOptions + +[IDE Shortcuts\Action109] +ActionListName=actlMain +ActionName=actIDEOptions + +[IDE Shortcuts\Action110] +ActionListName=actlMain +ActionName=actEditIndent +ShortCut=24649 + +[IDE Shortcuts\Action111] +ActionListName=actlMain +ActionName=actEditDedent +ShortCut=24661 + +[IDE Shortcuts\Action112] +ActionListName=actlMain +ActionName=actEditCommentOut +ShortCut=49342 + +[IDE Shortcuts\Action113] +ActionListName=actlMain +ActionName=actEditUncomment +ShortCut=49340 + +[IDE Shortcuts\Action114] +ActionListName=actlMain +ActionName=actSearchMatchingBrace +ShortCut=16605 + +[IDE Shortcuts\Action115] +ActionListName=actlMain +ActionName=actEditTabify +ShortCut=32990 + +[IDE Shortcuts\Action116] +ActionListName=actlMain +ActionName=actEditUntabify +ShortCut=41182 + +[IDE Shortcuts\Action117] +ActionListName=actlMain +ActionName=actPythonPath + +[IDE Shortcuts\Action118] +ActionListName=actlMain +ActionName=actHelpContents + +[IDE Shortcuts\Action119] +ActionListName=actlMain +ActionName=actPythonManuals + +[IDE Shortcuts\Action120] +ActionListName=actlMain +ActionName=actAbout + +[IDE Shortcuts\Action121] +ActionListName=actlMain +ActionName=actSearchGoToLine +ShortCut=32839 + +[IDE Shortcuts\Action122] +ActionListName=actlMain +ActionName=actSearchGoToSyntaxError +ShortCut=24645 + +[IDE Shortcuts\Action123] +ActionListName=actlMain +ActionName=actFindInFiles +ShortCut=24646 + +[IDE Shortcuts\Action124] +ActionListName=actlMain +ActionName=actParameterCompletion +ShortCut=24656 + +[IDE Shortcuts\Action125] +ActionListName=actlMain +ActionName=actModifierCompletion +ShortCut=24653 + +[IDE Shortcuts\Action126] +ActionListName=actlMain +ActionName=actReplaceParameters +ShortCut=24658 + +[IDE Shortcuts\Action127] +ActionListName=actlMain +ActionName=actHelpParameters + +[IDE Shortcuts\Action128] +ActionListName=actlMain +ActionName=actInsertTemplate +ShortCut=16458 + +[IDE Shortcuts\Action129] +ActionListName=actlMain +ActionName=actCustomizeParameters + +[IDE Shortcuts\Action130] +ActionListName=actlMain +ActionName=actIDEShortcuts + +[IDE Shortcuts\Action131] +ActionListName=actlMain +ActionName=actCodeTemplates + +[IDE Shortcuts\Action132] +ActionListName=actlMain +ActionName=actConfigureTools + +[IDE Shortcuts\Action133] +ActionListName=actlMain +ActionName=actHelpExternalTools + +[IDE Shortcuts\Action134] +ActionListName=actlMain +ActionName=actFindFunction +ShortCut=16455 + +[IDE Shortcuts\Action135] +ActionListName=actlMain +ActionName=actEditLineNumbers + +[IDE Shortcuts\Action136] +ActionListName=actlMain +ActionName=actEditShowSpecialChars + +[IDE Shortcuts\Action137] +ActionListName=actlMain +ActionName=actFindPreviousReference +ShortCut=49190 + +[IDE Shortcuts\Action138] +ActionListName=actlMain +ActionName=actFindNextReference +ShortCut=49192 + +[IDE Shortcuts\Action139] +ActionListName=actlMain +ActionName=actEditLBDos + +[IDE Shortcuts\Action140] +ActionListName=actlMain +ActionName=actEditLBUnix + +[IDE Shortcuts\Action141] +ActionListName=actlMain +ActionName=actEditLBMac + +[IDE Shortcuts\Action142] +ActionListName=actlMain +ActionName=actEditAnsi + +[IDE Shortcuts\Action143] +ActionListName=actlMain +ActionName=actHelpEditorShortcuts + +[IDE Shortcuts\Action144] +ActionListName=actlMain +ActionName=actCheckForUpdates + +[IDE Shortcuts\Action145] +ActionListName=actlMain +ActionName=actUnitTestWizard + +[IDE Shortcuts\Action146] +ActionListName=actlMain +ActionName=actInterpreterEditorOptions + +[IDE Shortcuts\Action147] +ActionListName=actlMain +ActionName=actEditToggleComment +ShortCut=16606 + +[IDE Shortcuts\Action148] +ActionListName=actlMain +ActionName=actFileTemplates + +[IDE Shortcuts\Action149] +ActionListName=actlMain +ActionName=actEditUTF8 + +[IDE Shortcuts\Action150] +ActionListName=actlMain +ActionName=actEditUTF8NoBOM + +[IDE Shortcuts\Action151] +ActionListName=actlMain +ActionName=actEditUTF16LE + +[IDE Shortcuts\Action152] +ActionListName=actlMain +ActionName=actEditUTF16BE + +[IDE Shortcuts\Action153] +ActionListName=actlMain +ActionName=actFileReload + +[IDE Shortcuts\Action154] +ActionListName=actlMain +ActionName=actImportShortcuts + +[IDE Shortcuts\Action155] +ActionListName=actlMain +ActionName=actExportShortCuts + +[IDE Shortcuts\Action156] +ActionListName=actlMain +ActionName=actImportHighlighters + +[IDE Shortcuts\Action157] +ActionListName=actlMain +ActionName=actExportHighlighters + +[IDE Shortcuts\Action158] +ActionListName=actlMain +ActionName=actSearchReplaceNow + +[IDE Shortcuts\Action159] +ActionListName=actlMain +ActionName=actSearchHighlight +ShortCut=24648 + +[IDE Shortcuts\Action160] +ActionListName=actlMain +ActionName=actEditWordWrap + +[IDE Shortcuts\Action161] +ActionListName=actlMain +ActionName=actSearchGoToDebugLine + +[IDE Shortcuts\Action162] +ActionListName=actlMain +ActionName=actHelpWebProjectHome + +[IDE Shortcuts\Action163] +ActionListName=actlMain +ActionName=actHelpWebGroupSupport + +[IDE Shortcuts\Action164] +ActionListName=actlMain +ActionName=actFileCloseAllOther + +[IDE Shortcuts\Action165] +ActionListName=actlMain +ActionName=actEditCopyFileName + +[IDE Shortcuts\Action166] +ActionListName=actlMain +ActionName=actToolsEditStartupScripts + +[IDE Shortcuts\Action167] +ActionListName=actlMain +ActionName=actHelpWebBlog + +[IDE Shortcuts\Action168] +ActionListName=InterpreterActionList +ActionName=actCopyHistory + +[IDE Shortcuts\Action169] +ActionListName=InterpreterActionList +ActionName=actClearContents + +[IDE Shortcuts\Action170] +ActionListName=InterpreterActionList +ActionName=actCopyWithoutPrompts +ShortCut=24643 + +[IDE Shortcuts\Action171] +ActionListName=InterpreterActionList +ActionName=actPasteAndExecute +ShortCut=24662 + +[IDE Shortcuts\Action172] +ActionListName=ProjectActionList +ActionName=actProjectNew + +[IDE Shortcuts\Action173] +ActionListName=ProjectActionList +ActionName=actProjectOpen + +[IDE Shortcuts\Action174] +ActionListName=ProjectActionList +ActionName=actProjectSave + +[IDE Shortcuts\Action175] +ActionListName=ProjectActionList +ActionName=actProjectSaveAs + +[IDE Shortcuts\Action176] +ActionListName=ProjectActionList +ActionName=actProjectRelativePaths + +[IDE Shortcuts\Action177] +ActionListName=ProjectActionList +ActionName=actProjectShowFileExtensions + +[IDE Shortcuts\Action178] +ActionListName=ProjectActionList +ActionName=actProjectExtraPythonPath + +[IDE Shortcuts\Action179] +ActionListName=ProjectActionList +ActionName=actProjectExpandAll + +[IDE Shortcuts\Action180] +ActionListName=ProjectActionList +ActionName=actProjectCollapseAll + +[IDE Shortcuts\Action181] +ActionListName=actlCallStack +ActionName=actPreviousFrame +ShortCut=122 + +[IDE Shortcuts\Action182] +ActionListName=actlCallStack +ActionName=actNextFrame +ShortCut=8314 + +[IDE Shortcuts] +Count=183 + diff --git a/shortcuts/splash.pdn b/shortcuts/splash.pdn index 81bb6f72bb8221408518a0b1ec26ddd20958e8c4..83d55cef4d793dd396ab73e43c46ff5019cfc571 100644 GIT binary patch delta 9697 zcmch6dDJ{vRoL&F4JL@e!y-GwB3n6Adsh{LP)pa=-L-UecU89wR@YwDUEQ@W$Ta+8 z2uqaw;DitcJOm^|SR}uI1|2b)ph0vJC2$-;3}l=H&|@4CMyGfIepK) zb?>|Hy?gI_@80`;e2~Cm7weTJ9Ji7HZxwQwPl$l z5D`5NXH~w;Pd;j)safI0aaBkMT@R+b!pLk>(9k%UvJIyjdNHN{Uwu3M|Cr?eGRN)z zhuuj5+&F#6(8gq%09I#=lQG?1{rqEJa?%qLHW5Xh_~j0P2`=mfJlDC|{)q3>rn7U6 z%qy%TK_WIhtmcbkWp$$!8>xnD0`AeY-2*HH#%7Wb1?Kn!$*X`>WQSVucH=BwcBuMMaylz2Ow+G$KH(RBhn;Psq`>v;|O@U zk94tUi4;LrM<=!6LsOsV&1i;hs8N7>`x?fNaC|g94L~J3PKhERMO5fVt9T!Gr6}5g z&~7<>x3adSW(2;!DIB?B^Rj|_f5|0V1QuvLm_T?)uV@+}l%^iT-mV41uxW`+0Rp

|iWb#$tQuiKP+H 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 TKmPnX|M>aQhk+#i*I)dfXq%hl diff --git a/shortcuts/splash3.4.bmp b/shortcuts/splash3.4.bmp new file mode 100644 index 0000000000000000000000000000000000000000..65cc50be22e7944dda4e3b5032d138adf8374c48 GIT binary patch literal 101078 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 hAOHd&00JNY0w4eaAOHd&00JNY0w4eaAn Date: Sat, 25 Apr 2015 12:58:22 -0500 Subject: [PATCH 09/24] Added PyCharm 4.0.6 Community Version for Python 3.4 --- 3.4/descriptions.nsh | 2 +- 3.4/modules.bat | 16 +++++++++------- 3.4/modules.nsh | 13 +++++++------ 3.4/settings.bat | 11 +++++------ shortcuts/PortablePythonPrompt.cmd | 6 ++++++ 5 files changed, 28 insertions(+), 20 deletions(-) create mode 100644 shortcuts/PortablePythonPrompt.cmd diff --git a/3.4/descriptions.nsh b/3.4/descriptions.nsh index fe347ce..5c6c748 100644 --- a/3.4/descriptions.nsh +++ b/3.4/descriptions.nsh @@ -45,7 +45,7 @@ LangString DESC_MODULE_PANDAS ${LANG_ENGLISH} "Pandas is a Python package provid !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${PYTHON_CORE} $(DESC_PYTHON_CORE) !insertmacro MUI_DESCRIPTION_TEXT ${IDE_PYSCRIPTER} $(DESC_IDE_PYSCRIPTER) -; !insertmacro MUI_DESCRIPTION_TEXT ${IDE_PYCHARM} $(DESC_IDE_PYCHARM) + !insertmacro MUI_DESCRIPTION_TEXT ${IDE_PYCHARM} $(DESC_IDE_PYCHARM) ; !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_PYWIN32} $(DESC_MODULE_PYWIN32) ; !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_NETWORKX} $(DESC_MODULE_NETWORKX) ; !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_PY_SERIAL} $(DESC_MODULE_PY_SERIAL) diff --git a/3.4/modules.bat b/3.4/modules.bat index abf1c5f..232f6d1 100644 --- a/3.4/modules.bat +++ b/3.4/modules.bat @@ -27,7 +27,7 @@ set COMMON=.\..\common.bat call :UnpackPython call :UnpackPyScripter -:: call :UnpackPyCharm +call :UnpackPyCharm :: call :UnpackNumPy :: call :UnpackSciPy :: call :UnpackPyWin32 @@ -78,6 +78,7 @@ tools\nsis\makensis.exe /V0 /DSHORTCUTNAME=IDLE /DPY_VERSION=%PY_VERSION% /DPP_V call COMMON :LogMessage "Copy Python Portable shortcut" copy shortcuts\Python-Portable.exe "%UNPACK_FOLDER%" 1>NUL copy shortcuts\IDLE-Portable.exe "%UNPACK_FOLDER%" 1>NUL +copy shortcuts\PortablePythonPrompt.cmd "%UNPACK_FOLDER%" 1>NUL :: Fix call COMMON :FixMSCRT %UNPACK_FOLDER%\python-core\ @@ -478,6 +479,7 @@ tools\uniextract16\UniExtract.exe "%BIN_FOLDER%\%PYCHARM_FILE%" %UNPACK_FOLDER%\ call COMMON :LogMessage "Copy files to PyCharm folder" RD %UNPACK_FOLDER%\pycharm-temp\$PLUGINSDIR /S /Q RD %UNPACK_FOLDER%\pycharm-temp\bin\$PLUGINSDIR /S /Q +RD "%UNPACK_FOLDER%\PyCharm" /S /Q mkdir %UNPACK_FOLDER%\PyCharm mkdir %UNPACK_FOLDER%\PyCharm\App move /Y "%UNPACK_FOLDER%\pycharm-temp" "%UNPACK_FOLDER%\PyCharm\App\PyCharm" @@ -485,19 +487,19 @@ move /Y "%UNPACK_FOLDER%\pycharm-temp" "%UNPACK_FOLDER%\PyCharm\App\PyCharm" :: Patch PyCharm call COMMON :LogMessage "Patch PyCharm" del %UNPACK_FOLDER%\PyCharm\App\PyCharm\bin\idea.properties /Q -tools\uniextract16\UniExtract.exe "patches\PyCharm.3.1.x.PPpatch" "%UNPACK_FOLDER%\PyCharm\App\PyCharm" >NUL +tools\uniextract16\UniExtract.exe "patches\PyCharm.4.0.x.PPpatch" "%UNPACK_FOLDER%\PyCharm\App\PyCharm" >NUL :: Replace @PY_VERSION@ in jdk.table.xml.tmp to %PY_VERSION% jdk.table.xml setlocal ENABLEDELAYEDEXPANSION -set filein="%UNPACK_FOLDER%\PyCharm\App\PyCharm\.PyCharm30\config\options\jdk.table.xml.tmp" -set fileout="%UNPACK_FOLDER%\PyCharm\App\PyCharm\.PyCharm30\config\options\jdk.table.xml" +set filein="%UNPACK_FOLDER%\PyCharm\App\PyCharm\.PyCharm\config\options\jdk.table.xml.tmp" +set fileout="%UNPACK_FOLDER%\PyCharm\App\PyCharm\.PyCharm\config\options\jdk.table.xml" set old=@PY_VERSION@ set new=%PY_VERSION% -for /f "tokens=* delims=¶" %%i in ( '"type %filein%"') do ( +(for /f "usebackq tokens=* delims=? " %%i in (`type %filein%`) do ( set str=%%i set str=!str:%old%=%new%! - echo !str! >> %fileout% -) + echo !str! +)) > %fileout% del %filein% :: Build Shortcut diff --git a/3.4/modules.nsh b/3.4/modules.nsh index a992225..dbd78bd 100644 --- a/3.4/modules.nsh +++ b/3.4/modules.nsh @@ -32,6 +32,7 @@ Section "!Python 3.4.3 core (x64)" PYTHON_CORE File /r "${SOURCESFOLDER}\python-core\*.*" File "${SOURCESFOLDER}\Python-Portable.exe" File "${SOURCESFOLDER}\IDLE-Portable.exe" + File "${SOURCESFOLDER}\PortablePythonPrompt.cmd" SectionEnd ;SectionGroup "Modules" @@ -105,12 +106,12 @@ SectionGroup "Code editors" File /r "${SOURCESFOLDER}\PyScripter\*.*" File "${SOURCESFOLDER}\PyScripter-Portable.exe" SectionEnd - ; Section "PyCharm Community 3.1.2" IDE_PYCHARM - ; SectionIn 1 - ; SetOutPath "$INSTDIR" - ; File /r "${SOURCESFOLDER}\PyCharm\*.*" - ; File "${SOURCESFOLDER}\PyCharm-Portable.exe" - ; SectionEnd + Section "PyCharm Community 4.0.6" IDE_PYCHARM + SectionIn 1 + SetOutPath "$INSTDIR" + File /r "${SOURCESFOLDER}\PyCharm\*.*" + File "${SOURCESFOLDER}\PyCharm-Portable.exe" + SectionEnd SectionGroupEnd diff --git a/3.4/settings.bat b/3.4/settings.bat index b409002..34d96c6 100644 --- a/3.4/settings.bat +++ b/3.4/settings.bat @@ -72,14 +72,13 @@ set PYQT_DOWNLOAD="http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.9.6/P set PYQT_FILE=PyQt-Py3.2-x86-gpl-4.9.6-1.exe set PYQT_MD5=9c4a1b3b1246e936c3439c0e8a1d5774 -set IPYTHON_DOWNLOAD="http://pypi.python.org/packages/any/i/ipython/ipython-0.13.1.py3-win32.exe" -set IPYTHON_FILE=ipython-0.13.1.py3-win32.exe -set IPYTHON_MD5=43c1c567b920b718a38fffd1866a4392 +set IPYTHON_DOWNLOAD="https://pypi.python.org/packages/3.4/i/ipython/ipython-3.1.0-py3-none-any.whl" +set IPYTHON_FILE=ipython-3.1.0-py3-none-any.whl +set IPYTHON_MD5=e149386e11472f9cf730773b2d824253 set PANDAS_DOWNLOAD="https://pypi.python.org/packages/3.2/p/pandas/pandas-0.11.0.win32-py3.2.exe" set PANDAS_FILE=pandas-0.11.0.win32-py3.2.exe set PANDAS_MD5=7f11d2f59284c5ba64e7d781e1023f95 -set PYCHARM_DOWNLOAD="http://download-cf.jetbrains.com/python/pycharm-community-3.1.2.exe" -set PYCHARM_FILE=pycharm-community-3.1.2.exe -set PYCHARM_MD5=4707668758b044bf5a4214557e7a15fa \ No newline at end of file +set PYCHARM_DOWNLOAD="http://download-cf.jetbrains.com/python/pycharm-community-4.0.6.exe" +set PYCHARM_FILE=pycharm-community-4.0.6.exe diff --git a/shortcuts/PortablePythonPrompt.cmd b/shortcuts/PortablePythonPrompt.cmd new file mode 100644 index 0000000..67c983d --- /dev/null +++ b/shortcuts/PortablePythonPrompt.cmd @@ -0,0 +1,6 @@ +@ECHO OFF +@set PATH=%~dp0App;%~dp0App\Scripts;%PATH% +@set PYTHONHOME=%~dp0App +@set PYTHONPATH= +@set PYTHONSTARTUP=%~dp0App\Lib\ppp.py +start cmd.exe /k for /f "usebackq tokens=* delims=" %%v in (`python -V`) do @title Portable %%v From 9e6861b91a24beb90a02a4fccb48213c42183d3d Mon Sep 17 00:00:00 2001 From: xunningy Date: Sat, 25 Apr 2015 12:59:45 -0500 Subject: [PATCH 10/24] Fixed directory issue with Pycharm on Python 3.4 --- patches/PyCharm.4.0.x.PPpatch | Bin 3761 -> 3758 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/patches/PyCharm.4.0.x.PPpatch b/patches/PyCharm.4.0.x.PPpatch index 553ef0b90b58d10a615969463040dd0f47465d71..33b61e6bfa8c5e63b0ddf3dc2dad30fa2106a6dd 100644 GIT binary patch delta 624 zcmV-$0+0Q%9j+aal@Xj}nMMfgQyJL-008j^001eGa2u0T3=x05Ra;NnFcf~D#DB0X zUK5wHYHV@_9qB|_wpwkN#8c!ZUSs0eQS8$8-!CqOCeRABr99gHF6SbjgU^?_0Qaoa zTuBd}xE%*8r{7;HeAAkFilDkPYf!h?T*xL{up+8bRxqBlzIP1Fwp z-KJi^r!C7N!KaSN+E%q4aS9q|bjI{S#Ss|>hc%d)%<0HdSRt&O8ICYVvO#h*b|mo{RgSK6?A zV-#sKpK4sxJL~jLPddF%&+Ra>ZuNnSc1>KY)x3<^8|QGt1EU>WjGBWU(e-=2<$`i{y+MP(F=Ess#W{2o6*y9wyPV}clTejt^#8T z6(0Z;000080Gwr+MhNUv8QB2<0P&M13`!T8Thxnxf6xIJDvnHlf6xIJDvnHlf6$YM z3@ZVvld}v}0nL*M4P*k#36n4i6_fu77n7R}C;|}*lQ0S^lkg2F0alY44pIS`lWYz@ K2IC3<0001_=Nei7 delta 632 zcmV-;0*C#s9kCsdl@S{oi9~bz>5|+5008p`001eGa2u0Q3=x05mCPUn5|8+sFcY9Xs0s4!3DaB|4-(N>FnQy1z?+` zcI6?d(Jq2N9Z3V*tKM?VL_rW%*omUJ8{ zA(T7}O=%dG(s=HJtq$l7Xh>Z=NmWy(mqn5mCDW*N#e9G3mNN1k!dF+PSJamk48l>RU$+nB>&>us(+3Iieb!g9etff!7_XD%5 z0%HjkKL8W}000O88yks4bNlI%+yMXp^OGYCN*)c5 Date: Tue, 26 May 2015 21:31:07 -0500 Subject: [PATCH 11/24] Update Portable Python with python 2.7.10 (win32), PyCharm 4.5.1 community version --- 2.7/modules.bat | 1 + 2.7/modules.nsh | 5 +++-- 2.7/settings.bat | 12 ++++++------ 2.7/test_imports.py | 2 +- shortcuts/splash.pdn | Bin 20515 -> 22170 bytes shortcuts/splash2.7.bmp | Bin 101078 -> 101078 bytes 6 files changed, 11 insertions(+), 9 deletions(-) diff --git a/2.7/modules.bat b/2.7/modules.bat index ed5522e..7840bec 100644 --- a/2.7/modules.bat +++ b/2.7/modules.bat @@ -108,6 +108,7 @@ call COMMON :LogMessage "Copy Python Portable shortcut" copy shortcuts\Python-Portable.exe "%UNPACK_FOLDER%" 1>NUL copy shortcuts\PythonW-Portable.exe "%UNPACK_FOLDER%" 1>NUL copy shortcuts\IDLE-Portable.exe "%UNPACK_FOLDER%" 1>NUL +copy shortcuts\PortablePythonPrompt.cmd "%UNPACK_FOLDER%" 1>NUL :: Fix call COMMON :FixMSCRT %UNPACK_FOLDER%\python-core\ diff --git a/2.7/modules.nsh b/2.7/modules.nsh index d26a60d..8703e9a 100644 --- a/2.7/modules.nsh +++ b/2.7/modules.nsh @@ -26,13 +26,14 @@ InstType "Full" InstType "Minimal" -Section "!Python 2.7.9 core" PYTHON_CORE +Section "!Python 2.7.10 core" PYTHON_CORE SectionIn 1 2 RO SetOutPath "$INSTDIR" File /r "${SOURCESFOLDER}\python-core\*.*" File "${SOURCESFOLDER}\Python-Portable.exe" File "${SOURCESFOLDER}\PythonW-Portable.exe" File "${SOURCESFOLDER}\IDLE-Portable.exe" + File "${SOURCESFOLDER}\PortablePythonPrompt.cmd" SectionEnd SectionGroup "Modules" Section "NumPy 1.9.2" MODULE_NUMPY @@ -179,7 +180,7 @@ SectionGroup "Code editors" File /r "${SOURCESFOLDER}\PyScripter\*.*" File "${SOURCESFOLDER}\PyScripter-Portable.exe" SectionEnd - Section "PyCharm Community 4.0.6" IDE_PYCHARM + Section "PyCharm Community 4.5.1" IDE_PYCHARM SectionIn 1 SetOutPath "$INSTDIR" File /r "${SOURCESFOLDER}\PyCharm\*.*" diff --git a/2.7/settings.bat b/2.7/settings.bat index abdb30d..a1b67c1 100644 --- a/2.7/settings.bat +++ b/2.7/settings.bat @@ -23,13 +23,13 @@ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: set PY_VERSION=2.7 -set PP_VERSION=9.1 +set PP_VERSION=10.1 set PY_SHORT_VERSION=27 :: Core -set PY_MSI_DOWNLOAD="https://www.python.org/ftp/python/2.7.9/python-2.7.9.msi" -set PY_MSI_FILE=python-2.7.9.msi -set PY_MSI_MD5=3ed20d8b06dcd339f814b38861f88fc9 +set PY_MSI_DOWNLOAD="https://www.python.org/ftp/python/2.7.10/python-2.7.10.msi" +set PY_MSI_FILE=python-2.7.10.msi +set PY_MSI_MD5=4ba2c79b103f6003bc4611c837a08208 :: Modules set PY_SETUPTOOLS_DOWNLOAD="http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11.win32-py2.7.exe" @@ -143,6 +143,6 @@ set OPENPYXL_FILE=openpyxl-1.8.5.tar.gz set OPENPYXL_FILE_TAR=openpyxl-1.8.5.tar set OPENPYXL_MD5=6f2eca608c3129dbfd77982713565709 -set PYCHARM_DOWNLOAD="http://download-cf.jetbrains.com/python/pycharm-community-4.0.6.exe" -set PYCHARM_FILE=pycharm-community-4.0.6.exe +set PYCHARM_DOWNLOAD="http://download-cf.jetbrains.com/python/pycharm-community-4.5.1.exe" +set PYCHARM_FILE=pycharm-community-4.5.1.exe diff --git a/2.7/test_imports.py b/2.7/test_imports.py index a7746ef..a1778cd 100644 --- a/2.7/test_imports.py +++ b/2.7/test_imports.py @@ -4,7 +4,7 @@ class TestCoreSystem(unittest.TestCase): """Test Python core and associated tools""" def test_python(self): import platform - self.assertEqual(platform.python_version(), "2.7.6") + self.assertEqual(platform.python_version(), "2.7.10") def test_setuptools(self): import setuptools diff --git a/shortcuts/splash.pdn b/shortcuts/splash.pdn index 83d55cef4d793dd396ab73e43c46ff5019cfc571..6e2d1d3b2b2d8d072171b9004efef82c04a6de64 100644 GIT binary patch delta 10653 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 KTRHYG&iFslz>o_7 delta 9010 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 literal 101078 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 From 9c044bea94540cf3eb4c903d9f8b8fcb03859541 Mon Sep 17 00:00:00 2001 From: xunningy Date: Sun, 21 Jun 2015 06:29:23 -0500 Subject: [PATCH 12/24] Updated Python 2.7 with PyScripter 2.6 --- 2.7/modules.bat | 15 +++------------ 2.7/modules.nsh | 2 +- 2.7/settings.bat | 6 +++--- 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/2.7/modules.bat b/2.7/modules.bat index 7840bec..22b93ae 100644 --- a/2.7/modules.bat +++ b/2.7/modules.bat @@ -138,21 +138,12 @@ tools\uniextract16\UniExtract.exe "%BIN_FOLDER%\%PY_SCRIPTER_FILE%" %UNPACK_FOLD :: Copy files to PyScripter folder call COMMON :LogMessage "Copy files to PyScripter folder" mkdir %UNPACK_FOLDER%\PyScripter -mkdir %UNPACK_FOLDER%\PyScripter\App -mkdir %UNPACK_FOLDER%\PyScripter\App\locale -mkdir %UNPACK_FOLDER%\PyScripter\App\Skins -copy %UNPACK_FOLDER%\pyscripter-temp\PyScripter\PyScripter.exe "%UNPACK_FOLDER%\PyScripter\App\" >NUL -copy %UNPACK_FOLDER%\pyscripter-temp\PyScripter\PyScripter.chm "%UNPACK_FOLDER%\PyScripter\App\" >NUL -copy %UNPACK_FOLDER%\pyscripter-temp\PyScripter\PyProject.ico "%UNPACK_FOLDER%\PyScripter\App\" >NUL -xcopy /EY %UNPACK_FOLDER%\pyscripter-temp\PyScripter\locale "%UNPACK_FOLDER%\PyScripter\App\locale" >NUL - -:: Unpack rpyc -call COMMON :LogMessage "Unpack rypc" -tools\uniextract16\UniExtract.exe "%UNPACK_FOLDER%\pyscripter-temp\PyScripter\Lib\rpyc.zip" %UNPACK_FOLDER%\PyScripter\App\Lib\site-packages\ >NUL +move "%UNPACK_FOLDER%\pyscripter-temp\PyScripter" "%UNPACK_FOLDER%\PyScripter\App" + :: Patch PyScripter call COMMON :LogMessage "Patch PyScripter" -tools\uniextract16\UniExtract.exe patches\PyScripter.2.5.3.PPpatch %UNPACK_FOLDER%\PyScripter\App >NUL +copy /Y patches\PyScripter26.ini %UNPACK_FOLDER%\PyScripter\App\PyScripter.ini 1>NUL 2>NUL :: Build Shortcut call COMMON :LogMessage "Build PyScripter shortcut" diff --git a/2.7/modules.nsh b/2.7/modules.nsh index 8703e9a..d9c5d76 100644 --- a/2.7/modules.nsh +++ b/2.7/modules.nsh @@ -174,7 +174,7 @@ SectionGroupEnd SectionGroup "Code editors" - Section "PyScripter 2.5.3" IDE_PYSCRIPTER + Section "PyScripter 2.6.0" IDE_PYSCRIPTER SectionIn 1 SetOutPath "$INSTDIR" File /r "${SOURCESFOLDER}\PyScripter\*.*" diff --git a/2.7/settings.bat b/2.7/settings.bat index a1b67c1..99ce76d 100644 --- a/2.7/settings.bat +++ b/2.7/settings.bat @@ -36,9 +36,9 @@ set PY_SETUPTOOLS_DOWNLOAD="http://pypi.python.org/packages/2.7/s/setuptools/set set PY_SETUPTOOLS_FILE=setuptools-0.6c11.win32-py2.7.exe set PY_SETUPTOOLS_MD5=57e1e64f6b7c7f1d2eddfc9746bbaf20 -set PY_SCRIPTER_DOWNLOAD="http://pyscripter.googlecode.com/files/PyScripter-v2.5.3.zip" -set PY_SCRIPTER_FILE=PyScripter-v2.5.3.zip -set PY_SCRIPTER_SHA1=363226a2dc708bc5dd83eda9ccc36339b79a7345 +set PY_SCRIPTER_DOWNLOAD="http://sourceforge.net/projects/pyscripter/files/PyScripter-v2.6.0.zip" +set PY_SCRIPTER_FILE=PyScripter-v2.6.0.zip +set PY_SCRIPTER_SHA1=03ffbb5eb33ffc1da9a54dae3c9a67243b897fd5 set NUMPY_DOWNLOAD="http://sourceforge.net/projects/numpy/files/NumPy/1.9.2/numpy-1.9.2-win32-superpack-python2.7.exe" set NUMPY_FILE=numpy-1.9.2-win32-superpack-python2.7.exe From 5b04a4ed4247071b5eefc9b6a7e3f0b92a31531c Mon Sep 17 00:00:00 2001 From: Luiko Czub Date: Sat, 22 Aug 2015 21:20:45 +0200 Subject: [PATCH 13/24] 2.7 modules - PyCharm.4.0.x.PPpatch - del other.xml obsolet --- 2.7/modules.bat | 1 - 1 file changed, 1 deletion(-) diff --git a/2.7/modules.bat b/2.7/modules.bat index d3b01df..4bdc4d4 100644 --- a/2.7/modules.bat +++ b/2.7/modules.bat @@ -865,7 +865,6 @@ call COMMON :LogMessage "Patch PyCharm" del %UNPACK_FOLDER%\PyCharm\App\PyCharm\bin\idea.properties /Q tools\uniextract16\UniExtract.exe "patches\PyCharm.4.0.x.PPpatch" "%UNPACK_FOLDER%\PyCharm\App\PyCharm" >NUL -del "%UNPACK_FOLDER%\PyCharm\App\PyCharm\.PyCharm\config\options\other.xml" /Q :: Replace @PY_VERSION@ in jdk.table.xml.tmp to %PY_VERSION% jdk.table.xml setlocal ENABLEDELAYEDEXPANSION set filein="%UNPACK_FOLDER%\PyCharm\App\PyCharm\.PyCharm\config\options\jdk.table.xml.tmp" From d404419398c7603915b88331827a618eed38e848 Mon Sep 17 00:00:00 2001 From: Luiko Czub Date: Tue, 1 Sep 2015 21:14:16 +0200 Subject: [PATCH 14/24] fix Unpack PyScripter long pathname --- 2.7/modules.bat | 2 +- 3.4/modules.bat | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/2.7/modules.bat b/2.7/modules.bat index 4bdc4d4..cb8b804 100644 --- a/2.7/modules.bat +++ b/2.7/modules.bat @@ -145,7 +145,7 @@ tools\uniextract16\UniExtract.exe "%BIN_FOLDER%\%PY_SCRIPTER_FILE%" %UNPACK_FOLD :: Copy files to PyScripter folder call COMMON :LogMessage "Copy files to PyScripter folder" mkdir %UNPACK_FOLDER%\PyScripter -move "%UNPACK_FOLDER%\pyscripter-temp\PyScripter" "%UNPACK_FOLDER%\PyScripter\App" +ROBOCOPY /NP /E /MOVE "%UNPACK_FOLDER%\pyscripter-temp\PyScripter" "%UNPACK_FOLDER%\PyScripter\App" :: Patch PyScripter diff --git a/3.4/modules.bat b/3.4/modules.bat index 232f6d1..02001d4 100644 --- a/3.4/modules.bat +++ b/3.4/modules.bat @@ -108,7 +108,7 @@ tools\uniextract16\UniExtract.exe "%BIN_FOLDER%\%PY_SCRIPTER_FILE%" %UNPACK_FOLD :: Copy files to PyScripter folder call COMMON :LogMessage "Copy files to PyScripter folder" mkdir %UNPACK_FOLDER%\PyScripter -move "%UNPACK_FOLDER%\pyscripter-temp\PyScripter" "%UNPACK_FOLDER%\PyScripter\App" +ROBOCOPY /NP /E /MOVE "%UNPACK_FOLDER%\pyscripter-temp\PyScripter" "%UNPACK_FOLDER%\PyScripter\App" :: mkdir %UNPACK_FOLDER%\PyScripter\App :: mkdir %UNPACK_FOLDER%\PyScripter\App\locale :: mkdir %UNPACK_FOLDER%\PyScripter\App\Skins From 0bac529ef7852f8740965ec4a4eba1e5e47c3f62 Mon Sep 17 00:00:00 2001 From: Luiko Czub Date: Wed, 14 Oct 2015 22:02:29 +0200 Subject: [PATCH 15/24] PyCharm download source changed 4.5.1 -> 4.5.4 --- 2.7/modules.bat | 2 +- 2.7/settings.bat | 5 +++-- 3.4/modules.bat | 2 +- 3.4/settings.bat | 5 +++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/2.7/modules.bat b/2.7/modules.bat index cb8b804..c601139 100644 --- a/2.7/modules.bat +++ b/2.7/modules.bat @@ -863,7 +863,7 @@ move /Y "%UNPACK_FOLDER%\pycharm-temp" "%UNPACK_FOLDER%\PyCharm\App\PyCharm" :: Patch PyCharm call COMMON :LogMessage "Patch PyCharm" del %UNPACK_FOLDER%\PyCharm\App\PyCharm\bin\idea.properties /Q -tools\uniextract16\UniExtract.exe "patches\PyCharm.4.0.x.PPpatch" "%UNPACK_FOLDER%\PyCharm\App\PyCharm" >NUL +tools\uniextract16\bin\7z.exe x patches\PyCharm.4.0.x.PPpatch -o%UNPACK_FOLDER%\PyCharm\App\PyCharm -y >NUL :: Replace @PY_VERSION@ in jdk.table.xml.tmp to %PY_VERSION% jdk.table.xml setlocal ENABLEDELAYEDEXPANSION diff --git a/2.7/settings.bat b/2.7/settings.bat index c824db2..71a60e9 100644 --- a/2.7/settings.bat +++ b/2.7/settings.bat @@ -143,6 +143,7 @@ set OPENPYXL_FILE=openpyxl-1.8.5.tar.gz set OPENPYXL_FILE_TAR=openpyxl-1.8.5.tar set OPENPYXL_MD5=6f2eca608c3129dbfd77982713565709 -set PYCHARM_DOWNLOAD="http://download-cf.jetbrains.com/python/pycharm-community-4.5.1.exe" -set PYCHARM_FILE=pycharm-community-4.5.1.exe +set PYCHARM_DOWNLOAD="http://download-cf.jetbrains.com/python/pycharm-community-4.5.4.exe" +set PYCHARM_FILE=pycharm-community-4.5.4.exe +set PYCHARM_MD5=fc9842b3dd3073a25fedeaf3c52372f6 diff --git a/3.4/modules.bat b/3.4/modules.bat index 02001d4..c1efab5 100644 --- a/3.4/modules.bat +++ b/3.4/modules.bat @@ -487,7 +487,7 @@ move /Y "%UNPACK_FOLDER%\pycharm-temp" "%UNPACK_FOLDER%\PyCharm\App\PyCharm" :: Patch PyCharm call COMMON :LogMessage "Patch PyCharm" del %UNPACK_FOLDER%\PyCharm\App\PyCharm\bin\idea.properties /Q -tools\uniextract16\UniExtract.exe "patches\PyCharm.4.0.x.PPpatch" "%UNPACK_FOLDER%\PyCharm\App\PyCharm" >NUL +tools\uniextract16\bin\7z.exe x patches\PyCharm.4.0.x.PPpatch -o%UNPACK_FOLDER%\PyCharm\App\PyCharm -y >NUL :: Replace @PY_VERSION@ in jdk.table.xml.tmp to %PY_VERSION% jdk.table.xml setlocal ENABLEDELAYEDEXPANSION diff --git a/3.4/settings.bat b/3.4/settings.bat index 34d96c6..1020479 100644 --- a/3.4/settings.bat +++ b/3.4/settings.bat @@ -80,5 +80,6 @@ set PANDAS_DOWNLOAD="https://pypi.python.org/packages/3.2/p/pandas/pandas-0.11.0 set PANDAS_FILE=pandas-0.11.0.win32-py3.2.exe set PANDAS_MD5=7f11d2f59284c5ba64e7d781e1023f95 -set PYCHARM_DOWNLOAD="http://download-cf.jetbrains.com/python/pycharm-community-4.0.6.exe" -set PYCHARM_FILE=pycharm-community-4.0.6.exe +set PYCHARM_DOWNLOAD="http://download-cf.jetbrains.com/python/pycharm-community-4.5.4.exe" +set PYCHARM_FILE=pycharm-community-4.5.4.exe +set PYCHARM_MD5=fc9842b3dd3073a25fedeaf3c52372f6 \ No newline at end of file From c838c82c6a19ecc48d169986ac5ce35cd0870b7d Mon Sep 17 00:00:00 2001 From: NHellFire Date: Mon, 11 Apr 2016 15:37:52 +0100 Subject: [PATCH 16/24] Update to Python 2.7.11 --- 2.7/modules.nsh | 4 ++-- 2.7/settings.bat | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/2.7/modules.nsh b/2.7/modules.nsh index e7431e2..568528a 100644 --- a/2.7/modules.nsh +++ b/2.7/modules.nsh @@ -26,7 +26,7 @@ InstType "Full" InstType "Minimal" -Section "!Python 2.7.6 core" PYTHON_CORE +Section "!Python 2.7.11 core" PYTHON_CORE SectionIn 1 2 RO SetOutPath "$INSTDIR" File /r "${SOURCESFOLDER}\python-core\*.*" @@ -204,4 +204,4 @@ Function .onSelChange ${Unless} ${SectionIsSelected} ${MODULE_XLWT} !insertmacro UnselectSection ${MODULE_XLUTILS} ${EndIf} -FunctionEnd \ No newline at end of file +FunctionEnd diff --git a/2.7/settings.bat b/2.7/settings.bat index b252a06..b3151f5 100644 --- a/2.7/settings.bat +++ b/2.7/settings.bat @@ -27,9 +27,9 @@ set PP_VERSION=6.1 set PY_SHORT_VERSION=27 :: Core -set PY_MSI_DOWNLOAD="http://python.org/ftp/python/2.7.6/python-2.7.6.msi" -set PY_MSI_FILE=python-2.7.6.msi -set PY_MSI_MD5=ac54e14f7ba180253b9bae6635d822ea +set PY_MSI_DOWNLOAD="http://python.org/ftp/python/2.7.11/python-2.7.11.msi" +set PY_MSI_FILE=python-2.7.11.msi +set PY_MSI_MD5=241bf8e097ab4e1047d9bb4f59602095 :: Modules set PY_SETUPTOOLS_DOWNLOAD="http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11.win32-py2.7.exe" From 3fa1f985e5a3d339b417f806ff56170ef9afff6c Mon Sep 17 00:00:00 2001 From: NHellFire Date: Mon, 11 Apr 2016 15:38:34 +0100 Subject: [PATCH 17/24] Update PyCharm --- 2.7/modules.bat | 2 +- 2.7/modules.nsh | 2 +- 2.7/settings.bat | 6 +++--- 3.2/modules.bat | 2 +- 3.2/modules.nsh | 2 +- 3.2/settings.bat | 6 +++--- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/2.7/modules.bat b/2.7/modules.bat index 46498c2..bc49923 100644 --- a/2.7/modules.bat +++ b/2.7/modules.bat @@ -846,7 +846,7 @@ setlocal ENABLEEXTENSIONS call COMMON :DownloadFile %PYCHARM_DOWNLOAD% :: Verify -call COMMON :VerifyFile %PYCHARM_FILE% MD5 %PYCHARM_MD5% +call COMMON :VerifyFile %PYCHARM_FILE% SHA256 %PYCHARM_SHA256% :: Unpack files call COMMON :LogMessage "Extracting PyCharm files" diff --git a/2.7/modules.nsh b/2.7/modules.nsh index 568528a..e325cda 100644 --- a/2.7/modules.nsh +++ b/2.7/modules.nsh @@ -179,7 +179,7 @@ SectionGroup "Code editors" File /r "${SOURCESFOLDER}\PyScripter\*.*" File "${SOURCESFOLDER}\PyScripter-Portable.exe" SectionEnd - Section "PyCharm Community 3.1.2" IDE_PYCHARM + Section "PyCharm Community 2016.1.2" IDE_PYCHARM SectionIn 1 SetOutPath "$INSTDIR" File /r "${SOURCESFOLDER}\PyCharm\*.*" diff --git a/2.7/settings.bat b/2.7/settings.bat index b3151f5..21e37c4 100644 --- a/2.7/settings.bat +++ b/2.7/settings.bat @@ -143,6 +143,6 @@ set OPENPYXL_FILE=openpyxl-1.8.5.tar.gz set OPENPYXL_FILE_TAR=openpyxl-1.8.5.tar set OPENPYXL_MD5=6f2eca608c3129dbfd77982713565709 -set PYCHARM_DOWNLOAD="http://download-cf.jetbrains.com/python/pycharm-community-3.1.2.exe" -set PYCHARM_FILE=pycharm-community-3.1.2.exe -set PYCHARM_MD5=4707668758b044bf5a4214557e7a15fa +set PYCHARM_DOWNLOAD="https://download.jetbrains.com/python/pycharm-community-2016.1.2.exe" +set PYCHARM_FILE=pycharm-community-2016.1.2.exe +set PYCHARM_SHA256=4d9f3d6b213a5e4224d1ba0949e03801e41de5c7d1f70169b41fecda5cfe232f diff --git a/3.2/modules.bat b/3.2/modules.bat index 459802b..12c8412 100644 --- a/3.2/modules.bat +++ b/3.2/modules.bat @@ -484,7 +484,7 @@ setlocal ENABLEEXTENSIONS call COMMON :DownloadFile %PYCHARM_DOWNLOAD% :: Verify -call COMMON :VerifyFile %PYCHARM_FILE% MD5 %PYCHARM_MD5% +call COMMON :VerifyFile %PYCHARM_FILE% SHA256 %PYCHARM_SHA256% :: Unpack files call COMMON :LogMessage "Extracting PyCharm files" diff --git a/3.2/modules.nsh b/3.2/modules.nsh index 561470a..d13b427 100644 --- a/3.2/modules.nsh +++ b/3.2/modules.nsh @@ -105,7 +105,7 @@ SectionGroup "Code editors" File /r "${SOURCESFOLDER}\PyScripter\*.*" File "${SOURCESFOLDER}\PyScripter-Portable.exe" SectionEnd - Section "PyCharm Community 3.1.2" IDE_PYCHARM + Section "PyCharm Community 2016.1.2" IDE_PYCHARM SectionIn 1 SetOutPath "$INSTDIR" File /r "${SOURCESFOLDER}\PyCharm\*.*" diff --git a/3.2/settings.bat b/3.2/settings.bat index 1b730b0..6bdd4b3 100644 --- a/3.2/settings.bat +++ b/3.2/settings.bat @@ -86,6 +86,6 @@ set PANDAS_DOWNLOAD="https://pypi.python.org/packages/3.2/p/pandas/pandas-0.11.0 set PANDAS_FILE=pandas-0.11.0.win32-py3.2.exe set PANDAS_MD5=7f11d2f59284c5ba64e7d781e1023f95 -set PYCHARM_DOWNLOAD="http://download-cf.jetbrains.com/python/pycharm-community-3.1.2.exe" -set PYCHARM_FILE=pycharm-community-3.1.2.exe -set PYCHARM_MD5=4707668758b044bf5a4214557e7a15fa \ No newline at end of file +set PYCHARM_DOWNLOAD="https://download.jetbrains.com/python/pycharm-community-2016.1.2.exe" +set PYCHARM_FILE=pycharm-community-2016.1.2.exe +set PYCHARM_SHA256=4d9f3d6b213a5e4224d1ba0949e03801e41de5c7d1f70169b41fecda5cfe232f \ No newline at end of file From 32e847d70b99d51ccc5de38bb264f2ea748ec39b Mon Sep 17 00:00:00 2001 From: NHellFire Date: Mon, 11 Apr 2016 15:48:11 +0100 Subject: [PATCH 18/24] 2.7: Update NetworkX --- 2.7/modules.nsh | 2 +- 2.7/settings.bat | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/2.7/modules.nsh b/2.7/modules.nsh index e325cda..f35c225 100644 --- a/2.7/modules.nsh +++ b/2.7/modules.nsh @@ -50,7 +50,7 @@ SectionGroup "Modules" SetOutPath "$INSTDIR\App\" File /r "${SOURCESFOLDER}\pywin32\*.*" SectionEnd - Section "NetworkX 1.7" MODULE_NETWORKX + Section "NetworkX 1.11" MODULE_NETWORKX SectionIn 1 SetOutPath "$INSTDIR\App\Lib\site-packages\networkx\" File /r "${SOURCESFOLDER}\networkx\networkx\*.*" diff --git a/2.7/settings.bat b/2.7/settings.bat index 21e37c4..7f9aa9f 100644 --- a/2.7/settings.bat +++ b/2.7/settings.bat @@ -54,9 +54,9 @@ set PYWIN32_DOWNLOAD="http://sourceforge.net/projects/pywin32/files/pywin32/Buil set PYWIN32_FILE=pywin32-218.win32-py2.7.exe set PYWIN32_MD5=16e178ac18b49fa0d27ba0be90f460af -set NETWORKX_DOWNLOAD="http://networkx.lanl.gov/download/networkx/networkx-1.7-py2.7.egg" -set NETWORKX_FILE=networkx-1.7-py2.7.egg -set NETWORKX_MD5=1d4c59f1e894f39f8928be8718905969 +set NETWORKX_DOWNLOAD="https://pypi.python.org/packages/2.7/n/networkx/networkx-1.11-py2.7.egg" +set NETWORKX_FILE=networkx-1.11-py2.7.egg +set NETWORKX_MD5=314fde21a33ad8f6753d7a06315722cc set DJANGO_DOWNLOAD="https://pypi.python.org/packages/source/D/Django/Django-1.6.2.tar.gz" set DJANGO_FILE=Django-1.6.2.tar.gz From ce09d81fda39e573064daab49cdccc726bc7097a Mon Sep 17 00:00:00 2001 From: NHellFire Date: Wed, 13 Apr 2016 15:44:50 +0100 Subject: [PATCH 19/24] 2.7: Update PyWin32 --- 2.7/modules.nsh | 2 +- 2.7/settings.bat | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/2.7/modules.nsh b/2.7/modules.nsh index f35c225..0385aec 100644 --- a/2.7/modules.nsh +++ b/2.7/modules.nsh @@ -45,7 +45,7 @@ SectionGroup "Modules" SetOutPath "$INSTDIR\App\Lib\site-packages\" File /r "${SOURCESFOLDER}\scipy\PLATLIB\*.*" SectionEnd - Section "PyWin32 218" MODULE_PYWIN32 + Section "PyWin32 220" MODULE_PYWIN32 SectionIn 1 SetOutPath "$INSTDIR\App\" File /r "${SOURCESFOLDER}\pywin32\*.*" diff --git a/2.7/settings.bat b/2.7/settings.bat index 7f9aa9f..fbd4f88 100644 --- a/2.7/settings.bat +++ b/2.7/settings.bat @@ -50,9 +50,9 @@ set SCIPY_FILE=scipy-0.13.3-win32-superpack-python2.7.exe set SCIPY_FILE_NOSSE=scipy-0.13.3-nosse.exe set SCIPY_ZIP_MD5=ab43e3022aa642bef49a1f92516a6fdf -set PYWIN32_DOWNLOAD="http://sourceforge.net/projects/pywin32/files/pywin32/Build 218/pywin32-218.win32-py2.7.exe" -set PYWIN32_FILE=pywin32-218.win32-py2.7.exe -set PYWIN32_MD5=16e178ac18b49fa0d27ba0be90f460af +set PYWIN32_DOWNLOAD="http://sourceforge.net/projects/pywin32/files/pywin32/Build 220/pywin32-220.win32-py2.7.exe" +set PYWIN32_FILE=pywin32-220.win32-py2.7.exe +set PYWIN32_MD5=59be43a3f010602ce623612ecdf34908 set NETWORKX_DOWNLOAD="https://pypi.python.org/packages/2.7/n/networkx/networkx-1.11-py2.7.egg" set NETWORKX_FILE=networkx-1.11-py2.7.egg From 883d3f003537a61eac79f437a6012155b324537f Mon Sep 17 00:00:00 2001 From: NHellFire Date: Wed, 13 Apr 2016 16:13:52 +0100 Subject: [PATCH 20/24] Move temp folder to portablepython source location --- .gitignore | 3 +++ build.bat | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index d620f6f..8c92449 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,6 @@ ################# shortcuts/*.exe + +# Temp dir +build \ No newline at end of file diff --git a/build.bat b/build.bat index 86488fc..75baa6d 100644 --- a/build.bat +++ b/build.bat @@ -51,7 +51,7 @@ if not exist %1 ( :: Load variables for specified version call .\%1\settings.bat -set TEMP_FOLDER=%TEMP%PortablePython.v.%PY_VERSION%.%PP_VERSION%.Build +set TEMP_FOLDER=%CD%\build\PortablePython.v%PY_VERSION%.%PP_VERSION% set BIN_FOLDER=%TEMP_FOLDER%\binaries set UNPACK_FOLDER=%TEMP_FOLDER%\unpacked set OUTPUT_FOLDER=%TEMP_FOLDER%\output From 9cda06cea80e1d521a09a5231c9e283f73625759 Mon Sep 17 00:00:00 2001 From: NHellFire Date: Wed, 13 Apr 2016 16:17:21 +0100 Subject: [PATCH 21/24] Move build config to a sub folder --- build.bat | 6 +++--- {2.7 => config/2.7}/descriptions.nsh | 0 {2.7 => config/2.7}/modules.bat | 0 {2.7 => config/2.7}/modules.nsh | 0 {2.7 => config/2.7}/settings.bat | 0 {2.7 => config/2.7}/test_imports.py | 0 {3.2 => config/3.2}/descriptions.nsh | 0 {3.2 => config/3.2}/modules.bat | 0 {3.2 => config/3.2}/modules.nsh | 0 {3.2 => config/3.2}/settings.bat | 0 main.nsi | 2 +- 11 files changed, 4 insertions(+), 4 deletions(-) rename {2.7 => config/2.7}/descriptions.nsh (100%) rename {2.7 => config/2.7}/modules.bat (100%) rename {2.7 => config/2.7}/modules.nsh (100%) rename {2.7 => config/2.7}/settings.bat (100%) rename {2.7 => config/2.7}/test_imports.py (100%) rename {3.2 => config/3.2}/descriptions.nsh (100%) rename {3.2 => config/3.2}/modules.bat (100%) rename {3.2 => config/3.2}/modules.nsh (100%) rename {3.2 => config/3.2}/settings.bat (100%) diff --git a/build.bat b/build.bat index 75baa6d..4ba081e 100644 --- a/build.bat +++ b/build.bat @@ -43,13 +43,13 @@ call COMMON :LogMessage call COMMON :LogMessage "Building distribution based on Python %1" :: Check can we find config dir -if not exist %1 ( +if not exist config\%1 ( call COMMON :LogMessage "ERROR: Config folder not found for this version !! Aborting..." goto:eof ) :: Load variables for specified version -call .\%1\settings.bat +call .\config\%1\settings.bat set TEMP_FOLDER=%CD%\build\PortablePython.v%PY_VERSION%.%PP_VERSION% set BIN_FOLDER=%TEMP_FOLDER%\binaries @@ -91,7 +91,7 @@ if not exist %TEMP_FOLDER% ( ) :: Extract modules -call .\%1\modules.bat +call .\config\%1\modules.bat :: Build installer call COMMON :LogMessage diff --git a/2.7/descriptions.nsh b/config/2.7/descriptions.nsh similarity index 100% rename from 2.7/descriptions.nsh rename to config/2.7/descriptions.nsh diff --git a/2.7/modules.bat b/config/2.7/modules.bat similarity index 100% rename from 2.7/modules.bat rename to config/2.7/modules.bat diff --git a/2.7/modules.nsh b/config/2.7/modules.nsh similarity index 100% rename from 2.7/modules.nsh rename to config/2.7/modules.nsh diff --git a/2.7/settings.bat b/config/2.7/settings.bat similarity index 100% rename from 2.7/settings.bat rename to config/2.7/settings.bat diff --git a/2.7/test_imports.py b/config/2.7/test_imports.py similarity index 100% rename from 2.7/test_imports.py rename to config/2.7/test_imports.py diff --git a/3.2/descriptions.nsh b/config/3.2/descriptions.nsh similarity index 100% rename from 3.2/descriptions.nsh rename to config/3.2/descriptions.nsh diff --git a/3.2/modules.bat b/config/3.2/modules.bat similarity index 100% rename from 3.2/modules.bat rename to config/3.2/modules.bat diff --git a/3.2/modules.nsh b/config/3.2/modules.nsh similarity index 100% rename from 3.2/modules.nsh rename to config/3.2/modules.nsh diff --git a/3.2/settings.bat b/config/3.2/settings.bat similarity index 100% rename from 3.2/settings.bat rename to config/3.2/settings.bat diff --git a/main.nsi b/main.nsi index fc53109..3fab36c 100644 --- a/main.nsi +++ b/main.nsi @@ -28,7 +28,7 @@ !verbose 2 ; Include correct folder -!AddIncludeDir ${PY_VERSION} +!AddIncludeDir config\${PY_VERSION} !define WEBSITE "PortablePython.com" !define VERSION "${PY_VERSION}.${PP_VERSION}" From fd5eef7099917473dc9d95ef59bd5c6013c37c36 Mon Sep 17 00:00:00 2001 From: NHellFire Date: Wed, 13 Apr 2016 17:06:48 +0100 Subject: [PATCH 22/24] Show errors from NSIS --- build.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.bat b/build.bat index 4ba081e..ade8add 100644 --- a/build.bat +++ b/build.bat @@ -96,7 +96,7 @@ call .\config\%1\modules.bat :: Build installer call COMMON :LogMessage call COMMON :LogMessage "Building Portable Python %PY_VERSION%.%PP_VERSION% installer ..." -tools\nsis\makensis /V0 /DPY_VERSION=%1 /DPP_VERSION=%PP_VERSION% /DOUTPUT_FOLDER="%OUTPUT_FOLDER%" /DSOURCES_FOLDER="%UNPACK_FOLDER%" main.nsi +tools\nsis\makensis /V1 /DPY_VERSION=%1 /DPP_VERSION=%PP_VERSION% /DOUTPUT_FOLDER="%OUTPUT_FOLDER%" /DSOURCES_FOLDER="%UNPACK_FOLDER%" main.nsi call COMMON :LogMessage call COMMON :LogMessage "Portable Python build script completed at :: %date% %time%" call COMMON :LogMessage "Installer ready at: %OUTPUT_FOLDER%" \ No newline at end of file From a5867e8c8e5ebc21dbd7a23f24ec5cba29d81fe8 Mon Sep 17 00:00:00 2001 From: Luiko Czub Date: Tue, 27 Dec 2016 20:15:56 +0100 Subject: [PATCH 23/24] move 3.4 config, update pycharm --- config/2.7/modules.nsh | 2 +- config/2.7/settings.bat | 6 +++--- config/3.2/settings.bat | 6 +++--- {3.4 => config/3.4}/descriptions.nsh | 0 {3.4 => config/3.4}/modules.bat | 0 {3.4 => config/3.4}/modules.nsh | 2 +- {3.4 => config/3.4}/settings.bat | 6 +++--- 7 files changed, 11 insertions(+), 11 deletions(-) rename {3.4 => config/3.4}/descriptions.nsh (100%) rename {3.4 => config/3.4}/modules.bat (100%) rename {3.4 => config/3.4}/modules.nsh (98%) rename {3.4 => config/3.4}/settings.bat (94%) diff --git a/config/2.7/modules.nsh b/config/2.7/modules.nsh index f3418b7..bc06f02 100644 --- a/config/2.7/modules.nsh +++ b/config/2.7/modules.nsh @@ -180,7 +180,7 @@ SectionGroup "Code editors" File /r "${SOURCESFOLDER}\PyScripter\*.*" File "${SOURCESFOLDER}\PyScripter-Portable.exe" SectionEnd - Section "PyCharm Community 2016.1.2" IDE_PYCHARM + Section "PyCharm Community 2016.3.1" IDE_PYCHARM SectionIn 1 SetOutPath "$INSTDIR" File /r "${SOURCESFOLDER}\PyCharm\*.*" diff --git a/config/2.7/settings.bat b/config/2.7/settings.bat index ce42453..4590e34 100644 --- a/config/2.7/settings.bat +++ b/config/2.7/settings.bat @@ -143,6 +143,6 @@ set OPENPYXL_FILE=openpyxl-1.8.5.tar.gz set OPENPYXL_FILE_TAR=openpyxl-1.8.5.tar set OPENPYXL_MD5=6f2eca608c3129dbfd77982713565709 -set PYCHARM_DOWNLOAD="https://download.jetbrains.com/python/pycharm-community-2016.1.2.exe" -set PYCHARM_FILE=pycharm-community-2016.1.2.exe -set PYCHARM_SHA256=4d9f3d6b213a5e4224d1ba0949e03801e41de5c7d1f70169b41fecda5cfe232f +set PYCHARM_DOWNLOAD="http://download.jetbrains.com/python/pycharm-community-2016.3.1.exe" +set PYCHARM_FILE=pycharm-community-2016.3.1.exe +set PYCHARM_SHA256=3546c3f68d142d85f6a5283f3a4ee4d1161238b82bc9c8296ad8010c4d8f11c1 diff --git a/config/3.2/settings.bat b/config/3.2/settings.bat index 6bdd4b3..9d2a21c 100644 --- a/config/3.2/settings.bat +++ b/config/3.2/settings.bat @@ -86,6 +86,6 @@ set PANDAS_DOWNLOAD="https://pypi.python.org/packages/3.2/p/pandas/pandas-0.11.0 set PANDAS_FILE=pandas-0.11.0.win32-py3.2.exe set PANDAS_MD5=7f11d2f59284c5ba64e7d781e1023f95 -set PYCHARM_DOWNLOAD="https://download.jetbrains.com/python/pycharm-community-2016.1.2.exe" -set PYCHARM_FILE=pycharm-community-2016.1.2.exe -set PYCHARM_SHA256=4d9f3d6b213a5e4224d1ba0949e03801e41de5c7d1f70169b41fecda5cfe232f \ No newline at end of file +set PYCHARM_DOWNLOAD="http://download.jetbrains.com/python/pycharm-community-2016.3.1.exe" +set PYCHARM_FILE=pycharm-community-2016.3.1.exe +set PYCHARM_SHA256=3546c3f68d142d85f6a5283f3a4ee4d1161238b82bc9c8296ad8010c4d8f11c1 diff --git a/3.4/descriptions.nsh b/config/3.4/descriptions.nsh similarity index 100% rename from 3.4/descriptions.nsh rename to config/3.4/descriptions.nsh diff --git a/3.4/modules.bat b/config/3.4/modules.bat similarity index 100% rename from 3.4/modules.bat rename to config/3.4/modules.bat diff --git a/3.4/modules.nsh b/config/3.4/modules.nsh similarity index 98% rename from 3.4/modules.nsh rename to config/3.4/modules.nsh index dbd78bd..8ce4c02 100644 --- a/3.4/modules.nsh +++ b/config/3.4/modules.nsh @@ -106,7 +106,7 @@ SectionGroup "Code editors" File /r "${SOURCESFOLDER}\PyScripter\*.*" File "${SOURCESFOLDER}\PyScripter-Portable.exe" SectionEnd - Section "PyCharm Community 4.0.6" IDE_PYCHARM + Section "PyCharm Community 2016.3.1" IDE_PYCHARM SectionIn 1 SetOutPath "$INSTDIR" File /r "${SOURCESFOLDER}\PyCharm\*.*" diff --git a/3.4/settings.bat b/config/3.4/settings.bat similarity index 94% rename from 3.4/settings.bat rename to config/3.4/settings.bat index 1020479..fb1dbf3 100644 --- a/3.4/settings.bat +++ b/config/3.4/settings.bat @@ -80,6 +80,6 @@ set PANDAS_DOWNLOAD="https://pypi.python.org/packages/3.2/p/pandas/pandas-0.11.0 set PANDAS_FILE=pandas-0.11.0.win32-py3.2.exe set PANDAS_MD5=7f11d2f59284c5ba64e7d781e1023f95 -set PYCHARM_DOWNLOAD="http://download-cf.jetbrains.com/python/pycharm-community-4.5.4.exe" -set PYCHARM_FILE=pycharm-community-4.5.4.exe -set PYCHARM_MD5=fc9842b3dd3073a25fedeaf3c52372f6 \ No newline at end of file +set PYCHARM_DOWNLOAD="http://download.jetbrains.com/python/pycharm-community-2016.3.1.exe" +set PYCHARM_FILE=pycharm-community-2016.3.1.exe +set PYCHARM_SHA256=3546c3f68d142d85f6a5283f3a4ee4d1161238b82bc9c8296ad8010c4d8f11c1 From 20fecf1465050cb2bd3669e09bd9c3b73208c793 Mon Sep 17 00:00:00 2001 From: Luiko Czub Date: Tue, 27 Dec 2016 20:56:42 +0100 Subject: [PATCH 24/24] pyodbc pip installation since pyodbc moved from google to github no win installer is published --- config/2.7/descriptions.nsh | 5 ++++- config/2.7/modules.bat | 3 ++- config/2.7/modules.nsh | 14 +++++++++++--- config/2.7/settings.bat | 7 ++++--- config/3.2/modules.bat | 3 ++- config/3.2/modules.nsh | 5 +++-- config/3.2/settings.bat | 7 ++++--- config/3.4/modules.nsh | 2 +- config/3.4/settings.bat | 15 ++++++++------- 9 files changed, 39 insertions(+), 22 deletions(-) diff --git a/config/2.7/descriptions.nsh b/config/2.7/descriptions.nsh index 385d84e..ef91730 100644 --- a/config/2.7/descriptions.nsh +++ b/config/2.7/descriptions.nsh @@ -54,6 +54,7 @@ LangString DESC_MODULE_XLWT ${LANG_ENGLISH} "Library to create spreadsheet files LangString DESC_MODULE_XLUTILS ${LANG_ENGLISH} "Utilities for working with Excel files that require both xlrd and xlwt" LangString DESC_MODULE_OPENPYXL ${LANG_ENGLISH} "A Python library to read/write Excel 2007 xlsx/xlsm files" LangString DESC_PIP_MODULE_IPYTHON ${LANG_ENGLISH} "Alternative pip installation for IPython. IPython provides a rich toolkit to help you make the most out of using Python interactively." +LangString DESC_PIP_MODULE_PYODBC ${LANG_ENGLISH} "pip installation for PyODBC. Allows you to use ODBC to connect to almost any database from Windows, Linux, OS/X, and more." !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${PYTHON_CORE} $(DESC_PYTHON_CORE) @@ -84,4 +85,6 @@ LangString DESC_PIP_MODULE_IPYTHON ${LANG_ENGLISH} "Alternative pip installation !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_XLUTILS} $(DESC_MODULE_XLUTILS) !insertmacro MUI_DESCRIPTION_TEXT ${MODULE_OPENPYXL} $(DESC_MODULE_OPENPYXL) !insertmacro MUI_DESCRIPTION_TEXT ${PIP_MODULE_IPYTHON} $(DESC_PIP_MODULE_IPYTHON) -!insertmacro MUI_FUNCTION_DESCRIPTION_END \ No newline at end of file + !insertmacro MUI_DESCRIPTION_TEXT ${PIP_MODULE_PYODBC} $(DESC_PIP_MODULE_PYODBC) + + !insertmacro MUI_FUNCTION_DESCRIPTION_END \ No newline at end of file diff --git a/config/2.7/modules.bat b/config/2.7/modules.bat index 9423448..c7b2525 100644 --- a/config/2.7/modules.bat +++ b/config/2.7/modules.bat @@ -48,7 +48,8 @@ call :UnpackDateutil call :UnpackPyParsing call :UnpackLXML call :UnpackPySerial -call :UnpackPyODBC +:: since pyodbc moved from google to github - installation via pip is required +:: call :UnpackPyODBC call :UnpackPyGame call :UnpackPyGTK call :UnpackPyQT diff --git a/config/2.7/modules.nsh b/config/2.7/modules.nsh index bc06f02..c845dbc 100644 --- a/config/2.7/modules.nsh +++ b/config/2.7/modules.nsh @@ -93,12 +93,13 @@ SectionGroup "Modules" SetOutPath "$INSTDIR\App\Lib\site-packages\" File /r "${SOURCESFOLDER}\pyserial\PURELIB\*.*" SectionEnd +/* since pyodbc moved from google to github - installation via pip is required Section "PyODBC 3.0.7" MODULE_PYODBC SectionIn 1 SetOutPath "$INSTDIR\App\Lib\site-packages\" File /r "${SOURCESFOLDER}\pyodbc\PLATLIB\*.*" SectionEnd - Section "PyGame 1.9.1" MODULE_PYGAME + */ Section "PyGame 1.9.1" MODULE_PYGAME SectionIn 1 SetOutPath "$INSTDIR\App\" File /r "${SOURCESFOLDER}\pygame\*.*" @@ -204,7 +205,7 @@ SectionGroup "`pip` packages" ; package versions. ; ; [1]: http://stackoverflow.com/questions/18230956/could-not-find-a-version-that-satisfies-the-requirement-pytz - StrCpy $PipInstallFlags ' --pre ' + StrCpy $PipInstallFlags '--no-cache-dir' SectionEnd Section "Install pip" @@ -219,7 +220,14 @@ SectionGroup "`pip` packages" ;known problem: ; - with pip installed scripts App\Scripts\iXYZ-script.py incudes "hard coded" python path ; - if the pp installation moves, these paths must be adapted manually - nsExec::ExecToLog '$Pip install ipython $PipInstallFlags' + nsExec::ExecToLog '$Pip install $PipInstallFlags ipython' + SectionEnd + Section "Install PyODBC" PIP_MODULE_PYODBC + SectionIn 1 + ;known problem: + ; - with pip installed scripts App\Scripts\iXYZ-script.py incudes "hard coded" python path + ; - if the pp installation moves, these paths must be adapted manually + nsExec::ExecToLog '$Pip install $PipInstallFlags pyodbc' SectionEnd SectionGroupEnd diff --git a/config/2.7/settings.bat b/config/2.7/settings.bat index 4590e34..f3ec3df 100644 --- a/config/2.7/settings.bat +++ b/config/2.7/settings.bat @@ -95,9 +95,10 @@ set PY_SERIAL_DOWNLOAD="http://sourceforge.net/projects/pyserial/files/pyserial/ set PY_SERIAL_FILE=pyserial-2.7.win32.exe set PY_SERIAL_MD5=21555387937eeb79126cde25abee4b35 -set PYODBC_DOWNLOAD="http://pyodbc.googlecode.com/files/pyodbc-3.0.7.win32-py2.7.exe" -set PYODBC_FILE=pyodbc-3.0.7.win32-py2.7.exe -set PYODBC_SHA1=e1992fe4d4983f16e33913e8162f89f50fcde2b0 +:: since pyodbc moved from google to github - installation via pip is required +:: set PYODBC_DOWNLOAD="http://pyodbc.googlecode.com/files/pyodbc-3.0.7.win32-py2.7.exe" +:: set PYODBC_FILE=pyodbc-3.0.7.win32-py2.7.exe +:: set PYODBC_SHA1=e1992fe4d4983f16e33913e8162f89f50fcde2b0 set PYGAME_DOWNLOAD="http://pygame.org/ftp/pygame-1.9.1.win32-py2.7.msi" set PYGAME_FILE=pygame-1.9.1.win32-py2.7.msi diff --git a/config/3.2/modules.bat b/config/3.2/modules.bat index 14ccce3..340c829 100644 --- a/config/3.2/modules.bat +++ b/config/3.2/modules.bat @@ -42,7 +42,8 @@ call :UnpackNetworkX call :UnpackMatplotlib call :UnpackLXML call :UnpackPySerial -call :UnpackPyODBC +:: since pyodbc moved from google to github - installation via pip is required +:: call :UnpackPyODBC call :UnpackPyQT call :UnpackIPython call :UnpackPandas diff --git a/config/3.2/modules.nsh b/config/3.2/modules.nsh index d13b427..1631ad7 100644 --- a/config/3.2/modules.nsh +++ b/config/3.2/modules.nsh @@ -70,12 +70,13 @@ SectionGroup "Modules" SetOutPath "$INSTDIR\App\Lib\site-packages\" File /r "${SOURCESFOLDER}\pyserial\PURELIB\*.*" SectionEnd +/* since pyodbc moved from google to github - installation via pip is required Section "PyODBC 3.0.2" MODULE_PYODBC SectionIn 1 SetOutPath "$INSTDIR\App\Lib\site-packages\" File /r "${SOURCESFOLDER}\pyodbc\PLATLIB\*.*" SectionEnd - Section "PyQT 4.9.6-1" MODULE_PYQT +*/ Section "PyQT 4.9.6-1" MODULE_PYQT SectionIn 1 SetOutPath "$INSTDIR\App\Lib\" File /r "${SOURCESFOLDER}\pyqt\Lib\*.*" @@ -105,7 +106,7 @@ SectionGroup "Code editors" File /r "${SOURCESFOLDER}\PyScripter\*.*" File "${SOURCESFOLDER}\PyScripter-Portable.exe" SectionEnd - Section "PyCharm Community 2016.1.2" IDE_PYCHARM + Section "PyCharm Community 2016.3.1" IDE_PYCHARM SectionIn 1 SetOutPath "$INSTDIR" File /r "${SOURCESFOLDER}\PyCharm\*.*" diff --git a/config/3.2/settings.bat b/config/3.2/settings.bat index 9d2a21c..c013d33 100644 --- a/config/3.2/settings.bat +++ b/config/3.2/settings.bat @@ -70,9 +70,10 @@ set PY_SERIAL_DOWNLOAD="http://pypi.python.org/packages/any/p/pyserial/pyserial- set PY_SERIAL_FILE=pyserial-py3k-2.5.win32.exe set PY_SERIAL_MD5=c7d770dede6f6c6197d9652a7658f18e -set PYODBC_DOWNLOAD="http://pyodbc.googlecode.com/files/pyodbc-3.0.2.win32-py3.2.exe" -set PYODBC_FILE=pyodbc-3.0.2.win32-py3.2.exe -set PYODBC_SHA1=9abe8b36be9f3a2dbb427a4a049e9b70cd909c6d +:: since pyodbc moved from google to github - installation via pip is required +:: set PYODBC_DOWNLOAD="http://pyodbc.googlecode.com/files/pyodbc-3.0.2.win32-py3.2.exe" +:: set PYODBC_FILE=pyodbc-3.0.2.win32-py3.2.exe +:: set PYODBC_SHA1=9abe8b36be9f3a2dbb427a4a049e9b70cd909c6d set PYQT_DOWNLOAD="http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.9.6/PyQt-Py3.2-x86-gpl-4.9.6-1.exe" set PYQT_FILE=PyQt-Py3.2-x86-gpl-4.9.6-1.exe diff --git a/config/3.4/modules.nsh b/config/3.4/modules.nsh index 8ce4c02..57e481b 100644 --- a/config/3.4/modules.nsh +++ b/config/3.4/modules.nsh @@ -26,7 +26,7 @@ InstType "Full" InstType "Minimal" -Section "!Python 3.4.3 core (x64)" PYTHON_CORE +Section "!Python 3.4.4 core (x64)" PYTHON_CORE SectionIn 1 2 RO SetOutPath "$INSTDIR" File /r "${SOURCESFOLDER}\python-core\*.*" diff --git a/config/3.4/settings.bat b/config/3.4/settings.bat index fb1dbf3..77dfc6b 100644 --- a/config/3.4/settings.bat +++ b/config/3.4/settings.bat @@ -23,13 +23,13 @@ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: set PY_VERSION=3.4 -set PP_VERSION=3.1 +set PP_VERSION=4.1 set PY_SHORT_VERSION=34 :: Modules -set PY_MSI_DOWNLOAD="https://www.python.org/ftp/python/3.4.3/python-3.4.3.amd64.msi" -set PY_MSI_FILE=python-3.4.3.amd64.msi -set PY_MSI_MD5=f6ade29acaf8fcdc0463e69a6e7ccf87 +set PY_MSI_DOWNLOAD="https://www.python.org/ftp/python/3.4.4/python-3.4.4.amd64.msi" +set PY_MSI_FILE=python-3.4.4.amd64.msi +set PY_MSI_MD5=963f67116935447fad73e09cc561c713 set PY_SCRIPTER_DOWNLOAD="http://sourceforge.net/projects/pyscripter/files/PyScripter-v2.6.0-x64.zip" set PY_SCRIPTER_FILE=PyScripter-v2.6.0-x64.zip @@ -64,9 +64,10 @@ set PY_SERIAL_DOWNLOAD="http://pypi.python.org/packages/any/p/pyserial/pyserial- set PY_SERIAL_FILE=pyserial-py3k-2.5.win32.exe set PY_SERIAL_MD5=c7d770dede6f6c6197d9652a7658f18e -set PYODBC_DOWNLOAD="http://pyodbc.googlecode.com/files/pyodbc-3.0.2.win32-py3.2.exe" -set PYODBC_FILE=pyodbc-3.0.2.win32-py3.2.exe -set PYODBC_SHA1=9abe8b36be9f3a2dbb427a4a049e9b70cd909c6d +:: since pyodbc moved from google to github - installation via pip is required +:: set PYODBC_DOWNLOAD="http://pyodbc.googlecode.com/files/pyodbc-3.0.2.win32-py3.2.exe" +:: set PYODBC_FILE=pyodbc-3.0.2.win32-py3.2.exe +:: set PYODBC_SHA1=9abe8b36be9f3a2dbb427a4a049e9b70cd909c6d set PYQT_DOWNLOAD="http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.9.6/PyQt-Py3.2-x86-gpl-4.9.6-1.exe" set PYQT_FILE=PyQt-Py3.2-x86-gpl-4.9.6-1.exe