about summary refs log tree commit diff
path: root/universe/ac_types/f.py
blob: 44dcf0d32bf71890f5b79877b1a19d7f7e7a89ec (plain) (blame)
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
import os
import string
from test_utils import simple_assert


def join(*args):
    return os.path.join(*args)


simple_assert(join("/", "tmp", "a.txt"), "/tmp/a.txt", name="join")


def ensure_absolute(path):
    """Ensures `path` is an absolute path."""
    return os.path.abspath(os.path.expanduser(path))


simple_assert(ensure_absolute("~/a.txt"),
              "/usr/local/google/home/wpcarro/a.txt",
              name="ensure_absolute")


def filename(path):
    """Return just the filename of `path`."""
    return os.path.basename(path)


simple_assert(filename("~/a.txt"), "a.txt", name="filename")
simple_assert(filename("/path/to/file"), "file", name="filename")


def strip_extension(path):
    """Remove file extension from path."""
    return os.path.splitext(path)[0]


simple_assert(strip_extension("~/a.txt"), "~/a", name="filename")
simple_assert(strip_extension("/path/to/file.txt"),
              "/path/to/file",
              name="strip_extension")


def change_extension(ext, path):
    """Change `path`'s file extension to `ext`."""
    assert string.starts_with('.', ext)
    return strip_extension(path) + ext