ClavinJune

cv-flask.py

Aug 30th, 2018
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.99 KB | None | 0 0
  1. #! /usr/bin/python3.6
  2. import os, sys
  3.  
  4. subs = ['models', 'resources', 'utilities']
  5. app_file = '''from flask import Flask
  6. from flask_restful import Api, Resource
  7.  
  8. app = Flask(__name__)
  9. api = Api(app)
  10.  
  11. @app.route('/', methods=['GET'])
  12. def index():
  13.  return 'Hello, World!' '''
  14.  
  15. def usage() -> None:
  16.   print('''  ______     __   __ _           _
  17. / ___\ \  / /  / _| | __ _ ___| | __
  18. | |    \ \ / /  | |_| |/ _` / __| |/ /
  19. | |___  \ V /   |  _| | (_| \__ \  <  Darkitsune
  20. \____|  \_/    |_| |_|\__,_|___/_|\_\ v1.0.0
  21.  
  22. Usage: cv-flask [ module | package ] [ name ]
  23. Options:
  24.  module:       creates new single module of Flask-RESTful
  25.  package:      creates new package module of Flask-RESTful
  26. ''')
  27.   sys.exit(2)
  28.  
  29. def make_package(name: str) -> str:
  30.   run_file = '''from {} import app
  31.  
  32. if __name__ == '__main__':
  33.  app.run(debug=True, port=5000)'''.format(name)
  34.   base = './flask-project/{}'.format( name)
  35.  
  36.   try:
  37.     for sub in subs:
  38.       folder = '{}/{}'.format(base, sub)
  39.       os.makedirs(folder)
  40.       file = open('{}/__init__.py'.format(folder), 'w')
  41.       file.close()
  42.  
  43.     file = open('./flask-project/run.py', 'w')
  44.     file.write(run_file)
  45.     file.close()
  46.  
  47.     file = open('./flask-project/{}/__init__.py'.format(name), 'w')
  48.     file.write(app_file)
  49.     file.close()
  50.     return 'Flask Package created!'
  51.   except:
  52.     return 'File/folder already exists!'
  53.  
  54. def make_module(name: str) -> str:
  55.   try:
  56.     for sub in subs:
  57.       folder = './{}/{}'.format(name, sub)
  58.       os.makedirs(folder)
  59.       file = open('{}/__init__.py'.format(folder), 'w')
  60.       file.close()
  61.  
  62.     file = open('./{}/app.py'.format(name), 'w')
  63.     file.write(app_file)
  64.     file.close()
  65.     return 'Flask Package created!'
  66.   except:
  67.     return 'File/folder already exists!'
  68.  
  69. if __name__ == '__main__':
  70.   if len(sys.argv) != 3:
  71.     usage()
  72.  
  73.   if sys.argv[1] == 'module':
  74.     make_module(sys.argv[2])
  75.   elif sys.argv[1] == 'package':
  76.     make_package(sys.argv[2])
  77.   else:
  78.     usage()
Add Comment
Please, Sign In to add comment