placeholder_func.py 775 B

12345678910111213141516171819202122232425262728293031
  1. # -*- coding: utf-8 -*-
  2. """
  3. @author: yq
  4. @time: 2024/11/8
  5. @desc: 处理占位符的函数
  6. """
  7. import re
  8. from .utils import f_get_date
  9. def _fill_date_placeholder(sql: str):
  10. date_placeholder = re.findall(r"{{date.*?}}", sql)
  11. if date_placeholder:
  12. date_placeholder = date_placeholder[0]
  13. offset = date_placeholder.replace("{{date", "").replace("}}", "")
  14. if len(offset) > 0:
  15. symbol = offset[0:1]
  16. offset = int(offset[1:])
  17. if "-" == symbol:
  18. offset = -offset
  19. else:
  20. offset = 0
  21. date_new = f_get_date(offset)
  22. sql = sql.replace(date_placeholder, repr(date_new))
  23. return sql
  24. def f_fill_placeholder(sql: str):
  25. sql = _fill_date_placeholder(sql)
  26. return sql