Package mrv
[hide private]
[frames] | no frames]

Package mrv

source code

Initialize mrv system assisting development, debugging and maintenance

Submodules [hide private]
  • mrv.automation: Intiailize the automation and process framework
  • mrv.batch: This modules contains utilities to do opeations in batch mode.
  • mrv.cmd: Intiailize the cmd package
  • mrv.conf: Contains implementation of the configuration system allowing to flexibly control the programs behaviour.
  • mrv.dge: Contains a simple but yet powerful dependency graph engine allowing computations to be organized more efficiently.
  • mrv.dgfe: Contains nodes supporting facading within a dependency graph - this can be used for container tyoes or nodes containing their own subgraph even
  • mrv.doc
  • mrv.enum: This module is designed to be the equivalent of the enum type in other languages.
  • mrv.exc: Contains all exceptions used by the mrv package in general
  • mrv.info: Provide project related global information.
  • mrv.interface: Contains interface definitions
  • mrv.maya: Inialize the mrv.maya sub-system and startup maya as completely as possible or configured
    • mrv.maya.all: Module importing all maya related classes into one place
    • mrv.maya.automation: Intiailize the automation and process framework for maya
    • mrv.maya.env: Allows to query the maya environment, like variables, version numbers and system paths.
    • mrv.maya.mdb: Provides classes and functions operating on the MayaAPI class database
    • mrv.maya.ns: Allows convenient access and handling of namespaces in an object oriented manner
    • mrv.maya.nt: All classes required to wrap maya nodes in an object oriented manner into python objects and allow easy handling of them.
      • mrv.maya.nt.anim: Contains implementations of animation specific types and utilities
      • mrv.maya.nt.apipatch: Contains patch classes that are altering their respective api classes
      • mrv.maya.nt.base: Contains some basic classes that are required to run the nodes system
      • mrv.maya.nt.geometry: Contains implementations ( or improvements ) to mayas geometric shapes
      • mrv.maya.nt.it: Contains different multi-purpose iterators allowing to conveniently walk the dg and dag.
      • mrv.maya.nt.persistence: generic python style persitance plugin This module contains a storage interface able to easily handle python-style data within maya scenes.
      • mrv.maya.nt.set: Contains improved clases for set and partition editing
      • mrv.maya.nt.storage: Contains an implementation for the Persistence plugin for easy access within mrv and derived nodes.
      • mrv.maya.nt.typ: Houses the MetaClass able to setup new types to work within the system.
      • mrv.maya.nt.util: General utility methods
    • mrv.maya.ref: Allows convenient access and handling of references in an object oriented manner
    • mrv.maya.scene: Provides methodes to query and alter the currently loaded scene.
    • mrv.maya.ui: Initialize the UI framework allowing convenient access to most common user interfaces
    • mrv.maya.undo: Contains the undo engine allowing to adjust the scene with api commands while providing full undo and redo support.
    • mrv.maya.util: All kinds of utility methods and classes that are used in more than one modules
  • mrv.mdepparse: Contains parser allowing to retrieve dependency information from maya ascii files and convert it into an easy-to-use networkx graph with convenience methods.
  • mrv.mdp: Module containing the commandline interface for the Maya Depdendency Parser
  • mrv.path: path.py - An object representing a path to a file or directory.
  • mrv.thread: Module with threading utilities
  • mrv.util: All kinds of utility methods and classes that are used in more than one modules

Functions [hide private]
    Common
 
init_modules(filepath, moduleprefix, recurse=False, self_module=None)
Call '__initialize' functions in submodules of module at filepath if they exist These functions should setup the module to be ready for work, its a callback informing the submodules that the super module is being requested.
source code
    Initialization
 
_init_configProvider()
Install the configuration provider system
source code
 
_init_internationalization()
Install internationalization module
source code
 
_init_logging()
Initialize the default mrv logging interface
source code
 
_init_python()
Assure that certain python classes have the least possible amount of compatablity so that we can work with them
source code
 
_init_syspath()
Initialize the path such that additional modules can be found
source code
 
_remove_empty_syspath_entries()
fix sys.path: if there are empty entries and our cwd is the mrvroot we will be in trouble as we try to import our own 'maya' module which will not provide the original maya packages of course
source code
Variables [hide private]
  __package__ = 'mrv'
  log = logging.getLogger("mrv")
Function Details [hide private]

_init_configProvider()

source code 

Install the configuration provider system

This allows values and settings to be stored in a convenient way.

_init_internationalization()

source code 

Install internationalization module

Using the default python gettext module, internationalization compatibility can be garantueed.

Will map the '_' function to translate enclosed strings

_init_logging()

source code 
Initialize the default mrv logging interface

The logging interface unifies the way messages for the end user are handled
and assure a flexible message handling.

:note: will not raise even if the logging module could not be setup

:note: in the current implementation, it is based on the default python logging
        package

_remove_empty_syspath_entries()

source code 
fix sys.path: if there are empty entries and our cwd is the mrvroot
we will be in trouble as we try to import our own 'maya' module which 
will not provide the original maya packages of course

:note: only for internal use - code was moved into a method as it needs 
        to be called again from maya.__init__

init_modules(filepath, moduleprefix, recurse=False, self_module=None)

source code 

Call '__initialize' functions in submodules of module at filepath if they exist These functions should setup the module to be ready for work, its a callback informing the submodules that the super module is being requested. They return a True value if the initialization was performed, or a False one if they weren't for some reason. Throw to indicate error. :param filepath: your module module.__file__ value :param moduleprefix: prefix like "super.yourmodule." leading to the submodules from an available system include path :param recurse: if True, method will recursively initialize submodules :param self_module: if not None, it must be the module that called this function. It will be given to the __initialize functions as first arguments allowing them to operate on functions of their own module - importing their own module is not yet possible as it is in the course of being intialized itself. The module will be given only to intermediate submodules in case recurse is True. :note: in this moment, all submodules will be 'pulled' in