('vcard.png', 'vcf'), ('page_white.png', Default) ] by_filename = [ ('page_white_gear.png', ['Makefile', 'Rakefile']) ] by_mimetype = [ ('page_white_text.png', 'text/*'), ('picture.png', 'image/*'), ('music.png', 'audio/*'), ('film.png', 'video/*') ] def to_list(val): if not getattr(val, '__iter__', False): return [val] else: return val for icon, exts in by_extension: for ext in to_list(exts): File.add_icon_rule_by_ext(icon, ext) for icon, filenames in by_filename: for name in to_list(filenames): File.add_icon_rule_by_name(icon, name) for icon, mimetypes in by_mimetype: for mimetype in to_list(mimetypes): File.add_icon_rule_by_mimetype(icon, mimetype)