<s> import os <EOL> from string import Template <EOL> _template = Template ( """<STR_LIT>""" ) <EOL> _endpoints = [ <EOL> { <EOL> '<STR_LIT:name>' : '<STR_LIT:list>' , <EOL> '<STR_LIT>' : '<STR_LIT:GET>' , <EOL> '<STR_LIT:args>' : None , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT:data>' : None , <EOL> '<STR_LIT>' : True <EOL> } , <EOL> { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT:GET>' , <EOL> '<STR_LIT:args>' : '<STR_LIT:id>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:data>' : None , <EOL> '<STR_LIT>' : False <EOL> } , <EOL> { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT:POST>' , <EOL> '<STR_LIT:args>' : '<STR_LIT:data>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT:data>' : '<STR_LIT:data>' , <EOL> '<STR_LIT>' : False <EOL> } , <EOL> { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:args>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:data>' : '<STR_LIT:data>' , <EOL> '<STR_LIT>' : False <EOL> } , <EOL> { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:args>' : '<STR_LIT:id>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:data>' : None , <EOL> '<STR_LIT>' : False <EOL> } , <EOL> ] <EOL> def generate_service ( directory , name = None , url = None , plural = None ) : <EOL> if not name : <EOL> name = raw_input ( "<STR_LIT>" ) <EOL> if not url : <EOL> url = raw_input ( "<STR_LIT>" ) <EOL> if not plural : <EOL> plural = raw_input ( "<STR_LIT>" ) <EOL> endpoints = [ ] <EOL> service = os . path . join ( "<STR_LIT>" , "<STR_LIT>" , name . lower ( ) + "<STR_LIT>" ) <EOL> with open ( os . path . join ( directory , '<STR_LIT>' , service ) , '<STR_LIT:w>' ) as f : <EOL> f . write ( """<STR_LIT>""" % name . title ( ) ) <EOL> for method in _endpoints : <EOL> title = name . title ( ) <EOL> if method [ '<STR_LIT:data>' ] : <EOL> dataline = "<STR_LIT>" <EOL> else : <EOL> dataline = '<STR_LIT>' <EOL> if method [ '<STR_LIT>' ] : <EOL> extensions = method [ '<STR_LIT>' ] <EOL> else : <EOL> extensions = "<STR_LIT>" <EOL> if method [ '<STR_LIT:args>' ] : <EOL> arguments = method [ '<STR_LIT:args>' ] <EOL> else : <EOL> arguments = "<STR_LIT>" <EOL> if method [ '<STR_LIT>' ] : <EOL> title = plural . title ( ) <EOL> serv = _template . substitute ( <EOL> name = method [ '<STR_LIT:name>' ] , <EOL> title = title , <EOL> args = arguments , <EOL> method = method [ '<STR_LIT>' ] , <EOL> url = url , <EOL> ext = extensions , <EOL> dataline = dataline <EOL> ) <EOL> endpoints . append ( serv ) <EOL> f . write ( '<STR_LIT>' . join ( endpoints ) ) <EOL> f . write ( """<STR_LIT>""" ) </s>
