Module pypowerautomate.actions.statements

Expand source code
from typing import Dict
from .base import BaseAction
from .actions import Actions, RawActions
from .condition import Condition


class IfStatement(BaseAction):
    """
    A class that defines an If statement.

    Args:
        name (str): The name of the If statement.
        condition (Condition): The condition to be evaluated.
    """

    def __init__(self, name: str, condition: Condition):
        super().__init__(name)
        self.type: str = "If"
        self.condition: Condition = condition
        self.true_actions: Actions = None
        self.false_actions: Actions = None

    def set_true_actions(self, actions: Actions):
        """
        Sets the actions to be executed if the condition is true.

        Args:
            actions (Actions): The actions to be executed if the condition is true.
        """
        self.true_actions = actions

    def set_false_actions(self, actions: Actions):
        """
        Sets the actions to be executed if the condition is false.

        Args:
            actions (Actions): The actions to be executed if the condition is false.
        """
        self.false_actions = actions

    def export(self) -> Dict:
        """
        Exports the If statement as a dictionary.

        Returns:
            Dict: A dictionary representing the If statement.
        """
        d = {}
        d["metadata"] = self.metadata
        d["type"] = self.type
        d["runAfter"] = self.runafter
        d["expression"] = self.condition.export()
        d["actions"] = self.true_actions.export()
        d["else"] = {"actions": self.false_actions.export()}
        return d


class ForeachStatement(BaseAction):
    """
    A class that defines a Foreach statement.

    Args:
        name (str): The name of the Foreach statement.
        foreach (str): The variable to iterate over.
    """

    def __init__(self, name: str, foreach: str):
        super().__init__(name)
        self.type: str = "Foreach"
        self.foreach: str = foreach
        self.actions: Actions = None

    def set_actions(self, actions: Actions):
        """
        Sets the actions to be executed for each iteration.

        Args:
            actions (Actions): The actions to be executed for each iteration.
        """
        self.actions = actions

    def export(self) -> Dict:
        """
        Exports the Foreach statement as a dictionary.

        Returns:
            Dict: A dictionary representing the Foreach statement.
        """
        d = {}
        d["metadata"] = self.metadata
        d["type"] = self.type
        d["runAfter"] = self.runafter
        d["foreach"] = self.foreach
        d["actions"] = self.actions.export()
        return d


class ScopeStatement(BaseAction):
    """
    A class that defines a Scope statement.

    Args:
        name (str): The name of the Scope statement.
        actions (Actions | RawActions): The actions to be executed within the scope.
    """

    def __init__(self, name: str, actions: Actions | RawActions):
        super().__init__(name)
        self.type: str = "Scope"
        self.actions: Actions | RawActions = actions

    def export(self) -> Dict:
        """
        Exports the Scope statement as a dictionary.

        Returns:
            Dict: A dictionary representing the Scope statement.
        """
        d = {}
        d["metadata"] = self.metadata
        d["type"] = self.type
        d["runAfter"] = self.runafter
        d["actions"] = self.actions.export()
        return d


class DoUntilStatement(BaseAction):
    """
    A class that defines a Do Until statement.

    Args:
        name (str): The name of the Do Until statement.
        actions (Actions): The actions to be executed within the Do Until loop.
        expression (str): The expression to be evaluated to determine when to stop the loop.
        limit_count (int, optional): The maximum number of iterations to perform. Defaults to 60.
    """

    def __init__(self, name: str, actions: Actions, expression: str, limit_count: int = 60):
        super().__init__(name)
        self.type: str = "Until"
        self.actions: Actions = actions
        self.limit = {
            "count": limit_count,
            "timeout": "PT1H"
        }
        self.expression = expression

    def export(self) -> Dict:
        """
        Exports the Do Until statement as a dictionary.

        Returns:
            Dict: A dictionary representing the Do Until statement.
        """
        d = {}
        d["metadata"] = self.metadata
        d["type"] = self.type
        d["runAfter"] = self.runafter
        d["actions"] = self.actions.export()
        d["expression"] = self.expression
        d["limit"] = self.limit
        return d

Classes

class DoUntilStatement (name: str, actions: Actions, expression: str, limit_count: int = 60)

A class that defines a Do Until statement.

Args

name : str
The name of the Do Until statement.
actions : Actions
The actions to be executed within the Do Until loop.
expression : str
The expression to be evaluated to determine when to stop the loop.
limit_count : int, optional
The maximum number of iterations to perform. Defaults to 60.

Initializes the BaseAction with a specific name.

Args

name : str
The name of the action.
Expand source code
class DoUntilStatement(BaseAction):
    """
    A class that defines a Do Until statement.

    Args:
        name (str): The name of the Do Until statement.
        actions (Actions): The actions to be executed within the Do Until loop.
        expression (str): The expression to be evaluated to determine when to stop the loop.
        limit_count (int, optional): The maximum number of iterations to perform. Defaults to 60.
    """

    def __init__(self, name: str, actions: Actions, expression: str, limit_count: int = 60):
        super().__init__(name)
        self.type: str = "Until"
        self.actions: Actions = actions
        self.limit = {
            "count": limit_count,
            "timeout": "PT1H"
        }
        self.expression = expression

    def export(self) -> Dict:
        """
        Exports the Do Until statement as a dictionary.

        Returns:
            Dict: A dictionary representing the Do Until statement.
        """
        d = {}
        d["metadata"] = self.metadata
        d["type"] = self.type
        d["runAfter"] = self.runafter
        d["actions"] = self.actions.export()
        d["expression"] = self.expression
        d["limit"] = self.limit
        return d

Ancestors

Methods

def export(self) ‑> Dict

Exports the Do Until statement as a dictionary.

Returns

Dict
A dictionary representing the Do Until statement.
Expand source code
def export(self) -> Dict:
    """
    Exports the Do Until statement as a dictionary.

    Returns:
        Dict: A dictionary representing the Do Until statement.
    """
    d = {}
    d["metadata"] = self.metadata
    d["type"] = self.type
    d["runAfter"] = self.runafter
    d["actions"] = self.actions.export()
    d["expression"] = self.expression
    d["limit"] = self.limit
    return d

Inherited members

class ForeachStatement (name: str, foreach: str)

A class that defines a Foreach statement.

Args

name : str
The name of the Foreach statement.
foreach : str
The variable to iterate over.

Initializes the BaseAction with a specific name.

Args

name : str
The name of the action.
Expand source code
class ForeachStatement(BaseAction):
    """
    A class that defines a Foreach statement.

    Args:
        name (str): The name of the Foreach statement.
        foreach (str): The variable to iterate over.
    """

    def __init__(self, name: str, foreach: str):
        super().__init__(name)
        self.type: str = "Foreach"
        self.foreach: str = foreach
        self.actions: Actions = None

    def set_actions(self, actions: Actions):
        """
        Sets the actions to be executed for each iteration.

        Args:
            actions (Actions): The actions to be executed for each iteration.
        """
        self.actions = actions

    def export(self) -> Dict:
        """
        Exports the Foreach statement as a dictionary.

        Returns:
            Dict: A dictionary representing the Foreach statement.
        """
        d = {}
        d["metadata"] = self.metadata
        d["type"] = self.type
        d["runAfter"] = self.runafter
        d["foreach"] = self.foreach
        d["actions"] = self.actions.export()
        return d

Ancestors

Methods

def export(self) ‑> Dict

Exports the Foreach statement as a dictionary.

Returns

Dict
A dictionary representing the Foreach statement.
Expand source code
def export(self) -> Dict:
    """
    Exports the Foreach statement as a dictionary.

    Returns:
        Dict: A dictionary representing the Foreach statement.
    """
    d = {}
    d["metadata"] = self.metadata
    d["type"] = self.type
    d["runAfter"] = self.runafter
    d["foreach"] = self.foreach
    d["actions"] = self.actions.export()
    return d
def set_actions(self, actions: Actions)

Sets the actions to be executed for each iteration.

Args

actions : Actions
The actions to be executed for each iteration.
Expand source code
def set_actions(self, actions: Actions):
    """
    Sets the actions to be executed for each iteration.

    Args:
        actions (Actions): The actions to be executed for each iteration.
    """
    self.actions = actions

Inherited members

class IfStatement (name: str, condition: Condition)

A class that defines an If statement.

Args

name : str
The name of the If statement.
condition : Condition
The condition to be evaluated.

Initializes the BaseAction with a specific name.

Args

name : str
The name of the action.
Expand source code
class IfStatement(BaseAction):
    """
    A class that defines an If statement.

    Args:
        name (str): The name of the If statement.
        condition (Condition): The condition to be evaluated.
    """

    def __init__(self, name: str, condition: Condition):
        super().__init__(name)
        self.type: str = "If"
        self.condition: Condition = condition
        self.true_actions: Actions = None
        self.false_actions: Actions = None

    def set_true_actions(self, actions: Actions):
        """
        Sets the actions to be executed if the condition is true.

        Args:
            actions (Actions): The actions to be executed if the condition is true.
        """
        self.true_actions = actions

    def set_false_actions(self, actions: Actions):
        """
        Sets the actions to be executed if the condition is false.

        Args:
            actions (Actions): The actions to be executed if the condition is false.
        """
        self.false_actions = actions

    def export(self) -> Dict:
        """
        Exports the If statement as a dictionary.

        Returns:
            Dict: A dictionary representing the If statement.
        """
        d = {}
        d["metadata"] = self.metadata
        d["type"] = self.type
        d["runAfter"] = self.runafter
        d["expression"] = self.condition.export()
        d["actions"] = self.true_actions.export()
        d["else"] = {"actions": self.false_actions.export()}
        return d

Ancestors

Methods

def export(self) ‑> Dict

Exports the If statement as a dictionary.

Returns

Dict
A dictionary representing the If statement.
Expand source code
def export(self) -> Dict:
    """
    Exports the If statement as a dictionary.

    Returns:
        Dict: A dictionary representing the If statement.
    """
    d = {}
    d["metadata"] = self.metadata
    d["type"] = self.type
    d["runAfter"] = self.runafter
    d["expression"] = self.condition.export()
    d["actions"] = self.true_actions.export()
    d["else"] = {"actions": self.false_actions.export()}
    return d
def set_false_actions(self, actions: Actions)

Sets the actions to be executed if the condition is false.

Args

actions : Actions
The actions to be executed if the condition is false.
Expand source code
def set_false_actions(self, actions: Actions):
    """
    Sets the actions to be executed if the condition is false.

    Args:
        actions (Actions): The actions to be executed if the condition is false.
    """
    self.false_actions = actions
def set_true_actions(self, actions: Actions)

Sets the actions to be executed if the condition is true.

Args

actions : Actions
The actions to be executed if the condition is true.
Expand source code
def set_true_actions(self, actions: Actions):
    """
    Sets the actions to be executed if the condition is true.

    Args:
        actions (Actions): The actions to be executed if the condition is true.
    """
    self.true_actions = actions

Inherited members

class ScopeStatement (name: str, actions: Actions | RawActions)

A class that defines a Scope statement.

Args

name : str
The name of the Scope statement.

actions (Actions | RawActions): The actions to be executed within the scope. Initializes the BaseAction with a specific name.

Args

name : str
The name of the action.
Expand source code
class ScopeStatement(BaseAction):
    """
    A class that defines a Scope statement.

    Args:
        name (str): The name of the Scope statement.
        actions (Actions | RawActions): The actions to be executed within the scope.
    """

    def __init__(self, name: str, actions: Actions | RawActions):
        super().__init__(name)
        self.type: str = "Scope"
        self.actions: Actions | RawActions = actions

    def export(self) -> Dict:
        """
        Exports the Scope statement as a dictionary.

        Returns:
            Dict: A dictionary representing the Scope statement.
        """
        d = {}
        d["metadata"] = self.metadata
        d["type"] = self.type
        d["runAfter"] = self.runafter
        d["actions"] = self.actions.export()
        return d

Ancestors

Methods

def export(self) ‑> Dict

Exports the Scope statement as a dictionary.

Returns

Dict
A dictionary representing the Scope statement.
Expand source code
def export(self) -> Dict:
    """
    Exports the Scope statement as a dictionary.

    Returns:
        Dict: A dictionary representing the Scope statement.
    """
    d = {}
    d["metadata"] = self.metadata
    d["type"] = self.type
    d["runAfter"] = self.runafter
    d["actions"] = self.actions.export()
    return d

Inherited members