chgksuite 0.26.0b10__py3-none-any.whl → 0.26.0b11__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
chgksuite/parser.py CHANGED
@@ -524,17 +524,30 @@ class ChgkParser:
524
524
  if element[0] == "question":
525
525
  try:
526
526
  num = regexes["question"].search(element[1])
527
- if num:
528
- self.structure.insert(_id, ["number", num.group(1)])
527
+ if num and num.group("number"):
528
+ self.structure.insert(_id, ["number", num.group("number")])
529
529
  except Exception as e:
530
530
  sys.stderr.write(
531
531
  f"exception at line 445 of parser: {type(e)} {e}\n"
532
532
  )
533
- # TODO: переделать корявую обработку авторки на нормальную
534
- before_replacement = element[1]
535
- element[1] = regexes[element[0]].sub("", element[1], 1)
533
+ if (
534
+ not num
535
+ and ("нулевой вопрос" in element[1].lower())
536
+ or ("разминочный вопрос" in element[1].lower())
537
+ ):
538
+ self.structure.insert(_id, ["number", "0"])
539
+ if element[0] == "question":
540
+ lines = element[1].split(SEP)
541
+ for i, line in enumerate(lines):
542
+ if regexes["question"].search(line):
543
+ lines[i] = regexes["question"].sub("", line, 1)
544
+ element[1] = SEP.join([x.strip() for x in lines if x.strip()])
545
+ else:
546
+ before_replacement = element[1]
547
+ element[1] = regexes[element[0]].sub("", element[1], 1)
536
548
  if element[1].startswith(SEP):
537
549
  element[1] = element[1][len(SEP) :]
550
+ # TODO: переделать корявую обработку авторки на нормальную
538
551
  if element[0] == "author" and "авторка:" in before_replacement.lower():
539
552
  element[1] = "!!Авторка" + element[1]
540
553
 
@@ -551,7 +564,7 @@ class ChgkParser:
551
564
  try:
552
565
  num = regexes["question"].search(element[1])
553
566
  if num:
554
- self.structure.insert(_id, ["number", num.group(1)])
567
+ self.structure.insert(_id, ["number", num.group("number")])
555
568
  except Exception as e:
556
569
  sys.stderr.write(
557
570
  f"exception at line 470 of parser: {type(e)} {e}\n"
@@ -559,7 +572,6 @@ class ChgkParser:
559
572
  element[1] = regexes["question"].sub("", element[1])
560
573
 
561
574
  # detect inner lists
562
-
563
575
  mo = {
564
576
  m for m in re.finditer(r"(\s+|^)(\d+)[\.\)]\s*(?!\d)", element[1], re.U)
565
577
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "tour": "^(#\\s+)?Т[Уу][Рр]\\s?№?\\s?([0-9IVXLCDM]*)([\\.:])?$",
3
3
  "tourrev": "^([0-9IVXLCDM]+)\\s[Тт][Уу][Рр]([\\.:])?$",
4
- "question": "П[Ыы][Тт][Аа][Нн][Ьь]?[Нн][Ее]\\s?[№N]?([0-9\\s]*)\\s?([\\.:]|\n|\r\n|$)",
4
+ "question": "П[Ыы][Тт][Аа][Нн][Ьь]?[Нн][Ее]\\s?[№N]?(?P<number>[0-9\\s]*)\\s?([\\.:]|\n|\r\n|$)",
5
5
  "handout": "Р[Аа][Зз][Дд][Аа][Тт]([Аа][Чч][Нн]|[Кк][Аа][Вв])[Ыы][\\s\\s][Мм][Аа][Тт][Ээ][Рр][Ыы][Яя][Лл][\\.:]",
6
6
  "answer": "А[Дд][Кк][Аа][Зз][Ыы]?\\s?[№N]?([0-9]+)?\\s?[\\.:]",
7
7
  "zachet": "З[Аа][Лл][Іі][Кк]\\s?[\\.:]",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "tour": "^(#\\s+)?(B[Ll][Oo][Cc][Kk]|R[Oo][Uu][Nn][Dd])\\s?№?\\s?([0-9IVXLCDM]*)([\\.:])?$",
3
3
  "tourrev": "^([0-9IVXLCDM]+)\\s(B[Ll][Oo][Cc][Kk]|R[Oo][Uu][Nn][Dd])([\\.:])?$",
4
- "question": "Q[Uu][Ee][Ss][Tt][Ii][Oo][Nn]\\s?[№N]?([0-9\\s]*)\\s?([\\.:]|\n|\r\n|$)",
4
+ "question": "Q[Uu][Ee][Ss][Tt][Ii][Oo][Nn]\\s?[№N]?(?P<number>[0-9\\s]*)\\s?([\\.:]|\n|\r\n|$)",
5
5
  "answer": "A[Nn][Ss][Ww][Ee][Rr]\\s?[№N]?([0-9]+)?\\s?[\\.:]",
6
6
  "handout": "^H[Aa][Nn][Dd][Oo][Uu][Tt][\\.:]",
7
7
  "zachet": "A[Cc][Ee][Pp][Tt]\\s?[\\.:]",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "tour": "^(#\\s+)?([0-9]+)\\s?[-–—]\\s?[Тт][Уу][Рр]\\s*$",
3
- "question": "([0-9]+)\\s?[-–—]\\s?\\sС[Ұұ][Рр][Аа][Ққ]([\\.:]|\n|\r\n|$)",
3
+ "question": "(?P<number>[0-9]+)\\s?[-–—]\\s?\\sС[Ұұ][Рр][Аа][Ққ]([\\.:]|\n|\r\n|$)",
4
4
  "handout": "^Ү[Лл][Ее][Сс][Тт][Іі][Рр][Уу][\\s\\s][Мм][Аа][Тт][Ее][Рр][Ии][Аа][Лл][Ыы][\\.:]",
5
5
  "answer": "Ж[Аа][Уу][Аа][Пп]\\s?[№N]?([0-9]+)?\\s?[\\.:]",
6
6
  "zachet": "Қ[Аа][Бб][Ыы][Лл][Дд][Аа][Нн][Аа][Тт][Ыы][Нн]\\s[Жж][Аа][Уу][Аа][Пп](\\([Тт][Аа][Рр]\\))?\\s?[\\.:]",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "tour": "^(#\\s+)?Т[Уу][Рр]\\s?№?\\s?([0-9IVXLCDM]*)([\\.:])?$",
3
3
  "tourrev": "^([0-9IVXLCDM]+|[Пп][Ее][Рр][Вв][Ыы][Йй]|[Вв][Тт][Оо][Рр][Оо][Йй]|[Тт][Рр][Ее][Тт][Ии][Йй]|[Чч][Ее][Тт][Вв][Ее][Рр][Тт][Ыы][Йй]|[Пп][Яя][Тт][Ыы][Йй]|[Шш][Ее][Сс][Тт][Оо][Йй]|[Сс][Ее][Дд][Ьь][Мм][Оо][Йй]|[Вв][Оо][Сс][Ьь][Мм][Оо][Йй]|[Дд][Ее][Вв][Яя][Тт][Ыы][Йй]|[Дд][Ее][Сс][Яя][Тт][Ыы][Йй])\\s[Тт][Уу][Рр]([\\.:])?$",
4
- "question": "В[Оо][Пп][Рр][Оо][Сс]\\s?[№N]?([0-9\\s]*)\\s?([\\.:]|\n|\r\n|$)",
4
+ "question": "^([Нн][Уу][Лл][Ее][Вв][Оо][Йй]|[Рр][Аа][Зз][Мм][Ии][Нн][Оо][Чч][Нн][Ыы][Йй])? ?[Вв][Оо][Пп][Рр][Оо][Сс]\\s?[№N]?(?P<number>[0-9\\s]*)\\s?([\\.:]|\n|\r\n|$)",
5
5
  "handout": "^Р[Аа][Зз][Дд][Аа][Тт][Оо][Чч][Нн][Ыы][Йй]\\s+[Мм][Аа][Тт][Ее][Рр][Ии][Аа][Лл][\\.:]",
6
6
  "answer": "О[Тт][Вв][Ее][Тт][Ыы]?\\s?[№N]?([0-9]+)?\\s?[\\.:]",
7
7
  "zachet": "З[Аа][Чч][ЕеЁё][Тт]\\s?[\\.:]",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "tour": "^(#\\s+)?R[Uu][Nn][Dd][Aa]\\s?№?\\s?([0-9IVXLCDM]*)([\\.:])?$",
3
3
  "tourrev": "^([0-9IVXLCDM]+)\\sR[Uu][Nn][Dd][Aa]([\\.:])?$",
4
- "question": "P[Ii][Tt][Aa][Nn][Jj][Ee]\\s?[№N]?([0-9\\s]*)\\s?([\\.:]|\n|\r\n|$)",
4
+ "question": "P[Ii][Tt][Aa][Nn][Jj][Ee]\\s?[№N]?(?P<number>[0-9\\s]*)\\s?([\\.:]|\n|\r\n|$)",
5
5
  "answer": "O[Dd][Gg][Oo][Vv][Oo][Rr]\\s?[№N]?([0-9]+)?\\s?[\\.:]",
6
6
  "handout": "^(M[Aa][Tt][Ee][Rr][Ii][Jj][Aa][Ll]|P[Oo][Dd][Ee][Ll][Jj][Ee][Nn][Oo])[\\.:]",
7
7
  "zachet": "P[Rr][Ii][Hh][Vv][Aa][Tt][Aa]\\s[Ss][Ee]\\s?[\\.:]",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "tour": "^(#\\s+)?Т[Уу][Рр]\\s?№?\\s?([0-9IVXLCDM]*)([\\.:])?$",
3
3
  "tourrev": "^([0-9IVXLCDM]+)\\s[Тт][Уу][Рр]([\\.:])?$",
4
- "question": "З[Аа][Пп][Ии][Тт][Аа][Нн][Нн][Яя]\\s?[№N]?([0-9\\s]*)\\s?([\\.:]|\n|\r\n|$)",
4
+ "question": "З[Аа][Пп][Ии][Тт][Аа][Нн][Нн][Яя]\\s?[№N]?(?P<number>[0-9\\s]*)\\s?([\\.:]|\n|\r\n|$)",
5
5
  "handout": "Р[Оо][Зз][Дд][Аа][Тт][Кк][Оо][Вв][Ии][Йй][\\s\\s][Мм][Аа][Тт][Ее][Рр][Іі][Аа][Лл][\\.:]",
6
6
  "answer": "В[Іі][Дд][Пп][Оо][Вв][Іі][Дд][Ьь]?\\s?[№N]?([0-9]+)?\\s?[\\.:]",
7
7
  "zachet": "З[Аа][Лл][Іі][Кк]\\s?[\\.:]",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "tour": "^(#\\s+)?([0-9]+)\\s?[-–—]\\s?[Тт][Уу][Рр]\\s*$",
3
- "question": "([0-9]+)\\s?[-–—]\\s?\\sС[Аа][Вв][Оо][Лл]([\\.:]|\n|\r\n|$)",
3
+ "question": "(?P<number>[0-9]+)\\s?[-–—]\\s?\\sС[Аа][Вв][Оо][Лл]([\\.:]|\n|\r\n|$)",
4
4
  "answer": "Ж[Аа][Вв][Оо][Бб]\\s?[№N]?([0-9]+)?\\s?[\\.:]",
5
5
  "handout": "Т[Аа][Рр][Ққ][Аа][Тт][Мм][Аа][\\s\\s][Мм][Аа][Тт][Ее][Рр][Ии][Аа][Лл][\\.:]",
6
6
  "zachet": "Қ[Аа][Бб][Уу][Лл]\\s?[\\.:]",
chgksuite/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.26.0b10"
1
+ __version__ = "0.26.0b11"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: chgksuite
3
- Version: 0.26.0b10
3
+ Version: 0.26.0b11
4
4
  Summary: A package for chgk automation
5
5
  Home-page: https://gitlab.com/peczony/chgksuite
6
6
  Author: Alexander Pecheny
@@ -2,11 +2,11 @@ chgksuite/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  chgksuite/__main__.py,sha256=0-_jfloveTW3SZYW5XEagbyaHKGCiDhGNgcLxsT_dMs,140
3
3
  chgksuite/cli.py,sha256=6mmd_TcGaBykW9tye9km6hp6STNF0LZzlleDRfOh4-o,40276
4
4
  chgksuite/common.py,sha256=VkOhoBA_P3qY5VgtvfrBjOsm5uVNL2s2Th2AhGB2pg8,11207
5
- chgksuite/parser.py,sha256=CXx7p-MZ75BpmgtaO53sq3U9OVR6wAeo0_GntI8pK5M,38360
5
+ chgksuite/parser.py,sha256=vouLNwSAoITBa7E8fye2Y0ZnN-WNapkoqW93qvpIkY0,39114
6
6
  chgksuite/parser_db.py,sha256=W1--OcDnx18mehH1T2ISHu3Saeq-9mqHo-xJopNySXI,11135
7
7
  chgksuite/trello.py,sha256=BG1Qb_W7Uu4o3Mfc_tK71ElU8ysdSplGlj_sAKfvUn4,14730
8
8
  chgksuite/typotools.py,sha256=Jdk65Wn_bXqpQtOT7PkBZyD2ZG1MBeeZFPMzcHEPkf4,12771
9
- chgksuite/version.py,sha256=a3axD55VIZso4_2Zx6fsyG63nRbiCKIcpl2QMABpnnQ,26
9
+ chgksuite/version.py,sha256=ibWtFzx4N9iZIKpM-hhKG9nm0d5VsBrsioedlZ33Dgg,26
10
10
  chgksuite/vulture_whitelist.py,sha256=P__p_X0zt10ivddIf81uyxsobV14vFg8uS2lt4foYpc,3582
11
11
  chgksuite/composer/__init__.py,sha256=MAOVZIYXmZmD6nNQSo9DueV6b5RgxF7_HGeLvsAhMJs,6490
12
12
  chgksuite/composer/chgksuite_parser.py,sha256=MFcLUWbccMqo3OYEuaAIA0loEvWM_PNS9vR7c1z_c60,8843
@@ -41,19 +41,19 @@ chgksuite/resources/labels_ua.toml,sha256=sUZdwwpkddb_56bmrZyO56cDrm68ft_JoMqR38
41
41
  chgksuite/resources/labels_uz.toml,sha256=uRnf6tjBf1rYpWjt675ecB2MPn_Ohz-Hj6XDYNPpe3o,609
42
42
  chgksuite/resources/labels_uz_cyr.toml,sha256=ztqHItwhJjfBTOIj_vA1hrneYo8s5gvZkkSr0k9S3rs,814
43
43
  chgksuite/resources/pptx_config.toml,sha256=pbdQpZTBZajfXxf9Ej6jFQv8luA9_h2Lsihx9hs2jkI,570
44
- chgksuite/resources/regexes_by.json,sha256=43K_jjNocNrx75OcSlVxg2zHNJKoHwzceFbtfZgM0Vo,1296
45
- chgksuite/resources/regexes_en.json,sha256=v1RPW8Oj0UiS_86ieYjpFOGm3qN5-OlM-qgAqa6oCy4,1003
46
- chgksuite/resources/regexes_kz_cyr.json,sha256=QW6MxkPjSRNU-KPAAqh4jwFZ--ckJo9EOn_p30gihiQ,1679
47
- chgksuite/resources/regexes_ru.json,sha256=Oxp2Y74YdJcwgL1Dr9ZBYTvaxlzoCO7E_CpNy0NDm1A,2058
48
- chgksuite/resources/regexes_sr.json,sha256=SiDDtxWND41XOBvHM4MgSXcogh7bRTqsY3JbJPT2wF4,925
49
- chgksuite/resources/regexes_ua.json,sha256=IXtJtoUY15OoBu5Y5yW6adhJUhsDRkwfxWsPYIrbgPA,1330
50
- chgksuite/resources/regexes_uz_cyr.json,sha256=mIvWjyZZXQ3lr_ntuC7-ybknnYJxSSQEKxqnGluTvow,1106
44
+ chgksuite/resources/regexes_by.json,sha256=ps_dLYxgPnZRCUkLo_ti1tsZAWZNIf48UobRvQ88z6E,1306
45
+ chgksuite/resources/regexes_en.json,sha256=XdpKRlT2azLglFeXRKv3BdZKHDem2qXFbwRixiUVmbU,1013
46
+ chgksuite/resources/regexes_kz_cyr.json,sha256=wkkf_Gll07i9V1QLdexKG2DjxAhV9ZZOWMjvbX7Tjvg,1689
47
+ chgksuite/resources/regexes_ru.json,sha256=3OrNLq6LkIB2rVErPRYYHrljrKK-mOdna1zfXCaIUK0,2187
48
+ chgksuite/resources/regexes_sr.json,sha256=S8IRDUh3E4y3G8Cavb4F6gPDfHzOk2HH3RXy_D32RFw,935
49
+ chgksuite/resources/regexes_ua.json,sha256=vLUP9nRsVB7nPk4Ea3CpC7zcg57N62Uf4A24YJjRMFA,1340
50
+ chgksuite/resources/regexes_uz_cyr.json,sha256=GlGkA6ys2e1-9xPcgOL8Sy9ZuDZHQZXp_p_MvGJirMU,1116
51
51
  chgksuite/resources/template.docx,sha256=Do29TAsg3YbH0rRSaXhVzKEoh4pwXkklW_idWA34HVE,11189
52
52
  chgksuite/resources/template.pptx,sha256=hEFWqE-yYpwZ8ejrMCJIPEyoMT3eDqaqtiEeQ7I4fyk,29777
53
53
  chgksuite/resources/trello.json,sha256=M5Q9JR-AAJF1u16YtNAxDX-7c7VoVTXuq4POTqYvq8o,555
54
- chgksuite-0.26.0b10.dist-info/licenses/LICENSE,sha256=_a1yfntuPmctLsuiE_08xMSORuCfGS8X5hQph2U_PUw,1081
55
- chgksuite-0.26.0b10.dist-info/METADATA,sha256=3Dle9cm_nzKRc5ZwetXoqa390v1emHoV1cBoF1m3Rk4,1342
56
- chgksuite-0.26.0b10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
57
- chgksuite-0.26.0b10.dist-info/entry_points.txt,sha256=lqjX6ULQZGDt0rgouTXBuwEPiwKkDQkSiNsT877A_Jg,54
58
- chgksuite-0.26.0b10.dist-info/top_level.txt,sha256=cSWiRBOGZW9nIO6Rv1IrEfwPgV2ZWs87QV9wPXeBGqM,10
59
- chgksuite-0.26.0b10.dist-info/RECORD,,
54
+ chgksuite-0.26.0b11.dist-info/licenses/LICENSE,sha256=_a1yfntuPmctLsuiE_08xMSORuCfGS8X5hQph2U_PUw,1081
55
+ chgksuite-0.26.0b11.dist-info/METADATA,sha256=wSSFZjHl01qih4-d1kdY8g0R1TaSE3l2VnAIGct-DOE,1342
56
+ chgksuite-0.26.0b11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
57
+ chgksuite-0.26.0b11.dist-info/entry_points.txt,sha256=lqjX6ULQZGDt0rgouTXBuwEPiwKkDQkSiNsT877A_Jg,54
58
+ chgksuite-0.26.0b11.dist-info/top_level.txt,sha256=cSWiRBOGZW9nIO6Rv1IrEfwPgV2ZWs87QV9wPXeBGqM,10
59
+ chgksuite-0.26.0b11.dist-info/RECORD,,