[Kimchi-devel] [PATCH 2/3] Support different "tags" when generating a new name in "get_next_clone_name"

Royce Lv lvroyce at linux.vnet.ibm.com
Thu Dec 11 08:17:16 UTC 2014


Reviewed-by: Royce Lv<lvroyce at linux.vnet.ibm.com>

On 2014年12月10日 11:17, Crístian Viana wrote:
> The current implementation of "kimchi.utils.get_next_clone_name" always
> appends the tag "-clone" in its return values. That may not be suitable
> for other cases when we want a new resource name without that tag.
>
> Add an optional parameter in "get_next_clone_name" so it supports
> different tags.
>
> Signed-off-by: Crístian Viana <vianac at linux.vnet.ibm.com>
> ---
>   src/kimchi/utils.py | 15 +++++++++------
>   1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/src/kimchi/utils.py b/src/kimchi/utils.py
> index 3af701c..bac07df 100644
> --- a/src/kimchi/utils.py
> +++ b/src/kimchi/utils.py
> @@ -312,10 +312,11 @@ def validate_repo_url(url):
>           raise InvalidParameter("KCHREPOS0002E")
>   
>   
> -def get_next_clone_name(all_names, basename, name_suffix=''):
> +def get_next_clone_name(all_names, basename, name_suffix='',
> +                        clone_tag='-clone'):
>       """Find the next available name for a cloned resource.
>   
> -    If any resource named "<basename>-clone-<number><name_suffix>" is found
> +    If any resource named "<basename><tag>-<number><name_suffix>" is found
>       in "all_names", use the maximum "number" + 1; else, use 1.
>   
>       Arguments:
> @@ -325,15 +326,17 @@ def get_next_clone_name(all_names, basename, name_suffix=''):
>       basename -- The name of the original resource.
>       name_suffix -- The resource name suffix (optional). This parameter
>           exist so that a resource named "foo.img" gets the name
> -        "foo-clone-1.img" instead of "foo.img-clone-1". If this parameter
> +        "foo<tag>-1.img" instead of "foo.img<tag>-1". If this parameter
>           is used, the suffix should not be present in "basename".
> +    clone_tag -- The tag which will be appended to the new name (optional).
> +        Default value: "-clone"
>   
>       Return:
> -    A UTF-8 string in the format "<basename>-clone-<number><name_suffix>".
> +    A UTF-8 string in the format "<basename><tag>-<number><name_suffix>".
>       """
>       re_group_num = 'num'
>   
> -    re_expr = u'%s-clone-(?P<%s>\d+)' % (basename, re_group_num)
> +    re_expr = u'%s%s-(?P<%s>\d+)' % (basename, clone_tag, re_group_num)
>       if name_suffix != '':
>           re_expr = u'%s%s' % (re_expr, name_suffix)
>   
> @@ -346,7 +349,7 @@ def get_next_clone_name(all_names, basename, name_suffix=''):
>               max_num = max(max_num, int(match.group(re_group_num)))
>   
>       # increments the maximum "clone number" found
> -    new_name = u'%s-clone-%d' % (basename, max_num + 1)
> +    new_name = u'%s%s-%d' % (basename, clone_tag, max_num + 1)
>       if name_suffix != '':
>           new_name = new_name + name_suffix
>   




More information about the Kimchi-devel mailing list