Module pyboiler.platform

Platform specific helpers

Expand source code
"""Platform specific helpers"""

import os
import sys
from enum import Enum, auto


class Platform(Enum):
    Windows = auto()
    Linux = auto()
    Mac = auto()

    @staticmethod
    def get():
        if sys.platform.startswith("win"):
            return Platform.Windows
        elif sys.platform == "darwin":
            return Platform.Mac
        return Platform.Linux


def clear():
    """OS independent clear console"""
    from .config import config

    if config().SYS_PLAT is Platform.Windows:
        os.system("cls")
    else:
        os.system("clear")

Functions

def clear()

OS independent clear console

Expand source code
def clear():
    """OS independent clear console"""
    from .config import config

    if config().SYS_PLAT is Platform.Windows:
        os.system("cls")
    else:
        os.system("clear")

Classes

class Platform (*args, **kwds)

Create a collection of name/value pairs.

Example enumeration:

>>> class Color(Enum):
...     RED = 1
...     BLUE = 2
...     GREEN = 3

Access them by:

  • attribute access:

Color.RED

  • value lookup:

Color(1)

  • name lookup:

Color['RED']

Enumerations can be iterated over, and know how many members they have:

>>> len(Color)
3
>>> list(Color)
[<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]

Methods can be added to enumerations, and members can have their own attributes – see the documentation for details.

Expand source code
class Platform(Enum):
    Windows = auto()
    Linux = auto()
    Mac = auto()

    @staticmethod
    def get():
        if sys.platform.startswith("win"):
            return Platform.Windows
        elif sys.platform == "darwin":
            return Platform.Mac
        return Platform.Linux

Ancestors

  • enum.Enum

Class variables

var Linux
var Mac
var Windows

Static methods

def get()
Expand source code
@staticmethod
def get():
    if sys.platform.startswith("win"):
        return Platform.Windows
    elif sys.platform == "darwin":
        return Platform.Mac
    return Platform.Linux