ó ɼjWc@sgdZddlZddlZddlZddlZddlZddlZejj Z d„Z dS(srThis module implements the "zfs holds" subcommand. The only public interface is the zfs.holds.do_holds() function.iÿÿÿÿNc s–d‡fd†}tdƒ}tjjd|ddƒ‰ˆjdddd d d td ƒƒˆjtjd ƒ\}}t |ƒdkrŸ|tdƒƒnd}d}t }t }tj j ||ƒ}x‰tj j||jƒD]o} t}x`| jƒjƒD]L\} } i| jd6| d6tj| ƒd6} |j| j| ƒt}qWqåW|rk|jƒn'|s’tjjtjtdƒƒ‚ndS(s&Implements the "zfs holds" subcommand.cs1|r|GHtdƒGHn ˆjƒˆjƒdS(Ns"For more info, run: zfs help holds(t_t print_helptexit(tmsg(tparser(s../../common/holds.pytusage's  sholds [-r] ...Rtprogtzfss-rtactiont store_truetdestt recursivethelpslist holds recursivelyiismissing snapshot argumenttnamettagt timestampsno matching datasetsN(snamestags timestamp((tNoneRRtutiltZFSOptionParsert add_optiont parse_argstsystargvtlentFalsettabletTabletdatasettsnapshots_fromcmdlineR tTruet get_holdst iteritemsR ttimetctimetaddlinetprintmetZFSErrorterrnotENOENT( Rtutoptionstargstfieldst rjustfieldstprintingtgotonetttdsRttmtval((Rs../../common/holds.pytdo_holds%s0   ( t__doc__RR%R tzfs.utilRt zfs.datasett zfs.tableRRR2(((s../../common/holds.pyts