domain.py 935 B

1234567891011121314151617181920212223242526
  1. from homepagebuilder.interfaces import config, Logger
  2. from homepagebuilder.core.types import Context
  3. _PROTOCOL = config('NewsHomepage.Protocol', 'https', str)
  4. _DOMAIN = config('NewsHomepage.Domain', 'mcnews.meloong.com', str)
  5. _PORT = str(config('NewsHomepage.Port', '443', (str, int)))
  6. logger = Logger('Domain')
  7. def _get_disp_port():
  8. if config('NewsHomepage.HidePort', True, bool):
  9. return ''
  10. if _PROTOCOL == 'http' and _PORT == '80':
  11. return ''
  12. if _PROTOCOL == 'https' and _PORT == '443':
  13. return ''
  14. return ':' + _PORT
  15. _DISP_PORT_STR = _get_disp_port()
  16. def get_doamin_url(context:Context):
  17. display_port = _DISP_PORT_STR
  18. if config('NewsHomepage.UseRuntimePort', False):
  19. display_port = ':' + str(context.builder.get_data('server.port'))
  20. if display_port != '' and not display_port:
  21. logger.warning('无效的端口')
  22. return f"{_PROTOCOL}://{_DOMAIN}{display_port}/"