File: utils.py

package info (click to toggle)
python-trame 3.12.0-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 101,620 kB
  • sloc: python: 13,515; sh: 183; javascript: 93; makefile: 7
file content (21 lines) | stat: -rw-r--r-- 603 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
import re

camel_pattern = re.compile(r"(?<!^)(?=[A-Z])")


def camel_to_dash(value):
    "MySuperWidget => my-super-widget"
    return camel_pattern.sub("-", value).lower()


def attr_to_py(value):
    """
    top-left                => "top_left"
    top-left:default        => ("top_left_default", "top-left:default")
    v-slot:default.modifier => ("v_slot_default_modifier", "v-slot:default.modifier")
    """
    py_name = value.replace("-", "_")
    if "." in value or ":" in value:
        py_name = py_name.replace(".", "_").replace(":", "_")
        return [py_name, value]
    return py_name