î i fpã@sbdZddlZddlmZddlTddlmZdd„ZGdd „d eƒZdS) zidistutils.command.bdist Implements the Distutils 'bdist' command (create a built [binary] distribution).éN)ÚCommand)Ú*)Ú get_platformcCslddlm}g}x6tjD]+}|jd|dtj|dfƒq W||ƒ}|jdƒdS)zFPrint list of available formats (arguments to "--format" option). r)Ú FancyGetoptzformats=Néz'List of available distribution formats:)Zdistutils.fancy_getoptrÚbdistÚformat_commandsÚappendÚformat_commandZ print_help)rÚformatsÚformatZpretty_printer©r úd6d?d 6d@d!6dAd6dBd"6Z d.d/„Z d0d1„Zd2d3„Zd S)Crz$create a built (binary) distributionú bdist-base=Úbú4temporary directory for creating built distributionsz plat-name=Úpz;platform name to embed in generated filenames (default: %s)úformats=Nú/formats for distribution (comma-separated list)ú dist-dir=Údú=directory to put final built distributions in [default: dist]ú skip-buildú2skip rebuilding everything (for testing/debugging)úowner=Úuú@Owner name used when creating a tar file [default: current user]úgroup=ÚgúAGroup name used when creating a tar file [default: current group]z help-formatsz$lists available distribution formatsÚ bdist_rpmZgztarÚposixÚzipÚntZrpmZbztarZztarZtarZwininstZmsiúRPM distributionÚ bdist_dumbúgzip'ed tar fileúbzip2'ed tar fileúcompressed tar fileútar fileÚ bdist_wininstúWindows executable installerúZIP fileÚ bdist_msiúMicrosoft InstallercCsCd|_d|_d|_d|_d|_d|_d|_dS)Nr)Ú bdist_baseÚ plat_namer Údist_dirÚ skip_buildÚgroupÚowner)Úselfr r rÚinitialize_optionsPs      zbdist.initialize_optionsc Cs|jdkr?|jr'tƒ|_q?|jdƒj|_n|jdkr‚|jdƒj}tjj|d|jƒ|_n|j dƒ|j dkrãy|j tj g|_ Wqãt k rßtdtj ƒ‚YqãXn|jdkrþd|_ndS)NZbuildzbdist.r z;don't know how to create built distributions on platform %sZdist)r1r3rZget_finalized_commandr0Ú build_baseÚosÚpathÚjoinZensure_string_listr Údefault_formatÚnameÚKeyErrorZDistutilsPlatformErrorr2)r6r8r r rÚfinalize_optionsYs$    zbdist.finalize_optionsc Csg}xR|jD]G}y|j|j|dƒWqtk rVtd|ƒ‚YqXqWx²tt|jƒƒD]›}||}|j|ƒ}||jkr²|j||_ n|dkrÙ|j |_ |j |_ n|||dd…krÿd|_ n|j |ƒqqWdS)Nrzinvalid format '%s'r&r)r r r r>ZDistutilsOptionErrorÚrangeÚlenZreinitialize_commandÚno_format_optionr r5r4Z keep_tempZ run_command)r6Zcommandsr ÚiZcmd_nameZsub_cmdr r rÚrunus"     z bdist.run)rrr)rNr)rrr)rNr)rrr)rrr )r!)r!r%)ú bdist_dumbr')rEr()rEr))rEr*)r+r,)rEr-)r.r/)Ú__name__Ú __module__Ú __qualname__Z descriptionrZ user_optionsZboolean_optionsrZ help_optionsrBr<rr r7r?rDr r r rrsH         r) Ú__doc__r9Zdistutils.corerZdistutils.errorsZdistutils.utilrrrr r r rÚs