ó >–Sc @sdZddlZddlZddlmZmZmZmZmZejdkrge Z d„Z n e Z e Z ddl Z ejdZdd d d d d dddg Zd ejfd„ƒYZdejfd„ƒYZdejfd„ƒYZeZdS(s,GOption command line parser Extends optparse to use the GOptionGroup, GOptionEntry and GOptionContext objects. So it is possible to use the gtk, gnome_program and gstreamer command line groups and contexts. Use this interface instead of the raw wrappers of GOptionContext and GOptionGroup in glib. iÿÿÿÿN(t OptParseErrort OptionErrortOptionValueErrortBadOptionErrortOptionConflictErroriicCs |jƒS(N(tencode(ts((s1/usr/lib64/python2.7/site-packages/glib/option.pyt'ss glib._glibRRRRRtOptiont OptionGroupt OptionParsert make_optioncBs_eZdZejjd ZejjdddgZdejZ d„Z d„Z d„Z RS( s¼Represents a command line option To use the extended possibilities of the GOption API Option (and make_option) are extended with new types and attributes. Types: filename The supplied arguments are read as filename, GOption parses this type in with the GLib filename encoding. Attributes: optional_arg This does not need a arguement, but it can be supplied. hidden The help list does not show this option in_main This option apears in the main group, this should only be used for backwards compatibility. Use Option.REMAINING as option name to get all positional arguments. NOTE: Every argument to an option is passed as utf-8 coded string, the only exception are options which use the 'filename' type, its arguments are passed as strings in the GLib filename encoding. For further help, see optparse.Option. tfilenamethiddentin_maint optional_args--cOstjj|||Ž|js.tdƒ‚nt|jƒt|jƒkr[tdƒ‚n|js}td|jdƒ‚ndS(Ns!%s at least one long option name.s;%s at least more long option names than short option names.s%s needs a help message.i(toptparseRt__init__t _long_optst ValueErrortlent _short_optsthelp(tselftargstkwargs((s1/usr/lib64/python2.7/site-packages/glib/option.pyR_s   cCsi|j|kr%|jj|jƒntjj||ƒt|jƒt|jƒkretdƒ‚ndS(NsCgoption.Option needs more long option names than short option names( t REMAININGRtappendRRt_set_opt_stringRRR(Rtopts((s1/usr/lib64/python2.7/site-packages/glib/option.pyRls ccs#d}|jr|tjO}n|jr8|tjO}n|jƒr`|jrm|tjO}qmn |tjO}|j dkrŒ|tj O}nxKt |j |j ƒD]4\}}|dt|dƒ||j|jfVq¢WxB|j t|j ƒD]*}|dtdƒ||j|jfVqñWdS(NiR iit(R t_glibtOPTION_FLAG_HIDDENRtOPTION_FLAG_IN_MAINt takes_valueRtOPTION_FLAG_OPTIONAL_ARGtOPTION_FLAG_NO_ARGttypetOPTION_FLAG_FILENAMEtzipRRt_bytesRtmetavarR(Rtflagst long_namet short_name((s1/usr/lib64/python2.7/site-packages/glib/option.pyt_to_goptionentriests     ",(sfilename( t__name__t __module__t__doc__RRtTYPEStATTRSRtOPTION_REMAININGRRRR-(((s1/usr/lib64/python2.7/site-packages/glib/option.pyR;s     cBsJeZdZddddd„Zd„Zd„Zdd„Zd„ZRS(s×A group of command line options. Arguements: name: The groups name, used to create the --help-{name} option description: Shown as title of the groups help view help_description: Shown as help to the --help-{name} option option_list: The options used in this group, must be option.Option() defaults: A dicitionary of default values translation_domain: Sets the translation domain for gettext(). NOTE: This OptionGroup does not exactly map the optparse.OptionGroup interface. There is no parser object to supply, but it is possible to set default values and option_lists. Also the default values and values are not shared with the OptionParser. To pass a OptionGroup into a function which expects a GOptionGroup (e.g. gnome_program_init() ). OptionGroup.get_option_group() can be used. For further help, see optparse.OptionGroup. tcCsƒtjj|td|ƒ||_d|_||_|rF||_nd|_ ||_ |rx|D]}|j |ƒqeWndS(Nterror( RtOptionContainerRRtnametNonetparserthelp_descriptiontdefaultstvaluesttranslation_domaint add_option(RR7t descriptionR:t option_listR;R=toption((s1/usr/lib64/python2.7/site-packages/glib/option.pyR¢s       cCsg|_|jƒdS(N(R@t_create_option_mappings(R((s1/usr/lib64/python2.7/site-packages/glib/option.pyt_create_option_list´s cs‡‡fd†}tjˆjˆjˆj|ƒ}ˆjrO|jˆjƒng}x$ˆjD]}|j|j ƒƒq_W|j |ƒ|S(Ncs³|jdƒrˆj|}n ˆj|}y|j||ˆjˆƒWnctk r®tjƒd}tj t |ƒƒ}tj |_ tj |_t |ƒ|_|‚nXdS(Ns--i(t startswitht _long_optt _short_opttprocessR<Rtsystexc_infoRtGErrortstrt OPTION_ERRORtdomaintOPTION_ERROR_BAD_VALUEtcodetmessage(t option_namet option_valuetgrouptoptR5tgerror(R9R(s1/usr/lib64/python2.7/site-packages/glib/option.pytcallback¹s    ( RR R7R?R:R=tset_translation_domainR@textendR-t add_entries(RR9RVRStentriesRA((R9Rs1/usr/lib64/python2.7/site-packages/glib/option.pyt_to_goptiongroup¸s  cCs|jƒ|j|ƒS(s€ Returns the corresponding GOptionGroup object. Can be used as parameter for gnome_program_init(), gtk_init(). (tset_values_to_defaultsR[(RR9((s1/usr/lib64/python2.7/site-packages/glib/option.pytget_option_groupÖs cCs|x`|jD]U}|jj|jƒ}t|tƒr |jƒ}|j||ƒ|j|js  cCs5|j|ƒ}|jtjdg|ƒd|(dS(Nii(R|tparseRHtargv(RtlargstrargsR<Rw((s1/usr/lib64/python2.7/site-packages/glib/option.pyt _process_argsEsc CsA|p g}y"tjj|||ƒ\}}Wn«tjk rÛtjƒd}|jtjkri‚n|j tj krt |j ƒ‚qÜ|j tj kr±t|j ƒ‚qÜ|j tjkrÕt|j ƒ‚qÜ‚nXxD|jD]9}x0|jjjƒD]\}}|j||ƒqÿWqæW|dt|ƒ !}||fS(Nii(RR t parse_argsRRJRHRIRMRLRORNRRPtOPTION_ERROR_UNKNOWN_OPTIONRtOPTION_ERROR_FAILEDRRsR<t__dict__titemst ensure_valueR( RRR<told_argsR~R5RStkeytvalue((s1/usr/lib64/python2.7/site-packages/glib/option.pyR…Ms(  N( R.R/R0RRoR|R}RR„R8R…(((s1/usr/lib64/python2.7/site-packages/glib/option.pyR çs    (ii(R0RHRRRRRRt version_infoRKRaR(t basestringtglibtmodulesRt__all__RR R R (((s1/usr/lib64/python2.7/site-packages/glib/option.pyts.  (    Q[