From 252207cc7a808bf70f8ef398eb578b58a3f1099d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 7 Jul 2018 08:36:17 +0200 Subject: Cleanup: redundant poll checks --- release/scripts/startup/bl_ui/space_view3d.py | 34 +++------------------------ 1 file changed, 3 insertions(+), 31 deletions(-) diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index c8f113f558d..0a365c6a20c 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -3395,11 +3395,6 @@ class VIEW3D_PT_view3d_properties(Panel): bl_region_type = 'UI' bl_label = "View" - @classmethod - def poll(cls, context): - view = context.space_data - return (view) - def draw(self, context): layout = self.layout @@ -3443,11 +3438,6 @@ class VIEW3D_PT_view3d_cursor(Panel): bl_region_type = 'UI' bl_label = "3D Cursor" - @classmethod - def poll(cls, context): - view = context.space_data - return (view is not None) - def draw(self, context): layout = self.layout @@ -3462,7 +3452,7 @@ class VIEW3D_PT_view3d_name(Panel): @classmethod def poll(cls, context): - return (context.space_data and context.active_object) + return (context.active_object is not None) def draw(self, context): layout = self.layout @@ -3486,11 +3476,6 @@ class VIEW3D_PT_view3d_display(Panel): bl_label = "Display" bl_options = {'DEFAULT_CLOSED'} - @classmethod - def poll(cls, context): - view = context.space_data - return (view) - def draw(self, context): layout = self.layout @@ -3553,9 +3538,7 @@ class VIEW3D_PT_view3d_stereo(Panel): @classmethod def poll(cls, context): scene = context.scene - - multiview = scene.render.use_multiview - return context.space_data and multiview + return scene.render.use_multiview def draw(self, context): layout = self.layout @@ -3640,11 +3623,6 @@ class VIEW3D_PT_view3d_motion_tracking(Panel): bl_label = "Motion Tracking" bl_options = {'DEFAULT_CLOSED'} - @classmethod - def poll(cls, context): - view = context.space_data - return (view) - def draw_header(self, context): view = context.space_data @@ -3785,8 +3763,7 @@ class VIEW3D_PT_view3d_curvedisplay(Panel): @classmethod def poll(cls, context): - editmesh = context.mode == 'EDIT_CURVE' - return (editmesh) + return (context.mode == 'EDIT_CURVE') def draw(self, context): layout = self.layout @@ -3913,11 +3890,6 @@ class VIEW3D_PT_transform_orientations(Panel): bl_label = "Transform Orientations" bl_options = {'DEFAULT_CLOSED'} - @classmethod - def poll(cls, context): - view = context.space_data - return (view) - def draw(self, context): layout = self.layout -- cgit v1.2.3 From 4b373ed086993e5163c8a9a129400747bf6bed1c Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 7 Jul 2018 08:48:35 +0200 Subject: Cleanup: pep8 --- .../modules/bl_i18n_utils/bl_extract_messages.py | 50 ++++++++++------- release/scripts/modules/bl_i18n_utils/utils.py | 63 +++++++++++++--------- source/blender/datatoc/datatoc_icon_split.py | 2 +- source/blender/python/simple_enum_gen.py | 38 ++++++------- 4 files changed, 89 insertions(+), 64 deletions(-) diff --git a/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py b/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py index bbeb1780355..10a386039c4 100644 --- a/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py +++ b/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py @@ -120,8 +120,11 @@ def check(check_ctxt, msgs, key, msgsrc, settings): key[1][0].isalpha() and not key[1][0].isupper()): not_capitalized.add(key) if end_point is not None: - if (key[1].strip().endswith('.') and not key[1].strip().endswith('...') and - key[1] not in settings.WARN_MSGID_END_POINT_ALLOWED): + if ( + key[1].strip().endswith('.') and + (not key[1].strip().endswith('...')) and + key[1] not in settings.WARN_MSGID_END_POINT_ALLOWED + ): end_point.add(key) if undoc_ops is not None: if key[1] == settings.UNDOC_OPS_STR: @@ -183,8 +186,10 @@ def print_info(reports, pot): # if py_in_rna and key in py_in_rna: # _print("\t\t-> RNA message also used in py UI code!") if spell_errors and spell_errors.get(key): - lines = ["\t\t-> {}: misspelled, suggestions are ({})".format(w, "'" + "', '".join(errs) + "'") - for w, errs in spell_errors[key]] + lines = [ + "\t\t-> {}: misspelled, suggestions are ({})".format(w, "'" + "', '".join(errs) + "'") + for w, errs in spell_errors[key] + ] _print("\n".join(lines)) _print("\t\t{}".format("\n\t\t".join(pot.msgs[key].sources))) @@ -215,13 +220,13 @@ def dump_rna_messages(msgs, reports, settings, verbose=False): """ def class_blacklist(): blacklist_rna_class = {getattr(bpy.types, cls_id) for cls_id in ( - # core classes - "Context", "Event", "Function", "UILayout", "UnknownType", "Property", "Struct", - # registerable classes - "Panel", "Menu", "Header", "RenderEngine", "Operator", "OperatorMacro", "Macro", "KeyingSetInfo", - # window classes - "Window", - ) + # core classes + "Context", "Event", "Function", "UILayout", "UnknownType", "Property", "Struct", + # registerable classes + "Panel", "Menu", "Header", "RenderEngine", "Operator", "OperatorMacro", "Macro", "KeyingSetInfo", + # window classes + "Window", + ) } # More builtin classes we don't need to parse. @@ -380,6 +385,7 @@ def dump_rna_messages(msgs, reports, settings, verbose=False): # Dump Messages operator_categories = {} + def process_cls_list(cls_list): if not cls_list: return @@ -447,6 +453,7 @@ def dump_py_messages_from_files(msgs, reports, files, settings): i18n_contexts = bpy.app.translations.contexts root_paths = tuple(bpy.utils.resource_path(t) for t in ('USER', 'LOCAL', 'SYSTEM')) + def make_rel(path): for rp in root_paths: if path.startswith(rp): @@ -510,6 +517,7 @@ def dump_py_messages_from_files(msgs, reports, files, settings): return [_extract_string_merge(estr_ls, nds_ls) for estr_ls, nds_ls in bag] i18n_ctxt_ids = {v for v in bpy.app.translations.contexts_C_to_py.values()} + def _ctxt_to_ctxt(node): # We must try, to some extend, to get contexts from vars instead of only literal strings... ctxt = extract_strings(node)[0] @@ -561,9 +569,9 @@ def dump_py_messages_from_files(msgs, reports, files, settings): translate_kw = { "text": ((("text_ctxt",), _ctxt_to_ctxt), (("operator",), _op_to_ctxt), - ), - "msgid": ((("msgctxt",), _ctxt_to_ctxt), ), + "msgid": ((("msgctxt",), _ctxt_to_ctxt), + ), "message": (), } @@ -611,7 +619,7 @@ def dump_py_messages_from_files(msgs, reports, files, settings): func_translate_args[func_id] = pgettext_variants_args for func_id in func_ids: func_translate_args[func_id] = pgettext_variants_args - #print(func_translate_args) + # print(func_translate_args) # Break recursive nodes look up on some kind of nodes. # E.g. we don't want to get strings inside subscripts (blah["foo"])! @@ -666,7 +674,7 @@ def dump_py_messages_from_files(msgs, reports, files, settings): if kw.arg == arg_kw: context_elements[arg_kw] = kw.value break - #print(context_elements) + # print(context_elements) for kws, proc in translate_kw[msgid]: if set(kws) <= context_elements.keys(): args = tuple(context_elements[k] for k in kws) @@ -676,7 +684,7 @@ def dump_py_messages_from_files(msgs, reports, files, settings): msgctxts[msgid] = ctxt break - #print(translate_args) + # print(translate_args) # do nothing if not found for arg_kw, (arg_pos, _) in func_args.items(): msgctxt = msgctxts[arg_kw] @@ -706,7 +714,7 @@ def dump_py_messages(msgs, reports, addons, settings, addons_only=False): return [] if os.path.isdir(path): return [os.path.join(dpath, fn) for dpath, _, fnames in os.walk(path) for fn in fnames - if not fn.startswith("_") and fn.endswith(".py")] + if not fn.startswith("_") and fn.endswith(".py")] return [path] files = [] @@ -738,7 +746,9 @@ def dump_src_messages(msgs, reports, settings): pygettexts = tuple(re.compile(r).search for r in settings.PYGETTEXT_KEYWORDS) _clean_str = re.compile(settings.str_clean_re).finditer - clean_str = lambda s: "".join(m.group("clean") for m in _clean_str(s)) + + def clean_str(s): + return "".join(m.group("clean") for m in _clean_str(s)) def dump_src_file(path, rel_path, msgs, reports, settings): def process_entry(_msgctxt, _msgid): @@ -873,10 +883,10 @@ def dump_messages(do_messages, do_checks, settings): process_msg(msgs, settings.DEFAULT_CONTEXT, cat[1], "Language categories’ labels from bl_i18n_utils/settings.py", reports, None, settings) - #pot.check() + # pot.check() pot.unescape() # Strings gathered in py/C source code may contain escaped chars... print_info(reports, pot) - #pot.check() + # pot.check() if do_messages: print("Writing messages…") diff --git a/release/scripts/modules/bl_i18n_utils/utils.py b/release/scripts/modules/bl_i18n_utils/utils.py index 5fdb6b88cbf..880721176e0 100644 --- a/release/scripts/modules/bl_i18n_utils/utils.py +++ b/release/scripts/modules/bl_i18n_utils/utils.py @@ -32,9 +32,9 @@ import tempfile #import time from bl_i18n_utils import ( - settings, - utils_rtl, - ) + settings, + utils_rtl, +) import bpy @@ -44,6 +44,8 @@ from bpy.app.translations import locale_explode _valid_po_path_re = re.compile(r"^\S+:[0-9]+$") + + def is_valid_po_path(path): return bool(_valid_po_path_re.match(path)) @@ -57,9 +59,10 @@ def get_best_similar(data): # We also consider to never make a match when len differs more than -len_key / 2, +len_key * 2 (which is valid # as long as use_similar is not below ~0.7). # Gives an overall ~20% of improvement! - #tmp = difflib.get_close_matches(key[1], similar_pool, n=1, cutoff=use_similar) - #if tmp: - #tmp = tmp[0] + + # tmp = difflib.get_close_matches(key[1], similar_pool, n=1, cutoff=use_similar) + # if tmp: + # tmp = tmp[0] tmp = None s = difflib.SequenceMatcher() s.set_seq2(key[1]) @@ -178,9 +181,11 @@ def enable_addons(addons=None, support=None, disable=False, check_only=False): userpref = bpy.context.user_preferences used_ext = {ext.module for ext in userpref.addons} - ret = [mod for mod in addon_utils.modules() - if ((addons and mod.__name__ in addons) or - (not addons and addon_utils.module_bl_info(mod)["support"] in support))] + ret = [ + mod for mod in addon_utils.modules() + if ((addons and mod.__name__ in addons) or + (not addons and addon_utils.module_bl_info(mod)["support"] in support)) + ] if not check_only: for mod in ret: @@ -229,18 +234,21 @@ class I18nMessage: def _get_msgctxt(self): return "".join(self.msgctxt_lines) + def _set_msgctxt(self, ctxt): self.msgctxt_lines = [ctxt] msgctxt = property(_get_msgctxt, _set_msgctxt) def _get_msgid(self): return "".join(self.msgid_lines) + def _set_msgid(self, msgid): self.msgid_lines = [msgid] msgid = property(_get_msgid, _set_msgid) def _get_msgstr(self): return "".join(self.msgstr_lines) + def _set_msgstr(self, msgstr): self.msgstr_lines = [msgstr] msgstr = property(_get_msgstr, _set_msgstr) @@ -250,12 +258,15 @@ class I18nMessage: lstrip2 = len(self.settings.PO_COMMENT_PREFIX_SOURCE_CUSTOM) return ([l[lstrip1:] for l in self.comment_lines if l.startswith(self.settings.PO_COMMENT_PREFIX_SOURCE)] + [l[lstrip2:] for l in self.comment_lines - if l.startswith(self.settings.PO_COMMENT_PREFIX_SOURCE_CUSTOM)]) + if l.startswith(self.settings.PO_COMMENT_PREFIX_SOURCE_CUSTOM)]) + def _set_sources(self, sources): cmmlines = self.comment_lines.copy() for l in cmmlines: - if (l.startswith(self.settings.PO_COMMENT_PREFIX_SOURCE) or - l.startswith(self.settings.PO_COMMENT_PREFIX_SOURCE_CUSTOM)): + if ( + l.startswith(self.settings.PO_COMMENT_PREFIX_SOURCE) or + l.startswith(self.settings.PO_COMMENT_PREFIX_SOURCE_CUSTOM) + ): self.comment_lines.remove(l) lines_src = [] lines_src_custom = [] @@ -791,7 +802,7 @@ class I18nMessages: if len(k) > 1 and src_rna in src_to_msg: k &= src_to_msg[src_rna] msgmap["rna_tip"]["key"] = k - #print(k) + # print(k) btip = getattr(msgs, msgmap["but_tip"]["msgstr"]) #print("button tip: " + btip) if btip and btip not in {rtip, etip}: @@ -1051,12 +1062,13 @@ class I18nMessages: import subprocess with tempfile.NamedTemporaryFile(mode='w+', encoding="utf-8") as tmp_po_f: self.write_messages_to_po(tmp_po_f) - cmd = (self.settings.GETTEXT_MSGFMT_EXECUTABLE, - "--statistics", # show stats - tmp_po_f.name, - "-o", - fname, - ) + cmd = ( + self.settings.GETTEXT_MSGFMT_EXECUTABLE, + "--statistics", # show stats + tmp_po_f.name, + "-o", + fname, + ) print("Running ", " ".join(cmd)) ret = subprocess.call(cmd) print("Finished.") @@ -1081,6 +1093,7 @@ class I18nMessages: EOT = b"0x04" # Used to concatenate context and msgid _msgid_offset = 0 _msgstr_offset = 0 + def _gen(v): nonlocal _msgid_offset, _msgstr_offset msgid = v.msgid.encode("utf-8") @@ -1188,6 +1201,7 @@ class I18n: def _py_file_get(self): return self.src.get(self.settings.PARSER_PY_ID) + def _py_file_set(self, value): self.src[self.settings.PARSER_PY_ID] = value py_file = property(_py_file_get, _py_file_set) @@ -1252,7 +1266,8 @@ class I18n: _ctx_txt = "s are" else: _ctx_txt = " is" - lines = (("", + lines = (( + "", "Average stats for all {} translations:\n".format(self.nbr_trans), " {:>6.1%} done!\n".format(self.lvl / self.nbr_trans), " {:>6.1%} of messages are tooltips.\n".format(self.lvl_ttips / self.nbr_trans), @@ -1350,10 +1365,10 @@ class I18n: comment_lines = [self.settings.PO_COMMENT_PREFIX + c for c in user_comments] + common_comment_lines self.trans[uid].msgs[key] = I18nMessage(ctxt, [key[1]], [msgstr], comment_lines, False, is_fuzzy, settings=self.settings) - #key = self.settings.PO_HEADER_KEY - #for uid, trans in self.trans.items(): - #if key not in trans.msgs: - #trans.msgs[key] + # key = self.settings.PO_HEADER_KEY + # for uid, trans in self.trans.items(): + # if key not in trans.msgs: + # trans.msgs[key] self.unescape() def write(self, kind, langs=set()): diff --git a/source/blender/datatoc/datatoc_icon_split.py b/source/blender/datatoc/datatoc_icon_split.py index faf8d57be77..e7cc3a71446 100755 --- a/source/blender/datatoc/datatoc_icon_split.py +++ b/source/blender/datatoc/datatoc_icon_split.py @@ -101,7 +101,7 @@ def write_subimage(sub_x, sub_y, sub_w, sub_h, sub_w, sub_h, sub_x, sub_y, # redundant but including to maintain consistency - pixel_w, pixel_h, + pixel_w, pixel_h, )) for y in range(sub_h): diff --git a/source/blender/python/simple_enum_gen.py b/source/blender/python/simple_enum_gen.py index 8ac5c782821..4f3159b9b25 100644 --- a/source/blender/python/simple_enum_gen.py +++ b/source/blender/python/simple_enum_gen.py @@ -1,22 +1,22 @@ - # ***** BEGIN GPL LICENSE BLOCK ***** - # - # This program is free software; you can redistribute it and/or - # modify it under the terms of the GNU General Public License - # as published by the Free Software Foundation; either version 2 - # of the License, or (at your option) any later version. - # - # This program is distributed in the hope that it will be useful, - # but WITHOUT ANY WARRANTY; without even the implied warranty of - # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - # GNU General Public License for more details. - # - # You should have received a copy of the GNU General Public License - # along with this program; if not, write to the Free Software Foundation, - # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - # - # Contributor(s): Campbell Barton - # - # #**** END GPL LICENSE BLOCK #**** +# ***** BEGIN GPL LICENSE BLOCK ***** +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# ***** END GPL LICENSE BLOCK ***** + +# defs = """ SPACE_EMPTY, -- cgit v1.2.3