Module Import alias Import alias ImportFrom alias ImportFrom alias identifier ImportFrom alias identifier Import alias Import alias ImportFrom alias Import alias ImportFrom alias ImportFrom alias ImportFrom alias Assign NameStore AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str keyword Str keyword NameLoad keyword Str Assign NameStore BinOpMult BinOpMult Num Num Num Assign NameStore Dict FunctionDef arguments args defaults body Global identifier Assign NameStore Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr Call NameLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign SubscriptStore NameLoad Index NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad NameLoad body Expr Str Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad If Call AttributeLoad NameLoad attr Str NameLoad body Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad Call AttributeLoad NameLoad attr Str attr AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body If Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str If Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr CompareGtE AttributeLoad AttributeLoad NameLoad attr attr NameLoad If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr CompareLtE AttributeLoad AttributeLoad NameLoad attr attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body If Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str If Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr CompareGtE AttributeLoad AttributeLoad NameLoad attr attr NameLoad If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr CompareLtE AttributeLoad AttributeLoad NameLoad attr attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults Num Num Num Num NameLoad body Expr Str If CompareNotEq NameLoad BinOpAdd NameLoad NameLoad body Raise Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign NameStore BoolOpOr NameLoad Call NameLoad With Call AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad With Call AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults Num Num Num Num NameLoad NameLoad NameLoad NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr If NameLoad body Assign AttributeStore NameLoad attr NameLoad If NameLoad body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign NameStore BoolOpOr NameLoad Call NameLoad With Call AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad With Call AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad With Call AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore ListLoad For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad With Call AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr keyword NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore NameLoad If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore NameLoad Assign NameStore NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign NameStore BoolOpOr NameLoad Call NameLoad With Call AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore ListLoad For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign NameStore BoolOpOr NameLoad Call NameLoad With Call AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr keyword NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore ListLoad For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign NameStore BoolOpOr NameLoad Call NameLoad With Call AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr keyword NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Str Num Assign NameStore Call NameLoad For NameStore Call AttributeLoad Call AttributeLoad NameLoad attr attr body Assign NameStore SubscriptLoad NameLoad Index Num If CompareIn Str NameLoad body Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr Str Num Index Num Expr Call AttributeLoad NameLoad attr NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call NameLoad For NameStore NameLoad body Assign NameStore SubscriptLoad Call AttributeLoad SubscriptLoad NameLoad Index Num attr Str Num Index Num If CompareIn Str NameLoad body Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr Str Num Index Num Expr Call AttributeLoad NameLoad attr NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr If CompareEq NameLoad Str body Return Call NameLoad NameLoad orelse Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Str Num Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr Call AttributeLoad NameLoad attr BinOpAdd Str NameLoad attr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr Return Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr Assign NameStore Num Assign NameStore ListLoad For NameStore NameLoad body Assign NameStore SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr Str Num Index Num If Call AttributeLoad NameLoad attr NameLoad body If BoolOpAnd CompareGt NameLoad Num CompareLt NameLoad NameLoad body AugAssignAdd NameStore Num Continue Expr Call AttributeLoad NameLoad attr NameLoad If CompareGtE Call NameLoad NameLoad NameLoad body Break Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad Num Num body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr If CompareEq NameLoad Str body Return Call NameLoad NameLoad NameLoad NameLoad NameLoad orelse Return Call NameLoad NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults NameLoad body Expr Str Return Call NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr keyword NameLoad keyword Str Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr keyword NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr keyword NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore SubscriptLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad attr Index Num Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr keyword NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad attr keyword NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad attr keyword NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad NameLoad NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr CompareGtE AttributeLoad AttributeLoad NameLoad attr attr NameLoad If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr CompareLtE AttributeLoad AttributeLoad NameLoad attr attr NameLoad If BoolOpAnd NameLoad NameLoad body Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr Return Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr keyword NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad NameLoad attr For NameStore NameLoad body If CompareNotIn SubscriptLoad NameLoad Index Num NameLoad body If SubscriptLoad NameLoad Index Num body Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore Call AttributeLoad NameLoad attr keyword SubscriptLoad NameLoad Index Num orelse Assign NameStore NameLoad If SubscriptLoad NameLoad Index Num body Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore Call AttributeLoad NameLoad attr keyword SubscriptLoad NameLoad Index Num orelse Assign NameStore NameLoad Assign SubscriptStore NameLoad Index SubscriptLoad NameLoad Index Num Dict Str Str Str SubscriptLoad NameLoad Index Num NameLoad NameLoad If SubscriptLoad NameLoad Index Num body Assign SubscriptStore SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Num Index Str Dict SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num orelse If SubscriptLoad NameLoad Index Num body Assign SubscriptStore SubscriptLoad SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Num Index Str Index SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad attr keyword NameLoad attr keyword Str attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Dict For NameStore NameLoad body Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore Call AttributeLoad NameLoad attr keyword SubscriptLoad NameLoad Index Num Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore Call AttributeLoad NameLoad attr keyword SubscriptLoad NameLoad Index Num Assign SubscriptStore NameLoad Index SubscriptLoad NameLoad Index Num Call AttributeLoad BinOpSub NameLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad Str Str body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad If BoolOpAnd NameLoad NameLoad body Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr keyword NameLoad keyword NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Dict For NameStore NameLoad body Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore BinOpAdd SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num If CompareIn NameLoad NameLoad body Assign SubscriptStore NameLoad Index NameLoad BinOpAdd SubscriptLoad NameLoad Index NameLoad NameLoad orelse Assign SubscriptStore NameLoad Index NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad attr keyword NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Dict For NameStore NameLoad body Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore Call AttributeLoad NameLoad attr keyword SubscriptLoad NameLoad Index Num Assign NameStore SubscriptLoad NameLoad Index Num Assign SubscriptStore NameLoad Index NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults Num NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr attr keyword Num attr NameLoad attr Return Call NameLoad Call NameLoad Lambda arguments args NameParam defaults AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults Num NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr attr CompareGt AttributeLoad AttributeLoad NameLoad attr attr Num attr NameLoad attr Return Call NameLoad Call NameLoad Lambda arguments args NameParam defaults AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults Num NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad attr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr attr NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults Num NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore BinOpSub Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr keyword NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr attr CompareLt AttributeLoad AttributeLoad NameLoad attr attr NameLoad attr Expr Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr NameLoad attr keyword NameLoad Expr Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr CompareLt AttributeLoad AttributeLoad NameLoad attr attr NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults Num NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore BinOpSub Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr keyword NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr attr CompareLt AttributeLoad AttributeLoad NameLoad attr attr NameLoad attr Expr Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr NameLoad attr keyword NameLoad Expr Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr CompareLt AttributeLoad AttributeLoad NameLoad attr attr NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Return Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr keyword NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Return Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr Num CompareGt AttributeLoad AttributeLoad NameLoad attr attr Num attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Dict For NameStore NameLoad body If Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad SubscriptLoad NameLoad Index AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr orelse Assign SubscriptStore NameLoad Index AttributeLoad NameLoad attr ListLoad AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body Expr Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str If Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Dict Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr keyword NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr Str Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr keyword NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr Str Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr keyword NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr Str If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr CompareGt AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr CompareGt AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr CompareGt AttributeLoad AttributeLoad NameLoad attr attr NameLoad If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr CompareLt AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr CompareLt AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr CompareLt AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign SubscriptStore NameLoad Index Str Call AttributeLoad NameLoad attr Assign SubscriptStore NameLoad Index Str Call AttributeLoad NameLoad attr Assign SubscriptStore NameLoad Index Str Call AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad CompareEq AttributeLoad AttributeLoad NameLoad attr attr Str attr Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr Return ListComp SubscriptLoad NameLoad Index Num comprehension NameStore NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call NameLoad NameLoad keyword NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore ListLoad For NameStore NameLoad body If AttributeLoad NameLoad attr body Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr orelse Assign NameStore NameLoad If AttributeLoad NameLoad attr body Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr orelse Assign NameStore NameLoad Assign NameStore Dict Str Str Str Str AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Dict For NameStore NameLoad body If CompareNotIn AttributeLoad NameLoad attr NameLoad body Assign SubscriptStore NameLoad Index AttributeLoad NameLoad attr Dict AttributeLoad NameLoad attr ListLoad Dict Str Str Str AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse If CompareNotIn AttributeLoad NameLoad attr Call NameLoad Call AttributeLoad SubscriptLoad NameLoad Index AttributeLoad NameLoad attr attr body Assign SubscriptStore SubscriptLoad NameLoad Index AttributeLoad NameLoad attr Index AttributeLoad NameLoad attr ListLoad Dict Str Str Str AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse Expr Call AttributeLoad SubscriptLoad SubscriptLoad NameLoad Index AttributeLoad NameLoad attr Index AttributeLoad NameLoad attr attr Dict Str Str Str AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad attr Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Dict For NameStore NameLoad body Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr If CompareNotIn NameLoad NameLoad body Assign SubscriptStore NameLoad Index NameLoad ListLoad Assign NameStore Dict Str Str Str Str Str Str NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Dict AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad SubscriptLoad NameLoad Index NameLoad attr NameLoad orelse If CompareNotIn NameLoad ListComp SubscriptLoad NameLoad Index Str comprehension NameStore SubscriptLoad NameLoad Index NameLoad body Assign NameStore Dict Str Str Str Str Str Str NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Dict AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad SubscriptLoad NameLoad Index NameLoad attr NameLoad orelse Assign NameStore NameLoad For TupleStore NameStore NameStore Call NameLoad Call NameLoad SubscriptLoad NameLoad Index NameLoad body If CompareEq SubscriptLoad NameLoad Index Str NameLoad body Assign NameStore NameLoad Assign SubscriptStore SubscriptLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index NameLoad Index Str Index AttributeLoad NameLoad attr AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr CompareGtE AttributeLoad AttributeLoad NameLoad attr attr Num attr Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr CompareGt AttributeLoad AttributeLoad NameLoad attr attr Num CompareEq AttributeLoad AttributeLoad NameLoad attr attr Num attr If BoolOpAnd CompareEq NameLoad Num CompareEq NameLoad Num body Return NameLoad Return BinOpMult BinOpDiv Call NameLoad NameLoad Call NameLoad BinOpAdd NameLoad NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore ListLoad For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad With Call AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults Num NameLoad NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call NameLoad NameLoad NameLoad Return Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr CompareGt AttributeLoad AttributeLoad NameLoad attr attr Num attr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr attr NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr Num CompareGt AttributeLoad AttributeLoad NameLoad attr attr Num attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr NameLoad attr CompareGt AttributeLoad AttributeLoad NameLoad attr attr Num CompareGt AttributeLoad AttributeLoad NameLoad attr attr Num attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Dict For NameStore NameLoad body Assign SubscriptStore NameLoad Index SubscriptLoad NameLoad Index Num Dict Str SubscriptLoad NameLoad Index Num Assign NameStore Call AttributeLoad NameLoad attr For NameStore NameLoad body If CompareIn SubscriptLoad NameLoad Index Num NameLoad body Assign SubscriptStore SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Num Index Str SubscriptLoad NameLoad Index Num orelse Assign SubscriptStore NameLoad Index SubscriptLoad NameLoad Index Num Dict Str SubscriptLoad NameLoad Index Num Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr NameLoad If NameLoad body Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr attr CompareEq AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr orelse Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore ListLoad For NameStore NameLoad body Assign NameStore Dict Str Str Str Str AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareIsNot AttributeLoad NameLoad attr NameLoad body Assign SubscriptStore NameLoad Index Str Call AttributeLoad SubscriptLoad NameLoad Index Str attr keyword AttributeLoad NameLoad attr If CompareIsNot AttributeLoad NameLoad attr NameLoad body Assign SubscriptStore NameLoad Index Str Call AttributeLoad SubscriptLoad NameLoad Index Str attr keyword AttributeLoad NameLoad attr If Call NameLoad NameLoad Str body Assign SubscriptStore NameLoad Index NameLoad AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr attr attr Return ListComp SubscriptLoad NameLoad Index Num comprehension NameStore NameLoad decorator_list FunctionDef arguments args NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr attr attr Return ListComp SubscriptLoad NameLoad Index Num comprehension NameStore NameLoad decorator_list FunctionDef arguments args NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr attr attr Return ListComp SubscriptLoad NameLoad Index Num comprehension NameStore NameLoad decorator_list
N/A N/A collections N/A datetime oslo_config cfg oslo_db.sqlalchemy session db_session oslo_db.sqlalchemy utils db_utils N/A six N/A sqlalchemy sqlalchemy.engine.url make_url N/A logging subunit2sql.db models subunit2sql exceptions subunit2sql read_subunit N/A CONF N/A cfg CONF N/A N/A N/A CONF register_cli_opt N/A N/A cfg BoolOpt verbose short v default False help Verbose output including logging of SQL statements N/A DAY_SECONDS N/A N/A 60 60 24 N/A _facades N/A _create_facade_lazily N/A N/A N/A N/A N/A _facades N/A db_url N/A make_url N/A N/A CONF database connection N/A db_backend N/A N/A db_url get_backend_name N/A facade N/A N/A _facades get db_backend N/A N/A facade None N/A N/A facade N/A N/A db_session EngineFacade N/A N/A CONF database connection N/A dict N/A N/A six iteritems N/A CONF database N/A N/A _facades N/A db_backend facade N/A facade N/A get_session N/A N/A autocommit expire_on_commit N/A True False N/A N/A Get a new sqlalchemy Session instance

    :param bool autocommit: Enable autocommit mode for the session.
    :param bool expire_on_commit: Expire the session on commit defaults False.
     N/A facade N/A _create_facade_lazily N/A session N/A N/A facade get_session autocommit autocommit expire_on_commit expire_on_commit N/A N/A N/A CONF get verbose False N/A N/A N/A N/A logging basicConfig N/A N/A N/A N/A N/A logging getLogger sqlalchemy.engine setLevel N/A logging INFO N/A session N/A _filter_runs_by_date N/A N/A query start_date stop_date N/A None None N/A N/A N/A isinstance start_date str N/A N/A start_date N/A N/A N/A datetime datetime strptime start_date %Y-%m-%d N/A N/A isinstance stop_date str N/A N/A stop_date N/A N/A N/A datetime datetime strptime stop_date %Y-%m-%d N/A start_date N/A N/A query N/A N/A query filter N/A N/A N/A models Run run_at start_date N/A stop_date N/A N/A query N/A N/A query filter N/A N/A N/A models Run run_at stop_date N/A query N/A _filter_test_runs_by_date N/A N/A query start_date stop_date N/A None None N/A N/A N/A isinstance start_date str N/A N/A start_date N/A N/A N/A datetime datetime strptime start_date %Y-%m-%d N/A N/A isinstance stop_date str N/A N/A stop_date N/A N/A N/A datetime datetime strptime stop_date %Y-%m-%d N/A start_date N/A N/A query N/A N/A query filter N/A N/A N/A models TestRun start_time start_date N/A stop_date N/A N/A query N/A N/A query filter N/A N/A N/A models TestRun start_time stop_date N/A query N/A get_engine N/A N/A use_slave N/A False N/A N/A Get a new sqlalchemy engine instance

    :param bool use_slave if possible, use 'slave' database for this engine

    :return: The engine object for the database connection
    :rtype: sqlalchemy.engine.Engine
     N/A facade N/A _create_facade_lazily N/A N/A N/A facade get_engine use_slave use_slave N/A create_test N/A N/A test_id run_count success failure run_time session N/A 0 0 0 0.0 None N/A N/A Create a new test record in the database.

    This method is used to add a new test in the database. Tests are used to
    track the run history of a unique test over all runs.

    :param str test_id: test_id identifying the test
    :param int run_count: total number or runs defaults to 0
    :param int success: number of successful runs defaults 0
    :param int failure: number of failed runs defaults to 0
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation
    :return: The test object stored in the DB
    :rtype: subunit2sql.models.Test

    :raises InvalidRunCount: if the run_count doesn't equal the sum of the
                             successes and failures.
     N/A N/A run_count N/A success failure N/A N/A N/A N/A exceptions InvalidRunCount N/A test N/A N/A models Test N/A N/A test test_id test_id N/A N/A test run_count run_count N/A N/A test success success N/A N/A test failure failure N/A N/A test run_time run_time N/A session N/A session N/A get_session N/A N/A N/A session begin N/A N/A N/A N/A session add test N/A test N/A update_test N/A N/A values test_id session N/A None N/A N/A Update an individual test with new data.

    This method will take a dictionary of fields to update for a specific test.
    If a field is omitted it will not be changed in the DB.

    :param dict values: dict of values to update the test with. The key is the
                        column name and the value is the new value to be stored
                        in the DB
    :param str test_id: the uuid of the test to update. (value of the id column
                        for the row to be updated)
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return: The updated test object stored in the DB
    :rtype: subunit2sql.models.Test
     N/A session N/A session N/A get_session N/A N/A N/A session begin N/A N/A test N/A get_test_by_id test_id session N/A N/A N/A test update values N/A test N/A create_run N/A N/A skips fails passes run_time artifacts id session run_at N/A 0 0 0 0 None None None None N/A N/A Create a new run record in the database

    :param int skips: total number of skipped tests defaults to 0
    :param int fails: total number of failed tests defaults to 0
    :param int passes: total number of passed tests defaults to 0
    :param float run_time: total run timed defaults to 0
    :param str artifacts: A link to any artifacts from the test run defaults to
                          None
    :param str id: the run id for the new run, needs to be a unique value
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation
    :param run_at: optional time at which the run was started. If not specified
                   the time that data is added to the DB will be used instead

    :return: The run object stored in the DB
    :rtype: subunit2sql.models.Run
     N/A run N/A N/A models Run N/A id N/A N/A N/A run uuid id N/A run_at N/A N/A N/A run run_at run_at N/A N/A run skips skips N/A N/A run fails fails N/A N/A run passes passes N/A N/A run run_time run_time N/A N/A run artifacts artifacts N/A session N/A session N/A get_session N/A N/A N/A session begin N/A N/A N/A N/A session add run N/A run N/A update_run N/A N/A values run_id session N/A None N/A N/A Update an individual run with new data.

    This method will take a dictionary of fields to update for a specific run.
    If a field is omitted it will not be changed in the DB.

    :param dict values: dict of values to update the test with. The key is the
                        column name and the value is the new value to be stored
                        in the DB
    :param str run_id: the uuid of the run to update. (value of the id column
                        for the row to be updated)
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return: The updated run object stored in the DB
    :rtype: subunit2sql.models.Run
     N/A session N/A session N/A get_session N/A N/A N/A session begin N/A N/A run N/A get_run_by_id run_id session N/A N/A N/A run update values N/A run N/A update_test_run N/A N/A values test_run_id session N/A None N/A N/A Update an individual test_run with new data.

    This method will take a dictionary of fields to update for a specific
    test_run. If a field is omitted it will not be changed in the DB.

    :param dict values: dict of values to update the test with. The key is the
                        column name and the value is the new value to be stored
                        in the DB
    :param str test_run_id: the uuid of the test_run to update. (value of the
                        id column for the row to be updated)
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return: The updated test_run object stored in the DB
    :rtype: subunit2sql.models.TestRun
     N/A session N/A session N/A get_session N/A N/A N/A session begin N/A N/A test_run N/A get_test_run_by_id test_run_id session N/A N/A N/A test_run update values N/A test_run N/A add_run_metadata N/A N/A meta_dict run_id session N/A None N/A N/A Add a metadata key value pairs for a specific run.

    This method will take a dictionary and store key value pair metadata in the
    DB associated with the specified run.

    :param dict meta_dict: a dictionary which will generate a separate key
                           value pair row associated with the run_id
    :param str run_id: the uuid of the run to update. (value of the id column
                       for the row to be updated)
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return list: The list of created metadata objects
    :rtype: subunit2sql.models.RunMeta
     N/A session N/A session N/A get_session N/A metadata N/A N/A N/A key value N/A N/A meta_dict items N/A N/A meta N/A N/A models RunMetadata N/A N/A meta key key N/A N/A meta value value N/A N/A meta run_id run_id N/A N/A N/A session begin N/A N/A N/A N/A session add meta N/A N/A N/A metadata append meta N/A metadata N/A get_run_metadata N/A N/A run_id session N/A None N/A N/A Return all run metadata objects associated with a given run.

    :param str run_id: The uuid of the run to get all the metadata
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return list: The list of metadata objects
    :rtype: subunit2sql.models.RunMetadata
     N/A session N/A session N/A get_session N/A query N/A N/A N/A N/A N/A N/A db_utils model_query N/A models RunMetadata session join N/A models Run N/A N/A N/A models RunMetadata run_id N/A N/A models Run id filter N/A N/A N/A models Run uuid run_id N/A N/A N/A query all N/A get_runs_by_key_value N/A N/A key value session N/A None N/A N/A Return all run objects associated with a certain key/value metadata pair

    :param key: The key to be matched
    :param value: The value to be matched
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation
    :return list: The list of runs
    :rtype: subunit2sql.models.Run
     N/A session N/A session N/A get_session N/A query N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Run session session join N/A models RunMetadata N/A N/A N/A models Run id N/A N/A models RunMetadata run_id filter_by key key value value N/A N/A N/A query all N/A create_test_run N/A N/A test_id run_id status start_time end_time session N/A None None None N/A N/A Create a new test run record in the database

    This method creates a new record in the database

    :param str test_id: uuid for test that was run
    :param str run_id: uuid for run that this was a member of
    :param str status: status of the test run, normally success, fail, or skip
    :param datetime.Datetime start_time: when the test was started defaults to
                                         None
    :param datetime.Datetime end_time: when the test was finished defaults to
                                       None
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return: The test_run object stored in the DB
    :rtype: subunit2sql.models.TestRun
     N/A test_run N/A N/A models TestRun N/A N/A test_run test_id test_id N/A N/A test_run run_id run_id N/A N/A test_run status status N/A start_time N/A N/A start_time N/A N/A start_time replace tzinfo None N/A start_time_microsecond N/A start_time microsecond N/A N/A start_time_microsecond None N/A end_time N/A N/A stop_time N/A N/A end_time replace tzinfo None N/A stop_time_microsecond N/A stop_time microsecond N/A N/A stop_time None N/A stop_time_microsecond None N/A N/A test_run stop_time stop_time N/A N/A test_run stop_time_microsecond stop_time_microsecond N/A N/A test_run start_time start_time N/A N/A test_run start_time_microsecond start_time_microsecond N/A session N/A session N/A get_session N/A N/A N/A session begin N/A N/A N/A N/A session add test_run N/A test_run N/A add_test_run_metadata N/A N/A meta_dict test_run_id session N/A None N/A N/A Add a metadata key value pairs for a specific run.

    This method will take a dictionary and store key value pair metadata in the
    DB associated with the specified run.

    :param dict meta_dict: a dictionary which will generate a separate key
                           value pair row associated with the test_run_id
    :param str test_run_id: the uuid of the test_run to update. (value of the
                            id column for the row to be updated)
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return list: The list of created metadata objects
    :rtype: subunit2sql.models.TestRunMeta
     N/A metadata N/A N/A N/A key value N/A N/A meta_dict items N/A N/A meta N/A N/A models TestRunMetadata N/A N/A meta key key N/A N/A meta value value N/A N/A meta test_run_id test_run_id N/A session N/A session N/A get_session N/A N/A N/A session begin N/A N/A N/A N/A session add meta N/A N/A N/A metadata append meta N/A metadata N/A get_test_run_metadata N/A N/A test_run_id session N/A None N/A N/A Return all run metadata objects for associated with a given run.

    :param str test_run_id: The uuid of the test_run to get all the metadata
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return list: The list of created metadata objects
    :rtype: subunit2sql.models.RunMeta
     N/A session N/A session N/A get_session N/A query N/A N/A N/A N/A db_utils model_query N/A models TestRunMetadata session filter_by test_run_id test_run_id N/A N/A N/A query all N/A add_test_metadata N/A N/A meta_dict test_id session N/A None N/A N/A Add a metadata key value pairs for a specific test.

    This method will take a dictionary and store key value pair metadata in the
    DB associated with the specified run.

    :param dict meta_dict: a dictionary which will generate a separate key
                           value pair row associated with the test_run_id
    :param str test_id: the uuid of the test to update. (value of the
                        id column for the row to be updated)
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return list: The list of created metadata objects
    :rtype: subunit2sql.models.TestMeta
     N/A metadata N/A N/A N/A key value N/A N/A meta_dict items N/A N/A meta N/A N/A models TestMetadata N/A N/A meta key key N/A N/A meta value value N/A N/A meta test_id test_id N/A session N/A session N/A get_session N/A N/A N/A session begin N/A N/A N/A N/A session add meta N/A N/A N/A metadata append meta N/A metadata N/A get_test_metadata N/A N/A test_id session N/A None N/A N/A Return all test metadata objects for associated with a given test.

    :param str test_id: The uuid of the test to get all the metadata
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return list: The list of created metadata objects
    :rtype: subunit2sql.models.TestMetadata
     N/A session N/A session N/A get_session N/A query N/A N/A N/A N/A db_utils model_query N/A models TestMetadata session filter_by test_id test_id N/A N/A N/A query all N/A get_all_tests N/A N/A session N/A None N/A N/A Return all tests from the DB.

    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return list: The list of test objects
    :rtype: subunit2sql.models.Test
     N/A session N/A session N/A get_session N/A query N/A N/A db_utils model_query N/A models Test session N/A N/A N/A query all N/A _get_test_prefixes_mysql N/A N/A session N/A N/A N/A query N/A N/A session query N/A N/A N/A sqlalchemy func substring_index N/A N/A models Test test_id . 1 N/A prefixes N/A set N/A prefix N/A N/A N/A N/A query distinct all N/A N/A prefix N/A prefix N/A 0 N/A N/A ( prefix N/A N/A prefix N/A N/A N/A prefix split ( 1 N/A 1 N/A N/A N/A prefixes add prefix N/A N/A list prefixes N/A _get_test_prefixes_other N/A N/A session N/A N/A N/A query N/A N/A session query N/A N/A models Test test_id N/A unique N/A set N/A test_id query N/A N/A prefix N/A N/A N/A N/A test_id N/A 0 split . 1 N/A 0 N/A N/A ( prefix N/A N/A prefix N/A N/A N/A prefix split ( 1 N/A 1 N/A N/A N/A unique add prefix N/A N/A list unique N/A get_test_prefixes N/A N/A session N/A None N/A N/A Returns all test prefixes from the DB.

    This returns a list of unique test_id prefixes from the database, defined
    as the first dot-separated token in the test id. Prefixes wrapped in
    function syntax, such as 'setUpClass (a', will have this extra syntax
    stripped out of the returned value, up to and including the '(' character.

    As an example, given an input test with an ID 'prefix.test.Clazz.a_method',
    the derived prefix would be 'prefix'. Given a second test with an ID
    'setUpClass (prefix.test.Clazz)', the derived prefix would also be
    'prefix'. If this function were called on a database containing only these
    tests, a list with only one entry, 'prefix', would be returned.

    Note that this implementation assumes that tests ids are semantically
    separated by a period. If this is not the case (and no period characters
    occur at any position within test ids), the full test id will be considered
    the prefix, and the result of this function will be all unique test ids in
    the database.

    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation
    :return list: a list of all unique prefix strings, with any extraneous
                  details removed, e.g. 'setUpClass ('.
    :rtype: str
     N/A session N/A session N/A get_session N/A backend N/A N/A N/A session bind dialect name N/A N/A backend mysql N/A N/A N/A _get_test_prefixes_mysql session N/A N/A N/A _get_test_prefixes_other session N/A _get_tests_by_prefix_mysql N/A N/A prefix session limit offset N/A N/A N/A func_filter N/A N/A N/A sqlalchemy func substring_index N/A N/A models Test test_id . 1 N/A query N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Test session filter N/A N/A func_filter like N/A % prefix order_by N/A N/A N/A N/A models Test test_id asc N/A N/A N/A N/A N/A N/A N/A query limit limit offset offset all N/A _get_tests_by_prefix_other N/A N/A prefix session limit offset N/A N/A N/A query N/A N/A N/A N/A db_utils model_query N/A models Test session order_by N/A N/A N/A N/A models Test test_id asc N/A skipped 0 N/A ret N/A N/A test query N/A N/A test_prefix N/A N/A N/A N/A test test_id split . 1 N/A 0 N/A N/A N/A test_prefix endswith prefix N/A N/A N/A N/A offset 0 N/A skipped offset N/A N/A skipped 1 N/A N/A N/A N/A ret append test N/A N/A N/A len ret limit N/A N/A N/A ret N/A get_tests_by_prefix N/A N/A prefix session limit offset N/A None 100 0 N/A N/A Returns all tests with the given prefix in the DB.

    A test prefix is the first segment of a test_id when split using a period
    ('.'). This function will return a list of tests whose first
    period-separated token ends with the specified prefix. As a side-effect,
    given an input 'a', this will return tests with prefixes 'a', but also
    prefixes wrapped in function syntax, such as 'setUpClass (a'.

    Note that this implementation assumes that tests ids are semantically
    separated by a period. If no period character exists in a test id, its
    prefix will be considered the full test id, and this method may return
    unexpected results.

    :param str prefix: the test prefix to search for
    :param session: optional session object: if one isn't provided, a new
                    session will be acquired for the duration of this operation
    :param int limit: the maximum number of results to return
    :param int offset: the starting index, for pagination purposes
    :return list: the list of matching test objects, ordered by their test id
    :rtype: subunit2sql.models.Test
     N/A session N/A session N/A get_session N/A backend N/A N/A N/A session bind dialect name N/A N/A backend mysql N/A N/A N/A _get_tests_by_prefix_mysql prefix session limit offset N/A N/A N/A _get_tests_by_prefix_other prefix session limit offset N/A get_all_runs_by_date N/A N/A start_date stop_date session N/A None None None N/A N/A Return all runs from the DB.

    :param str: optional start_date, if provided only runs started at or after
                the start_date will be included in the response
    :param str: optional end_date, if provided only runs started at or before
                the end_date will be included in the response
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return list: The list of run objects
    :rtype: subunit2sql.models.Run
     N/A session N/A session N/A get_session N/A query N/A N/A db_utils model_query N/A models Run session session N/A query N/A _filter_runs_by_date query start_date stop_date N/A N/A N/A query all N/A get_all_runs N/A N/A session N/A None N/A N/A Return all runs from the DB.

    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return list: The list of run objects
    :rtype: subunit2sql.models.Run
     N/A N/A get_all_runs_by_date session session N/A get_all_test_runs N/A N/A session N/A None N/A N/A Return all test runs from the DB.

    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return list: The list of test run objects
    :rtype: subunit2sql.models.TestRun
     N/A session N/A session N/A get_session N/A query N/A N/A db_utils model_query N/A models TestRun session N/A N/A N/A query all N/A get_latest_run N/A N/A session N/A None N/A N/A Return the most recently created run from the DB.

    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return: The latest run object
    :rtype: subunit2sql.models.Run
     N/A session N/A session N/A get_session N/A query N/A N/A N/A N/A db_utils model_query N/A models Run session order_by N/A N/A N/A N/A models Run run_at desc N/A N/A N/A query first N/A get_failing_from_run N/A N/A run_id session N/A None N/A N/A Return the set of failing test runs for a give run.

    This method will return all the test run objects that failed during the
    specified run.

    :param str run_id: uuid for the run to find all the failing runs
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return list: The list of failing test runs for the given run
    :rtype: subunit2sql.models.TestRun
     N/A session N/A session N/A get_session N/A query N/A N/A N/A N/A db_utils model_query N/A models TestRun session filter_by run_id run_id status fail N/A N/A N/A query all N/A get_test_by_id N/A N/A id session N/A None N/A N/A Get an individual test by it's uuid.

    :param str id: The uuid for the test (the id field in the DB)
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return: The specified test object
    :rtype: subunit2sql.models.Test
     N/A session N/A session N/A get_session N/A test N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Test session filter_by id id first N/A test N/A get_test_by_test_id N/A N/A test_id session N/A None N/A N/A Get an individual test by it's test_id.

    :param str test_id: The id (aka the test name) for the test (the test_id
                        field in the DB)
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return: The specified test object
    :rtype: subunit2sql.models.Test
     N/A session N/A session N/A get_session N/A test N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Test session filter_by test_id test_id first N/A test N/A get_run_id_from_uuid N/A N/A uuid session N/A None N/A N/A Get the id for a run by it's uuid

    :param str uuid: The uuid for the run
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation
    :return: The id for the run with the provided uuid
    :rtype: int
     N/A session N/A session N/A get_session N/A run_id N/A N/A N/A N/A N/A N/A N/A session query N/A N/A models Run id filter N/A N/A N/A models Run uuid uuid first N/A 0 N/A run_id N/A get_run_by_id N/A N/A id session N/A None N/A N/A Get an individual run by it's id.

    :param str id: The id for the run
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return: The specified run object
    :rtype: subunit2sql.models.Run
     N/A session N/A session N/A get_session N/A run N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Run session filter_by id id first N/A run N/A get_test_run_by_id N/A N/A test_run_id session N/A None N/A N/A Get an individual test run by it's id.

    :param str test_run_id: The id for the test run
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return: The specified test run object
    :rtype: subunit2sql.models.TestRun
     N/A session N/A session N/A get_session N/A test_run N/A N/A N/A N/A N/A N/A db_utils model_query N/A models TestRun session session filter_by id test_run_id first N/A test_run N/A get_test_runs_by_test_id N/A N/A test_id session N/A None N/A N/A Get all test runs for a specific test.

    :param str test_id: The test's uuid (the id column in the test table) which
                        to get all test runs for
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return list: The list of test run objects for the specified test
    :rtype: subunit2sql.models.TestRun
     N/A session N/A session N/A get_session N/A test_runs N/A N/A N/A N/A N/A N/A db_utils model_query N/A models TestRun session session filter_by test_id test_id all N/A test_runs N/A get_test_runs_by_test_test_id N/A N/A test_id start_date stop_date session key value N/A None None None None None N/A N/A Get all test runs for a specific test by the test'stest_id column

    :param str test_id: The test's test_id (the test_id column in the test
                        table) which to get all test runs for
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation
    :param datetime.datetime start_date: The date to use as the start date for
                                         results
    :param datetime.datetime stop_date: The date to use as the cutoff date for
                                        results
    :param str key: an optional key for run metadata to filter the test runs
                    on. Must be specified with a value otherwise it does
                    nothing.
    :param str value: an optional value for run metadata to filter the test
                      runs on. Must be specified with a key otherwise it does
                      nothing.

    :return list: The list of test run objects for the specified test
    :rtype: subunit2sql.models.TestRun
     N/A session N/A session N/A get_session N/A test_runs_query N/A N/A N/A N/A N/A N/A db_utils model_query N/A models TestRun session session join N/A models Test N/A N/A N/A models TestRun test_id N/A N/A models Test id filter N/A N/A N/A models Test test_id test_id N/A start_date N/A N/A test_runs_query N/A N/A test_runs_query filter N/A N/A N/A models TestRun start_time start_date N/A stop_date N/A N/A test_runs_query N/A N/A test_runs_query filter N/A N/A N/A models TestRun start_time stop_date N/A N/A key value N/A N/A test_runs_query N/A N/A N/A N/A test_runs_query join N/A models RunMetadata N/A N/A N/A models TestRun run_id N/A N/A models RunMetadata run_id filter N/A N/A N/A models RunMetadata key key N/A N/A N/A models RunMetadata value value N/A test_runs N/A N/A test_runs_query all N/A test_runs N/A get_test_runs_by_run_id N/A N/A run_id session N/A None N/A N/A Get all test runs for a specific run.

    :param str run_id: The run's uuid (the uuid column in the run table) which
                       to get all test runs for
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return list: The list of test run objects for the specified test
    :rtype: subunit2sql.models.TestRun
     N/A session N/A session N/A get_session N/A test_runs N/A N/A N/A N/A N/A N/A N/A N/A db_utils model_query N/A models TestRun session session join N/A models Run N/A N/A N/A models TestRun run_id N/A N/A models Run id filter N/A N/A N/A models Run uuid run_id all N/A test_runs N/A get_test_run_duration N/A N/A test_run_id session N/A None N/A N/A Get the run duration for a specific test_run.

    :param str test_run_id: The test_run's uuid (the id column in the test_run
                            table) to get the duration of
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return: The duration of the test run in secs
    :rtype: float
     N/A session N/A session N/A get_session N/A test_run N/A get_test_run_by_id test_run_id session N/A start_time N/A test_run start_time N/A start_time N/A N/A start_time replace microsecond N/A test_run start_time_microsecond N/A stop_time N/A test_run stop_time N/A stop_time N/A N/A stop_time replace microsecond N/A test_run stop_time_microsecond N/A N/A N/A read_subunit get_duration N/A test_run start_time N/A test_run stop_time N/A get_tests_from_run_id N/A N/A run_id session N/A None N/A N/A Return the all tests for a specific run.

    This method returns a list of all the Test objects that were executed as
    part of a specified run.

    :param str run_id: The run's uuid (the id column in the run table) which to
                       get all tests for
    :param session: optional session object if one isn't provided a new session

    :return list: The list of test objects for the specified test
    :rtype: subunit2sql.models.Test
     N/A session N/A session N/A get_session N/A query N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Test session session join N/A models TestRun N/A N/A N/A models Test id N/A N/A models TestRun test_id filter_by run_id run_id N/A N/A N/A query all N/A get_tests_run_dicts_from_run_id N/A N/A run_id session N/A None N/A N/A Returns all the stored data about test runs for a specific run.

    This method returns a dictionary containing all the information stored in
    the database regarding the test_runs. This includes the test_id from the
    tests table, all the stored key value pair metadata from the
    test_run_metadata table, and from the test_runs table the status,
    start_time, and stop_time.

    :param str run_id: The run's uuid (the id column in the run table) which to
                       use to select it's run ids to collect information for.
    :param session: optional session object if one isn't provided a new session

    :return dict: A dictionary with the test_id from the tests for keys that
                  contains all the stored information about the test_runs.
     N/A session N/A session N/A get_session N/A query N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Test session session join N/A models TestRun N/A N/A N/A models Test id N/A N/A models TestRun test_id join N/A models Run N/A N/A N/A models TestRun run_id N/A N/A models Run id filter N/A N/A N/A models Run uuid run_id outerjoin N/A models TestRunMetadata N/A N/A N/A models TestRun id N/A N/A models TestRunMetadata test_run_id order_by N/A N/A models TestRun start_time N/A N/A models TestRun start_time_microsecond values N/A N/A models Test test_id N/A N/A models TestRun status N/A N/A models TestRun start_time N/A N/A models TestRun start_time_microsecond N/A N/A models TestRun stop_time N/A N/A models TestRun stop_time_microsecond N/A N/A models TestRunMetadata key N/A N/A models TestRunMetadata value N/A test_runs N/A N/A collections OrderedDict N/A test_run query N/A N/A N/A N/A test_run N/A 0 test_runs N/A N/A N/A test_run N/A 2 N/A N/A start_time N/A test_run N/A 2 N/A start_time N/A N/A start_time replace microsecond N/A test_run N/A 3 N/A N/A start_time None N/A N/A test_run N/A 4 N/A N/A stop_time N/A test_run N/A 4 N/A stop_time N/A N/A stop_time replace microsecond N/A test_run N/A 5 N/A N/A stop_time None N/A N/A test_runs N/A N/A test_run N/A 0 N/A status start_time stop_time N/A test_run N/A 1 start_time stop_time N/A N/A test_run N/A 6 N/A N/A N/A N/A test_runs N/A N/A test_run N/A 0 N/A metadata N/A N/A test_run N/A 6 N/A test_run N/A 7 N/A N/A N/A test_run N/A 6 N/A N/A N/A N/A N/A test_runs N/A N/A test_run N/A 0 N/A metadata N/A N/A test_run N/A 6 N/A test_run N/A 7 N/A test_runs N/A get_test_run_time_series N/A N/A test_id session N/A None N/A N/A Returns a time series dict of run_times for successes of a single test

    :param str test_id: The test's uuid (the id column in the test table) which
                        will be used to get all the test run times for.
    :param session: optional session object if one isn't provided a new session

    :return dict: A dictionary with the start times as the keys and the values
                  being the duration of the test that started at that time in
                  sec.
     N/A session N/A session N/A get_session N/A query N/A N/A N/A N/A N/A N/A N/A N/A db_utils model_query N/A models TestRun session session filter_by test_id test_id filter_by status success values N/A N/A models TestRun start_time N/A N/A models TestRun start_time_microsecond N/A N/A models TestRun stop_time N/A N/A models TestRun stop_time_microsecond N/A time_series N/A N/A test_run query N/A N/A start_time N/A test_run N/A 0 N/A start_time N/A N/A start_time replace microsecond N/A test_run N/A 1 N/A stop_time N/A test_run N/A 2 N/A stop_time N/A N/A stop_time replace microsecond N/A test_run N/A 3 N/A N/A time_series N/A N/A test_run N/A 0 N/A N/A N/A stop_time start_time total_seconds N/A time_series N/A get_test_run_series N/A N/A start_date stop_date session key value N/A None None None build_queue gate N/A N/A Returns a time series dict of total daily run counts

    :param str start_date: Optional start date to filter results on
    :param str stop_date: Optional stop date to filter results on
    :param session: optional session object if one isn't provided a new session
    :param str key: optional run_metadata key to filter the runs used on. Key
                    must be specified with value for filtering to occur.
                    This defaults to 'build_queue' for backwards compatibility
                    with earlier versions. Note, this default will be removed
                    in the future.
    :param str value: optional run_metadata value to filter the runs used on.
                      Value must be specified with key for filtering to occur.
                      This defaults to 'gate' for backwards
                      compatibility with earlier versions. Note, this default
                      will be removed in the future.
    :return dict: A dictionary with the dates as the keys and the values
                  being the total run count for that day. (The sum of success
                  and failures from all runs that started that day)
     N/A session N/A session N/A get_session N/A full_query N/A N/A db_utils model_query N/A models Run session session N/A N/A key value N/A N/A full_query N/A N/A N/A N/A full_query join N/A models RunMetadata N/A N/A N/A models Run id N/A N/A models RunMetadata run_id filter_by key key value value N/A full_query N/A _filter_runs_by_date full_query start_date stop_date N/A query N/A N/A full_query values N/A N/A models Run run_at N/A N/A models Run passes N/A N/A models Run fails N/A time_series N/A N/A test_run query N/A N/A start_time N/A test_run N/A 0 N/A local_run_count N/A N/A test_run N/A 1 N/A test_run N/A 2 N/A N/A start_time time_series N/A N/A N/A time_series N/A start_time N/A N/A time_series N/A start_time local_run_count N/A N/A N/A time_series N/A start_time local_run_count N/A time_series N/A get_test_status_time_series N/A N/A test_id session N/A None N/A N/A Returns a time series dict of test_run statuses of a single test

    :param str test_id: The test's uuid (the id column in the test table) which
                        will be used to get all the test run times for.
    :param session: optional session object if one isn't provided a new session

    :return dict: A dictionary with the start times as the keys and the values
                  being the status of that test run.
     N/A session N/A session N/A get_session N/A query N/A N/A N/A N/A N/A N/A db_utils model_query N/A models TestRun session session filter_by test_id test_id values N/A N/A models TestRun start_time N/A N/A models TestRun start_time_microsecond N/A N/A models TestRun status N/A status_series N/A N/A test_run query N/A N/A start_time N/A test_run N/A 0 N/A start_time N/A N/A start_time replace microsecond N/A test_run N/A 1 N/A status N/A test_run N/A 2 N/A N/A status_series N/A start_time status N/A status_series N/A get_recent_successful_runs N/A N/A num_runs session N/A 10 None N/A N/A Return a list of run uuid strings for the most recent successful runs

    :param int num_runs: The number of runs to return in the list
    :param session: optional session object if one isn't provided a new session

    :return list: A list of run uuid strings (the id column in the runs table)
                  for the most recent runs.
     N/A session N/A session N/A get_session N/A results N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Run session order_by N/A N/A N/A N/A models Run run_at desc filter_by fails 0 limit num_runs all N/A N/A list N/A map N/A N/A N/A x N/A N/A x uuid results N/A get_recent_failed_runs N/A N/A num_runs session N/A 10 None N/A N/A Return a list of run uuid strings for the most recent failed runs

    :param int num_runs: The number of runs to return in the list
    :param session: optional session object if one isn't provided a new session

    :return list: A list of run uuid strings (the id column in the runs table)
                  for the most recent runs.
     N/A session N/A session N/A get_session N/A results N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Run session order_by N/A N/A N/A N/A models Run run_at desc filter N/A N/A N/A models Run fails 0 limit num_runs all N/A N/A list N/A map N/A N/A N/A x N/A N/A x uuid results N/A get_recent_runs_by_key_value_metadata N/A N/A key value num_runs session N/A 10 None N/A N/A Get a list of runs for recent runs with a key value metadata pair

    :param int num_runs: The number of runs to return in the list
    :param session: optional session object if one isn't provided a new session
    :return list: A list of run objects for the most recent runs.
    :rtype subunit2sql.db.models.Run
     N/A session N/A session N/A get_session N/A results N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Run session join N/A models RunMetadata N/A N/A N/A models Run id N/A N/A models RunMetadata run_id filter N/A N/A N/A models RunMetadata key key N/A N/A N/A models RunMetadata value value order_by N/A N/A N/A N/A models Run run_at desc limit num_runs all N/A results N/A delete_old_runs N/A N/A expire_age session N/A 186 None N/A N/A Delete all runs and associated metadata older than the provided age

    :param int expire_age: The number of days into the past to use as the
                           expiration date for deleting the runs
    :param session: optional session object if one isn't provided a new session
     N/A session N/A session N/A get_session N/A expire_date N/A N/A N/A N/A datetime date today N/A N/A datetime timedelta days expire_age N/A sub_query N/A N/A N/A N/A N/A N/A session query N/A N/A models Run id filter N/A N/A N/A models Run run_at expire_date subquery N/A N/A N/A N/A N/A N/A N/A db_utils model_query N/A models RunMetadata session filter N/A N/A N/A N/A models RunMetadata run_id in_ sub_query delete synchronize_session False N/A N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Run session filter N/A N/A N/A models Run run_at expire_date delete synchronize_session False N/A delete_old_test_runs N/A N/A expire_age session N/A 186 None N/A N/A Delete all test runs and associated metadata older than the provided age

    :param int expire_age: The number of days into the past to use as the
                           expiration date for deleting the test runs
    :param session: optional session object if one isn't provided a new session
     N/A session N/A session N/A get_session N/A expire_date N/A N/A N/A N/A datetime date today N/A N/A datetime timedelta days expire_age N/A sub_query N/A N/A N/A N/A N/A N/A session query N/A N/A models TestRun id filter N/A N/A N/A models TestRun start_time expire_date subquery N/A N/A N/A N/A N/A N/A N/A db_utils model_query N/A models TestRunMetadata session filter N/A N/A N/A N/A models TestRunMetadata test_run_id in_ sub_query delete synchronize_session False N/A N/A N/A N/A N/A N/A N/A db_utils model_query N/A models TestRun session filter N/A N/A N/A models TestRun start_time expire_date delete synchronize_session False N/A get_id_from_test_id N/A N/A test_id session N/A None N/A N/A Return the id (uuid primary key) for a test given it's test_id value

    :param str test_id: The test_id's string (not UUID) to identify the test
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation
    :return: The id for the specified test
    :rtype: str
     N/A session N/A session N/A get_session N/A N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Test session filter_by test_id test_id value id N/A get_ids_for_all_tests N/A N/A session N/A None N/A N/A Return a list of ids (uuid primary key) for all tests in the database

    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation
    :return: The list of all ids for tests in the tests table
    :rtype: list
     N/A session N/A session N/A get_session N/A N/A N/A N/A N/A db_utils model_query N/A models Test session value N/A N/A models Test id N/A get_run_times_grouped_by_run_metadata_key N/A N/A key start_date stop_date session N/A None None None N/A N/A Return the aggregate run times for all runs grouped by a metadata key

    :param key: The run_metadata key to use for grouping runs
    :param session: Optional session object if one isn't provided a new session
                        will be acquired for the duration of this operation

    :return: A dictionary where keys are the value of the provided metadata key
             and the values are a list of run_times for successful runs with
             that metadata value
    :rtype: dict
     N/A session N/A session N/A get_session N/A run_times_query N/A N/A N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Run session filter N/A N/A N/A models Run fails 0 N/A N/A N/A models Run passes 0 join N/A models RunMetadata N/A N/A N/A models Run id N/A N/A models RunMetadata run_id filter N/A N/A N/A models RunMetadata key key N/A run_times_query N/A _filter_runs_by_date run_times_query start_date stop_date N/A run_times N/A N/A run_times_query values N/A N/A models Run run_at N/A N/A models Run run_time N/A N/A models RunMetadata value N/A result N/A N/A run run_times N/A N/A N/A N/A result get N/A run value N/A N/A N/A N/A N/A result N/A N/A run value append N/A run run_time N/A N/A N/A result N/A N/A run value N/A N/A run run_time N/A result N/A get_test_counts_in_date_range N/A N/A test_id start_date stop_date session N/A None None None N/A N/A Return the number of successes, failures, and skips for a single test.

    Optionally you can provide a date to filter the results to be within a
    certain date range

    :param str test_id: The test_id's ID(big integer) to identify the test
    :param str start_date: The date to use as the start for counting
    :param str stop_date: The date to use as the cutoff for counting
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation
    :return: a dict containing the number of successes, failures, and skips
    :rtype: dict
     N/A start_date N/A N/A N/A datetime datetime strptime start_date %b %d %Y N/A N/A isinstance stop_date str N/A N/A stop_date N/A N/A N/A datetime datetime strptime stop_date %b %d %Y N/A session N/A session N/A get_session N/A count_dict N/A N/A success_query N/A N/A N/A N/A N/A N/A db_utils model_query N/A models TestRun session filter_by test_id test_id filter N/A N/A N/A models TestRun status success N/A fail_query N/A N/A N/A N/A N/A N/A db_utils model_query N/A models TestRun session filter_by test_id test_id filter N/A N/A N/A models TestRun status fail N/A skip_query N/A N/A N/A N/A N/A N/A db_utils model_query N/A models TestRun session filter_by test_id test_id filter N/A N/A N/A models TestRun status skip N/A start_date N/A N/A success_query N/A N/A success_query filter N/A N/A N/A models TestRun start_time start_date N/A fail_query N/A N/A fail_query filter N/A N/A N/A models TestRun start_time start_date N/A skip_query N/A N/A skip_query filter N/A N/A N/A models TestRun start_time start_date N/A stop_date N/A N/A success_query N/A N/A success_query filter N/A N/A N/A models TestRun stop_time stop_date N/A fail_query N/A N/A fail_query filter N/A N/A N/A models TestRun stop_time stop_date N/A skip_query N/A N/A skip_query filter N/A N/A N/A models TestRun stop_time stop_date N/A N/A count_dict N/A success N/A N/A success_query count N/A N/A count_dict N/A failure N/A N/A fail_query count N/A N/A count_dict N/A skips N/A N/A skip_query count N/A count_dict N/A get_failing_test_ids_from_runs_by_key_value N/A N/A key value session N/A None N/A N/A Get a list of failing test_ids from runs with run_metadata.

    This method gets a distinct list of test_ids (the test_id column not the id
    column) from all runs that match a run metadata key value pair.

    :param str key: The key to use to match runs from in run_metadata
    :param str value: The value of the key in run_metadata to match runs
                      against
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return: A list of test_ids that failed from runs that match the provided
             key value run_metadata pair
    :rtype: list
     N/A session N/A session N/A get_session N/A test_ids N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A db_utils model_query N/A models TestRun session join N/A models Test N/A N/A N/A models TestRun test_id N/A N/A models Test id join N/A models RunMetadata N/A N/A N/A models TestRun run_id N/A N/A models RunMetadata run_id filter N/A N/A N/A models RunMetadata key key N/A N/A N/A models RunMetadata value value N/A N/A N/A models TestRun status fail values N/A N/A sqlalchemy distinct N/A N/A models Test test_id N/A N/A N/A test_id N/A 0 N/A test_id test_ids N/A get_test_run_dict_by_run_meta_key_value N/A N/A key value start_date stop_date session N/A None None None N/A N/A Get a list of test run dicts from runs with a run metadata key value pair

    :param str key: The key to use to match runs from in run_metadata
    :param str value: The value of the key in run_metadata to match runs
                      against
    :param start_date: Optional start date to filter results on
    :param stop_date: Optional stop date to filter results on
    :param session: Optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return test_runs: The dictionary of all the tests run on any run that had
                       metadata matching the provided key value pair.
    :rtype: dict
     N/A session N/A session N/A get_session N/A query N/A N/A N/A N/A N/A N/A N/A N/A db_utils model_query N/A models RunMetadata session filter N/A N/A N/A models RunMetadata key key N/A N/A N/A models RunMetadata value value join N/A models TestRun N/A N/A N/A models RunMetadata run_id N/A N/A models TestRun run_id join N/A models Test N/A N/A N/A models TestRun test_id N/A N/A models Test id N/A query N/A _filter_test_runs_by_date query start_date start_date stop_date stop_date N/A query N/A N/A query values N/A N/A models Test test_id N/A N/A models TestRun status N/A N/A models TestRun start_time N/A N/A models TestRun start_time_microsecond N/A N/A models TestRun stop_time N/A N/A models TestRun stop_time_microsecond N/A tests N/A N/A test query N/A N/A N/A test start_time N/A N/A start_time N/A test start_time N/A start_time N/A N/A start_time replace microsecond N/A test start_time_microsecond N/A N/A start_time None N/A N/A test stop_time N/A N/A stop_time N/A test stop_time N/A stop_time N/A N/A stop_time replace microsecond N/A test stop_time_microsecond N/A N/A stop_time None N/A test_run_dict N/A test_id status start_time stop_time N/A test test_id N/A test status start_time stop_time N/A N/A N/A tests append test_run_dict N/A tests N/A get_all_runs_time_series_by_key N/A N/A key start_date stop_date session N/A None None None N/A N/A Get a time series of run summaries grouped by a key

    This method will get a time series dictionary of run summary views which
    are grouped by the values of the specified key

    :param str key: the key to use for grouping the run summaries
    :param str start_date: Optional start date to filter results on
    :param str stop_date: Optional stop date to filter results on
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation
    :return runs: a time series dictionary of runs grouped by values of the
                  specified key
    :rtype: dict
     N/A session N/A session N/A get_session N/A runs_query N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Run session join N/A models RunMetadata N/A N/A N/A models Run id N/A N/A models RunMetadata run_id filter N/A N/A N/A models RunMetadata key key N/A runs_query N/A _filter_runs_by_date runs_query start_date stop_date N/A runs_query N/A N/A runs_query values N/A N/A models Run run_at N/A N/A models Run passes N/A N/A models Run fails N/A N/A models Run skips N/A N/A models RunMetadata value N/A runs N/A N/A run runs_query N/A N/A N/A N/A run run_at runs N/A N/A N/A runs N/A N/A run run_at N/A N/A run value N/A N/A pass fail skip N/A run passes N/A run fails N/A run skips N/A N/A N/A N/A run value N/A list N/A N/A N/A runs N/A N/A run run_at keys N/A N/A N/A N/A runs N/A N/A run run_at N/A N/A run value N/A N/A pass fail skip N/A run passes N/A run fails N/A run skips N/A N/A N/A N/A N/A N/A runs N/A N/A run run_at N/A N/A run value append N/A pass fail skip N/A run passes N/A run fails N/A run skips N/A runs N/A get_time_series_runs_by_key_value N/A N/A key value start_date stop_date session N/A None None None N/A N/A Get a time series of runs with meta for all runs with a key value pai

    :param str key: the metadata key to use for matching the runs
    :param str value: the metadata value to use for matching the runs
    :param start_date: Optional start date to filter results on
    :param str stop_date: Optional stop date to filter results on
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation


    :return runs: a time series dictionary (where the top level key is a
                  timestamp) that contains all the runs which
    :rtype: dict
     N/A session N/A session N/A get_session N/A sub_query N/A N/A N/A N/A N/A N/A session query N/A N/A models RunMetadata run_id filter N/A N/A N/A models RunMetadata key key N/A N/A N/A models RunMetadata value value subquery N/A run_query N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Run session join N/A models RunMetadata N/A N/A N/A models Run id N/A N/A models RunMetadata run_id filter N/A N/A N/A N/A models Run id in_ sub_query N/A run_query N/A _filter_runs_by_date run_query start_date stop_date N/A run_query N/A N/A run_query values N/A N/A models Run uuid N/A N/A models Run passes N/A N/A models Run fails N/A N/A models Run skips N/A N/A models Run run_time N/A N/A models Run run_at N/A N/A models RunMetadata key N/A N/A models RunMetadata value N/A runs N/A N/A run run_query N/A N/A run_at N/A run run_at N/A run_id N/A run uuid N/A N/A run_at runs N/A N/A N/A runs N/A run_at N/A N/A run_dict N/A id pass fail skip run_time metadata run_id N/A run passes N/A run fails N/A run skips N/A run run_time N/A N/A run key N/A run value N/A N/A N/A N/A runs N/A run_at append run_dict N/A N/A N/A run_id N/A N/A loc_run N/A id N/A loc_run N/A runs N/A run_at N/A N/A run_dict N/A id pass fail skip run_time metadata run_id N/A run passes N/A run fails N/A run skips N/A run run_time N/A N/A run key N/A run value N/A N/A N/A N/A runs N/A run_at append run_dict N/A N/A update_index None N/A N/A index run_dict N/A list N/A enumerate N/A runs N/A run_at N/A N/A N/A N/A run_dict N/A id run_id N/A N/A update_index index N/A N/A N/A N/A N/A runs N/A run_at N/A update_index N/A metadata N/A N/A run key N/A run value N/A runs N/A get_run_failure_rate_by_key_value_metadata N/A N/A key value start_date stop_date session N/A None None None N/A N/A Return the failure percentage of runs with a set of run metadata

    :param str key: the metadata key to use for matching the runs
    :param str value: the metadata value to use for matching the runs
    :param start_date: Optional start date to filter results on
    :param str stop_date: Optional stop date to filter results on
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return failure_rate: The percentage of runs that failed, will be None if
                          no runs are found
    :rtype: float
     N/A session N/A session N/A get_session N/A base_query N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Run session join N/A models RunMetadata N/A N/A N/A models Run id N/A N/A models RunMetadata run_id filter N/A N/A N/A models RunMetadata key key N/A N/A N/A models RunMetadata value value N/A base_query N/A _filter_runs_by_date base_query start_date stop_date N/A fails N/A N/A N/A N/A base_query filter N/A N/A N/A models Run fails 1 count N/A successes N/A N/A N/A N/A base_query filter N/A N/A N/A models Run passes 0 N/A N/A N/A models Run fails 0 count N/A N/A N/A fails 0 N/A successes 0 N/A N/A None N/A N/A N/A N/A float fails N/A float N/A successes fails 100 N/A add_test_run_attachments N/A N/A attach_dict test_run_id session N/A None N/A N/A Add attachments a specific test run.

    This method will take a dictionary and store key blob pair attachments in
    the DB associated with the specified test_run.

    :param dict attachments_dict: a dictionary which will generate a separate
                                  key blob pair row associated with the
                                  test_run_id
    :param str test_run_id: the uuid of the test_run to update. (value of the
                            id column for the row to be updated)
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return list: The list of created attachment objects
    :rtype: subunit2sql.models.Attachments
     N/A session N/A session N/A get_session N/A attachments N/A N/A N/A label attach N/A N/A attach_dict items N/A N/A attachment N/A N/A models Attachments N/A N/A attachment label label N/A N/A attachment attachment attach N/A N/A attachment test_run_id test_run_id N/A N/A N/A session begin N/A N/A N/A N/A session add attachment N/A N/A N/A attachments append attachment N/A attachments N/A get_recent_failed_runs_by_run_metadata N/A N/A key value num_runs start_date session N/A 10 None None N/A N/A Get a list of recent failed runs for a given run metadata pair

    :param str key: the run_metadata key to get failed runs
    :param str value: The run_metadata value to get failed runs
    :param int num_runs: The number of results to fetch, defaults to 10
    :param datetime start_date: the optional starting dates to get runs from.
                                Nothing older than this date will be returned
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return list: The list of recent failed Run objects
    :rtype: subunit2sql.models.Run
     N/A session N/A session N/A get_session N/A query N/A N/A N/A N/A N/A N/A db_utils model_query N/A models Run session join N/A models RunMetadata N/A N/A N/A models Run id N/A N/A models RunMetadata run_id filter N/A N/A N/A models RunMetadata key key N/A N/A N/A models RunMetadata value value N/A query N/A _filter_runs_by_date query start_date N/A N/A N/A N/A N/A N/A N/A N/A N/A query filter N/A N/A N/A models Run fails 0 order_by N/A N/A N/A N/A models Run run_at desc limit num_runs all N/A get_runs_by_status_grouped_by_run_metadata N/A N/A key start_date stop_date session N/A None None None N/A N/A session N/A session N/A get_session N/A val N/A N/A models RunMetadata value N/A run_pass_query N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A session query N/A N/A N/A sqlalchemy func count N/A N/A models Run id val filter N/A N/A N/A models Run fails 0 N/A N/A N/A models Run passes 0 join N/A models RunMetadata N/A N/A N/A models Run id N/A N/A models RunMetadata run_id group_by val filter N/A N/A N/A models RunMetadata key key N/A run_fail_query N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A session query N/A N/A N/A sqlalchemy func count N/A N/A models Run id val filter N/A N/A N/A models Run fails 0 N/A N/A N/A models Run passes 0 join N/A models RunMetadata N/A N/A N/A models Run id N/A N/A models RunMetadata run_id group_by val filter N/A N/A N/A models RunMetadata key key N/A run_pass_query N/A _filter_runs_by_date run_pass_query start_date stop_date N/A run_fail_query N/A _filter_runs_by_date run_fail_query start_date stop_date N/A rows N/A N/A run_pass_query all N/A result N/A N/A row rows N/A N/A N/A result N/A N/A row N/A 1 N/A pass N/A row N/A 0 N/A rows N/A N/A run_fail_query all N/A row rows N/A N/A N/A N/A row N/A 1 result N/A N/A N/A N/A result N/A N/A row N/A 1 N/A fail N/A row N/A 0 N/A N/A N/A result N/A N/A row N/A 1 N/A fail N/A row N/A 0 N/A result N/A get_test_runs_by_status_for_run_ids N/A N/A status run_ids key session N/A None None N/A N/A Get a list of test run dicts by status for all the specified runs

    :param str status: The test status to filter the returned test runs on
    :param list run_ids: A list of run ids (the uuid column from the runs
                         table) to get the test runs from
    :param str key: An optional run_metadata key to add the values for a run
                    to the output dict for each test_run
    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return test_runs: a list of dicts for the test_runs and associated data
    :rtype: list
     N/A session N/A session N/A get_session N/A query N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A db_utils model_query N/A models TestRun session filter N/A N/A N/A models TestRun status status join N/A models Test N/A N/A N/A models TestRun test_id N/A N/A models Test id join N/A models Run N/A N/A N/A models TestRun run_id N/A N/A models Run id filter N/A N/A N/A N/A models Run uuid in_ run_ids N/A key N/A N/A query N/A N/A N/A N/A query join N/A models RunMetadata N/A N/A N/A models TestRun run_id N/A N/A models RunMetadata run_id filter N/A N/A N/A models RunMetadata key key N/A results N/A N/A query values N/A N/A models Test test_id N/A N/A models Run artifacts N/A N/A models TestRun start_time N/A N/A models TestRun start_time_microsecond N/A N/A models TestRun stop_time N/A N/A models TestRun stop_time_microsecond N/A N/A models RunMetadata value N/A N/A results N/A N/A query values N/A N/A models Test test_id N/A N/A models Run artifacts N/A N/A models TestRun start_time N/A N/A models TestRun start_time_microsecond N/A N/A models TestRun stop_time N/A N/A models TestRun stop_time_microsecond N/A test_runs N/A N/A result results N/A N/A test_run N/A test_id link start_time stop_time N/A result test_id N/A result artifacts N/A result start_time N/A result stop_time N/A N/A N/A result start_time_microsecond None N/A N/A N/A test_run N/A start_time N/A N/A N/A test_run N/A start_time replace microsecond N/A result start_time_microsecond N/A N/A N/A result stop_time_microsecond None N/A N/A N/A test_run N/A stop_time N/A N/A N/A test_run N/A stop_time replace microsecond N/A result stop_time_microsecond N/A N/A hasattr result value N/A N/A N/A test_run N/A key N/A result value N/A N/A N/A test_runs append test_run N/A test_runs N/A get_all_run_metadata_keys N/A N/A session N/A None N/A N/A Get a list of all the keys used in the run_metadata table

    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return keys: a list of all keys used in the run_metadata table
    :rtype: list
     N/A session N/A session N/A get_session N/A keys N/A N/A N/A N/A N/A N/A session query N/A N/A models RunMetadata key distinct all N/A N/A N/A key N/A 0 N/A key keys N/A get_all_test_metadata_keys N/A N/A session N/A None N/A N/A Get a list of all the keys used in the test_metadata table

    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return keys: a list of all keys used in the test_metadata table
    :rtype: list
     N/A session N/A session N/A get_session N/A keys N/A N/A N/A N/A N/A N/A session query N/A N/A models TestMetadata key distinct all N/A N/A N/A key N/A 0 N/A key keys N/A get_all_test_run_metadata_keys N/A N/A session N/A None N/A N/A Get a list of all the keys used in the test_run_metadata table

    :param session: optional session object if one isn't provided a new session
                    will be acquired for the duration of this operation

    :return keys: a list of all keys used in the test_run_metadata table
    :rtype: list
     N/A session N/A session N/A get_session N/A keys N/A N/A N/A N/A N/A N/A session query N/A N/A models TestRunMetadata key distinct all N/A N/A N/A key N/A 0 N/A key keys N/A