File: user.py

package info (click to toggle)
fs-uae-arcade 3.1.63-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 24,456 kB
  • sloc: python: 56,011; makefile: 170
file content (73 lines) | stat: -rw-r--r-- 1,594 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import os
import sys

import fsboot
from fsbc.path import unicode_path
from fsbc.util import memoize

CSIDL_DESKTOP = 0
CSIDL_PERSONAL = 5
CSIDL_APPDATA = 26
CSIDL_MYPICTURES = 39
CSIDL_PROFILE = 40
CSIDL_COMMON_DOCUMENTS = 46


@memoize
def get_user_name():
    return fsboot.user_name()


@memoize
def xdg_user_dir(name):
    return fsboot.xdg_user_dir(name)


@memoize
def get_desktop_dir(allow_create=True):
    if sys.platform == "win32":
        path = fsboot.csidl_dir(fsboot.CSIDL_DESKTOP)
    else:
        path = xdg_user_dir("DESKTOP")
        if not path:
            path = os.path.join(get_home_dir(), "Desktop")
    path = unicode_path(path)
    if allow_create and not os.path.isdir(path):
        os.makedirs(path)
    return path


def get_documents_dir(create=False):
    return fsboot.documents_dir(create=create)


@memoize
def get_common_documents_dir():
    if sys.platform == "win32":
        path = fsboot.csidl_dir(CSIDL_COMMON_DOCUMENTS)
    else:
        raise NotImplementedError("Only for windows")
    path = unicode_path(path)
    return path


@memoize
def get_pictures_dir(allow_create=True):
    if sys.platform == "win32":
        path = fsboot.csidl_dir(CSIDL_MYPICTURES)
    else:
        path = xdg_user_dir("PICTURES")
        if not path:
            path = os.path.join(get_home_dir(), "Pictures")
    path = unicode_path(path)
    if allow_create and not os.path.isdir(path):
        os.makedirs(path)
    return path


def get_home_dir():
    return fsboot.home_dir()


def get_data_dir(create=True):
    return fsboot.common_data_dir(create=create)