Module Expr Str ImportFrom alias Import alias Import alias identifier ImportFrom alias alias alias alias ImportFrom alias ImportFrom alias alias alias ImportFrom alias alias ImportFrom alias alias alias Assign NameStore Call NameLoad Str Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore NameLoad FunctionDef arguments args NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Return NameLoad If UnaryOpNot Call NameLoad NameLoad NameLoad body Return NameLoad TryExcept body Return Call AttributeLoad NameLoad attr NameLoad handlers ExceptHandler type AttributeLoad NameLoad attr body Raise Call NameLoad BinOpMod Str NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr orelse Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad If UnaryOpNot Call NameLoad NameLoad Str body Raise Call NameLoad Str TryExcept body Assign NameStore Call NameLoad Num Call NameLoad AttributeLoad NameLoad attr NameLoad Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index BinOpSub NameLoad Num Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad handlers ExceptHandler type TupleLoad NameLoad NameLoad body Return NameLoad Return Call NameLoad keyword SubscriptLoad AttributeLoad NameLoad attr Index NameLoad keyword NameLoad keyword NameLoad keyword NameLoad decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return AttributeLoad AttributeLoad NameLoad attr attr decorator_list NameLoad FunctionDef arguments args NameParam defaults body Expr Str Return AttributeLoad AttributeLoad NameLoad attr attr decorator_list NameLoad FunctionDef arguments args NameParam defaults body Expr Str Return Call NameLoad Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr decorator_list NameLoad FunctionDef arguments args NameParam defaults body Expr Str Return Call NameLoad Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return BinOpMod Str TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list decorator_list FunctionDef arguments args NameParam defaults NameLoad body Expr Str Return AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Str Str NameLoad body Expr Str Return SubscriptLoad SubscriptLoad AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr Index NameLoad Index NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Str Str NameLoad body Expr Str Return SubscriptLoad SubscriptLoad AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr Index NameLoad Index NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Str Str NameLoad body Expr Str Return SubscriptLoad SubscriptLoad AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr Index NameLoad Index NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults Str NameLoad body Expr Str Return SubscriptLoad AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr Index NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults Str NameLoad body Expr Str Return SubscriptLoad AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr Index NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults Str NameLoad body Expr Str Assign NameStore AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr If CompareNotIn NameLoad NameLoad body Assign NameStore NameLoad Return SubscriptLoad NameLoad Index NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults Str NameLoad body Expr Str Return SubscriptLoad AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr Index NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad Str NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr orelse If Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr If CompareIs AttributeLoad NameLoad attr NameLoad body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore BinOpAdd BinOpMult BinOpMult BinOpMult AttributeLoad NameLoad attr Num Num Num AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call NameLoad NameLoad Num If CompareEq NameLoad Str body Assign NameStore Str orelse Assign NameStore BinOpMod SubscriptLoad AttributeLoad NameLoad attr Index Str Str Return BinOpMod NameLoad TupleLoad NameLoad BinOpFloorDiv NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore NameLoad orelse If Call NameLoad NameLoad NameLoad body Assign NameStore NameLoad Assign NameStore Call NameLoad NameLoad orelse If Call NameLoad NameLoad NameLoad body Assign NameStore NameLoad Assign NameStore NameLoad orelse If Call NameLoad NameLoad TupleLoad NameLoad NameLoad body Assign NameStore NameLoad If CompareIsNot AttributeLoad NameLoad attr NameLoad body Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore NameLoad orelse Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If Call NameLoad NameLoad Str body Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore Call AttributeLoad NameLoad attr BoolOpOr NameLoad Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad Call NameLoad Str attr NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Dict Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index Str Assign NameStore Call AttributeLoad Call NameLoad Str attr NameLoad If CompareNotIn NameLoad AttributeLoad NameLoad attr body Assign NameStore Str Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad If BoolOpAnd NameLoad CompareEq Call NameLoad Call AttributeLoad Call NameLoad Str attr NameLoad ListLoad Num body Return BinOpMod NameLoad NameLoad Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index Str If CompareIn Str NameLoad body Assign NameStore SubscriptLoad NameLoad Index Str orelse Assign NameStore Call AttributeLoad Call NameLoad Str attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Dict If CompareIn Str NameLoad body Assign NameStore SubscriptLoad NameLoad Index Str orelse If CompareIn Str NameLoad body Assign NameStore Call AttributeLoad SubscriptLoad Call AttributeLoad NameLoad attr Str Num Index Num attr Str Str orelse Assign NameStore Call AttributeLoad NameLoad attr Str Str Return BinOpMod NameLoad BinOpMod NameLoad Dict Str Str NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad Str NameLoad NameLoad NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore NameLoad orelse If Call NameLoad NameLoad NameLoad body Assign NameStore NameLoad Assign NameStore Call NameLoad NameLoad orelse If Call NameLoad NameLoad NameLoad body Assign NameStore NameLoad Assign NameStore NameLoad orelse If Call NameLoad NameLoad TupleLoad NameLoad NameLoad body Assign NameStore NameLoad If CompareIsNot AttributeLoad NameLoad attr NameLoad body Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore NameLoad orelse Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If Call NameLoad NameLoad Str body Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIs NameLoad NameLoad body If CompareIs NameLoad NameLoad body Assign NameStore Str orelse Assign NameStore Call AttributeLoad NameLoad attr NameLoad If NameLoad body Assign NameStore Str orelse Assign NameStore Str orelse If CompareNotIn NameLoad TupleLoad Str Str Str body Raise Call NameLoad Str Assign NameStore Call AttributeLoad Call NameLoad Str attr NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Dict If CompareIn NameLoad NameLoad body If CompareIn NameLoad SubscriptLoad NameLoad Index NameLoad body Return SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index NameLoad Assign NameStore Call AttributeLoad Call NameLoad Str attr NameLoad If NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Dict If CompareIn NameLoad NameLoad body If CompareIn NameLoad SubscriptLoad NameLoad Index NameLoad body Return SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index NameLoad If CompareIsNot NameLoad NameLoad body Return Call NameLoad NameLoad keyword NameLoad keyword NameLoad Return Call NameLoad NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad Str NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr orelse If Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIn NameLoad TupleLoad Str Str Str Str body Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call NameLoad NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad Str NameLoad NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr orelse If Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad orelse If Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad If CompareIs AttributeLoad NameLoad attr NameLoad body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad If CompareIsNot NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad If Call NameLoad NameLoad Str body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIn NameLoad TupleLoad Str Str Str Str body Return Call AttributeLoad Call AttributeLoad Call AttributeLoad Call NameLoad NameLoad keyword NameLoad attr Str Str attr Str Call NameLoad NameLoad NameLoad keyword NameLoad keyword NameLoad attr Str Call NameLoad NameLoad NameLoad keyword NameLoad orelse Return Call AttributeLoad Call NameLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad Str NameLoad NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr orelse If Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIs AttributeLoad NameLoad attr NameLoad body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad If Call NameLoad NameLoad NameLoad body If CompareIsNot NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad If Call NameLoad NameLoad Str body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr orelse If CompareIsNot NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIn NameLoad TupleLoad Str Str Str Str body Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad Call NameLoad NameLoad attr NameLoad NameLoad decorator_list Assign NameStore TupleLoad TupleLoad Str BinOpMult BinOpMult Num Num Num TupleLoad Str BinOpMult BinOpMult Num Num Num TupleLoad Str BinOpMult BinOpMult Num Num Num TupleLoad Str BinOpMult Num Num TupleLoad Str Num TupleLoad Str Num TupleLoad Str Num FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults Str Num NameLoad Str NameLoad body Expr Str If CompareNotIn NameLoad TupleLoad Str Str body Raise Call NameLoad Str If Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad BinOpAdd BinOpMult AttributeLoad NameLoad attr Num AttributeLoad NameLoad attr orelse Assign NameStore NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad FunctionDef arguments args NameParam defaults body If NameLoad body If CompareGtE NameLoad Num body Expr Yield BinOpAdd NameLoad Str orelse Expr Yield BinOpAdd NameLoad Str Expr Yield BinOpAdd BinOpAdd NameLoad Str NameLoad Expr Yield NameLoad decorator_list For TupleStore NameStore NameStore NameLoad body Assign NameStore BinOpDiv Call NameLoad NameLoad NameLoad If BoolOpOr CompareGtE NameLoad NameLoad CompareEq NameLoad NameLoad body If BoolOpAnd CompareEq NameLoad NameLoad CompareGt NameLoad Num body Assign NameStore Call NameLoad Num NameLoad Assign NameStore Call NameLoad Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore NameLoad For NameStore Call NameLoad NameLoad body Assign NameStore Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Str attr NameLoad If CompareIsNot NameLoad NameLoad body Assign NameStore SubscriptLoad NameLoad Index NameLoad Break If CompareIs NameLoad NameLoad body Return Str Return Call AttributeLoad NameLoad attr Str Call NameLoad NameLoad Return Str decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call AttributeLoad AttributeLoad Call NameLoad keyword NameLoad attr attr Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr Str If CompareLt NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore ListLoad TupleLoad NameLoad Str TupleLoad NameLoad Str TupleLoad NameLoad Str Expr Call AttributeLoad NameLoad attr Assign NameStore Call NameLoad ListComp TupleLoad SubscriptLoad NameLoad Index Num NameLoad comprehension TupleStore NameStore NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str NameLoad Assign NameStore SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Str If CompareEq Call NameLoad NameLoad Num body Assign NameStore BinOpAdd Num Call NameLoad NameLoad orelse Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Str Assign NameStore Call NameLoad SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Str If CompareGt NameLoad Num body Assign TupleStore NameStore NameStore TupleLoad NameLoad NameLoad Return Call NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call AttributeLoad AttributeLoad Call NameLoad keyword NameLoad attr attr Assign NameStore Call AttributeLoad NameLoad attr Str If CompareLt NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore ListLoad TupleLoad NameLoad Str TupleLoad NameLoad Str TupleLoad NameLoad Str Expr Call AttributeLoad NameLoad attr Assign NameStore Call NameLoad ListComp TupleLoad SubscriptLoad NameLoad Index Num NameLoad comprehension TupleStore NameStore NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str NameLoad Assign NameStore Call NameLoad SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Str Assign NameStore Call NameLoad SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Str Assign NameStore Call NameLoad SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Str Return Call NameLoad NameLoad NameLoad NameLoad decorator_list ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return BinOpMod Str TupleLoad AttributeLoad Call NameLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body If CompareIsNot Call NameLoad NameLoad NameLoad body Return NameLoad Return BinOpMod AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Return BinOpMod NameLoad Call NameLoad NameLoad NameLoad decorator_list decorator_list ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam NameParam defaults body Assert Call NameLoad NameLoad TupleLoad NameLoad NameLoad NameLoad If BoolOpAnd Call NameLoad NameLoad TupleLoad NameLoad NameLoad CompareIs AttributeLoad NameLoad attr NameLoad body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore Call NameLoad NameLoad If CompareEq NameLoad Str body Return Call AttributeLoad NameLoad attr NameLoad NameLoad orelse If CompareIn NameLoad TupleLoad Str Str Str body Return Call AttributeLoad NameLoad attr NameLoad NameLoad orelse If CompareIn NameLoad TupleLoad Str Str body Return Call AttributeLoad NameLoad attr NameLoad NameLoad orelse If CompareIn NameLoad TupleLoad Str Str body Return Call AttributeLoad NameLoad attr NameLoad NameLoad orelse If CompareIn NameLoad TupleLoad Str Str body Return Call AttributeLoad NameLoad attr NameLoad NameLoad orelse If CompareEq NameLoad Str body Return Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr NameLoad orelse If CompareEq NameLoad Str body Return Call AttributeLoad NameLoad attr NameLoad orelse If CompareEq NameLoad Str body Return Call AttributeLoad NameLoad attr orelse If CompareIn NameLoad TupleLoad Str Str Str body Return Call AttributeLoad NameLoad attr NameLoad NameLoad orelse If CompareEq NameLoad Str body Return Call AttributeLoad NameLoad attr NameLoad orelse If CompareEq NameLoad Str body If CompareEq BinOpMod AttributeLoad AttributeLoad NameLoad attr attr Num Num body Return Call AttributeLoad NameLoad attr Num NameLoad orelse Return Call AttributeLoad NameLoad attr BinOpMod AttributeLoad AttributeLoad NameLoad attr attr Num NameLoad orelse If CompareEq NameLoad Str body Return Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr NameLoad orelse If CompareEq NameLoad Str body Return Call AttributeLoad NameLoad attr BinOpMod AttributeLoad AttributeLoad NameLoad attr attr Num NameLoad orelse If CompareEq NameLoad Str body If CompareEq AttributeLoad AttributeLoad NameLoad attr attr Num body Return Call AttributeLoad NameLoad attr Num NameLoad orelse Return Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr NameLoad orelse If CompareEq NameLoad Str body Return Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr NameLoad orelse If CompareEq NameLoad Str body Return Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr NameLoad orelse If CompareEq NameLoad Str body Return Call AttributeLoad NameLoad attr NameLoad orelse If CompareEq NameLoad Str body Return Call AttributeLoad NameLoad attr NameLoad orelse If CompareIn NameLoad TupleLoad Str Str Str Str body Return Call AttributeLoad NameLoad attr NameLoad NameLoad orelse Raise Call NameLoad BinOpMod Str NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore SubscriptLoad Dict Num Num Num Str Str Str Index Call NameLoad Num NameLoad Assign NameStore Call NameLoad CompareGtE AttributeLoad AttributeLoad NameLoad attr attr Num Return SubscriptLoad Call NameLoad NameLoad AttributeLoad NameLoad attr Index NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr If Call AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr If CompareEq NameLoad Num body AugAssignSub NameStore Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareEq NameLoad Num body Assign NameStore SubscriptLoad NameLoad Slice Num Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore BinOpAdd BinOpFloorDiv BinOpSub AttributeLoad AttributeLoad NameLoad attr attr Num Num Num If CompareLtE NameLoad Num body Return BinOpMod BinOpMod Str NameLoad NameLoad Assign NameStore SubscriptLoad Dict Num Num Num Str Str Str Index NameLoad Assign NameStore SubscriptLoad Dict Str Str Str Str Index NameLoad Return SubscriptLoad Call NameLoad NameLoad NameLoad AttributeLoad NameLoad attr Index NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body If CompareLtE NameLoad Num body Return BinOpMod BinOpMod Str NameLoad AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore SubscriptLoad Dict Num Num Num Str Str Str Index NameLoad Assign NameStore SubscriptLoad Dict Str Str Str Str Index NameLoad Return SubscriptLoad Call NameLoad NameLoad NameLoad AttributeLoad NameLoad attr Index AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body If Call AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareEq NameLoad Num body Assign NameStore BinOpSub AttributeLoad NameLoad attr Call NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr Return Call AttributeLoad NameLoad attr NameLoad NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr If CompareEq NameLoad Num body Assign NameStore BinOpSub AttributeLoad NameLoad attr Call NameLoad keyword AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Pass Return BinOpMod Str NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body If CompareLt NameLoad Num body If Call AttributeLoad NameLoad attr body Assign NameStore BinOpAdd BinOpSub Num AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr Return Call AttributeLoad NameLoad attr BinOpAdd BinOpMod NameLoad Num Num NameLoad Assign NameStore Num Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore SubscriptLoad Dict Num Num Num Str Str Str Index NameLoad Assign NameStore SubscriptLoad Dict Num Num Num Str Str Str Index NameLoad Return SubscriptLoad Call NameLoad NameLoad NameLoad AttributeLoad NameLoad attr Index NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return BinOpMod Str BinOpAdd BinOpFloorDiv BinOpSub AttributeLoad AttributeLoad NameLoad attr attr Num Num Num decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore SubscriptLoad Dict Num Num Str Str Index Call NameLoad CompareGtE AttributeLoad AttributeLoad NameLoad attr attr Num Return SubscriptLoad Call NameLoad keyword AttributeLoad NameLoad attr Index NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr Return Call AttributeLoad NameLoad attr BinOpMult Call NameLoad Call NameLoad BinOpMod Str NameLoad NameLoad BinOpPow Num NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore BinOpAdd BinOpAdd BinOpAdd BinOpFloorDiv AttributeLoad AttributeLoad NameLoad attr attr Num BinOpMult AttributeLoad AttributeLoad NameLoad attr attr Num BinOpMult AttributeLoad AttributeLoad NameLoad attr attr Num BinOpMult AttributeLoad AttributeLoad NameLoad attr attr Num Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore SubscriptLoad Dict Num Num Str Str Index Call NameLoad Num NameLoad If CompareEq NameLoad Str body Return Call NameLoad AttributeLoad NameLoad attr NameLoad keyword AttributeLoad NameLoad attr orelse If CompareEq NameLoad Str body Return Call NameLoad AttributeLoad NameLoad attr NameLoad keyword AttributeLoad NameLoad attr orelse If CompareEq NameLoad Str body Return Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr NameLoad keyword AttributeLoad NameLoad attr orelse If CompareEq NameLoad Str body If CompareEq NameLoad Num body Return Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr NameLoad keyword NameLoad keyword AttributeLoad NameLoad attr Return Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr keyword AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Return BinOpMod BinOpMod Str NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body If CompareIs NameLoad NameLoad body Assign NameStore AttributeLoad NameLoad attr Return BinOpAdd AttributeLoad BinOpSub NameLoad Call AttributeLoad NameLoad attr keyword Num keyword Num attr Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore BinOpMod BinOpAdd BinOpSub BinOpSub NameLoad AttributeLoad AttributeLoad NameLoad attr attr NameLoad Num Num If CompareLt NameLoad Num body AugAssignAdd NameStore Num Assign NameStore BinOpFloorDiv BinOpSub BinOpAdd NameLoad NameLoad Num Num If CompareGtE BinOpSub Num NameLoad AttributeLoad AttributeLoad NameLoad attr attr body AugAssignAdd NameStore Num Return NameLoad decorator_list decorator_list Assign NameStore Dict Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str ListLoad Num Num Num Num Num NameLoad NameLoad NameLoad ListLoad Num Num Num Num ListLoad Num Num Num Num ListLoad Num Num Num Num Num ListLoad Num Num Num Num Num ListLoad Num Num ListLoad Num ListLoad Num Num ListLoad Num Num Num ListLoad Num NameLoad ListLoad Num Num Num Num Num ListLoad Num Num Num Num Num ListLoad Num Num Num Num ListLoad Num ListLoad Num Num ListLoad Num Num ListLoad Num Num ListLoad Num Num ListLoad Num Num ListLoad Num Num NameLoad NameLoad ListLoad Num Num Num Num ListLoad Num Num Num Num ListLoad Num Num ListLoad Num Num FunctionDef arguments args NameParam defaults body Expr Str If CompareIs Call NameLoad NameLoad NameLoad body Return NameLoad Assign NameStore ListLoad Assign NameStore NameLoad Assign NameStore ListLoad Assign NameStore ListLoad Str Assign NameStore ListLoad Num FunctionDef arguments args defaults body Expr Call AttributeLoad NameLoad attr Call AttributeLoad Call AttributeLoad Str attr NameLoad attr Str Str Delete SubscriptDel NameLoad Slice decorator_list FunctionDef arguments args defaults body Assign NameStore SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Num If BoolOpAnd NameLoad CompareNotIn SubscriptLoad NameLoad Index Num NameLoad body Raise Call NameLoad BinOpMod Str BinOpMult SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num Expr Call AttributeLoad NameLoad attr BinOpMod Str BinOpMult SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num Assign SubscriptStore NameLoad Index Num Str Assign SubscriptStore NameLoad Index Num Num decorator_list For TupleStore NameStore NameStore Call NameLoad Call AttributeLoad NameLoad attr Str Str body If CompareIs NameLoad NameLoad body If CompareEq NameLoad Str body If SubscriptLoad NameLoad Index Num body Expr Call NameLoad orelse If NameLoad body Expr Call NameLoad Assign NameStore ListLoad orelse If CompareIn NameLoad NameLoad body If NameLoad body Expr Call NameLoad If CompareEq NameLoad SubscriptLoad NameLoad Index Num body AugAssignAdd SubscriptStore NameLoad Index Num Num orelse If SubscriptLoad NameLoad Index Num body Expr Call NameLoad Assign SubscriptStore NameLoad Index Num NameLoad Assign SubscriptStore NameLoad Index Num Num orelse If SubscriptLoad NameLoad Index Num body Expr Call NameLoad Expr Call AttributeLoad NameLoad attr NameLoad orelse If CompareIsNot NameLoad NameLoad body If CompareEq NameLoad Str body Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore NameLoad orelse Expr Call AttributeLoad NameLoad attr NameLoad If SubscriptLoad NameLoad Index Num body Expr Call NameLoad orelse If NameLoad body Expr Call NameLoad Return Call NameLoad NameLoad Call AttributeLoad Call AttributeLoad Str attr NameLoad attr Str Str decorator_list
N/A N/A 
    babel.dates
    ~~~~~~~~~~~

    Locale dependent formatting and parsing of dates and times.

    The default locale for the functions in this module is determined by the
    following environment variables, in that order:

     * ``LC_TIME``,
     * ``LC_ALL``, and
     * ``LANG``

    :copyright: (c) 2013 by the Babel Team.
    :license: BSD, see LICENSE for more details.
 __future__ division N/A re N/A pytz _pytz datetime date datetime time timedelta bisect bisect_right babel.core default_locale get_global Locale babel.util UTC LOCALTZ babel._compat string_types integer_types number_types N/A LC_TIME N/A default_locale LC_TIME N/A date_ date N/A datetime_ datetime N/A time_ time get_timezone N/A N/A zone N/A None N/A N/A Looks up a timezone by name and returns it.  The timezone object
    returned comes from ``pytz`` and corresponds to the `tzinfo` interface and
    can be used with all of the functions of Babel that operate with dates.

    If a timezone is not known a :exc:`LookupError` is raised.  If `zone`
    is ``None`` a local zone object is returned.

    :param zone: the name of the timezone to look up.  If a timezone object
                 itself is passed in, mit's returned unchanged.
     N/A N/A zone None N/A N/A LOCALTZ N/A N/A N/A isinstance zone string_types N/A N/A zone N/A N/A N/A N/A N/A _pytz timezone zone N/A N/A N/A N/A _pytz UnknownTimeZoneError N/A N/A N/A LookupError N/A Unknown timezone %s zone N/A get_next_timezone_transition N/A N/A zone dt N/A None None N/A N/A Given a timezone it will return a :class:`TimezoneTransition` object
    that holds the information about the next timezone transition that's going
    to happen.  For instance this can be used to detect when the next DST
    change is going to happen and how it looks like.

    The transition is calculated relative to the given datetime object.  The
    next transition that follows the date is used.  If a transition cannot
    be found the return value will be `None`.

    Transition information can only be provided for timezones returned by
    the :func:`get_timezone` function.

    :param zone: the timezone for which the transition should be looked up.
                 If not provided the local timezone is used.
    :param dt: the date after which the next transition should be found.
               If not given the current time is assumed.
     N/A zone N/A get_timezone zone N/A N/A dt None N/A N/A dt N/A N/A datetime utcnow N/A N/A dt N/A N/A dt replace tzinfo None N/A N/A N/A hasattr zone _utc_transition_times N/A N/A N/A TypeError Given timezone does not have UTC transition times.  This can happen because the operating system fallback local timezone is used or a custom timezone object N/A N/A N/A idx N/A max 0 N/A bisect_right N/A zone _utc_transition_times dt N/A old_trans N/A N/A zone _transition_info N/A N/A idx 1 N/A new_trans N/A N/A zone _transition_info N/A idx N/A old_tz N/A N/A zone _tzinfos N/A old_trans N/A new_tz N/A N/A zone _tzinfos N/A new_trans N/A N/A N/A N/A LookupError ValueError N/A N/A None N/A N/A TimezoneTransition activates N/A N/A zone _utc_transition_times N/A idx from_tzinfo old_tz to_tzinfo new_tz reference_date dt N/A TimezoneTransition N/A object N/A N/A A helper object that represents the return value from
    :func:`get_next_timezone_transition`.
     __init__ N/A N/A self activates from_tzinfo to_tzinfo reference_date N/A None N/A N/A N/A self activates activates N/A N/A self from_tzinfo from_tzinfo N/A N/A self to_tzinfo to_tzinfo N/A N/A self reference_date reference_date N/A from_tz N/A N/A self N/A N/A N/A The name of the timezone before the transition. N/A N/A N/A self from_tzinfo _tzname N/A property to_tz N/A N/A self N/A N/A N/A The name of the timezone after the transition. N/A N/A N/A self to_tzinfo _tzname N/A property from_offset N/A N/A self N/A N/A N/A The UTC offset in seconds before the transition. N/A N/A int N/A N/A N/A N/A self from_tzinfo _utcoffset total_seconds N/A property to_offset N/A N/A self N/A N/A N/A The UTC offset in seconds after the transition. N/A N/A int N/A N/A N/A N/A self to_tzinfo _utcoffset total_seconds N/A property __repr__ N/A N/A self N/A N/A N/A N/A <TimezoneTransition %s -> %s (%s)> N/A N/A self from_tz N/A self to_tz N/A self activates N/A N/A get_period_names N/A N/A locale N/A LC_TIME N/A N/A Return the names for day periods (AM/PM) used by the locale.

    >>> get_period_names(locale='en_US')['am']
    u'AM'

    :param locale: the `Locale` object, or a locale string
     N/A N/A N/A N/A Locale parse locale periods N/A get_day_names N/A N/A width context locale N/A wide format LC_TIME N/A N/A Return the day names used by the locale for the specified format.

    >>> get_day_names('wide', locale='en_US')[1]
    u'Tuesday'
    >>> get_day_names('abbreviated', locale='es')[1]
    u'mar'
    >>> get_day_names('narrow', context='stand-alone', locale='de_DE')[1]
    u'D'

    :param width: the width to use, one of "wide", "abbreviated", or "narrow"
    :param context: the context, either "format" or "stand-alone"
    :param locale: the `Locale` object, or a locale string
     N/A N/A N/A N/A N/A N/A Locale parse locale days N/A context N/A width N/A get_month_names N/A N/A width context locale N/A wide format LC_TIME N/A N/A Return the month names used by the locale for the specified format.

    >>> get_month_names('wide', locale='en_US')[1]
    u'January'
    >>> get_month_names('abbreviated', locale='es')[1]
    u'ene'
    >>> get_month_names('narrow', context='stand-alone', locale='de_DE')[1]
    u'J'

    :param width: the width to use, one of "wide", "abbreviated", or "narrow"
    :param context: the context, either "format" or "stand-alone"
    :param locale: the `Locale` object, or a locale string
     N/A N/A N/A N/A N/A N/A Locale parse locale months N/A context N/A width N/A get_quarter_names N/A N/A width context locale N/A wide format LC_TIME N/A N/A Return the quarter names used by the locale for the specified format.

    >>> get_quarter_names('wide', locale='en_US')[1]
    u'1st quarter'
    >>> get_quarter_names('abbreviated', locale='de_DE')[1]
    u'Q1'

    :param width: the width to use, one of "wide", "abbreviated", or "narrow"
    :param context: the context, either "format" or "stand-alone"
    :param locale: the `Locale` object, or a locale string
     N/A N/A N/A N/A N/A N/A Locale parse locale quarters N/A context N/A width N/A get_era_names N/A N/A width locale N/A wide LC_TIME N/A N/A Return the era names used by the locale for the specified format.

    >>> get_era_names('wide', locale='en_US')[1]
    u'Anno Domini'
    >>> get_era_names('abbreviated', locale='de_DE')[1]
    u'n. Chr.'

    :param width: the width to use, either "wide", "abbreviated", or "narrow"
    :param locale: the `Locale` object, or a locale string
     N/A N/A N/A N/A N/A Locale parse locale eras N/A width N/A get_date_format N/A N/A format locale N/A medium LC_TIME N/A N/A Return the date formatting patterns used by the locale for the specified
    format.

    >>> get_date_format(locale='en_US')
    <DateTimePattern u'MMM d, y'>
    >>> get_date_format('full', locale='de_DE')
    <DateTimePattern u'EEEE, d. MMMM y'>

    :param format: the format to use, one of "full", "long", "medium", or
                   "short"
    :param locale: the `Locale` object, or a locale string
     N/A N/A N/A N/A N/A Locale parse locale date_formats N/A format N/A get_datetime_format N/A N/A format locale N/A medium LC_TIME N/A N/A Return the datetime formatting patterns used by the locale for the
    specified format.

    >>> get_datetime_format(locale='en_US')
    u'{1}, {0}'

    :param format: the format to use, one of "full", "long", "medium", or
                   "short"
    :param locale: the `Locale` object, or a locale string
     N/A patterns N/A N/A N/A Locale parse locale datetime_formats N/A N/A format patterns N/A N/A format None N/A N/A patterns N/A format N/A get_time_format N/A N/A format locale N/A medium LC_TIME N/A N/A Return the time formatting patterns used by the locale for the specified
    format.

    >>> get_time_format(locale='en_US')
    <DateTimePattern u'h:mm:ss a'>
    >>> get_time_format('full', locale='de_DE')
    <DateTimePattern u'HH:mm:ss zzzz'>

    :param format: the format to use, one of "full", "long", "medium", or
                   "short"
    :param locale: the `Locale` object, or a locale string
     N/A N/A N/A N/A N/A Locale parse locale time_formats N/A format N/A get_timezone_gmt N/A N/A datetime width locale N/A None long LC_TIME N/A N/A Return the timezone associated with the given `datetime` object formatted
    as string indicating the offset from GMT.

    >>> dt = datetime(2007, 4, 1, 15, 30)
    >>> get_timezone_gmt(dt, locale='en')
    u'GMT+00:00'

    >>> tz = get_timezone('America/Los_Angeles')
    >>> dt = datetime(2007, 4, 1, 15, 30, tzinfo=tz)
    >>> get_timezone_gmt(dt, locale='en')
    u'GMT-08:00'
    >>> get_timezone_gmt(dt, 'short', locale='en')
    u'-0800'

    The long format depends on the locale, for example in France the acronym
    UTC string is used instead of GMT:

    >>> get_timezone_gmt(dt, 'long', locale='fr_FR')
    u'UTC-08:00'

    .. versionadded:: 0.9

    :param datetime: the ``datetime`` object; if `None`, the current date and
                     time in UTC is used
    :param width: either "long" or "short"
    :param locale: the `Locale` object, or a locale string
     N/A N/A datetime None N/A N/A datetime N/A N/A datetime_ utcnow N/A N/A N/A isinstance datetime integer_types N/A N/A datetime N/A N/A N/A N/A datetime_ utcfromtimestamp datetime time N/A N/A N/A datetime tzinfo None N/A N/A datetime N/A N/A datetime replace tzinfo UTC N/A locale N/A N/A Locale parse locale N/A offset N/A N/A N/A datetime tzinfo utcoffset datetime N/A seconds N/A N/A N/A N/A N/A offset days 24 60 60 N/A offset seconds N/A N/A hours seconds N/A divmod seconds 3600 N/A N/A width short N/A N/A pattern %+03d%02d N/A N/A pattern N/A N/A N/A locale zone_formats N/A gmt %+03d:%02d N/A N/A pattern N/A hours N/A seconds 60 N/A get_timezone_location N/A N/A dt_or_tzinfo locale N/A None LC_TIME N/A N/A Return a representation of the given timezone using "location format".

    The result depends on both the local display name of the country and the
    city associated with the time zone:

    >>> tz = get_timezone('America/St_Johns')
    >>> get_timezone_location(tz, locale='de_DE')
    u"Kanada (St. John's) Zeit"
    >>> tz = get_timezone('America/Mexico_City')
    >>> get_timezone_location(tz, locale='de_DE')
    u'Mexiko (Mexiko-Stadt) Zeit'

    If the timezone is associated with a country that uses only a single
    timezone, just the localized country name is returned:

    >>> tz = get_timezone('Europe/Berlin')
    >>> get_timezone_name(tz, locale='de_DE')
    u'Mitteleurop\xe4ische Zeit'

    .. versionadded:: 0.9

    :param dt_or_tzinfo: the ``datetime`` or ``tzinfo`` object that determines
                         the timezone; if `None`, the current date and time in
                         UTC is assumed
    :param locale: the `Locale` object, or a locale string
    :return: the localized timezone name using location format
     N/A N/A dt_or_tzinfo None N/A N/A dt N/A N/A datetime now N/A tzinfo LOCALTZ N/A N/A N/A isinstance dt_or_tzinfo string_types N/A N/A dt None N/A tzinfo N/A get_timezone dt_or_tzinfo N/A N/A N/A isinstance dt_or_tzinfo integer_types N/A N/A dt None N/A tzinfo UTC N/A N/A N/A isinstance dt_or_tzinfo N/A datetime time N/A N/A dt dt_or_tzinfo N/A N/A N/A dt tzinfo None N/A N/A tzinfo N/A dt tzinfo N/A N/A tzinfo UTC N/A N/A dt None N/A tzinfo dt_or_tzinfo N/A locale N/A N/A Locale parse locale N/A N/A hasattr tzinfo zone N/A N/A zone N/A tzinfo zone N/A N/A zone N/A N/A tzinfo tzname N/A dt N/A N/A datetime utcnow N/A zone N/A N/A N/A get_global zone_aliases get zone zone N/A info N/A N/A N/A locale time_zones get zone N/A N/A region_format N/A N/A locale zone_formats N/A region N/A territory N/A N/A N/A get_global zone_territories get zone N/A N/A territory N/A locale territories N/A N/A territory ZZ N/A territory_name N/A N/A locale territories N/A territory N/A N/A territory N/A N/A len N/A N/A N/A get_global territory_zones get territory N/A 1 N/A N/A N/A region_format territory_name N/A fallback_format N/A N/A locale zone_formats N/A fallback N/A N/A city info N/A N/A city_name N/A info N/A city N/A N/A metazone N/A N/A N/A get_global meta_zones get zone N/A metazone_info N/A N/A N/A locale meta_zones get metazone N/A N/A N/A city metazone_info N/A N/A city_name N/A metazone_info N/A city N/A N/A N/A / zone N/A N/A city_name N/A N/A N/A N/A N/A zone split / 1 N/A 1 replace _ N/A N/A city_name N/A N/A zone replace _ N/A N/A region_format N/A fallback_format N/A 0 1 city_name territory_name N/A get_timezone_name N/A N/A dt_or_tzinfo width uncommon locale zone_variant N/A None long False LC_TIME None N/A N/A Return the localized display name for the given timezone. The timezone
    may be specified using a ``datetime`` or `tzinfo` object.

    >>> dt = time(15, 30, tzinfo=get_timezone('America/Los_Angeles'))
    >>> get_timezone_name(dt, locale='en_US')
    u'Pacific Standard Time'
    >>> get_timezone_name(dt, width='short', locale='en_US')
    u'PST'

    If this function gets passed only a `tzinfo` object and no concrete
    `datetime`,  the returned display name is indenpendent of daylight savings
    time. This can be used for example for selecting timezones, or to set the
    time of events that recur across DST changes:

    >>> tz = get_timezone('America/Los_Angeles')
    >>> get_timezone_name(tz, locale='en_US')
    u'Pacific Time'
    >>> get_timezone_name(tz, 'short', locale='en_US')
    u'PT'

    If no localized display name for the timezone is available, and the timezone
    is associated with a country that uses only a single timezone, the name of
    that country is returned, formatted according to the locale:

    >>> tz = get_timezone('Europe/Berlin')
    >>> get_timezone_name(tz, locale='de_DE')
    u'Mitteleurop\xe4ische Zeit'
    >>> get_timezone_name(tz, locale='pt_BR')
    u'Hor\xe1rio da Europa Central'

    On the other hand, if the country uses multiple timezones, the city is also
    included in the representation:

    >>> tz = get_timezone('America/St_Johns')
    >>> get_timezone_name(tz, locale='de_DE')
    u'Neufundland-Zeit'

    Note that short format is currently not supported for all timezones and
    all locales.  This is partially because not every timezone has a short
    code in every locale.  In that case it currently falls back to the long
    format.

    For more information see `LDML Appendix J: Time Zone Display Names
    <http://www.unicode.org/reports/tr35/#Time_Zone_Fallback>`_

    .. versionadded:: 0.9

    .. versionchanged:: 1.0
       Added `zone_variant` support.

    :param dt_or_tzinfo: the ``datetime`` or ``tzinfo`` object that determines
                         the timezone; if a ``tzinfo`` object is used, the
                         resulting display name will be generic, i.e.
                         independent of daylight savings time; if `None`, the
                         current date in UTC is assumed
    :param width: either "long" or "short"
    :param uncommon: deprecated and ignored
    :param zone_variant: defines the zone variation to return.  By default the
                           variation is defined from the datetime object
                           passed in.  If no datetime object is passed in, the
                           ``'generic'`` variation is assumed.  The following
                           values are valid: ``'generic'``, ``'daylight'`` and
                           ``'standard'``.
    :param locale: the `Locale` object, or a locale string
     N/A N/A dt_or_tzinfo None N/A N/A dt N/A N/A datetime now N/A tzinfo LOCALTZ N/A N/A N/A isinstance dt_or_tzinfo string_types N/A N/A dt None N/A tzinfo N/A get_timezone dt_or_tzinfo N/A N/A N/A isinstance dt_or_tzinfo integer_types N/A N/A dt None N/A tzinfo UTC N/A N/A N/A isinstance dt_or_tzinfo N/A datetime time N/A N/A dt dt_or_tzinfo N/A N/A N/A dt tzinfo None N/A N/A tzinfo N/A dt tzinfo N/A N/A tzinfo UTC N/A N/A dt None N/A tzinfo dt_or_tzinfo N/A locale N/A N/A Locale parse locale N/A N/A hasattr tzinfo zone N/A N/A zone N/A tzinfo zone N/A N/A zone N/A N/A tzinfo tzname dt N/A N/A zone_variant None N/A N/A N/A dt None N/A N/A zone_variant generic N/A N/A dst N/A N/A tzinfo dst dt N/A dst N/A N/A zone_variant daylight N/A N/A zone_variant standard N/A N/A N/A zone_variant N/A generic standard daylight N/A N/A N/A ValueError Invalid zone variation N/A zone N/A N/A N/A get_global zone_aliases get zone zone N/A info N/A N/A N/A locale time_zones get zone N/A N/A N/A width info N/A N/A N/A zone_variant N/A info N/A width N/A N/A N/A N/A info N/A width N/A zone_variant N/A metazone N/A N/A N/A get_global meta_zones get zone N/A metazone N/A N/A metazone_info N/A N/A N/A locale meta_zones get metazone N/A N/A N/A width metazone_info N/A N/A N/A zone_variant N/A metazone_info N/A width N/A N/A N/A N/A metazone_info N/A width N/A zone_variant N/A N/A dt None N/A N/A N/A get_timezone_gmt dt width width locale locale N/A N/A get_timezone_location dt_or_tzinfo locale locale N/A format_date N/A N/A date format locale N/A None medium LC_TIME N/A N/A Return a date formatted according to the given pattern.

    >>> d = date(2007, 04, 01)
    >>> format_date(d, locale='en_US')
    u'Apr 1, 2007'
    >>> format_date(d, format='full', locale='de_DE')
    u'Sonntag, 1. April 2007'

    If you don't want to use the locale default formats, you can specify a
    custom date pattern:

    >>> format_date(d, "EEE, MMM d, ''yy", locale='en')
    u"Sun, Apr 1, '07"

    :param date: the ``date`` or ``datetime`` object; if `None`, the current
                 date is used
    :param format: one of "full", "long", "medium", or "short", or a custom
                   date/time pattern
    :param locale: a `Locale` object or a locale identifier
     N/A N/A date None N/A N/A date N/A N/A date_ today N/A N/A N/A isinstance date datetime N/A N/A date N/A N/A date date N/A locale N/A N/A Locale parse locale N/A N/A format N/A full long medium short N/A N/A format N/A get_date_format format locale locale N/A pattern N/A parse_pattern format N/A N/A N/A pattern apply date locale N/A format_datetime N/A N/A datetime format tzinfo locale N/A None medium None LC_TIME N/A N/A Return a date formatted according to the given pattern.

    >>> dt = datetime(2007, 04, 01, 15, 30)
    >>> format_datetime(dt, locale='en_US')
    u'Apr 1, 2007, 3:30:00 PM'

    For any pattern requiring the display of the time-zone, the third-party
    ``pytz`` package is needed to explicitly specify the time-zone:

    >>> format_datetime(dt, 'full', tzinfo=get_timezone('Europe/Paris'),
    ...                 locale='fr_FR')
    u'dimanche 1 avril 2007 17:30:00 heure avanc\xe9e d\u2019Europe centrale'
    >>> format_datetime(dt, "yyyy.MM.dd G 'at' HH:mm:ss zzz",
    ...                 tzinfo=get_timezone('US/Eastern'), locale='en')
    u'2007.04.01 AD at 11:30:00 EDT'

    :param datetime: the `datetime` object; if `None`, the current date and
                     time is used
    :param format: one of "full", "long", "medium", or "short", or a custom
                   date/time pattern
    :param tzinfo: the timezone to apply to the time for display
    :param locale: a `Locale` object or a locale identifier
     N/A N/A datetime None N/A N/A datetime N/A N/A datetime_ utcnow N/A N/A N/A isinstance datetime number_types N/A N/A datetime N/A N/A datetime_ utcfromtimestamp datetime N/A N/A N/A isinstance datetime time N/A N/A datetime N/A N/A datetime_ combine N/A N/A date today datetime N/A N/A N/A datetime tzinfo None N/A N/A datetime N/A N/A datetime replace tzinfo UTC N/A N/A tzinfo None N/A N/A datetime N/A N/A datetime astimezone N/A get_timezone tzinfo N/A N/A hasattr tzinfo normalize N/A N/A datetime N/A N/A tzinfo normalize datetime N/A locale N/A N/A Locale parse locale N/A N/A format N/A full long medium short N/A N/A N/A N/A N/A N/A N/A N/A N/A get_datetime_format format locale locale replace ' replace {0} N/A format_time datetime format tzinfo None locale locale replace {1} N/A format_date datetime format locale locale N/A N/A N/A N/A N/A parse_pattern format apply datetime locale N/A format_time N/A N/A time format tzinfo locale N/A None medium None LC_TIME N/A N/A Return a time formatted according to the given pattern.

    >>> t = time(15, 30)
    >>> format_time(t, locale='en_US')
    u'3:30:00 PM'
    >>> format_time(t, format='short', locale='de_DE')
    u'15:30'

    If you don't want to use the locale default formats, you can specify a
    custom time pattern:

    >>> format_time(t, "hh 'o''clock' a", locale='en')
    u"03 o'clock PM"

    For any pattern requiring the display of the time-zone a
    timezone has to be specified explicitly:

    >>> t = datetime(2007, 4, 1, 15, 30)
    >>> tzinfo = get_timezone('Europe/Paris')
    >>> t = tzinfo.localize(t)
    >>> format_time(t, format='full', tzinfo=tzinfo, locale='fr_FR')
    u'15:30:00 heure avanc\xe9e d\u2019Europe centrale'
    >>> format_time(t, "hh 'o''clock' a, zzzz", tzinfo=get_timezone('US/Eastern'),
    ...             locale='en')
    u"09 o'clock AM, Eastern Daylight Time"

    As that example shows, when this function gets passed a
    ``datetime.datetime`` value, the actual time in the formatted string is
    adjusted to the timezone specified by the `tzinfo` parameter. If the
    ``datetime`` is "naive" (i.e. it has no associated timezone information),
    it is assumed to be in UTC.

    These timezone calculations are **not** performed if the value is of type
    ``datetime.time``, as without date information there's no way to determine
    what a given time would translate to in a different timezone without
    information about whether daylight savings time is in effect or not. This
    means that time values are left as-is, and the value of the `tzinfo`
    parameter is only used to display the timezone name if needed:

    >>> t = time(15, 30)
    >>> format_time(t, format='full', tzinfo=get_timezone('Europe/Paris'),
    ...             locale='fr_FR')
    u'15:30:00 heure normale de l\u2019Europe centrale'
    >>> format_time(t, format='full', tzinfo=get_timezone('US/Eastern'),
    ...             locale='en_US')
    u'3:30:00 PM Eastern Standard Time'

    :param time: the ``time`` or ``datetime`` object; if `None`, the current
                 time in UTC is used
    :param format: one of "full", "long", "medium", or "short", or a custom
                   date/time pattern
    :param tzinfo: the time-zone to apply to the time for display
    :param locale: a `Locale` object or a locale identifier
     N/A N/A time None N/A N/A time N/A N/A datetime utcnow N/A N/A N/A isinstance time number_types N/A N/A time N/A N/A datetime utcfromtimestamp time N/A N/A N/A time tzinfo None N/A N/A time N/A N/A time replace tzinfo UTC N/A N/A isinstance time datetime N/A N/A N/A tzinfo None N/A N/A time N/A N/A time astimezone tzinfo N/A N/A hasattr tzinfo normalize N/A N/A time N/A N/A tzinfo normalize time N/A time N/A N/A time timetz N/A N/A N/A tzinfo None N/A N/A time N/A N/A time replace tzinfo tzinfo N/A locale N/A N/A Locale parse locale N/A N/A format N/A full long medium short N/A N/A format N/A get_time_format format locale locale N/A N/A N/A N/A parse_pattern format apply time locale N/A N/A TIMEDELTA_UNITS N/A N/A year N/A N/A 3600 24 365 N/A month N/A N/A 3600 24 30 N/A week N/A N/A 3600 24 7 N/A day N/A 3600 24 N/A hour 3600 N/A minute 60 N/A second 1 format_timedelta N/A N/A delta granularity threshold add_direction format locale N/A second 0.85 False medium LC_TIME N/A N/A Return a time delta according to the rules of the given locale.

    >>> format_timedelta(timedelta(weeks=12), locale='en_US')
    u'3 months'
    >>> format_timedelta(timedelta(seconds=1), locale='es')
    u'1 segundo'

    The granularity parameter can be provided to alter the lowest unit
    presented, which defaults to a second.

    >>> format_timedelta(timedelta(hours=3), granularity='day',
    ...                  locale='en_US')
    u'1 day'

    The threshold parameter can be used to determine at which value the
    presentation switches to the next higher unit. A higher threshold factor
    means the presentation will switch later. For example:

    >>> format_timedelta(timedelta(hours=23), threshold=0.9, locale='en_US')
    u'1 day'
    >>> format_timedelta(timedelta(hours=23), threshold=1.1, locale='en_US')
    u'23 hours'

    In addition directional information can be provided that informs
    the user if the date is in the past or in the future:

    >>> format_timedelta(timedelta(hours=1), add_direction=True, locale='en')
    u'In 1 hour'
    >>> format_timedelta(timedelta(hours=-1), add_direction=True, locale='en')
    u'1 hour ago'

    :param delta: a ``timedelta`` object representing the time difference to
                  format, or the delta in seconds as an `int` value
    :param granularity: determines the smallest unit that should be displayed,
                        the value can be one of "year", "month", "week", "day",
                        "hour", "minute" or "second"
    :param threshold: factor that determines at which point the presentation
                      switches to the next higher unit
    :param add_direction: if this flag is set to `True` the return value will
                          include directional information.  For instance a
                          positive timedelta will include the information about
                          it being in the future, a negative will be information
                          about the value being in the past.
    :param format: the format (currently only "medium" and "short" are supported)
    :param locale: a `Locale` object or a locale identifier
     N/A N/A format N/A short medium N/A N/A N/A TypeError Format can only be one of "short" or "medium" N/A N/A isinstance delta timedelta N/A N/A seconds N/A int N/A N/A N/A delta days 86400 N/A delta seconds N/A N/A seconds delta N/A locale N/A N/A Locale parse locale _iter_choices N/A N/A unit N/A N/A N/A add_direction N/A N/A N/A seconds 0 N/A N/A N/A N/A unit -future N/A N/A N/A N/A unit -past N/A N/A N/A N/A unit : format N/A N/A unit N/A N/A N/A unit secs_per_unit TIMEDELTA_UNITS N/A N/A value N/A N/A abs seconds secs_per_unit N/A N/A N/A value threshold N/A unit granularity N/A N/A N/A N/A unit granularity N/A value 0 N/A N/A value N/A max 1 value N/A value N/A int N/A round value N/A plural_form N/A N/A locale plural_form value N/A pattern None N/A choice N/A _iter_choices unit N/A N/A patterns N/A N/A N/A N/A locale _data N/A unit_patterns get choice N/A N/A patterns None N/A N/A pattern N/A patterns N/A plural_form N/A N/A N/A pattern None N/A N/A N/A N/A N/A pattern replace {0} N/A str value N/A N/A parse_date N/A N/A string locale N/A LC_TIME N/A N/A Parse a date from a string.

    This function uses the date format for the locale as a hint to determine
    the order in which the date fields appear in the string.

    >>> parse_date('4/1/04', locale='en_US')
    datetime.date(2004, 4, 1)
    >>> parse_date('01.04.2004', locale='de_DE')
    datetime.date(2004, 4, 1)

    :param string: the string containing the date
    :param locale: a `Locale` object or a locale identifier
     N/A format N/A N/A N/A N/A get_date_format locale locale pattern lower N/A year_idx N/A N/A format index y N/A month_idx N/A N/A format index m N/A N/A month_idx 0 N/A N/A month_idx N/A N/A format index l N/A day_idx N/A N/A format index d N/A indexes N/A N/A year_idx Y N/A month_idx M N/A day_idx D N/A N/A N/A indexes sort N/A indexes N/A dict N/A N/A N/A item N/A 1 idx N/A N/A idx item N/A enumerate indexes N/A numbers N/A N/A re findall (\d+) string N/A year N/A numbers N/A N/A indexes N/A Y N/A N/A N/A len year 2 N/A N/A year N/A 2000 N/A int year N/A N/A year N/A int year N/A month N/A int N/A numbers N/A N/A indexes N/A M N/A day N/A int N/A numbers N/A N/A indexes N/A D N/A N/A month 12 N/A N/A N/A month day N/A day month N/A N/A date year month day N/A parse_time N/A N/A string locale N/A LC_TIME N/A N/A Parse a time from a string.

    This function uses the time format for the locale as a hint to determine
    the order in which the time fields appear in the string.

    >>> parse_time('15:30:00', locale='en_US')
    datetime.time(15, 30)

    :param string: the string containing the time
    :param locale: a `Locale` object or a locale identifier
    :return: the parsed time
    :rtype: `time`
     N/A format N/A N/A N/A N/A get_time_format locale locale pattern lower N/A hour_idx N/A N/A format index h N/A N/A hour_idx 0 N/A N/A hour_idx N/A N/A format index k N/A min_idx N/A N/A format index m N/A sec_idx N/A N/A format index s N/A indexes N/A N/A hour_idx H N/A min_idx M N/A sec_idx S N/A N/A N/A indexes sort N/A indexes N/A dict N/A N/A N/A item N/A 1 idx N/A N/A idx item N/A enumerate indexes N/A numbers N/A N/A re findall (\d+) string N/A hour N/A int N/A numbers N/A N/A indexes N/A H N/A minute N/A int N/A numbers N/A N/A indexes N/A M N/A second N/A int N/A numbers N/A N/A indexes N/A S N/A N/A time hour minute second N/A DateTimePattern N/A object N/A __init__ N/A N/A self pattern format N/A N/A N/A N/A self pattern pattern N/A N/A self format format N/A __repr__ N/A N/A self N/A N/A N/A N/A <%s %r> N/A N/A N/A type self __name__ N/A self pattern N/A __unicode__ N/A N/A self N/A N/A N/A N/A self pattern N/A __mod__ N/A N/A self other N/A N/A N/A N/A N/A type other DateTimeFormat N/A N/A NotImplemented N/A N/A N/A self format other N/A apply N/A N/A self datetime locale N/A N/A N/A N/A self N/A DateTimeFormat datetime locale N/A N/A DateTimeFormat N/A object N/A __init__ N/A N/A self value locale N/A N/A N/A N/A isinstance value N/A date datetime time N/A N/A N/A isinstance value N/A datetime time N/A N/A value tzinfo None N/A N/A value N/A N/A value replace tzinfo UTC N/A N/A self value value N/A N/A self locale N/A N/A Locale parse locale N/A __getitem__ N/A N/A self name N/A N/A N/A char N/A name N/A 0 N/A num N/A len name N/A N/A char G N/A N/A N/A N/A self format_era char num N/A N/A N/A char N/A y Y u N/A N/A N/A N/A self format_year char num N/A N/A N/A char N/A Q q N/A N/A N/A N/A self format_quarter char num N/A N/A N/A char N/A M L N/A N/A N/A N/A self format_month char num N/A N/A N/A char N/A w W N/A N/A N/A N/A self format_week char num N/A N/A N/A char d N/A N/A N/A N/A self format N/A N/A self value day num N/A N/A N/A char D N/A N/A N/A N/A self format_day_of_year num N/A N/A N/A char F N/A N/A N/A N/A self format_day_of_week_in_month N/A N/A N/A char N/A E e c N/A N/A N/A N/A self format_weekday char num N/A N/A N/A char a N/A N/A N/A N/A self format_period char N/A N/A N/A char h N/A N/A N/A N/A N/A N/A self value hour 12 0 N/A N/A N/A N/A self format 12 num N/A N/A N/A N/A self format N/A N/A N/A self value hour 12 num N/A N/A N/A char H N/A N/A N/A N/A self format N/A N/A self value hour num N/A N/A N/A char K N/A N/A N/A N/A self format N/A N/A N/A self value hour 12 num N/A N/A N/A char k N/A N/A N/A N/A N/A self value hour 0 N/A N/A N/A N/A self format 24 num N/A N/A N/A N/A self format N/A N/A self value hour num N/A N/A N/A char m N/A N/A N/A N/A self format N/A N/A self value minute num N/A N/A N/A char s N/A N/A N/A N/A self format N/A N/A self value second num N/A N/A N/A char S N/A N/A N/A N/A self format_frac_seconds num N/A N/A N/A char A N/A N/A N/A N/A self format_milliseconds_in_day num N/A N/A N/A char N/A z Z v V N/A N/A N/A N/A self format_timezone char num N/A N/A N/A KeyError N/A Unsupported date/time field %r char N/A format_era N/A N/A self char num N/A N/A N/A width N/A N/A 3 4 5 abbreviated wide narrow N/A N/A max 3 num N/A era N/A int N/A N/A N/A self value year 0 N/A N/A N/A get_era_names width N/A self locale N/A era N/A format_year N/A N/A self char num N/A N/A N/A value N/A N/A self value year N/A N/A N/A char isupper N/A N/A week N/A N/A self get_week_number N/A N/A self get_day_of_year N/A N/A week 0 N/A N/A value 1 N/A year N/A N/A self format value num N/A N/A num 2 N/A N/A year N/A year N/A -2 N/A year N/A format_quarter N/A N/A self char num N/A N/A N/A quarter N/A N/A N/A N/A N/A self value month 1 3 1 N/A N/A num 2 N/A N/A N/A N/A %%0%dd num quarter N/A width N/A N/A 3 4 5 abbreviated wide narrow N/A num N/A context N/A N/A Q q format stand-alone N/A char N/A N/A N/A get_quarter_names width context N/A self locale N/A quarter N/A format_month N/A N/A self char num N/A N/A N/A N/A num 2 N/A N/A N/A N/A %%0%dd num N/A N/A self value month N/A width N/A N/A 3 4 5 abbreviated wide narrow N/A num N/A context N/A N/A M L format stand-alone N/A char N/A N/A N/A get_month_names width context N/A self locale N/A N/A N/A self value month N/A format_week N/A N/A self char num N/A N/A N/A N/A N/A char islower N/A N/A day_of_year N/A N/A self get_day_of_year N/A week N/A N/A self get_week_number day_of_year N/A N/A week 0 N/A N/A date N/A N/A self value N/A timedelta days day_of_year N/A week N/A N/A self get_week_number N/A N/A self get_day_of_year date N/A N/A date weekday N/A N/A N/A self format week num N/A N/A week N/A N/A self get_week_number N/A N/A self value day N/A N/A week 0 N/A N/A date N/A N/A self value N/A timedelta days N/A N/A self value day N/A week N/A N/A self get_week_number N/A date day N/A N/A date weekday N/A N/A N/A %d week N/A format_weekday N/A N/A self char num N/A N/A N/A N/A num 3 N/A N/A N/A N/A char islower N/A N/A value N/A N/A 7 N/A N/A self locale first_week_day N/A N/A N/A self value weekday N/A N/A N/A self format N/A N/A value 7 1 num N/A num 3 N/A weekday N/A N/A N/A self value weekday N/A width N/A N/A 3 4 5 abbreviated wide narrow N/A num N/A context N/A N/A 3 4 5 format format stand-alone N/A num N/A N/A N/A get_day_names width context N/A self locale N/A weekday N/A format_day_of_year N/A N/A self num N/A N/A N/A N/A N/A self format N/A N/A self get_day_of_year num N/A format_day_of_week_in_month N/A N/A self N/A N/A N/A N/A %d N/A N/A N/A N/A N/A self value day 1 7 1 N/A format_period N/A N/A self char N/A N/A N/A period N/A N/A 0 1 am pm N/A N/A int N/A N/A N/A self value hour 12 N/A N/A N/A get_period_names locale N/A self locale N/A period N/A format_frac_seconds N/A N/A self num N/A N/A N/A value N/A str N/A N/A self value microsecond N/A N/A N/A self format N/A N/A round N/A float N/A .%s value num N/A 10 num num N/A format_milliseconds_in_day N/A N/A self num N/A N/A N/A msecs N/A N/A N/A N/A N/A N/A self value microsecond 1000 N/A N/A N/A self value second 1000 N/A N/A N/A self value minute 60000 N/A N/A N/A self value hour 3600000 N/A N/A N/A self format msecs num N/A format_timezone N/A N/A self char num N/A N/A N/A width N/A N/A 3 4 short long N/A N/A max 3 num N/A N/A char z N/A N/A N/A get_timezone_name N/A self value width locale N/A self locale N/A N/A N/A char Z N/A N/A N/A get_timezone_gmt N/A self value width locale N/A self locale N/A N/A N/A char v N/A N/A N/A get_timezone_name N/A N/A self value tzinfo width locale N/A self locale N/A N/A N/A char V N/A N/A N/A num 1 N/A N/A N/A get_timezone_name N/A N/A self value tzinfo width uncommon True locale N/A self locale N/A N/A get_timezone_location N/A N/A self value tzinfo locale N/A self locale N/A format N/A N/A self value length N/A N/A N/A N/A N/A %%0%dd length value N/A get_day_of_year N/A N/A self date N/A None N/A N/A N/A date None N/A N/A date N/A self value N/A N/A N/A N/A date N/A N/A date replace month 1 day 1 days 1 N/A get_week_number N/A N/A self day_of_period day_of_week N/A None N/A N/A Return the number of the week of a day within a period. This may be
        the week number in a year or the week number in a month.

        Usually this will return a value equal to or greater than 1, but if the
        first week of the period is so short that it actually counts as the last
        week of the previous period, this function will return 0.

        >>> format = DateTimeFormat(date(2006, 1, 8), Locale.parse('de_DE'))
        >>> format.get_week_number(6)
        1

        >>> format = DateTimeFormat(date(2006, 1, 8), Locale.parse('en_US'))
        >>> format.get_week_number(6)
        2

        :param day_of_period: the number of the day in the period (usually
                              either the day of month or the day of year)
        :param day_of_week: the week day; if ommitted, the week day of the
                            current date is assumed
         N/A N/A day_of_week None N/A N/A day_of_week N/A N/A N/A self value weekday N/A first_day N/A N/A N/A N/A day_of_week N/A N/A self locale first_week_day day_of_period 1 7 N/A N/A first_day 0 N/A N/A first_day 7 N/A week_number N/A N/A N/A day_of_period first_day 1 7 N/A N/A N/A 7 first_day N/A N/A self locale min_week_days N/A N/A week_number 1 N/A week_number N/A N/A N/A PATTERN_CHARS N/A G y Y u Q q M L w W d D F g E e c a h H K k m s S A z Z v V N/A 1 2 3 4 5 None None None N/A 1 2 3 4 N/A 1 2 3 4 N/A 1 2 3 4 5 N/A 1 2 3 4 5 N/A 1 2 N/A 1 N/A 1 2 N/A 1 2 3 N/A 1 None N/A 1 2 3 4 5 N/A 1 2 3 4 5 N/A 1 3 4 5 N/A 1 N/A 1 2 N/A 1 2 N/A 1 2 N/A 1 2 N/A 1 2 N/A 1 2 None None N/A 1 2 3 4 N/A 1 2 3 4 N/A 1 4 N/A 1 4 parse_pattern N/A N/A pattern N/A N/A N/A Parse date, time, and datetime format patterns.

    >>> parse_pattern("MMMMd").format
    u'%(MMMM)s%(d)s'
    >>> parse_pattern("MMM d, yyyy").format
    u'%(MMM)s %(d)s, %(yyyy)s'

    Pattern can contain literal strings in single quotes:

    >>> parse_pattern("H:mm' Uhr 'z").format
    u'%(H)s:%(mm)s Uhr %(z)s'

    An actual single quote can be used by using two adjacent single quote
    characters:

    >>> parse_pattern("hh' o''clock'").format
    u"%(hh)s o'clock"

    :param pattern: the formatting pattern to parse
     N/A N/A N/A type pattern DateTimePattern N/A N/A pattern N/A result N/A N/A quotebuf None N/A charbuf N/A N/A fieldchar N/A N/A fieldnum N/A 0 append_chars N/A N/A N/A N/A N/A N/A N/A result append N/A N/A N/A N/A join charbuf replace % %% N/A N/A charbuf N/A N/A append_field N/A N/A N/A N/A N/A limit N/A PATTERN_CHARS N/A N/A fieldchar N/A 0 N/A N/A limit N/A N/A fieldnum N/A 0 limit N/A N/A N/A ValueError N/A Invalid length for field: %r N/A N/A fieldchar N/A 0 N/A fieldnum N/A 0 N/A N/A N/A result append N/A %%(%s)s N/A N/A fieldchar N/A 0 N/A fieldnum N/A 0 N/A N/A fieldchar N/A 0 N/A N/A fieldnum N/A 0 0 N/A N/A N/A idx char N/A enumerate N/A N/A pattern replace '' N/A N/A N/A quotebuf None N/A N/A N/A char ' N/A N/A N/A fieldchar N/A 0 N/A N/A N/A append_field N/A N/A charbuf N/A N/A N/A append_chars N/A quotebuf N/A N/A N/A N/A char PATTERN_CHARS N/A N/A charbuf N/A N/A N/A append_chars N/A N/A char N/A fieldchar N/A 0 N/A N/A N/A fieldnum N/A 0 1 N/A N/A N/A fieldchar N/A 0 N/A N/A N/A append_field N/A N/A fieldchar N/A 0 char N/A N/A fieldnum N/A 0 1 N/A N/A N/A fieldchar N/A 0 N/A N/A N/A append_field N/A N/A N/A charbuf append char N/A N/A N/A quotebuf None N/A N/A N/A char ' N/A N/A N/A N/A charbuf extend quotebuf N/A quotebuf None N/A N/A N/A N/A quotebuf append char N/A N/A fieldchar N/A 0 N/A N/A N/A append_field N/A N/A charbuf N/A N/A N/A append_chars N/A N/A DateTimePattern pattern N/A N/A N/A N/A join result replace ' N/A