Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormeta-androcto <meta.androcto1@gmail.com>2019-05-24 08:58:45 +0300
committermeta-androcto <meta.androcto1@gmail.com>2019-05-24 08:58:45 +0300
commit01d80b8f602f392d975255d5fef97dcab2e0589b (patch)
tree292a321f33192967dc117d21b5c44907af69f2c8 /materials_utils/warning_messages_utils.py
parent4fbdba4b2d86cd290b90c83124154dfd5c97504d (diff)
materials_utils: move to contrib: T63750
Diffstat (limited to 'materials_utils/warning_messages_utils.py')
-rw-r--r--materials_utils/warning_messages_utils.py181
1 files changed, 0 insertions, 181 deletions
diff --git a/materials_utils/warning_messages_utils.py b/materials_utils/warning_messages_utils.py
deleted file mode 100644
index 1ce12d9d..00000000
--- a/materials_utils/warning_messages_utils.py
+++ /dev/null
@@ -1,181 +0,0 @@
-# gpl: author lijenstina
-# -*- coding: utf-8 -*-
-
-import bpy
-
-# Globals #
-
-# change the name for the properties settings
-MAT_SPEC_NAME = "materials_context_menu"
-
-# collect messages for the report operator
-COLLECT_REPORT = []
-
-
-# Functions
-
-def warning_messages(operator=None, warn='DEFAULT', object_name="", is_mat=None,
- fake="", override=False):
- # Enter warning messages to the message dictionary
- # warn - if nothing passed falls back to DEFAULT
- # a list of strings can be passed and concatenated in obj_name too
- # is_mat a switch to change to materials or textures for obj_name('MAT','TEX', 'FILE', None)
- # fake - optional string that can be passed
- # MAX_COUNT - max members of an list to be displayed in UI report
- # override - important messages that should be enabled, no matter the setting
-
- # pass the show_warnings bool to enable/disable them
- addon = bpy.context.preferences.addons[MAT_SPEC_NAME]
- get_warn = addon.preferences.show_warnings if addon else False
- show_warn = get_warn if override is False else override
-
- if show_warn and operator:
- obj_name = ""
- MAX_COUNT = 6
- gramma_s, gramma_p = " - has ", " - have "
-
- if is_mat:
- if is_mat in ('MAT'):
- gramma_s, gramma_p = " - Material has ", " - Materials have "
- elif is_mat in ('TEX'):
- gramma_s, gramma_p = " - Texture has ", " - Textures have "
- elif is_mat in ('FILE'):
- gramma_s, gramma_p = " - File ", " - Files "
-
- # print the whole list in the console if abbreviated
- obj_size_big = False
-
- if object_name:
- if type(object_name) is list:
- obj_name = ", ".join(object_name)
- obj_size = len(object_name)
-
- # compare string list size
- if (1 < obj_size <= MAX_COUNT):
- obj_name = "{}{}".format(obj_name, gramma_p)
- elif (obj_size > MAX_COUNT):
- abbrevation = ("(Multiple)" if is_mat else "(Multiple Objects)")
- obj_size_big = True
- obj_name = "{}{}".format(abbrevation, gramma_p)
- elif (obj_size == 1):
- obj_name = "{}{}".format(obj_name, gramma_s)
- else:
- obj_name = "{}{}".format(object_name, gramma_s)
-
- message = {
- 'DEFAULT': "No editable selected objects, could not finish",
- 'PLACEHOLDER': "{}{}".format(warn, " - Message key is not present in the warning_message_utils"),
- 'RMV_EDIT': "{}{}".format(obj_name, "Unable to remove material slot in edit mode)"),
- 'A_OB_MIX_NO_MAT': "{}{}".format(obj_name, "No Material applied. Object type can't have materials"),
- 'A_MAT_NAME_EDIT': "{}{}".format(obj_name, " been applied to selection"),
- 'C_OB_NO_MAT': "{}{}".format(obj_name, "No Materials. Unused material slots are "
- "not cleaned"),
- 'C_OB_MIX_NO_MAT': "{}{}".format(obj_name, "No Materials or an Object type that "
- "can't have Materials (Clean Material Slots)"),
- 'C_OB_MIX_SLOT_MAT': "{}{}".format(obj_name, "No Materials or only empty Slots are removed "
- "(Clean Material Slots)"),
- 'R_OB_NO_MAT': "{}{}".format(obj_name, "No Materials. Nothing to remove"),
- 'R_OB_FAIL_MAT': "{}{}".format(obj_name, "Failed to remove materials - (Operator Error)"),
- 'R_NO_SL_MAT': "No Selection. Material slots are not removed",
- 'R_ALL_SL_MAT': "All materials removed from selected objects",
- 'R_ALL_NO_MAT': "Object(s) have no materials to remove",
- 'R_ACT_MAT': "{}{}".format(obj_name, "Removed active Material"),
- 'R_ACT_MAT_ALL': "{}{}".format(obj_name, "Removed all Material from the Object"),
- 'SL_MAT_EDIT_BY_NAME': "{}{}{}".format("Geometry with the Material ", obj_name, "been selected"),
- 'SL_MAT_BY_NAME': "{}{}{}".format("Objects with the Material ", obj_name, "been selected"),
- 'OB_CANT_MAT': "{}{}".format(obj_name, "Object type that can't have Materials"),
- 'REP_MAT_NONE': "Replace Material: No materials replaced",
- 'FAKE_SET_ON': "{}{}{}".format(obj_name, "set Fake user ", fake),
- 'FAKE_SET_OFF': "{}{}{}".format(obj_name, "disabled Fake user ", fake),
- 'FAKE_NO_MAT': "Fake User Settings: Object(s) with no Materials or no changes needed",
- 'CPY_MAT_MIX_OB': "Copy Materials to others: Some of the Object types can't have Materials",
- 'CPY_MAT_ONE_OB': "Copy Materials to others: Only one object selected",
- 'CPY_MAT_FAIL': "Copy Materials to others: (Operator Error)",
- 'CPY_MAT_DONE': "Materials are copied from active to selected objects",
- 'TEX_MAT_NO_SL': "Texface to Material: No Selected Objects",
- 'TEX_MAT_NO_CRT': "{}{}".format(obj_name, "not met the conditions for the tool (UVs, Active Images)"),
- 'MAT_TEX_NO_SL': "Material to Texface: No Selected Objects",
- 'MAT_TEX_NO_MESH': "{}{}".format(obj_name, "not met the conditions for the tool (Mesh)"),
- 'MAT_TEX_NO_MAT': "{}{}".format(obj_name, "not met the conditions for the tool (Material)"),
- 'BI_SW_NODES_OFF': "Switching to Blender Render, Use Nodes disabled",
- 'BI_SW_NODES_ON': "Switching to Blender Render, Use Nodes enabled",
- 'CYC_SW_NODES_ON': "Switching back to Cycles, Use Nodes enabled",
- 'CYC_SW_NODES_OFF': "Switching back to Cycles, Use Nodes disabled",
- 'TEX_RENAME_F': "{}{}".format(obj_name, "no Images assigned, skipping"),
- 'NO_TEX_RENAME': "No Textures in Data, nothing to rename",
- 'DIR_PATH_W_ERROR': "ERROR: Directory without writing privileges",
- 'DIR_PATH_N_ERROR': "ERROR: Directory not existing",
- 'DIR_PATH_A_ERROR': "ERROR: Directory not accessible",
- 'DIR_PATH_W_OK': "Directory has writing privileges",
- 'DIR_PATH_CONVERT': "Conversion Cancelled. Problem with chosen Directory, check System Console",
- 'DIR_PATH_EMPTY': "File Path is empty. Please save the .blend file first",
- 'MAT_LINK_ERROR': "{}{}".format(obj_name, "not be renamed or set as Base(s)"),
- 'MAT_LINK_NO_NAME': "No Base name given, No changes applied",
- 'MOVE_SLOT_UP': "{}{}".format(obj_name, "been moved on top of the stack"),
- 'MOVE_SLOT_DOWN': "{}{}".format(obj_name, "been moved to the bottom of the stack"),
- 'MAT_TRNSP_BACK': "{}{}".format(obj_name, "been set with Alpha connected to Front/Back Geometry node"),
- 'E_MAT_TRNSP_BACK': "Transparent back (BI): Failure to set the action",
- 'CONV_NO_OBJ_MAT': "{}{}".format(obj_name, "has no Materials. Nothing to convert"),
- 'CONV_NO_SC_MAT': "No Materials in the Scene. Nothing to convert",
- 'CONV_NO_SEL_MAT': "No Materials on Selected Objects. Nothing to convert",
- }
-
- # doh! did we passed an non existing dict key
- warn = (warn if warn in message else 'PLACEHOLDER')
-
- operator.report({'INFO'}, message[warn])
-
- if obj_size_big is True:
- print("\n[Materials Utils Specials]:\nFull list for the Info message is:\n\n",
- " ".join(names + "," + "\n" * ((i + 1) % 10 == 0) for i, names in enumerate(object_name)),
- "\n")
-
- # restore settings if overridden
- if override:
- addon.preferences.show_warnings = get_warn
-
-
-def collect_report(collection="", is_start=False, is_final=False):
- # collection passes a string for appending to COLLECT_REPORT global
- # is_final switches to the final report with the operator in __init__
- global COLLECT_REPORT
- scene = bpy.context.scene.mat_context_menu
- use_report = scene.enable_report
-
- if is_start:
- # there was a crash somewhere before the is_final call
- COLLECT_REPORT = []
-
- if collection and type(collection) is str:
- if use_report:
- COLLECT_REPORT.append(collection)
- print(collection)
-
- if is_final and use_report:
- # final operator pass uses * as delimiter for splitting into new lines
- messages = "*".join(COLLECT_REPORT)
- bpy.ops.mat_converter.reports('INVOKE_DEFAULT', message=messages)
- COLLECT_REPORT = []
-
-
-def c_is_cycles_addon_enabled():
- # checks if Cycles is enabled thanks to ideasman42
- return ('cycles' in bpy.context.preferences.addons.keys())
-
-
-def c_data_has_materials():
- # check for material presence in data
- return (len(bpy.data.materials) > 0)
-
-
-def c_obj_data_has_materials(obj):
- # check for material presence in object's data
- matlen = 0
- if obj:
- matlen = len(obj.data.materials)
- return (matlen > 0)
-
-
-def c_data_has_images():
- # check for image presence in data
- return (len(bpy.data.images) > 0)