JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbrў f0:c@sdZddlZddlZddlmZddlmZddlmZm Z ddl Tddl m Z ddl mZGd d d eZdS( uzdistutils.command.bdist_wininst Implements the Distutils 'bdist_wininst' command: create a windows installer exe-program.iN(uCommand(u get_platform(u create_treeu remove_tree(u*(uget_python_version(ulogcBs|EeZdZdZd4dddefddd d fd d3d d fd5d6d7d8d9d:d;d<d=g ZddddgZd%d&Zd'd(Z d)d*Z d+d,Z d3d-d.Z d/d0Z d1d2Zd3S(>u bdist_wininstu-create an executable installer for MS Windowsu bdist-dir=u1temporary directory for creating the distributionu plat-name=upu;platform name to embed in generated filenames (default: %s)u keep-tempuku/keep the pseudo-installation tree around after u!creating the distribution archiveutarget-version=u!require a specific python versionu on the target systemuno-target-compileucu/do not compile .py to .pyc on the target systemuno-target-optimizeuou:do not compile .py to .pyo (optimized)on the target systemu dist-dir=udu-directory to put final built distributions inubitmap=ubu>bitmap to use for the installer instead of python-powered logoutitle=utu?title to display on the installer background instead of defaultu skip-buildu2skip rebuilding everything (for testing/debugging)uinstall-script=uTbasename of installation script to be run afterinstallation or before deinstallationupre-install-script=u{Fully qualified filename of a script to be run before any files are installed. This script need not be in the distributionuuser-access-control=uspecify Vista's UAC handling - 'none'/default=no handling, 'auto'=use UAC if target Python installed for all users, 'force'=always use UACcCsyd|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ dS(Ni(uNoneu bdist_diru plat_nameu keep_tempuno_target_compileuno_target_optimizeutarget_versionudist_dirubitmaputitleu skip_builduinstall_scriptupre_install_scriptuuser_access_control(uself((uD/opt/alt/python33/lib64/python3.3/distutils/command/bdist_wininst.pyuinitialize_options:s            u bdist_wininst.initialize_optionscCs\|jdd |jdkr|jrR|jrR|jjd}|j|_n|jdj}t j j |d|_n|j sd|_ n|j r|jj rt}|j r|j |krtd|fn||_ n|jdd d |jrXxI|jjD]%}|jt j j|krPqqWtd|jndS( Nubdistu skip_builduwininstuuMtarget version can only be %s, or the '--skip-build' option must be specifiedudist_diru plat_nameu(install_script '%s' not found in scripts(u skip_buildu skip_build(udist_dirudist_dir(u plat_nameu plat_name(uset_undefined_optionsu bdist_diruNoneu skip_buildu plat_nameu distributionuget_command_objuget_finalized_commandu bdist_baseuosupathujoinutarget_versionuhas_ext_modulesuget_python_versionuDistutilsOptionErroruinstall_scriptuscriptsubasename(uselfubdistu bdist_baseu short_versionuscript((uD/opt/alt/python33/lib64/python3.3/distutils/command/bdist_wininst.pyufinalize_optionsJs4      ubdist_wininst.finalize_optionsc Cstjdkr<|jjs-|jjr<tdn|jsU|jdn|jddd}|j |_ |j|_d|_ |j |_ |jd}d|_ d|_|jjrE|j}|s|jstd tjdd }nd |j |f}|jd}tjj|jd ||_nxGdD]?}|j}|dkrw|d}nt|d||qLWtjd|j |jtjjdtjj|j d|jtjd=ddlm }|} |jj!} |j"| dd|j } |j#| | |j$|jjrYt%} nd} |jj&j'd| |j(| ftj)d| tj*| |j+st,|j d|j-ndS(Nuwin32u^distribution contains extensions and/or C libraries; must be compiled on a Windows 32 platformubuilduinstallureinit_subcommandsiiu install_libu Should have already checked thisiu.%s-%sulibupurelibuplatlibuheadersuscriptsudatau/Include/$dist_nameuinstall_uinstalling to %suPURELIB(umktempuzipuroot_diruanyu bdist_wininsturemoving temporary file '%s'udry_run(upurelibuplatlibuheadersuscriptsudata(.usysuplatformu distributionuhas_ext_modulesuhas_c_librariesuDistutilsPlatformErroru skip_buildu run_commandureinitialize_commandu bdist_dirurootuwarn_diru plat_nameucompileuoptimizeutarget_versionuAssertionErroruversionuget_finalized_commanduosupathujoinu build_baseu build_libuupperusetattruloguinfouensure_finalizeduinserturunutempfileumktempu get_fullnameu make_archiveu create_exeubitmapuget_python_versionu dist_filesuappenduget_installer_filenameudebuguremoveu keep_tempu remove_treeudry_run( uselfuinstallu install_libutarget_versionuplat_specifierubuildukeyuvalueumktempuarchive_basenameufullnameuarcnameu pyversion((uD/opt/alt/python33/lib64/python3.3/distutils/command/bdist_wininst.pyurunpsf               %       ubdist_wininst.runc Csg}|jj}|jd|jp+dd}dd}x~dddd d d d d gD]^}t||d}|r]|d|j||f}|jd|||fq]q]W|jd|jr|jd|jn|jd|||jd|j |jd|j |j rM|jd|j n|j rm|jd|j n|j p|jj }|jd||ddl }ddl} d|j|j | jf} |jd| dj|S(Nu [metadata]uu cSs|jddS(Nu u\n(ureplace(us((uD/opt/alt/python33/lib64/python3.3/distutils/command/bdist_wininst.pyuescapesu)bdist_wininst.get_inidata..escapeuauthoru author_emailu descriptionu maintainerumaintainer_emailunameuurluversionu %s: %su%s=%su [Setup]uinstall_script=%suinfo=%sutarget_compile=%dutarget_optimize=%dutarget_version=%suuser_access_control=%sutitle=%siuBuilt %s with distutils-%su build_info=%s(u distributionumetadatauappendulong_descriptionugetattru capitalizeuinstall_scriptuno_target_compileuno_target_optimizeutarget_versionuuser_access_controlutitleu get_fullnameutimeu distutilsuctimeu __version__ujoin( uselfulinesumetadatauinfouescapeunameudatautitleutimeu distutilsu build_info((uD/opt/alt/python33/lib64/python3.3/distutils/command/bdist_wininst.pyu get_inidatas<   $      ubdist_wininst.get_inidatac Csddl}|j|j|j}|j|}|jd||rrt|dj}t|}nd}t|d} | j |j |r| j |nt |t r|j d}n|d}|jr+t|jddd } | jj d } WdQX|| d }n |d}| j ||jd d t||} | j | | j t|djdS( Niu creating %surbuwbumbcssuruencodingulatin-1s ubitmap to use for the installer instead of python-powered logo(utitle=utu?title to display on the installer background instead of default(u skip-buildNu2skip rebuilding everything (for testing/debugging)(uinstall-script=NuTbasename of installation script to be run afterinstallation or before deinstallation(upre-install-script=Nu{Fully qualified filename of a script to be run before any files are installed. This script need not be in the distribution(uuser-access-control=Nuspecify Vista's UAC handling - 'none'/default=no handling, 'auto'=use UAC if target Python installed for all users, 'force'=always use UAC(u__name__u __module__u __qualname__u descriptionuNoneu get_platformu user_optionsuboolean_optionsuinitialize_optionsufinalize_optionsurunu get_inidatau create_exeuget_installer_filenameu get_exe_bytes(u __locals__((uD/opt/alt/python33/lib64/python3.3/distutils/command/bdist_wininst.pyu bdist_wininstsN      & Q .5 u bdist_wininst(u__doc__usysuosudistutils.coreuCommandudistutils.utilu get_platformudistutils.dir_utilu create_treeu remove_treeudistutils.errorsudistutils.sysconfiguget_python_versionu distutilsulogu bdist_wininst(((uD/opt/alt/python33/lib64/python3.3/distutils/command/bdist_wininst.pyus