File: misc.md

package info (click to toggle)
plover 5.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 14,356 kB
  • sloc: python: 21,589; sh: 682; ansic: 25; makefile: 11
file content (60 lines) | stat: -rw-r--r-- 2,326 bytes parent folder | download | duplicates (2)
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
# `plover.misc` -- Miscellaneous

```{py:module} plover.misc
```

This module provides miscellaneous utility functions.

```{function} popcount_8(v: int) -> int
Returns the number of `1` bits in the 8-bit number `v`.
```

```{function} expand_path(path: str) -> str
Returns an expanded version of `path`, in which paths relative to either
the home directory `~` or the configuration directory
{data}`CONFIG_DIR<plover.oslayer.config.CONFIG_DIR>` are fully qualified.

If `path` is an {ref}`asset path<asset-paths>`, it is returned as is.
```

```{function} shorten_path(path: str) -> str
Returns a shortened version of `path`, in which paths within the home
directory are abbreviated to contain `~`, and paths within the
configuration directory {data}`CONFIG_DIR<plover.oslayer.config.CONFIG_DIR>`
are expressed relative to it.

Relative paths such as those returned by this function are assumed to be
relative to {data}`CONFIG_DIR<plover.oslayer.config.CONFIG_DIR>`.

If `path` is an {ref}`asset path<asset-paths>`, it is returned as is.
```

```{function} normalize_path(path: str) -> str
Returns a normalized version of `path`, resolving the full path if it
refers to a symbolic link, and normalizing the case where necessary.

If `path` is an {ref}`asset path<asset-paths>`, it is returned as is.
```

```{function} boolean(value: any) -> bool
Returns `value` converted to a Boolean value, or raises `ValueError` if
this is not possible.

If `value` is a string, the values `1`, `yes`, `true` and `on` and
their case variants are converted to `True`, and `0`, `no`, `false`
and `off` and their case variants are converted to `False`. If it is
*not* a string, the return value is resolved by casting to `bool`.
```

```{function} to_surrogate_pair(char: str) -> List[int]
Returns a list of numbers corresponding to the UTF-16 encoding for the
string `char`. `char` may have multiple characters.

If each character in `char` has a Unicode codepoint between `U+0000` and
`U+FFFF`, its corresponding element in the return value is the codepoint
as a hexadecimal number; if it is above `U+FFFF`, it is converted to
two elements in the list, the high and low bytes respectively.

For example, the string `"🥺?"` (`U+1F97A` followed by `U+003F`) returns the list
`[55358, 56698, 63]` (`[D83E, DD7A, 003F]` in hexadecimal).
```