Esempio n. 1
0
def _get_win_favorites():
    """Returns a list of paths for commonly used directories.

    e.g. My Music, Desktop etc.
    """

    assert os.name == "nt"

    folders = []

    funcs = [
        windows.get_desktop_dir, windows.get_personal_dir,
        windows.get_music_dir
    ]

    for func in funcs:
        path = func()
        if path is not None:
            folders.append(path)

    # try to extract the favorites listed in explorer and add them
    # if not already present
    links = windows.get_links_dir()
    if links is not None:
        try:
            link_entries = os.listdir(links)
        except OSError:
            link_entries = []

        for entry in link_entries:
            if entry.endswith(".lnk"):
                try:
                    target = windows.get_link_target(os.path.join(
                        links, entry))
                except WindowsError:
                    pass
                else:
                    if target:
                        # RecentPlaces.lnk resolves
                        # to an empty string for example
                        folders.append(target)

    # remove duplicated entries
    filtered = []
    for path in folders:
        if path not in filtered:
            filtered.append(path)

    return filtered
Esempio n. 2
0
def _get_win_favorites():
    """Returns a list of paths for commonly used directories.

    e.g. My Music, Desktop etc.
    """

    assert os.name == "nt"

    folders = []

    funcs = [windows.get_desktop_dir, windows.get_personal_dir,
             windows.get_music_dir]

    for func in funcs:
        path = func()
        if path is not None:
            folders.append(path)

    # try to extract the favorites listed in explorer and add them
    # if not already present
    links = windows.get_links_dir()
    if links is not None:
        try:
            link_entries = os.listdir(links)
        except OSError:
            link_entries = []

        for entry in link_entries:
            if entry.endswith(".lnk"):
                try:
                    target = windows.get_link_target(
                        os.path.join(links, entry))
                except WindowsError:
                    pass
                else:
                    if target:
                        # RecentPlaces.lnk resolves
                        # to an empty string for example
                        folders.append(target)

    # remove duplicated entries
    filtered = []
    for path in folders:
        if path not in filtered:
            filtered.append(path)

    return filtered
Esempio n. 3
0
    def test_dir_funcs(self):
        d = windows.get_personal_dir()
        self.assertTrue(d is None or isinstance(d, text_type))

        d = windows.get_appdate_dir()
        self.assertTrue(d is None or isinstance(d, text_type))

        d = windows.get_desktop_dir()
        self.assertTrue(d is None or isinstance(d, text_type))

        d = windows.get_music_dir()
        self.assertTrue(d is None or isinstance(d, text_type))

        d = windows.get_profile_dir()
        self.assertTrue(d is None or isinstance(d, text_type))

        d = windows.get_links_dir()
        self.assertTrue(d is None or isinstance(d, text_type))
Esempio n. 4
0
    def test_dir_funcs(self):
        d = windows.get_personal_dir()
        self.assertTrue(d is None or isinstance(d, unicode))

        d = windows.get_appdate_dir()
        self.assertTrue(d is None or isinstance(d, unicode))

        d = windows.get_desktop_dir()
        self.assertTrue(d is None or isinstance(d, unicode))

        d = windows.get_music_dir()
        self.assertTrue(d is None or isinstance(d, unicode))

        d = windows.get_profile_dir()
        self.assertTrue(d is None or isinstance(d, unicode))

        d = windows.get_links_dir()
        self.assertTrue(d is None or isinstance(d, unicode))