API Documentation¶
CleanFreak¶
- class cleanfreak.CleanFreak(context=None, cfg_root=None)¶
CleanFreak collects and runs Checker check() and fix() methods based on the config file in your configuration root directory. Configuration root is looked up in the following order.
- Parameter cfg_root passed to CleanFreak on instantiation
- Environment variable CLEANFREAK_CFG
- ~/cleanfreak
If the directory does not exist the default config in cleanfreak/conf is copied to the directory. Providing you with a default configuration to extend. The configuration root directory is then added to your pythonpath allowing you to load python modules from there. This is the best place to keep a module containing Checker objects.
Parameters: cfg_root – Optional configuration root directory. - grade¶
Returns a Grade with data based on the number of successful checks.
- list_suites()¶
Returns a list suite names.
- run_checks()¶
Executes check() for each Checker in the current suite. Emits three Message s.
- StartChecker is emitted prior to running checks.
- OnCheck is emitted after each check with the checker and a
- grade objects.
- FinishChecker is emitted after all checks are completed
with the final grade object.
- run_fixes()¶
Executes fix() for each Checker in the current suite. Emits three Message s.
- StartChecker is emitted prior to running checks.
- OnFix is emitted after each check with the checker and a
- grade objects.
- FinishChecker is emitted after all checks are completed
with the final grade object.
- set_suite(suite)¶
Sets the suite to the specified value. Collects all checkers listed in the suites configuration. Raises a KeyError if the squite is not in your configuration.
Parameters: suite – The key of your suite in config[‘SUITES’]
- show()¶
Shows a PySide UI to control the app. Parenting of the UI is handled by different subclasses of UI. You can set the context using the “CONTEXT” key of your configuration.
- successes¶
Returns the number of successful checks.
Checker¶
- class cleanfreak.Checker¶
Abstract Base Class for all Checkers. You must override the following attributes and methods:
Attr full_name: The full name of the Checker Attr description: A description of the issue the Checker checks Meth setup: Runs prior to any checking should include any necessary including imports, and attribute defaults :meth check: Checks for the described issue :meth fix: Recipe to fix the described issue if check does not pass
- check()¶
Do your scene check here including any relevant imports Return (True, message) if check passes Return (False, message) if check fails
nodes = cmds.ls(type='mesh') for node in nodes: if not has_uvs(node): self.no_uvs.append(node) if self.no_uvs: return False, self.fail_msg.format(self.no_uvs) return True, self.passed_msg
- fix()¶
Attempt to fix the issue check found.
if self.passed: return for node in self.no_uvs: automatic_map(node) return True, self.msg
- select()¶
Select the objects in Checker.selection that caused a failure.
- ::
- import pymel.core as pm pm.select(self.selection)
- setup()¶
OPTIONAL METHOD: Called prior to running Checker’s check method. Includes any relevant default values for attributes. Override if your checker requires some sort of setup.
import maya.cmds as cmds self.no_uvs = []