angelos.common.misc¶
Module docstring.
-
class
angelos.common.misc.AsyncCallable(callback: Callable)¶ Bases:
angelos.common.misc.SyncCallableAsync network callable.
-
class
angelos.common.misc.BaseData¶ Bases:
abc.ABC
-
class
angelos.common.misc.EventState(states: list)¶ Bases:
angelos.common.misc.SingleStateA state machine that triggers an event at state change.
-
goto(state: unicode)¶ Go to another state and trigger an event.
-
wait_for(predicate)¶ Wait for a state to happen.
-
-
class
angelos.common.misc.Fiber¶ Bases:
abc.ABCFiber that execute micro tasks (polymers) synchronously in an executor.
Subclass the Fiber class and implement your action or operation in the run method. All the sub-tasks should be implemented i separate methods decorated with @polymer. Those are tasks that will be executed in the executor in parallel with a huge number of other fibers maximizing the use of processor capacity.
-
class
polymer(exe)¶ Bases:
objectDecorator that makes a method run within the pool executor
-
classmethod
pool() → concurrent.futures.thread.ThreadPoolExecutor¶ Global instance of Loop.
-
abstract
run()¶ Implement action calling polymers in the fiber.
-
start()¶ Start the run method of the fiber.
-
class
-
class
angelos.common.misc.LazyAttribute(loader: Callable)¶ Bases:
objectAttribute class that allows lazy loading using a lambda.
-
class
angelos.common.misc.Loop(name='')¶ Bases:
objectIsolated asynchronous loop inside a thread.
-
property
loop¶
-
classmethod
main() → angelos.common.misc.Loop¶ Global instance of Loop.
-
run(coro: Awaitable, callback: Optional[Callable[[concurrent.futures._base.Future], None]] = None, wait=False) → Any¶
-
property
-
class
angelos.common.misc.Misc¶ Bases:
objectNamespace for miscellanious functions and methods.
-
REGEX= '(?:(?P<username>[\\w\\-\\.]+)(?::(?P<password>[\\w\\-\\.]+))?@)?(?P<hostname>[\\w\\-\\.]+)(?::(?P<port>\\d+))?'¶
-
static
from_ini(value: unicode) → Any¶ Convert INI string to python value.
- Parameters
value (str) – INI string to pythonize.
- Returns (Any):
Python value.
-
static
get_loop() → asyncio.events.AbstractEventLoop¶ Get running loop or Loop main instance.
- Returns (asyncio.AbstractEventLoop):
A running loop.
-
static
ip() → List[Union[ipaddress.IPv4Address, ipaddress.IPv6Address]]¶ Get external, internal and loopback ip address.
-
static
location(url: unicode) → Tuple[str, int]¶ domain and port from url.
-
static
lookup(netloc: unicode) → Tuple[ipaddress.IPv4Address, ipaddress.IPv6Address]¶ IP addresses from domain.
-
static
recurse_env(obj: Any, suffix: unicode = '', level: int = 0) → list¶ Recurse over the environment.
-
static
sleep()¶ Sleep one async tick.
-
static
to_ini(value: Any) → unicode¶ Convert python value to INI string.
- Parameters
value (Any) – Value to stringify.
- Returns(str):
INI string.
-
static
unique() → unicode¶ Get the hardware ID.
Tries to find the unique id of the hardware, otherwise returns MAC address.
- Returns
Unique hardware id.
- Return type
string
-
static
urlparse(urlstring: unicode) → dict¶ Parse an angelos url.
- Parameters
urlstring –
Returns:
-
static
urlunparse(parts: dict) → unicode¶ Build url from parts
- Returns (str):
Built angelos url.
-
Bases:
objectShared resource is a class that must be shared between threads but must be guaranteed synchronous execution. This class is a mixin and all sensitive methods in the main class should be private to the outside world, then be called via a public proxy function that calls the _run method. All calls via the _run method is handled in a thread pool executor linearly.
Expose the pool queue.
Bases:
objectShared resource is a class that must be shared between threads but must be guaranteed synchronous execution. This class is a mixin and all sensitive methods in the main class should be private to the outside world, then be called via a public proxy function that calls the _run method. All calls via the _run method is handled in a thread pool executor linearly.
Execute a callable method within a thread pool executor.
- Parameters
callback (Callable) – A callable method.
*args – Passes on whatever arguments.
*kwargs – Passes on whatever keyword arguments.
- Returns (Any):
Whatever the callback returns.
Expose the pool queue.
-
class
angelos.common.misc.SingleState(states: tuple)¶ Bases:
angelos.common.misc.StateMachineA state machine that allows switching between states.
-
property
available¶ Expose available options.
-
goto(state: unicode)¶ Go to another state that is available.
-
property
-
class
angelos.common.misc.StateMachine¶ Bases:
objectA class that can hold a single state at a time.
-
property
available¶ Expose available options.
-
goto(state: unicode)¶ Switch to another state.
-
property
state¶ Get state.
-
property
-
class
angelos.common.misc.SyncCallable(callback: Callable)¶ Bases:
objectNetwork callable to get around cython callables.
-
class
angelos.common.misc.ThresholdCounter(threshold=3)¶ Bases:
objectThresholdCounter is a helper class that counts ticks and alarms when the threshold is reached.
-
limit()¶ Returns True when the threshold is met.
-
reset()¶ Resets the counter.
-
tick()¶ Counts one tick.
-
Bases:
objectDecorator that makes a method run within the pool executor