Redprint.py 601 B

12345678910111213141516171819202122232425
  1. """
  2. Redprint -
  3. auther: tanlie
  4. date: 2026/8/23
  5. """
  6. class Redprint:
  7. def __init__(self, name):
  8. self.name = name
  9. self.mound = []
  10. def route(self, rule, **options):
  11. def decorator(f):
  12. self.mound.append((f, rule, options))
  13. return f
  14. return decorator
  15. def register(self, bp, url_prefix=None):
  16. if url_prefix is None:
  17. url_prefix = '/' + self.name
  18. for f, rule, options in self.mound:
  19. endpoint = options.pop('endpoint', f.__name__)
  20. bp.add_url_rule(url_prefix + rule, endpoint, f, **options)