Ejemplo n.º 1
0
def get_link_dir(links_dir,
                 link_name,
                 var_name='',
                 default_val='',
                 throw_exception=False):
    link = op.join(links_dir, link_name)
    # check if this is a windows folder shortcup
    if op.isfile('{}.lnk'.format(link)):
        from src.mmvt_addon.scripts import windows_utils as wu
        sc = wu.MSShortcut('{}.lnk'.format(link))
        return op.join(sc.localBasePath, sc.commonPathSuffix)
        # return read_windows_dir_shortcut('{}.lnk'.format(val))
    ret = op.realpath(link)
    if not op.isdir(ret) and default_val != '':
        ret = default_val
    if not op.isdir(ret):
        ret = os.environ.get(var_name, '')
    if not op.isdir(ret):
        ret = get_link_dir_from_csv(links_dir, link_name)
        if ret == '':
            if throw_exception:
                raise Exception('No {} dir!'.format(link_name))
            else:
                print('No {} dir!'.format(link_name))
    return ret
Ejemplo n.º 2
0
def get_link_dir(links_dir, link_name, var_name='', default_val='', throw_exception=False):
    link = op.join(links_dir, link_name)
    # check if this is a windows folder shortcup
    if op.isfile('{}.lnk'.format(link)):
        # try:
        #     from src.mmvt_addon.scripts import windows_utils as wu
        # except:
        #     os.chdir(op.join(get_code_root_dir(), 'src', 'mmvt_addon', 'scripts'))
        #     from . import windows_utils as wu
        import importlib
        add_fol_to_path(get_current_fol())
        import windows_utils as wu
        importlib.reload(wu)

        sc = wu.MSShortcut('{}.lnk'.format(link))
        return op.join(sc.localBasePath, sc.commonPathSuffix)
        # return read_windows_dir_shortcut('{}.lnk'.format(val))
    ret = op.realpath(link)
    if not op.isdir(ret) and default_val != '':
        ret = default_val
    if not op.isdir(ret):
        ret = os.environ.get(var_name, '')
    if not op.isdir(ret):
        ret = get_link_dir_from_csv(links_dir, link_name)
        if ret == '':
            if throw_exception:
                raise Exception('No {} dir!'.format(link_name))
            else:
                print('No {} dir!'.format(link_name))
    return ret
Ejemplo n.º 3
0
def get_windows_link(shortcut):
    try:
        from src.mmvt_addon.scripts import windows_utils as wu
    except:
        sys.path.append(op.split(__file__)[0])
        import windows_utils as wu
    sc = wu.MSShortcut('{}.lnk'.format(shortcut))
    return op.join(sc.localBasePath, sc.commonPathSuffix)
Ejemplo n.º 4
0
def is_link(link_path):
    if is_windows():
        link_fname = link_path if link_path[-4:] == '.lnk' else '{}.lnk'.format(link_path)
        if not op.isfile(link_fname):
            return False
        try:
            from src.mmvt_addon.scripts import windows_utils as wu
            sc = wu.MSShortcut(link_fname)
            real_folder_path = op.join(sc.localBasePath, sc.commonPathSuffix)
            return op.isdir(real_folder_path)
        except:
            # print(traceback.format_exc())
            return False
    else:
        return op.islink(link_path)
Ejemplo n.º 5
0
def get_link_dir(links_dir,
                 link_name,
                 var_name='',
                 default_val='',
                 throw_exception=False):
    link = op.join(links_dir, link_name)
    # check if this is a windows folder shortcup
    if op.isfile('{}.lnk'.format(link)):
        try:
            import importlib
            add_fol_to_path(get_current_fol())
            import windows_utils as wu
            importlib.reload(wu)
            sc = wu.MSShortcut('{}.lnk'.format(link))
            return op.join(sc.localBasePath, sc.commonPathSuffix)
        except:
            print(
                'Something is wrong with the windows links, trying to read the links.csv'
            )
            ret = get_link_dir_from_csv(links_dir, link_name)
            if ret == '':
                if throw_exception:
                    raise Exception('No {} dir!'.format(link_name))
                else:
                    print('No {} dir!'.format(link_name))

        # return read_windows_dir_shortcut('{}.lnk'.format(val))
    ret = op.realpath(link)
    # Ugly patch!!!! todo: Fix that!!!!
    ret = ret.replace('local_mount', 'autofs').replace('thibault/1',
                                                       'thibault_001')
    if not op.isdir(ret) and default_val != '':
        ret = default_val
    if not op.isdir(ret):
        ret = os.environ.get(var_name, '')
    if not op.isdir(ret):
        ret = get_link_dir_from_csv(links_dir, link_name)
        if ret == '':
            if throw_exception:
                raise Exception('No {} dir!'.format(link_name))
            else:
                print('No {} dir!'.format(link_name))
    return ret