Advertisement
nolog1n

Untitled

Nov 1st, 2019
529
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.52 KB | None | 0 0
  1. case_str = r"""'за 01/01/2017' : [PartialDate(year=2017, month=1, day=1)],
  2. 'за 01-01-2017' : [PartialDate(year=2017, month=1, day=1)],
  3. 'за 31.12.2018' : [PartialDate(year=2018, month=12, day=31)],
  4. 'год 2017' : [PartialDate(year=2017)],
  5. '1 неделя 1 полугодия 2017 года' : [PartialDate(year=2017, halfyear=1, week=1)],
  6. 'за 32 неделю 2017 года' : [PartialDate(year=2017, week=32)],
  7. '2 марта 2016 года' : [PartialDate(year=2016, month=3, day=2)],
  8. '2 марта 2016 г' : [PartialDate(year=2016, month=3, day=2)],
  9. 'июнь 2016 г.' : [PartialDate(year=2016, month=6)],
  10. 'в августе 2016 г.' : [PartialDate(year=2016, month=8)],
  11. 'за 1, 2 и 3 число октября 2018 года' : [PartialDate(year=2018, month=10, day=1),
  12. PartialDate(year=2018, month=10, day=2),
  13. PartialDate(year=2018, month=10, day=3)],
  14. 'за октябрь и ноябрь 2018 года' : [PartialDate(year=2018, month=10),
  15. PartialDate(year=2018, month=11)],
  16. 'за октябрь, ноябрь, декабрь 2018 года' : [PartialDate(year=2018, month=10),
  17. PartialDate(year=2018, month=11),
  18. PartialDate(year=2018, month=12)],
  19. 'за 1, 2 и 3 квартал 2018 года' : [PartialDate(year=2018, quarter=1),
  20. PartialDate(year=2018, quarter=2),
  21. PartialDate(year=2018, quarter=3)],
  22. 'за 1 и 2 квартал 2017 и 2016 года' : [PartialDate(year=2016, quarter=1),
  23. PartialDate(year=2016, quarter=2),
  24. PartialDate(year=2017, quarter=1),
  25. PartialDate(year=2017, quarter=2)],
  26. 'с 01.01.2017 по 02.02.2018' : [Period(PartialDate(year=2017, month=1, day=1),
  27. PartialDate(year=2018, month=2, day=2))],
  28. 'с 1 по 2 октября 2018' : [Period(PartialDate(year=2018, month=10, day=1),
  29. PartialDate(year=2018, month=10, day=2))],
  30. 'с 1 по 12 неделю 2018' : [Period(PartialDate(year=2018, week=1),
  31. PartialDate(year=2018, week=12))],
  32. 'с мая по октябрь 2018' : [Period(PartialDate(year=2018, month=5),
  33. PartialDate(year=2018, month=10))],
  34. 'с мая 2016 по октябрь 2018' : [Period(PartialDate(year=2016, month=5),
  35. PartialDate(year=2018, month=10))],
  36. 'январь - август 2017 года' : [Period(PartialDate(year=2017, month=1),
  37. PartialDate(year=2017, month=8))],
  38. '01.01.2017 - 31.12.2018' : [Period(PartialDate(year=2017, month=1, day=1),
  39. PartialDate(year=2018, month=12, day=31))],
  40. '2015-2018' : [Period(PartialDate(year=2015), PartialDate(year=2018))],
  41. 'за последний месяц 2017 года' :[PartialDate(year=2017, month=12)],
  42.  
  43. #что-то среднее
  44. 'за позавчера' : [RelativeDate(day=-2)],
  45. 'за вчерашний день' : [RelativeDate(day=-1)],
  46. 'за сегодня' : [PartialDate(year=date.today().year, month=date.today().month, day=date.today().day)],
  47. 'завтра' : [RelativeDate(day=1)],
  48. 'послезавтра' : [RelativeDate(day=2)],
  49. 'за послезавтрашний день' : [RelativeDate(day=2)],
  50. 'с 1 по 3 квартал 2018' : [Period(PartialDate(year=2018, quarter=1),
  51. PartialDate(year=2018, quarter=3))],
  52. 'с позавчера по сегодня' : [Period(RelativeDate(day=-2),
  53. PartialDate(year=date.today().year, month=date.today().month, day=date.today().day))],
  54. 'с позавчерашнего по завтрашний день' : [Period(RelativeDate(day=-2),
  55. RelativeDate(day=1))],
  56. 'за текущий год' : [PartialDate(year=date.today().year)],
  57. 'за текущий месяц' : [PartialDate(month=date.today().month)],
  58. 'на этот месяц' : [PartialDate(month=date.today().month, year=date.today().year)],
  59. 'на прошлый год' : [RelativeDate(year=-1)],
  60. 'на прошлые 2 года' : [Period(RelativeDate(year=-2),
  61. PartialDate(year=date.today().year))],
  62. 'на предыдущие 5 лет' : [Period(RelativeDate(year=-5),
  63. PartialDate(year=date.today().year))],
  64. 'на предыдущие 5 месяцев' : [Period(RelativeDate(month=-5), PartialDate(year=date.today().year, month=date.today().month))],
  65. 'месяц назад' : [RelativeDate(month=-1)],
  66. 'на год вперед' : [RelativeDate(year=1)],
  67. 'на 2 месяца вперед' : [RelativeDate(month=2)],
  68. 'на неделю вперед' : [RelativeDate(week=1)],
  69. '5 лет назад' : [RelativeDate(year=-5)],
  70. 'за последние 3 года' : [Period(RelativeDate(year=-3),
  71. PartialDate(year=date.today().year))],
  72. 'за прошлый и текущий год' : [RelativeDate(year=-1),
  73. PartialDate(year=date.today().year)],
  74. 'в этом и том году' : [PartialDate(year=date.today().year), RelativeDate(year=-1)],
  75. 'с октября 2016 года' : [Period(PartialDate(year=2016, month=10),
  76. PartialDate(year=date.today().year, month=date.today().month))],
  77. 'с первого по последний месяц текущего года' : [Period(PartialDate(year=date.today().year, month=1),
  78. PartialDate(year=date.today().year, month=12))],
  79. 'с прошлого по текущий день': [Period(RelativeDate(day=-1), PartialDate(year=date.today().year, month=date.today().month, day=date.today().day))],
  80. 'за прошедшие 3 года' : [Period(RelativeDate(year=-3), PartialDate(year=date.today().year))],
  81. 'за предыдущие 2 месяца' : [Period(RelativeDate(month=-2),
  82. PartialDate(month=date.today().month))]"""
  83.  
  84. def extract_cases():
  85. import re
  86. cases = re.findall(re.compile(r"('.*?')"), case_str)
  87. answers = re.findall(re.compile(r"\[.*?\]"), case_str)
  88. for case, answer in zip(cases, answers):
  89. print(case)
  90. print(answer)
  91.  
  92. if __name__ == '__main__':
  93. extract_cases()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement