3 ÅÀfÜ4 ã @ sÒ d dl mZ d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl mZmZ d dl Z d dlZ dZejdjeƒƒZejdƒZdddd œZd d„ Zdd „ Zdd„ Ze jjG dd„ de jjƒƒZdS )é )Úabsolute_import)Úunicode_literalsN)Ú_Úloggerz -a-z0-9_.:z^[{}]+$z^[-a-zA-Z0-9_.@]+$T)Zdefault_explicitZuservisible_explicitZempty_groupsc C s t j| ƒstjtdƒƒ‚| S )zgroup id validatorzInvalid group id)ÚRE_GROUP_IDÚmatchÚargparseÚArgumentTypeErrorr )Úvalue© r ú$/usr/lib/python3.6/groups_manager.pyÚ group_id_type. s r c C sN | j ddƒ}t|ƒdkr&tjtdƒƒ‚|\}}tj|ƒsFtjtdƒƒ‚||fS )ztranslated texts validatorú:é z6Invalid translated data, should be in form 'lang:text'z*Invalid/empty language for translated data)ÚsplitÚlenr r r ÚRE_LANGr )r ÚdataÚlangÚtextr r r Útranslation_type5 s r c C s: | j ƒ }tjdjtƒd|ƒ}|s6tjjtdƒj| ƒƒ‚|S )z#generate group id based on its namez[^{}]Ú zFCan't generate group id from '{}'. Please specify group id using --id.) ÚlowerÚreÚsubÚformatÚRE_GROUP_ID_VALIDÚdnfÚcliÚCliErrorr )r Úgroup_idr r r Ú text_to_idA s r! c sd e Zd ZdZedƒZ‡ fdd„Zedd„ ƒZdd„ Z d d „ Z dd„ Zd d„ Zdd„ Z dd„ Z‡ ZS )ÚGroupsManagerCommandúgroups-managerz$create and edit groups metadata filec s t t| ƒj|ƒ tjƒ | _d S )N)Úsuperr" Ú__init__ÚlibcompsÚCompsÚcomps)Úselfr )Ú __class__r r r% Q s zGroupsManagerCommand.__init__c C sˆ | j ddg dtdƒd� | j ddg dtdƒd� | j ddtd ƒd � | j ddd tdƒd� | j dttdƒd� | j ddtdƒd� | j dtdƒd� | j dttdƒd� | j ddg dttdƒd� | j ddg dttd ƒd� | jƒ }|j d!d"dd td#ƒd$� |j d%d"d&d