csbot.plugins.calc module

csbot.plugins.calc.is_too_long(n)[source]
csbot.plugins.calc.guarded_power(a, b)[source]

A limited power function to make sure that commands do not take too long to process.

csbot.plugins.calc.guarded_lshift(a, b)[source]
csbot.plugins.calc.guarded_rshift(a, b)[source]
csbot.plugins.calc.guarded_factorial(a)[source]
class csbot.plugins.calc.CalcEval[source]

Bases: ast.NodeVisitor

visit_Module(node)[source]
visit_Expr(node)[source]
visit_BinOp(node)[source]
visit_UnaryOp(node)[source]
visit_Compare(node)[source]
visit_Call(node)[source]
visit_Name(node)[source]
visit_Num(node)[source]
visit_NameConstant(node)[source]
visit_Str(node)[source]
generic_visit(node)[source]

Fallback visitor which always raises an exception.

We evaluate expressions by using return values of node visitors, and generic_visit() returns None, therefore if it’s called we know this is an expression we don’t support and should give an error.

exception csbot.plugins.calc.CalcError[source]

Bases: Exception

class csbot.plugins.calc.Calc(bot)[source]

Bases: csbot.plugin.Plugin

A plugin that calculates things.

do_some_calc(e)[source]

What? You don’t have a calculator handy?