_ALL_TEXT =[ "meta__upper__FittedShirt", "meta__upper__Shirt", "meta__upper__None", "meta__wb__StraightWB", "meta__wb__FittedWB", "meta__wb__None", "meta__bottom__SkirtCircle", "meta__bottom__AsymmSkirtCircle", "meta__bottom__GodetSkirt", "meta__bottom__Pants", "meta__bottom__Skirt2", "meta__bottom__SkirtManyPanels", "meta__bottom__PencilSkirt", "meta__bottom__SkirtLevels", "meta__bottom__None", "meta__connected__True", "meta__connected__False", "waistband__waist__fitted", "waistband__waist__slightly-loose", "waistband__waist__loose", "waistband__width__narrow", "waistband__width__medium", "waistband__width__wide", "fitted_shirt__strapless__True", "fitted_shirt__strapless__False", "shirt__length__super-cropped", "shirt__length__regular", "shirt__length__long", "shirt__width__normal", "shirt__width__relaxed", "shirt__flare__tight", "shirt__flare__straight", "shirt__flare__flared", "shirt__flare__very-flared", "collar__f_collar__CircleNeckHalf", "collar__f_collar__CurvyNeckHalf", "collar__f_collar__VNeckHalf", "collar__f_collar__SquareNeckHalf", "collar__f_collar__TrapezoidNeckHalf", "collar__f_collar__CircleArcNeckHalf", "collar__f_collar__Bezier2NeckHalf", "collar__b_collar__CircleNeckHalf", "collar__b_collar__CurvyNeckHalf", "collar__b_collar__VNeckHalf", "collar__b_collar__SquareNeckHalf", "collar__b_collar__TrapezoidNeckHalf", "collar__b_collar__CircleArcNeckHalf", "collar__b_collar__Bezier2NeckHalf", "collar__width__very-narrow", "collar__width__medium", "collar__width__wide", "collar__fc_depth__shallow", "collar__fc_depth__medium", "collar__fc_depth__deep", "collar__bc_depth__shallow", "collar__bc_depth__medium", "collar__bc_depth__deep", "collar__fc_angle__acute", "collar__fc_angle__standard", "collar__fc_angle__obtuse", "collar__bc_angle__acute", "collar__bc_angle__standard", "collar__bc_angle__obtuse", "collar__f_bezier_x__left", "collar__f_bezier_x__center", "collar__f_bezier_x__right", "collar__f_bezier_y__top", "collar__f_bezier_y__center", "collar__f_bezier_y__bottom", "collar__b_bezier_x__left", "collar__b_bezier_x__center", "collar__b_bezier_x__right", "collar__b_bezier_y__top", "collar__b_bezier_y__center", "collar__b_bezier_y__bottom", "collar__f_flip_curve__True", "collar__f_flip_curve__False", "collar__b_flip_curve__True", "collar__b_flip_curve__False", "collar__component__style__Turtle", "collar__component__style__SimpleLapel", "collar__component__style__Hood2Panels", "collar__component__style__None", "collar__component__depth__shallow", "collar__component__depth__medium", "collar__component__depth__deep", "collar__component__lapel_standing__True", "collar__component__lapel_standing__False", "collar__component__hood_depth__shallow", "collar__component__hood_depth__medium", "collar__component__hood_depth__deep", "collar__component__hood_length__short", "collar__component__hood_length__medium", "collar__component__hood_length__long", "sleeve__sleeveless__True", "sleeve__sleeveless__False", "sleeve__armhole_shape__ArmholeSquare", "sleeve__armhole_shape__ArmholeAngle", "sleeve__armhole_shape__ArmholeCurve", "sleeve__length__short", "sleeve__length__half", "sleeve__length__three-quarter", "sleeve__length__long", "sleeve__length__full", "sleeve__connecting_width__narrow", "sleeve__connecting_width__medium", "sleeve__connecting_width__loose", "sleeve__connecting_width__very-loose", "sleeve__end_width__closing", "sleeve__end_width__straight", "sleeve__end_width__opening", "sleeve__sleeve_angle__small", "sleeve__sleeve_angle__medium", "sleeve__sleeve_angle__large", "sleeve__opening_dir_mix__negative-twist", "sleeve__opening_dir_mix__standard", "sleeve__opening_dir_mix__positive-twist", "sleeve__standing_shoulder__True", "sleeve__standing_shoulder__False", "sleeve__standing_shoulder_len__short", "sleeve__standing_shoulder_len__medium", "sleeve__standing_shoulder_len__long", "sleeve__connect_ruffle__none", "sleeve__connect_ruffle__some", "sleeve__connect_ruffle__obvious", "sleeve__smoothing_coeff__very-smooth", "sleeve__smoothing_coeff__moderate", "sleeve__smoothing_coeff__less-smooth", "sleeve__cuff__type__CuffBand", "sleeve__cuff__type__CuffSkirt", "sleeve__cuff__type__CuffBandSkirt", "sleeve__cuff__type__None", "sleeve__cuff__top_ruffle__straight", "sleeve__cuff__top_ruffle__tapered", "sleeve__cuff__top_ruffle__very_tapered", "sleeve__cuff__cuff_len__short", "sleeve__cuff__cuff_len__medium", "sleeve__cuff__cuff_len__long", "sleeve__cuff__skirt_fraction__small", "sleeve__cuff__skirt_fraction__medium", "sleeve__cuff__skirt_fraction__large", "sleeve__cuff__skirt_flare__slight", "sleeve__cuff__skirt_flare__moderate", "sleeve__cuff__skirt_flare__significant", "sleeve__cuff__skirt_ruffle__none", "sleeve__cuff__skirt_ruffle__some", "left__enable_asym__True", "left__enable_asym__False", "left__fitted_shirt__strapless__True", "left__fitted_shirt__strapless__False", "left__shirt__width__normal", "left__shirt__width__relaxed", "left__shirt__flare__tight", "left__shirt__flare__straight", "left__shirt__flare__flared", "left__shirt__flare__very-flared", "left__collar__f_collar__CircleNeckHalf", "left__collar__f_collar__CurvyNeckHalf", "left__collar__f_collar__VNeckHalf", "left__collar__f_collar__SquareNeckHalf", "left__collar__f_collar__TrapezoidNeckHalf", "left__collar__f_collar__CircleArcNeckHalf", "left__collar__f_collar__Bezier2NeckHalf", "left__collar__b_collar__CircleNeckHalf", "left__collar__b_collar__CurvyNeckHalf", "left__collar__b_collar__VNeckHalf", "left__collar__b_collar__SquareNeckHalf", "left__collar__b_collar__TrapezoidNeckHalf", "left__collar__b_collar__CircleArcNeckHalf", "left__collar__b_collar__Bezier2NeckHalf", "left__collar__width__narrow", "left__collar__width__medium", "left__collar__width__wide", "left__collar__fc_angle__acute", "left__collar__fc_angle__standard", "left__collar__fc_angle__obtuse", "left__collar__bc_angle__acute", "left__collar__bc_angle__standard", "left__collar__bc_angle__obtuse", "left__collar__f_bezier_x__left", "left__collar__f_bezier_x__center", "left__collar__f_bezier_x__right", "left__collar__f_bezier_y__top", "left__collar__f_bezier_y__center", "left__collar__f_bezier_y__bottom", "left__collar__b_bezier_x__left", "left__collar__b_bezier_x__center", "left__collar__b_bezier_x__right", "left__collar__b_bezier_y__top", "left__collar__b_bezier_y__center", "left__collar__b_bezier_y__bottom", "left__collar__f_flip_curve__True", "left__collar__f_flip_curve__False", "left__collar__b_flip_curve__True", "left__collar__b_flip_curve__False", "left__sleeve__sleeveless__True", "left__sleeve__sleeveless__False", "left__sleeve__armhole_shape__ArmholeSquare", "left__sleeve__armhole_shape__ArmholeAngle", "left__sleeve__armhole_shape__ArmholeCurve", "left__sleeve__length__short", "left__sleeve__length__half", "left__sleeve__length__three-quarter", "left__sleeve__length__long", "left__sleeve__length__full", "left__sleeve__connecting_width__narrow", "left__sleeve__connecting_width__medium", "left__sleeve__connecting_width__loose", "left__sleeve__connecting_width__very-loose", "left__sleeve__end_width__closing", "left__sleeve__end_width__straight", "left__sleeve__end_width__opening", "left__sleeve__sleeve_angle__small", "left__sleeve__sleeve_angle__medium", "left__sleeve__sleeve_angle__large", "left__sleeve__opening_dir_mix__negative-twist", "left__sleeve__opening_dir_mix__standard", "left__sleeve__opening_dir_mix__positive-twist", "left__sleeve__standing_shoulder__True", "left__sleeve__standing_shoulder__False", "left__sleeve__standing_shoulder_len__short", "left__sleeve__standing_shoulder_len__medium", "left__sleeve__standing_shoulder_len__long", "left__sleeve__connect_ruffle__none", "left__sleeve__connect_ruffle__some", "left__sleeve__connect_ruffle__obvious", "left__sleeve__smoothing_coeff__very-smooth", "left__sleeve__smoothing_coeff__moderate", "left__sleeve__smoothing_coeff__less-smooth", "left__sleeve__cuff__type__CuffBand", "left__sleeve__cuff__type__CuffSkirt", "left__sleeve__cuff__type__CuffBandSkirt", "left__sleeve__cuff__type__None", "left__sleeve__cuff__top_ruffle__straight", "left__sleeve__cuff__top_ruffle__tapered", "left__sleeve__cuff__top_ruffle__very_tapered", "left__sleeve__cuff__cuff_len__short", "left__sleeve__cuff__cuff_len__medium", "left__sleeve__cuff__cuff_len__long", "left__sleeve__cuff__skirt_fraction__small", "left__sleeve__cuff__skirt_fraction__medium", "left__sleeve__cuff__skirt_fraction__large", "left__sleeve__cuff__skirt_flare__slight", "left__sleeve__cuff__skirt_flare__moderate", "left__sleeve__cuff__skirt_flare__significant", "left__sleeve__cuff__skirt_ruffle__none", "left__sleeve__cuff__skirt_ruffle__some", "skirt__length__micro", "skirt__length__mini", "skirt__length__above-knee", "skirt__length__knee-length", "skirt__length__midi", "skirt__length__floor-length", "skirt__rise__low", "skirt__rise__mid", "skirt__rise__high", "skirt__ruffle__none", "skirt__ruffle__moderate", "skirt__ruffle__rich", "skirt__bottom_cut__none", "skirt__bottom_cut__shallow", "skirt__bottom_cut__deep", "skirt__flare__none", "skirt__flare__small", "skirt__flare__medium", "skirt__flare__large", "flare-skirt__length__micro", "flare-skirt__length__mini", "flare-skirt__length__above-knee", "flare-skirt__length__knee-length", "flare-skirt__length__midi", "flare-skirt__length__floor-length", "flare-skirt__rise__low", "flare-skirt__rise__mid", "flare-skirt__rise__high", "flare-skirt__suns__slight", "flare-skirt__suns__moderate", "flare-skirt__suns__significant", "flare-skirt__skirt-many-panels__n_panels__few", "flare-skirt__skirt-many-panels__n_panels__medium", "flare-skirt__skirt-many-panels__n_panels__many", "flare-skirt__skirt-many-panels__panel_curve__inward", "flare-skirt__skirt-many-panels__panel_curve__straight", "flare-skirt__skirt-many-panels__panel_curve__outward", "flare-skirt__asymm__front_length__highly-asymmetric", "flare-skirt__asymm__front_length__strongly-asymmetric", "flare-skirt__asymm__front_length__moderately-asymmetric", "flare-skirt__asymm__front_length__slightly-asymmetric", "flare-skirt__asymm__front_length__symmetric", "flare-skirt__cut__add__True", "flare-skirt__cut__add__False", "flare-skirt__cut__depth__shallow", "flare-skirt__cut__depth__medium", "flare-skirt__cut__depth__deep", "flare-skirt__cut__width__narrow", "flare-skirt__cut__width__medium", "flare-skirt__cut__width__wide", "flare-skirt__cut__place__back_left", "flare-skirt__cut__place__back_center", "flare-skirt__cut__place__back_right", "flare-skirt__cut__place__front_left", "flare-skirt__cut__place__front_center", "flare-skirt__cut__place__front_right", "godet-skirt__base__Skirt2", "godet-skirt__base__PencilSkirt", "godet-skirt__insert_w__narrow", "godet-skirt__insert_w__medium", "godet-skirt__insert_w__wide", "godet-skirt__insert_depth__shallow", "godet-skirt__insert_depth__medium", "godet-skirt__insert_depth__deep", "godet-skirt__num_inserts__4", "godet-skirt__num_inserts__6", "godet-skirt__num_inserts__8", "godet-skirt__num_inserts__10", "godet-skirt__num_inserts__12", "godet-skirt__cuts_distance__close", "godet-skirt__cuts_distance__medium", "godet-skirt__cuts_distance__far", "pencil-skirt__length__micro", "pencil-skirt__length__mini", "pencil-skirt__length__above-knee", "pencil-skirt__length__knee-length", "pencil-skirt__length__midi", "pencil-skirt__length__floor-length", "pencil-skirt__rise__low", "pencil-skirt__rise__mid", "pencil-skirt__rise__high", "pencil-skirt__flare__tight", "pencil-skirt__flare__straight", "pencil-skirt__flare__slight-flare", "pencil-skirt__low_angle__inward", "pencil-skirt__low_angle__straight", "pencil-skirt__low_angle__outward", "pencil-skirt__front_slit__none", "pencil-skirt__front_slit__shallow", "pencil-skirt__front_slit__deep", "pencil-skirt__back_slit__none", "pencil-skirt__back_slit__shallow", "pencil-skirt__back_slit__deep", "pencil-skirt__left_slit__none", "pencil-skirt__left_slit__shallow", "pencil-skirt__left_slit__deep", "pencil-skirt__right_slit__none", "pencil-skirt__right_slit__shallow", "pencil-skirt__right_slit__deep", "pencil-skirt__style_side_cut__Sun", "pencil-skirt__style_side_cut__SIGGRAPH_logo", "pencil-skirt__style_side_cut__None", "levels-skirt__base__Skirt2", "levels-skirt__base__PencilSkirt", "levels-skirt__base__SkirtCircle", "levels-skirt__base__AsymmSkirtCircle", "levels-skirt__level__Skirt2", "levels-skirt__level__SkirtCircle", "levels-skirt__level__AsymmSkirtCircle", "levels-skirt__num_levels__1", "levels-skirt__num_levels__2", "levels-skirt__num_levels__3", "levels-skirt__num_levels__4", "levels-skirt__num_levels__5", "levels-skirt__level_ruffle__none", "levels-skirt__level_ruffle__moderate", "levels-skirt__level_ruffle__rich", "levels-skirt__length__micro", "levels-skirt__length__mini", "levels-skirt__length__above-knee", "levels-skirt__length__knee-length", "levels-skirt__length__midi", "levels-skirt__length__floor-length", "levels-skirt__rise__low", "levels-skirt__rise__mid", "levels-skirt__rise__high", "levels-skirt__base_length_frac__short", "levels-skirt__base_length_frac__medium", "levels-skirt__base_length_frac__long", "pants__length__micro", "pants__length__short", "pants__length__knee-length", "pants__length__capri", "pants__length__ankle-length", "pants__length__full-length", "pants__width__fitted", "pants__width__normal", "pants__width__loose", "pants__flare__tapering", "pants__flare__straight", "pants__flare__slight-flare", "pants__rise__low", "pants__rise__mid", "pants__rise__high", "pants__cuff__type__CuffBand", "pants__cuff__type__CuffSkirt", "pants__cuff__type__CuffBandSkirt", "pants__cuff__type__None", "pants__cuff__top_ruffle__straight", "pants__cuff__top_ruffle__tapered", "pants__cuff__top_ruffle__very_tapered", "pants__cuff__cuff_len__short", "pants__cuff__cuff_len__medium", "pants__cuff__cuff_len__long", "pants__cuff__skirt_fraction__small", "pants__cuff__skirt_fraction__medium", "pants__cuff__skirt_fraction__large", "pants__cuff__skirt_flare__slight", "pants__cuff__skirt_flare__moderate", "pants__cuff__skirt_flare__significant", "pants__cuff__skirt_ruffle__none", "pants__cuff__skirt_ruffle__some" ] fail_text_list = [] def list_in_text( my_list, start_string, connect_tag='__'): ''' Search the list for all items starting with start-string and only the first two items separated by __, Then use the text to correspond to the startstring. The first two items are used to determine whether they are in the list of predictions Args:_ALL_TEXT my_list (list): The list to be searched start_string(string): A string at the beginning connect_tag (string): The symbol that Chinese the book is connected in the my_list ''' global fail_text_list temp_flag=True meta_item_list = [ connect_tag.join(item.split(connect_tag)[:start_string.count(connect_tag) + 2]) # Split and keep the next field starting with the start_string for item in my_list if item.startswith(start_string) and item.count(connect_tag) >= start_string.count(connect_tag) + 1 ] meta_item_text = [ connect_tag.join(item.split(connect_tag)[:start_string.count(connect_tag) + 2]) # Split and keep the next field starting with the start_string for item in _ALL_TEXT if item.startswith(start_string) and item.count(connect_tag) >= start_string.count(connect_tag) + 1 ] meta_item_list_set=set(meta_item_list) meta_item_text_set=set(meta_item_text) start_string_fail_list=list(meta_item_text_set-meta_item_list_set) if len(start_string_fail_list)>0: fail_text_list.extend(start_string_fail_list) temp_flag=False print(f'mylist{start_string}Words that are missing from the opening word:{start_string_fail_list}') return temp_flag def bool2condition(my_list,connect_tag='__'): global fail_text_list fail_text_list = [] bool_flag = True meta_list=[item.split(connect_tag)[-1] for item in my_list if item.startswith("meta")] # Determine whether meta_upper wb bottom is generated if list_in_text(my_list,'meta')==False: bool_flag = False left_bool="False" left_flag = [s for s in my_list if s.startswith("left__enable_asym")] if meta_list[0]!="None": if len(left_flag)==0: print("left__enable_asym") fail_text_list.append("left__enable_asym") bool_flag = False else: left_bool=left_flag[0].split(connect_tag)[-1] left_fittedshirt_strapless_bool=True left_fittedshirt_strapless_flag=[s for s in my_list if s.startswith("left__fitted_shirt__strapless")] if meta_list[0] =='FittedShirt' and left_bool=='True' : if len(left_fittedshirt_strapless_flag)==0 : print("left__fitted_shirt__strapless") fail_text_list.append("left__fitted_shirt__strapless") bool_flag = False return bool_flag, sorted(list(set(fail_text_list))) if len(left_fittedshirt_strapless_flag) > 0: if left_fittedshirt_strapless_flag[0].split(connect_tag)[-1] == 'False': left_fittedshirt_strapless_bool = False for meta_item in meta_list: if meta_item =='FittedShirt': if list_in_text(my_list,'fitted_shirt')==False: bool_flag = False if meta_item =='Shirt': if list_in_text(my_list,'shirt')==False: bool_flag=False if left_bool == 'True': if list_in_text(my_list, 'left__shirt') == False: bool_flag = False if meta_item=="StraightWB" or meta_item=="FittedWB": if list_in_text(my_list,'waistband')==False: bool_flag=False if meta_item =="SkirtCircle" or meta_item =="SkirtManyPanels" or meta_item=='AsymmSkirtCircle': if list_in_text(my_list,"flare-skirt")==False: bool_flag=False if meta_item=='SkirtCircle': if list_in_text(my_list,'flare-skirt__cut')==False: bool_flag=False if meta_item=='AsymmSkirtCircle': if list_in_text(my_list,"flare-skirt__asymm__front_length")==False: bool_flag=False if list_in_text(my_list,'flare-skirt__cut')==False: bool_flag=False if meta_item=='SkirtManyPanels': if list_in_text(my_list,"flare-skirt__skirt-many-panels")==False: bool_flag=False if meta_item=='GodetSkirt': if list_in_text(my_list,"godet-skirt")==False: bool_flag=False godet_base_item = [item.split(connect_tag)[-1] for item in my_list if item.startswith("godet-skirt__base")] if len(godet_base_item) == 0: bool_flag = False print("godet-skirt__base") fail_text_list.append("godet-skirt__base") return bool_flag, sorted(list(set(fail_text_list))) else: godet_base_item = godet_base_item[0] if godet_base_item == "Skirt2": if list_in_text(my_list, "skirt") == False: bool_flag = False if godet_base_item == "PencilSkirt": if list_in_text(my_list, "pencil-skirt") == False: bool_flag = False if meta_item=='SkirtLevels': if list_in_text(my_list,"levels-skirt")==False: bool_flag=False base_item = [item.split(connect_tag)[-1] for item in my_list if item.startswith("levels-skirt__base")] if len(base_item) == 0: bool_flag = False print("levels-skirt__base") fail_text_list.append("levels-skirt__base") return bool_flag, sorted(list(set(fail_text_list))) else: base_item = base_item[0] if base_item == "Skirt2": if list_in_text(my_list, "skirt") == False: bool_flag = False if base_item == "PencilSkirt": if list_in_text(my_list, "pencil-skirt") == False: bool_flag = False if base_item=="SkirtCircle" or base_item=="AsymmSkirtCircle": if list_in_text(my_list, "flare-skirt") == False: bool_flag = False level_item = [item.split(connect_tag)[-1] for item in my_list if item.startswith("levels-skirt__level")] if len(level_item) == 0: bool_flag = False print("levels-skirt__level") fail_text_list.append("levels-skirt__level") return bool_flag, sorted(list(set(fail_text_list))) else: level_item = level_item[0] if level_item == "Skirt2": if list_in_text(my_list, "skirt") == False: bool_flag = False if level_item == "SkirtCircle" or level_item == "AsymmSkirtCircle": if list_in_text(my_list, "flare-skirt") == False: bool_flag = False if meta_item=='Pants': if list_in_text(my_list,"pants")==False: bool_flag=False cuff_type = [item.split(connect_tag)[-1] for item in my_list if item.startswith("pants__cuff__type")] if len(cuff_type) == 0: bool_flag = False print("pants__cuff__type") fail_text_list.append("pants__cuff__type") return bool_flag, sorted(list(set(fail_text_list))) else: if cuff_type[0] != "None": if list_in_text(my_list, "pants__cuff") == False: bool_flag = False if meta_item=='Skirt2': if list_in_text(my_list,"skirt")==False: bool_flag=False if meta_item=='PencilSkirt': if list_in_text(my_list,"pencil-skirt")==False: bool_flag=False meta_upper = [item.split(connect_tag)[-1] for item in my_list if item.startswith("meta__upper")] if len(meta_upper)==0: print("meta__upper") fail_text_list.append("meta__upper") bool_flag = False return bool_flag,list(set(fail_text_list)) meta_upper=meta_upper[0] strapless=None if meta_upper =='FittedShirt': strapless=[item.split(connect_tag)[-1] for item in my_list if item.startswith("fitted_shirt__strapless")] if len(strapless)==0: bool_flag=False print("fitted_shirt__strapless") fail_text_list.append("fitted_shirt__strapless") return bool_flag,list(set(fail_text_list)) strapless=strapless[0] if (strapless==str(False) and meta_upper =='FittedShirt')or meta_upper=="Shirt": if list_in_text(my_list,"collar")==False: bool_flag=False if left_bool == 'True' and (left_fittedshirt_strapless_bool ==False or meta_upper=="Shirt") : if list_in_text(my_list, "left__collar") == False: bool_flag = False sleeveless=[item.split(connect_tag)[-1] for item in my_list if item.startswith("sleeve__sleeveless")] if len(sleeveless)==0: bool_flag=False print("sleeve__sleeveless") fail_text_list.append("sleeve__sleeveless") return bool_flag,list(set(fail_text_list)) sleeveless=sleeveless[0] if sleeveless==str(False): if list_in_text(my_list,"sleeve")==False : bool_flag=False cuff_type = [item.split(connect_tag)[-1] for item in my_list if item.startswith("sleeve__cuff__type")] if len(cuff_type)==0: bool_flag = False print("sleeve__cuff__type") fail_text_list.append("sleeve__cuff__type") return bool_flag, sorted(list(set(fail_text_list))) else: if cuff_type[0]!="None": if list_in_text(my_list,"sleeve__cuff")==False: bool_flag = False if left_bool == 'True' and (left_fittedshirt_strapless_bool == False or meta_upper == "Shirt"): if list_in_text(my_list,"left__sleeve")==False: bool_flag=False #For the processing of the neckline, find the type of neckline and see if it is empty cuff_type = [item.split(connect_tag)[-1] for item in my_list if item.startswith("left__sleeve__cuff__type")] if len(cuff_type) == 0: bool_flag = False print("left__sleeve__cuff__type") fail_text_list.append("left__sleeve__cuff__type") return bool_flag, sorted(list(set(fail_text_list))) else: if cuff_type[0] != "None": if list_in_text(my_list, "left__sleeve__cuff") == False: bool_flag = False return bool_flag,sorted(list(set(fail_text_list))) def bool2text_alltext(text_list): flag = True no_in_textspace = list(set(text_list)-set(_ALL_TEXT)) if len(no_in_textspace) > 0: flag = False return flag,no_in_textspace