autorepair unicode strings

This commit is contained in:
Milan Kolar 2021-02-23 11:22:30 +01:00
parent ca6893c39b
commit ba2d1c7edd

View file

@ -1,26 +1,23 @@
import os
from maya import cmds
import pyblish.api
import pype.api
import pype.hosts.maya.api.action
class ValidateUnicodeStrings(pyblish.api.Validator):
class RepairUnicodeStrings(pyblish.api.Collector):
"""Validate all environment variables are string type.
"""
order = pype.api.ValidateContentsOrder
hosts = ['maya']
families = ['review']
order = pyblish.api.CollectorOrder
label = 'Unicode Strings'
actions = [pype.api.RepairAction]
def process(self, instance):
invalid = self.get_invalid(instance)
if invalid:
raise RuntimeError("Found unicode strings in environment variables.")
# invalid = self.get_invalid(instance)
# if invalid:
for key, value in os.environ.items():
self.log.info(type(value))
if type(value) is type(u't'):
os.environ[key] = str(value)
@classmethod
def get_invalid(cls, instance):
@ -30,11 +27,3 @@ class ValidateUnicodeStrings(pyblish.api.Validator):
invalid.append((key, value))
return invalid
@classmethod
def repair(cls, instance):
"""Retype all unicodes to strings."""
for key, value in os.environ.items():
if type(value) is type(u't'):
os.environ[key] = str(value)