Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/dist-packages/gi/_glib/
Upload File :
Current File : //usr/lib/python2.7/dist-packages/gi/_glib/option.pyc


-Oc	@sdZddlZddlZddlmZmZmZmZmZejdkrge	Z
dZneZ
e	Zddl
ZejdZdd	d
ddd
dddg	Zd
ejfdYZdejfdYZdejfdYZeZdS(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.
iN(t
OptParseErrortOptionErrortOptionValueErrortBadOptionErrortOptionConflictErroriicCs
|jS(N(tencode(ts((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyt<lambda>'ssgi._glib._glibRRRRRtOptiontOptionGrouptOptionParsertmake_optioncBs_eZdZejjd	ZejjdddgZdejZ	dZ
dZdZRS(
sRepresents 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.tdnt|jt|jkr[tdn|js}td|jdndS(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((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyR_s		cCsi|j|kr%|jj|jntjj||t|jt|jkretdndS(NsCgoption.Option needs more long option names than short option names(	t	REMAININGRtappendRRt_set_opt_stringRRR(Rtopts((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyRls
ccs#d}|jr|tjO}n|jr8|tjO}n|jr`|jrm|tjO}qmn
|tjO}|j	dkr|tj
O}nxKt|j|j
D]4\}}|dt|d||j|jfVqWxB|jt|j
D]*}|dtd||j|jfVqWdS(NiRiit(R
t_glibtOPTION_FLAG_HIDDENRtOPTION_FLAG_IN_MAINttakes_valueRtOPTION_FLAG_OPTIONAL_ARGtOPTION_FLAG_NO_ARGttypetOPTION_FLAG_FILENAMEtzipRRt_bytesRtmetavarR(Rtflagst	long_namet
short_name((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyt_to_goptionentriests			
",(sfilename(
t__name__t
__module__t__doc__RRtTYPEStATTRSRtOPTION_REMAININGRRRR-(((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyR;s		

	
	cBsJeZdZdddddZdZdZddZdZRS(sA 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.
    tcCstjj|td|||_d|_||_|rF||_nd|_	||_
|rx|D]}|j|qeWndS(Nterror(RtOptionContainerRRtnametNonetparserthelp_descriptiontdefaultstvaluesttranslation_domaint
add_option(RR7tdescriptionR:toption_listR;R=toption((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyRs					
cCsg|_|jdS(N(R@t_create_option_mappings(R((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyt_create_option_lists	csfd}tjjjj|}jrO|jjng}x$jD]}|j|j	q_W|j
||S(Ncs|jdrj|}n
j|}y|j||jWnctk
rtjd}tj	t
|}tj|_tj
|_t
||_|nXdS(Ns--i(t
startswitht	_long_optt
_short_opttprocessR<Rtsystexc_infoRtGErrortstrtOPTION_ERRORtdomaintOPTION_ERROR_BAD_VALUEtcodetmessage(toption_nametoption_valuetgrouptoptR5tgerror(RR9(s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pytcallbacks

(RR	R7R?R:R=tset_translation_domainR@textendR-tadd_entries(RR9RVRStentriesRA((RR9s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyt_to_goptiongroups	
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((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pytget_option_groups
cCs|x`|jD]U}|jj|j}t|tr
|j}|j|||j|j<q
q
Wtj	|j|_
dS(N(R@R;tgettdestt
isinstancet_basestringtget_opt_stringtcheck_valueRtValuesR<(RRAtdefaulttopt_str((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyR\sN(	R.R/R0R8RRCR[R]R\(((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyR	s		cBsSeZdZdZdZdZdZdZdZdddZ
RS(	sqCommand line parser with GOption support.

    NOTE: The OptionParser interface is not the exactly the same as the
          optparse.OptionParser interface. Especially the usage parameter
          is only used to show the metavar of the arguements.

    Attribues:
        help_enabled:           The --help, --help-all and --help-{group}
                                options are enabled (default).
        ignore_unknown_options: Do not throw a exception when a option is not
                                knwon, the option will be in the result list.

    OptionParser.add_option_group() does not only accept OptionGroup instances
    but also glib.OptionGroup, which is returned by gtk_get_option_group().

    Only glib.option.OptionGroup and glib.option.Option instances should
    be passed as groups and options.

    For further help, see optparse.OptionParser.
    cOscd|krt|d<n|jdt|_|jdt|_tjj|dt||dS(Ntoption_classthelp_enabledtignore_unknown_optionstadd_help_option(	RtpoptTrueRhtFalseRiRR
R(RRR((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyRs
	cCsJ|dkrd|_n.|jdr=|td|_n	||_dS(NR4s%prog(R8tusageRDR(RRn((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyt	set_usages
c
sjr jdj}n	j}tj|}|jj|jjxHjD]=}t	|tj
r|}n|j}|j|qbWfd}tj
ddd|}g}x$jD]}	|j|	jqW|j||j||S(Ns - csF|jdrj|}n
j|}|j||dS(Ns--(RDRERFRG(RQRRRSRT(RR<(s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyRVs
(R?RnRt
OptionContexttset_help_enabledRhtset_ignore_unknown_optionsRit
option_groupsR`R	R]t	add_groupR8R@RXR-RYtset_main_group(
RR<tparameter_stringtcontexttoption_grouptg_groupRVt
main_grouptmain_entriesRA((RR<s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyt_to_goptioncontexts&			

cOst|dtr6tjj|t|||dSt|dkr|rt|dtr|djs||d_n|dj|k	rtdqnt|dt	jr|j
j|ddSntjj|||dS(Niis"invalid OptionGroup (wrong parser)(R`RaRR
tadd_option_groupR	RR9RRRsR(RRR((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyR}.s
cCsG|j}x6|jD]+}t|tjr|j|jqqW|S(N(R@RsR`RR	RX(RtoptionsRS((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyt_get_all_options>s

cCs5|j|}|jtjdg|d|(dS(Nii(R|tparseRHtargv(RtlargstrargsR<Rw((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyt
_process_argsEsc	CsA|p	g}y"tjj|||\}}Wntjk
rtjd}|jtjkrin|j	tj
krt|jq|j	tj
krt|jq|j	tjkrt|jqnXxD|jD]9}x0|jjjD]\}}|j||qWqW|dt|!}||fS(Nii(RR
t
parse_argsRRJRHRIRMRLRORNRRPtOPTION_ERROR_UNKNOWN_OPTIONRtOPTION_ERROR_FAILEDRRsR<t__dict__titemstensure_valueR(	RRR<told_argsR~R5RStkeytvalue((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyRMs(	N(R.R/R0RRoR|R}RRR8R(((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyR
s				 			(ii(R0RHRRRRRRtversion_infoRKRaR(t
basestringtgi._glibtgitmodulesRt__all__RR	R
R(((s3/usr/lib/python2.7/dist-packages/gi/_glib/option.pyt<module>s.(
	Q[