예제 #1
0
def __init_db__():
    """initializes the just setup database
    
    It adds:
    
        - Users
        - VersionTypes
        
    to the database.
    """

    logger.debug("db is newly created, initializing the db")

    global query
    global session

    # get the users from the config
    from oyProjectManager import conf
    # ------------------------------------------------------
    # create the users
    from oyProjectManager.models.auth import User

    # get all users from db
    users_from_db = query(User).all()

    for user_data in conf.users_data:
        name = user_data.get("name")
        initials = user_data.get("initials")
        email = user_data.get("email")

        user_from_config = User(name, initials, email)

        if user_from_config not in users_from_db:
            session.add(user_from_config)

    # ------------------------------------------------------
    # add the VersionTypes
    from oyProjectManager.models.version import VersionType

    version_types_from_db = query(VersionType).all()

    for version_type in conf.version_types:
        version_type_from_conf = VersionType(**version_type)

        if version_type_from_conf not in version_types_from_db:
            session.add(version_type_from_conf)

    session.commit()

    logger.debug("finished initialization of the db")
예제 #2
0
    def setUp(self):
        """setup the tests
        """
        # -----------------------------------------------------------------
        # start of the setUp
        # create the environment variable and point it to a temp directory
        conf.database_url = "sqlite://"

        self.temp_config_folder = tempfile.mkdtemp()
        self.temp_projects_folder = tempfile.mkdtemp()

        os.environ["OYPROJECTMANAGER_PATH"] = self.temp_config_folder
        os.environ[conf.repository_env_key] = self.temp_projects_folder

        # create a test project
        self.project = Project("Test Project")
        self.project.create()

        # create a test asset
        self.asset1 = Asset(self.project, "Test Asset 1")

        # version type
        self.asset_vtypes = VersionType.query()\
            .filter(VersionType.type_for == "Asset").all()

        self.shot_vtypes = VersionType.query()\
            .filter(VersionType.type_for == "Shot").all()

        self.user1 = User(name="Test User 1", email="*****@*****.**")

        # create a test version
        self.kwargs = {
            "version_of": self.asset1,
            "base_name": self.asset1.code,
            "type": self.asset_vtypes[0],
            "created_by": self.user1,
            "extension": "ma"
        }

        self.version1 = Version(**self.kwargs)
        self.version1.save()

        # create the environment instance
        self.mEnv = mayaEnv.Maya()

        # just renew the scene
        pm.newFile(force=True)