import os
from os.path import join, expanduser, exists

from msm import MycroftSkillsManager, SkillRepo
from mycroft.util.combo_lock import ComboLock

mycroft_msm_lock = ComboLock('/tmp/mycroft-msm.lck')


def create_msm(config):
    """ Create msm object from config. """
    msm_config = config['skills']['msm']
    repo_config = msm_config['repo']
    data_dir = expanduser(config['data_dir'])
    skills_dir = join(data_dir, msm_config['directory'])
    repo_cache = join(data_dir, repo_config['cache'])
    platform = config['enclosure'].get('platform', 'default')

    with mycroft_msm_lock:
        # Try to create the skills directory if it doesn't exist
        if not exists(skills_dir):
            os.makedirs(skills_dir)

        return MycroftSkillsManager(
            platform=platform, skills_dir=skills_dir,
            repo=SkillRepo(repo_cache, repo_config['url'],
                           repo_config['branch']),
            versioned=msm_config['versioned'])

@@ -1,12 +1,593 @@
+# Copyright 2019 Mycroft AI Inc.%0A#%0A# Licensed under the Apache License, Version 2.0 (the %22License%22);%0A# you may not use this file except in compliance with the License.%0A# You may obtain a copy of the License at%0A#%0A#    http://www.apache.org/licenses/LICENSE-2.0%0A#%0A# Unless required by applicable law or agreed to in writing, software%0A# distributed under the License is distributed on an %22AS IS%22 BASIS,%0A# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A# See the License for the specific language governing permissions and%0A# limitations under the License.%0A#%0A%0A
 import os%0Afr

Add missing license header