pass encoding to uses of decode() incase the default isnt utf-8. ignore decode errors in some cases.
This should fix an error with generated qtcreator projects. also replace decoded bytes for unicode escape sequences in the VIEW3D_MT_edit_text_chars menu.
This commit is contained in:
@@ -224,7 +224,9 @@ def project_name_get(path, fallback="Blender", prefix="Blender_"):
|
||||
|
||||
import subprocess
|
||||
info = subprocess.Popen(["svn", "info", path],
|
||||
stdout=subprocess.PIPE).communicate()[0].decode()
|
||||
stdout=subprocess.PIPE).communicate()[0]
|
||||
# string version, we only want the URL
|
||||
info = info.decode(encoding="utf-8", errors="ignore")
|
||||
|
||||
for l in info.split("\n"):
|
||||
l = l.strip()
|
||||
|
||||
@@ -73,7 +73,7 @@ def do_ignore(filepath, ignore_prefix_list):
|
||||
def makefile_log():
|
||||
import subprocess
|
||||
import time
|
||||
# Check blender is not 2.5x until it supports playback again
|
||||
|
||||
print("running make with --dry-run ...")
|
||||
process = subprocess.Popen(["make", "--always-make", "--dry-run", "--keep-going", "VERBOSE=1"],
|
||||
stdout=subprocess.PIPE,
|
||||
@@ -85,7 +85,7 @@ def makefile_log():
|
||||
out = process.stdout.read()
|
||||
process.stdout.close()
|
||||
print("done!", len(out), "bytes")
|
||||
return out.decode("ascii").split("\n")
|
||||
return out.decode("utf-8", errors="ignore").split("\n")
|
||||
|
||||
|
||||
def build_info(use_c=True, use_cxx=True, ignore_prefix_list=None):
|
||||
|
||||
@@ -52,9 +52,9 @@ else:
|
||||
|
||||
cmd = [blender_bin, "--help"]
|
||||
print(" executing:", " ".join(cmd))
|
||||
blender_help = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0].decode()
|
||||
blender_help = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0].decode(encoding="utf-8")
|
||||
|
||||
blender_version = subprocess.Popen([blender_bin, "--version"], stdout=subprocess.PIPE).communicate()[0].decode().strip()
|
||||
blender_version = subprocess.Popen([blender_bin, "--version"], stdout=subprocess.PIPE).communicate()[0].decode(encoding="utf-8").strip()
|
||||
blender_version = blender_version.split("Build")[0]
|
||||
|
||||
date_string = datetime.date.fromtimestamp(time.time()).strftime("%B %d, %Y")
|
||||
|
||||
@@ -658,7 +658,7 @@ def pycontext2sphinx(BASEPATH):
|
||||
char_array = c_char_p_p.from_address(attr)
|
||||
i = 0
|
||||
while char_array[i] is not None:
|
||||
member = ctypes.string_at(char_array[i]).decode()
|
||||
member = ctypes.string_at(char_array[i]).decode(encoding="ascii")
|
||||
fw(".. data:: %s\n\n" % member)
|
||||
member_type, is_seq = type_map[member]
|
||||
fw(" :type: %s :class:`bpy.types.%s`\n\n" % ("sequence of " if is_seq else "", member_type))
|
||||
|
||||
@@ -1830,32 +1830,32 @@ class VIEW3D_MT_edit_text_chars(Menu):
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
|
||||
layout.operator("font.text_insert", text="Copyright|Alt C").text = b'\xC2\xA9'.decode()
|
||||
layout.operator("font.text_insert", text="Registered Trademark|Alt R").text = b'\xC2\xAE'.decode()
|
||||
layout.operator("font.text_insert", text="Copyright|Alt C").text = "\u00A9"
|
||||
layout.operator("font.text_insert", text="Registered Trademark|Alt R").text = "\u00AE"
|
||||
|
||||
layout.separator()
|
||||
|
||||
layout.operator("font.text_insert", text="Degree Sign|Alt G").text = b'\xC2\xB0'.decode()
|
||||
layout.operator("font.text_insert", text="Multiplication Sign|Alt x").text = b'\xC3\x97'.decode()
|
||||
layout.operator("font.text_insert", text="Circle|Alt .").text = b'\xC2\x8A'.decode()
|
||||
layout.operator("font.text_insert", text="Superscript 1|Alt 1").text = b'\xC2\xB9'.decode()
|
||||
layout.operator("font.text_insert", text="Superscript 2|Alt 2").text = b'\xC2\xB2'.decode()
|
||||
layout.operator("font.text_insert", text="Superscript 3|Alt 3").text = b'\xC2\xB3'.decode()
|
||||
layout.operator("font.text_insert", text="Double >>|Alt >").text = b'\xC2\xBB'.decode()
|
||||
layout.operator("font.text_insert", text="Double <<|Alt <").text = b'\xC2\xAB'.decode()
|
||||
layout.operator("font.text_insert", text="Promillage|Alt %").text = b'\xE2\x80\xB0'.decode()
|
||||
layout.operator("font.text_insert", text="Degree Sign|Alt G").text = "\u00B0"
|
||||
layout.operator("font.text_insert", text="Multiplication Sign|Alt x").text = "\u00D7"
|
||||
layout.operator("font.text_insert", text="Circle|Alt .").text = "\u008A"
|
||||
layout.operator("font.text_insert", text="Superscript 1|Alt 1").text = "\u00B9"
|
||||
layout.operator("font.text_insert", text="Superscript 2|Alt 2").text = "\u00B2"
|
||||
layout.operator("font.text_insert", text="Superscript 3|Alt 3").text = "\u00B3"
|
||||
layout.operator("font.text_insert", text="Double >>|Alt >").text = "\u00BB"
|
||||
layout.operator("font.text_insert", text="Double <<|Alt <").text = "\u00AB"
|
||||
layout.operator("font.text_insert", text="Promillage|Alt %").text = "\u2030"
|
||||
|
||||
layout.separator()
|
||||
|
||||
layout.operator("font.text_insert", text="Dutch Florin|Alt F").text = b'\xC2\xA4'.decode()
|
||||
layout.operator("font.text_insert", text="British Pound|Alt L").text = b'\xC2\xA3'.decode()
|
||||
layout.operator("font.text_insert", text="Japanese Yen|Alt Y").text = b'\xC2\xA5'.decode()
|
||||
layout.operator("font.text_insert", text="Dutch Florin|Alt F").text = "\u00A4"
|
||||
layout.operator("font.text_insert", text="British Pound|Alt L").text = "\u00A3"
|
||||
layout.operator("font.text_insert", text="Japanese Yen|Alt Y").text = "\u00A5"
|
||||
|
||||
layout.separator()
|
||||
|
||||
layout.operator("font.text_insert", text="German S|Alt S").text = b'\xC3\x9F'.decode()
|
||||
layout.operator("font.text_insert", text="Spanish Question Mark|Alt ?").text = b'\xC2\xBF'.decode()
|
||||
layout.operator("font.text_insert", text="Spanish Exclamation Mark|Alt !").text = b'\xC2\xA1'.decode()
|
||||
layout.operator("font.text_insert", text="German S|Alt S").text = "\u00DF"
|
||||
layout.operator("font.text_insert", text="Spanish Question Mark|Alt ?").text = "\u00BF"
|
||||
layout.operator("font.text_insert", text="Spanish Exclamation Mark|Alt !").text = "\u00A1"
|
||||
|
||||
|
||||
class VIEW3D_MT_edit_meta(Menu):
|
||||
|
||||
Reference in New Issue
Block a user