server.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import logging
  2. import os
  3. from logging.config import dictConfig
  4. from flask import Flask, render_template
  5. from lakesuperior.config_parser import config
  6. from lakesuperior.endpoints.ldp import ldp
  7. from lakesuperior.endpoints.query import query
  8. fcrepo = Flask(__name__)
  9. fcrepo.config.update(config['flask'])
  10. dictConfig(config['logging'])
  11. logger = logging.getLogger(__name__)
  12. logger.info('Starting LAKEsuperior HTTP server.')
  13. ## Configure enpoint blueprints here. ##
  14. fcrepo.register_blueprint(ldp, url_prefix='/ldp')
  15. # Legacy endpoint. @TODO Deprecate.
  16. fcrepo.register_blueprint(ldp, url_prefix='/rest')
  17. fcrepo.register_blueprint(query, url_prefix='/query')
  18. # Initialize temporary folders.
  19. tmp_path = config['application']['store']['ldp_nr']['path'] + '/tmp'
  20. if not os.path.exists(tmp_path):
  21. os.makedirs(tmp_path)
  22. ## ROUTES ##
  23. @fcrepo.route('/', methods=['GET'])
  24. def index():
  25. '''
  26. Homepage.
  27. '''
  28. return render_template('index.html')
  29. @fcrepo.route('/debug', methods=['GET'])
  30. def debug():
  31. '''
  32. Debug page.
  33. '''
  34. raise RuntimeError()