<s> from functools import wraps <EOL> from flask import g , redirect , url_for , request , flash <EOL> def login_required ( func ) : <EOL> @ wraps ( func ) <EOL> def decorated_function ( * args , ** kwargs ) : <EOL> if not g . user : <EOL> flash ( '<STR_LIT>' , '<STR_LIT:error>' ) <EOL> return redirect ( url_for ( '<STR_LIT>' , next = request . url ) ) <EOL> return func ( * args , ** kwargs ) <EOL> return decorated_function <EOL> def iter_types ( kind , result ) : <EOL> if kind == '<STR_LIT>' : <EOL> for item in result : <EOL> yield { '<STR_LIT:name>' : item [ '<STR_LIT:name>' ] , <EOL> '<STR_LIT>' : item . get ( '<STR_LIT>' , item . get ( '<STR_LIT>' ) ) } <EOL> elif kind == '<STR_LIT>' : <EOL> yield { '<STR_LIT:name>' : result [ '<STR_LIT>' ] , '<STR_LIT>' : <NUM_LIT:1> } <EOL> for item in result [ '<STR_LIT>' ] : <EOL> yield item <EOL> if item . get ( '<STR_LIT>' ) : <EOL> yield { '<STR_LIT:name>' : item [ '<STR_LIT>' ] , '<STR_LIT>' : <NUM_LIT:1> } <EOL> elif kind == '<STR_LIT>' : <EOL> yield { '<STR_LIT:name>' : result [ '<STR_LIT>' ] [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' : <NUM_LIT:1> , <EOL> '<STR_LIT>' : True } <EOL> for item in result [ '<STR_LIT>' ] : <EOL> item [ '<STR_LIT>' ] = True <EOL> yield item <EOL> for item in result [ '<STR_LIT>' ] : <EOL> item [ '<STR_LIT>' ] = True <EOL> yield item <EOL> elif kind == '<STR_LIT>' : <EOL> for item in result : <EOL> if item . get ( '<STR_LIT:name>' ) : <EOL> yield item <EOL> elif kind == '<STR_LIT>' : <EOL> for item in result [ '<STR_LIT>' ] : <EOL> item [ '<STR_LIT>' ] = item . get ( '<STR_LIT>' , <NUM_LIT:1> ) <EOL> yield item <EOL> else : <EOL> for item in result : <EOL> item [ '<STR_LIT>' ] = item . get ( '<STR_LIT>' , <NUM_LIT:1> ) <EOL> yield item </s>
