a &c4 @ s d dl mZ d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl mZmZ d dl Z d dlZ dZedeZedZdddd Zd d Zdd Zdd Ze jjG dd de jjZdS ) )absolute_import)unicode_literalsN)_loggerz -a-z0-9_.:z^[{}]+$z^[-a-zA-Z0-9_.@]+$T)Zdefault_explicitZuservisible_explicitZempty_groupsc C s t | sttd| S )zgroup id validatorzInvalid group id)RE_GROUP_IDmatchargparseArgumentTypeErrorr )value r >/usr/lib/python3.9/site-packages/dnf-plugins/groups_manager.py group_id_type. s r c C sN | dd}t|dkr&ttd|\}}t|sFttd||fS )ztranslated texts validator: z6Invalid translated data, should be in form 'lang:text'z*Invalid/empty language for translated data)splitlenr r r RE_LANGr )r datalangtextr r r translation_type5 s r c C s: | }tdtd|}|s6tjtd| |S )z#generate group id based on its namez[^{}] zFCan't generate group id from '{}'. Please specify group id using --id.) lowerresubformatRE_GROUP_ID_VALIDdnfcliCliErrorr )r group_idr r r text_to_idA s r! c sd e Zd ZdZedZ fddZedd Zdd Z d d Z dd Zd d Zdd Z dd Z ZS )GroupsManagerCommand)zgroups-managerz$create and edit groups metadata filec s t t| | t | _d S N)superr" __init__libcompsCompscomps)selfr __class__r r r% Q s zGroupsManagerCommand.__init__c C s | j ddg dtdd | j ddg dtdd | j ddtd d | j ddd tdd | j dttdd | j ddtdd | j dtdd | j dttdd | j ddg dttdd | j ddg dttd d | }|j d!d"dd td#d$ |j d%d"d&d