validate unicode strings

checking for unicode strings in environment variables that block extracting review
This commit is contained in:
Jana Mizikova 2019-10-18 15:09:47 +02:00
parent 0c181f78a1
commit 5ccc34abb4

View file

@ -0,0 +1,40 @@
import os
from maya import cmds
import pyblish.api
import pype.api
import pype.maya.action
class ValidateUnicodeStrings(pyblish.api.Validator):
"""Validate all environment variables are string type.
"""
order = pype.api.ValidateContentsOrder
hosts = ['maya']
families = ['review']
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.")
@classmethod
def get_invalid(cls, instance):
invalid = []
for key, value in os.environ.items():
if type(value) is type(u't'):
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)