فهرست منبع

判断题更新

莺声燕语 2 سال پیش
والد
کامیت
0ede7f89ba
8فایلهای تغییر یافته به همراه253 افزوده شده و 214 حذف شده
  1. 185 180
      .idea/workspace.xml
  2. 2 2
      configs.py
  3. 35 13
      structure/danti_structure.py
  4. 5 5
      structure/dati2slave.py
  5. 2 1
      structure/option.py
  6. 2 2
      structure/structure_main.py
  7. 2 2
      utils/item_type_line.py
  8. 20 9
      utils/ruku_opera.py

+ 185 - 180
.idea/workspace.xml

@@ -3,9 +3,13 @@
   <component name="ChangeListManager">
     <list default="true" id="264b59ce-0122-420f-a5d3-3ffa8b015ccb" name="Default Changelist" comment="">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/configs.py" beforeDir="false" afterPath="$PROJECT_DIR$/configs.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/structure/danti_structure.py" beforeDir="false" afterPath="$PROJECT_DIR$/structure/danti_structure.py" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/structure/dati2slave.py" beforeDir="false" afterPath="$PROJECT_DIR$/structure/dati2slave.py" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/structure/option.py" beforeDir="false" afterPath="$PROJECT_DIR$/structure/option.py" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/structure/structure_main.py" beforeDir="false" afterPath="$PROJECT_DIR$/structure/structure_main.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utils/item_type_line.py" beforeDir="false" afterPath="$PROJECT_DIR$/utils/item_type_line.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utils/ruku_opera.py" beforeDir="false" afterPath="$PROJECT_DIR$/utils/ruku_opera.py" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -34,8 +38,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/structure/structure_main.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="476">
-              <caret line="225" column="41" lean-forward="true" selection-start-line="225" selection-start-column="41" selection-end-line="225" selection-end-column="41" />
+            <state relative-caret-position="275">
+              <caret line="142" column="29" lean-forward="true" selection-start-line="142" selection-start-column="29" selection-end-line="142" selection-end-column="29" />
               <folding>
                 <element signature="e#47#72#0" expanded="true" />
                 <element signature="e#4704#4745#0" />
@@ -45,22 +49,10 @@
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/structure/three_parse_structure.py">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="118">
-              <caret line="53" selection-start-line="53" selection-end-line="53" />
-              <folding>
-                <element signature="e#241#278#0" expanded="true" />
-              </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/utils/pic_pos_judge.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="79">
+            <state relative-caret-position="2176">
               <caret line="64" selection-start-line="64" selection-end-line="64" />
               <folding>
                 <marker date="1655779633177" expanded="true" signature="95:100" ph="..." />
@@ -70,62 +62,61 @@
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/structure/final_structure.py">
+        <entry file="file://$PROJECT_DIR$/structure/stems_structure.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="105">
-              <caret line="85" selection-start-line="85" selection-end-line="85" />
+            <state relative-caret-position="1190">
+              <caret line="37" column="59" selection-start-line="37" selection-start-column="59" selection-end-line="37" selection-end-column="59" />
               <folding>
-                <element signature="e#11#20#0" expanded="true" />
+                <element signature="e#3569#3576#0" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/structure/option.py">
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/structure/dati2slave.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-1916">
-              <caret line="87" column="14" lean-forward="true" selection-start-line="87" selection-start-column="14" selection-end-line="87" selection-end-column="14" />
+            <state relative-caret-position="99">
+              <caret line="172" column="38" lean-forward="true" selection-start-line="172" selection-start-column="38" selection-end-line="172" selection-end-column="38" />
               <folding>
-                <element signature="e#46#59#0" expanded="true" />
+                <element signature="e#46#55#0" expanded="true" />
+                <element signature="e#5987#6021#0" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/structure/dati2slave.py">
+        <entry file="file://$PROJECT_DIR$/structure/final_structure.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-179">
-              <caret line="155" column="51" lean-forward="true" selection-start-line="155" selection-start-column="51" selection-end-line="155" selection-end-column="51" />
+            <state relative-caret-position="238">
+              <caret line="94" column="7" selection-start-line="94" selection-start-column="7" selection-end-line="94" selection-end-column="7" />
               <folding>
-                <element signature="e#46#55#0" expanded="true" />
-                <element signature="e#5669#5703#0" />
-                <element signature="e#12406#12434#0" />
+                <element signature="e#11#20#0" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/structure/ans_structure.py">
+        <entry file="file://$PROJECT_DIR$/configs.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="339">
-              <caret line="371" column="41" selection-start-line="371" selection-start-column="41" selection-end-line="371" selection-end-column="41" />
+            <state relative-caret-position="191">
+              <caret line="111" column="59" selection-start-line="111" selection-start-column="59" selection-end-line="111" selection-end-column="59" />
               <folding>
-                <element signature="e#47#56#0" expanded="true" />
+                <element signature="e#46#60#0" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/structure/danti_structure.py">
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/utils/ruku_opera.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="245">
-              <caret line="91" column="31" lean-forward="true" selection-start-line="91" selection-start-column="31" selection-end-line="91" selection-end-column="31" />
+            <state relative-caret-position="314">
+              <caret line="507" column="16" lean-forward="true" selection-start-line="507" selection-start-column="16" selection-end-line="507" selection-end-column="16" />
               <folding>
-                <element signature="e#64#73#0" expanded="true" />
+                <element signature="e#24#46#0" expanded="true" />
               </folding>
             </state>
           </provider>
@@ -134,8 +125,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/utils/washutil.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="133">
-              <caret line="605" column="47" lean-forward="true" selection-start-line="605" selection-start-column="47" selection-end-line="605" selection-end-column="47" />
+            <state relative-caret-position="-353">
+              <caret line="736" column="4" selection-start-line="736" selection-start-column="4" selection-end-line="736" selection-end-column="4" />
               <folding>
                 <element signature="e#138#153#0" expanded="true" />
               </folding>
@@ -146,7 +137,7 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/server.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="159">
+            <state relative-caret-position="280">
               <caret line="148" column="27" lean-forward="true" selection-start-line="148" selection-start-column="27" selection-end-line="148" selection-end-column="27" />
               <folding>
                 <element signature="e#105#118#0" expanded="true" />
@@ -155,6 +146,18 @@
           </provider>
         </entry>
       </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/structure/danti_structure.py">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="171">
+              <caret line="16" column="46" lean-forward="true" selection-start-line="16" selection-start-column="46" selection-end-line="16" selection-end-column="46" />
+              <folding>
+                <element signature="e#64#73#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
     </leaf>
   </component>
   <component name="FileTemplateManagerImpl">
@@ -166,17 +169,10 @@
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>)*?</find>
-      <find>n</find>
-      <find>btt</find>
-      <find>字段有问题</find>
-      <find>t = 0</find>
-      <find>convert_huanhang</find>
       <find>item_id</find>
       <find>tr</find>
       <find>callback_user</find>
       <find>&lt;td</find>
-      <find>answer_type</find>
       <find>&quot;#&quot;</find>
       <find>is_danti</find>
       <find>选项格式不正确</find>
@@ -196,6 +192,13 @@
       <find>table</find>
       <find>见解析</find>
       <find>br</find>
+      <find>入库失败</find>
+      <find>answer_type</find>
+      <find>slave2regroup</find>
+      <find>subject</find>
+      <find>判断题</find>
+      <find>12</find>
+      <find>正确</find>
     </findStrings>
     <replaceStrings>
       <replace>cur_type</replace>
@@ -261,23 +264,23 @@
         <option value="$PROJECT_DIR$/svg_data1.pickle" />
         <option value="$PROJECT_DIR$/struct_items1.pickle" />
         <option value="$PROJECT_DIR$/utils/ruku_opera2.py" />
-        <option value="$PROJECT_DIR$/utils/item_type_line.py" />
         <option value="$PROJECT_DIR$/utils/ruku_test.py" />
         <option value="$PROJECT_DIR$/structure/stems_structure.py" />
         <option value="$PROJECT_DIR$/structure/final_structure.py" />
         <option value="$PROJECT_DIR$/structure/three_parse_structure.py" />
         <option value="$PROJECT_DIR$/utils/pic_pos_judge.py" />
-        <option value="$PROJECT_DIR$/utils/ruku_opera.py" />
         <option value="$PROJECT_DIR$/server.py" />
-        <option value="$PROJECT_DIR$/structure/danti_structure.py" />
-        <option value="$PROJECT_DIR$/configs.py" />
         <option value="$PROJECT_DIR$/utils/html_again_parse.py" />
         <option value="$PROJECT_DIR$/ceshi.py" />
         <option value="$PROJECT_DIR$/utils/washutil.py" />
         <option value="$PROJECT_DIR$/structure/ans_structure.py" />
+        <option value="$PROJECT_DIR$/utils/item_type_line.py" />
+        <option value="$PROJECT_DIR$/structure/danti_structure.py" />
         <option value="$PROJECT_DIR$/structure/option.py" />
-        <option value="$PROJECT_DIR$/structure/dati2slave.py" />
         <option value="$PROJECT_DIR$/structure/structure_main.py" />
+        <option value="$PROJECT_DIR$/configs.py" />
+        <option value="$PROJECT_DIR$/structure/dati2slave.py" />
+        <option value="$PROJECT_DIR$/utils/ruku_opera.py" />
       </list>
     </option>
   </component>
@@ -288,10 +291,10 @@
     <sorting>DEFINITION_ORDER</sorting>
   </component>
   <component name="ProjectFrameBounds" extendedState="6">
-    <option name="x" value="-8" />
-    <option name="y" value="-8" />
-    <option name="width" value="1936" />
-    <option name="height" value="1056" />
+    <option name="x" value="1" />
+    <option name="y" value="1" />
+    <option name="width" value="1678" />
+    <option name="height" value="1008" />
   </component>
   <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
   <component name="ProjectView">
@@ -307,6 +310,16 @@
               <item name="new_tiku_structure_v3_sci" type="b2602c69:ProjectViewProjectNode" />
               <item name="new_tiku_structure_v3_sci" type="462c0819:PsiDirectoryNode" />
             </path>
+            <path>
+              <item name="new_tiku_structure_v3_sci" type="b2602c69:ProjectViewProjectNode" />
+              <item name="new_tiku_structure_v3_sci" type="462c0819:PsiDirectoryNode" />
+              <item name="logs" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="new_tiku_structure_v3_sci" type="b2602c69:ProjectViewProjectNode" />
+              <item name="new_tiku_structure_v3_sci" type="462c0819:PsiDirectoryNode" />
+              <item name="structure" type="462c0819:PsiDirectoryNode" />
+            </path>
             <path>
               <item name="new_tiku_structure_v3_sci" type="b2602c69:ProjectViewProjectNode" />
               <item name="new_tiku_structure_v3_sci" type="462c0819:PsiDirectoryNode" />
@@ -322,7 +335,7 @@
     <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
     <property name="WebServerToolWindowFactoryState" value="false" />
     <property name="ignore_missing_gitignore" value="true" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/../new_tiku_structure_v3_art" />
     <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
     <property name="nodejs_npm_path_reset_for_default_project" value="true" />
     <property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
@@ -349,7 +362,7 @@
       </list>
     </option>
   </component>
-  <component name="RunManager" selected="Python.structure_main">
+  <component name="RunManager" selected="Python.server">
     <configuration name="ceshi" type="PythonConfigurationType" factoryName="Python" temporary="true">
       <module name="parse_online58" />
       <option name="INTERPRETER_OPTIONS" value="" />
@@ -479,11 +492,11 @@
     </list>
     <recent_temporary>
       <list>
-        <item itemvalue="Python.structure_main" />
         <item itemvalue="Python.server" />
+        <item itemvalue="Python.structure_main" />
+        <item itemvalue="Python.danti_structure" />
         <item itemvalue="Python.ceshi" />
         <item itemvalue="Python.html_again_parse" />
-        <item itemvalue="Python.danti_structure" />
       </list>
     </recent_temporary>
   </component>
@@ -757,7 +770,14 @@
       <option name="project" value="LOCAL" />
       <updated>1657021341569</updated>
     </task>
-    <option name="localTasksCounter" value="38" />
+    <task id="LOCAL-00038" summary="option_label_correct中修改con_list2的bug">
+      <created>1657107984510</created>
+      <option name="number" value="00038" />
+      <option name="presentableId" value="LOCAL-00038" />
+      <option name="project" value="LOCAL" />
+      <updated>1657107984510</updated>
+    </task>
+    <option name="localTasksCounter" value="39" />
     <servers />
   </component>
   <component name="TodoView">
@@ -773,14 +793,14 @@
     <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
     <editor active="true" />
     <layout>
-      <window_info content_ui="combo" id="Project" order="0" sideWeight="0.4985591" visible="true" weight="0.17800212" />
+      <window_info content_ui="combo" id="Project" order="0" sideWeight="0.4985591" visible="true" weight="0.14399575" />
       <window_info id="Structure" order="1" sideWeight="0.50144094" side_tool="true" weight="0.15773447" />
       <window_info id="Favorites" order="2" sideWeight="0.50144094" side_tool="true" weight="0.15773447" />
       <window_info anchor="bottom" id="Message" order="0" />
       <window_info anchor="bottom" id="Find" order="1" />
-      <window_info active="true" anchor="bottom" id="Run" order="2" sideWeight="0.499391" visible="true" weight="0.45566502" />
+      <window_info active="true" anchor="bottom" id="Run" order="2" sideWeight="0.499391" visible="true" weight="0.21551724" />
       <window_info anchor="bottom" id="Terminal" order="3" weight="0.13423645" />
-      <window_info anchor="bottom" id="Debug" order="4" sideWeight="0.499391" weight="0.432266" />
+      <window_info anchor="bottom" id="Debug" order="4" sideWeight="0.499391" weight="0.10098522" />
       <window_info anchor="bottom" id="Cvs" order="5" weight="0.25" />
       <window_info anchor="bottom" id="Inspection" order="6" weight="0.4" />
       <window_info anchor="bottom" id="TODO" order="7" weight="0.32881773" />
@@ -823,7 +843,6 @@
     <option name="version" value="1" />
   </component>
   <component name="VcsManagerConfiguration">
-    <MESSAGE value="保存中公式转图片报错信息优化、css清洗优化" />
     <MESSAGE value="日志输出调整为json格式" />
     <MESSAGE value="单题解析中对&amp;nbsp;清洗" />
     <MESSAGE value="css清洗中保留下划线特征、日志格式更新" />
@@ -848,7 +867,8 @@
     <MESSAGE value="答案解析关键字泛型调整" />
     <MESSAGE value="带小问题目的公共解析提取细节修改" />
     <MESSAGE value="取消从解析中自动提取答案" />
-    <option name="LAST_COMMIT_MESSAGE" value="取消从解析中自动提取答案" />
+    <MESSAGE value="option_label_correct中修改con_list2的bug" />
+    <option name="LAST_COMMIT_MESSAGE" value="option_label_correct中修改con_list2的bug" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
@@ -860,17 +880,17 @@
         </line-breakpoint>
         <line-breakpoint suspend="THREAD" type="python-line">
           <url>file://$PROJECT_DIR$/utils/ruku_opera.py</url>
-          <line>827</line>
+          <line>838</line>
           <option name="timeStamp" value="131" />
         </line-breakpoint>
         <line-breakpoint suspend="THREAD" type="python-line">
           <url>file://$PROJECT_DIR$/structure/option.py</url>
-          <line>431</line>
+          <line>432</line>
           <option name="timeStamp" value="137" />
         </line-breakpoint>
         <line-breakpoint suspend="THREAD" type="python-line">
           <url>file://$PROJECT_DIR$/structure/option.py</url>
-          <line>402</line>
+          <line>403</line>
           <option name="timeStamp" value="139" />
         </line-breakpoint>
         <line-breakpoint suspend="THREAD" type="python-line">
@@ -915,7 +935,7 @@
         </line-breakpoint>
         <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
           <url>file://$PROJECT_DIR$/structure/danti_structure.py</url>
-          <line>150</line>
+          <line>172</line>
           <option name="timeStamp" value="181" />
         </line-breakpoint>
         <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
@@ -930,7 +950,7 @@
         </line-breakpoint>
         <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
           <url>file://$PROJECT_DIR$/utils/ruku_opera.py</url>
-          <line>837</line>
+          <line>848</line>
           <option name="timeStamp" value="197" />
         </line-breakpoint>
         <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
@@ -953,16 +973,6 @@
           <line>85</line>
           <option name="timeStamp" value="224" />
         </line-breakpoint>
-        <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
-          <url>file://$PROJECT_DIR$/structure/structure_main.py</url>
-          <line>110</line>
-          <option name="timeStamp" value="228" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
-          <url>file://$PROJECT_DIR$/utils/pic_pos_judge.py</url>
-          <line>64</line>
-          <option name="timeStamp" value="229" />
-        </line-breakpoint>
         <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
           <url>file://$PROJECT_DIR$/structure/danti_structure.py</url>
           <line>91</line>
@@ -975,9 +985,14 @@
         </line-breakpoint>
         <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
           <url>file://$PROJECT_DIR$/structure/option.py</url>
-          <line>159</line>
+          <line>160</line>
           <option name="timeStamp" value="235" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
+          <url>file://$PROJECT_DIR$/structure/stems_structure.py</url>
+          <line>41</line>
+          <option name="timeStamp" value="237" />
+        </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
     <watches-manager>
@@ -1001,20 +1016,6 @@
     </expressions>
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://C:/Anaconda3/Lib/concurrent/futures/_base.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="116">
-          <caret line="591" selection-start-line="591" selection-end-line="591" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://C:/Anaconda3/Lib/concurrent/futures/process.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="16456">
-          <caret line="496" selection-start-line="496" selection-end-line="496" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://C:/Anaconda3/Lib/site-packages/flask/app.py">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="418">
@@ -1066,16 +1067,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/ruku_test.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-2346">
-          <caret line="36" column="17" selection-start-line="36" selection-start-column="17" selection-end-line="36" selection-end-column="17" />
-          <folding>
-            <element signature="e#1#10#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$USER_HOME$/.PyCharmCE2019.1/system/python_stubs/1013586911/builtins.py">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="68">
@@ -1210,13 +1201,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/utils/item_type_line.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-2802">
-          <caret line="47" column="60" selection-start-line="47" selection-start-column="57" selection-end-line="47" selection-end-column="60" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://C:/Anaconda3/Lib/bisect.py">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="156">
@@ -1258,26 +1242,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/structure/stems_structure.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="174">
-          <caret line="248" selection-start-line="248" selection-end-line="248" />
-          <folding>
-            <element signature="e#3569#3576#0" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/utils/html_again_parse.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="6596">
-          <caret line="194" column="31" selection-start-line="194" selection-start-column="31" selection-end-line="194" selection-end-column="31" />
-          <folding>
-            <element signature="e#24#33#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/utils/diffi_label.py">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="510">
@@ -1308,91 +1272,123 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/configs.py">
+    <entry file="file://$PROJECT_DIR$/structure/ans_structure.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="12">
-          <caret line="162" column="5" lean-forward="true" selection-start-line="162" selection-start-column="5" selection-end-line="162" selection-end-column="5" />
+        <state relative-caret-position="339">
+          <caret line="371" column="41" selection-start-line="371" selection-start-column="41" selection-end-line="371" selection-end-column="41" />
           <folding>
-            <element signature="e#46#60#0" expanded="true" />
+            <element signature="e#47#56#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/utils/ruku_opera.py">
+    <entry file="file://$PROJECT_DIR$/ruku_test.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="100">
-          <caret line="529" column="35" lean-forward="true" selection-start-line="529" selection-start-column="35" selection-end-line="529" selection-end-column="35" />
+        <state relative-caret-position="-378">
+          <caret line="36" column="17" selection-start-line="36" selection-start-column="17" selection-end-line="36" selection-end-column="17" />
           <folding>
-            <element signature="e#24#46#0" expanded="true" />
-            <element signature="e#1498#4338#0" />
+            <element signature="e#1#10#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/utils/washutil.py">
+    <entry file="file://$PROJECT_DIR$/utils/item_type_line.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="191">
+          <caret line="27" column="69" selection-start-line="27" selection-start-column="69" selection-end-line="27" selection-end-column="69" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/utils/html_again_parse.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="133">
-          <caret line="605" column="47" lean-forward="true" selection-start-line="605" selection-start-column="47" selection-end-line="605" selection-end-column="47" />
+        <state relative-caret-position="139">
+          <caret line="162" selection-start-line="162" selection-end-line="162" />
           <folding>
-            <element signature="e#138#153#0" expanded="true" />
+            <element signature="e#24#33#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/structure/ans_structure.py">
+    <entry file="file://$PROJECT_DIR$/logs/structure_log.txt">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/logs/parse_log.log">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/structure/option.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="339">
-          <caret line="371" column="41" selection-start-line="371" selection-start-column="41" selection-end-line="371" selection-end-column="41" />
+        <state relative-caret-position="169">
+          <caret line="26" column="97" lean-forward="true" selection-start-line="26" selection-start-column="97" selection-end-line="26" selection-end-column="97" />
           <folding>
-            <element signature="e#47#56#0" expanded="true" />
+            <element signature="e#46#59#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/server.py">
+    <entry file="file://$PROJECT_DIR$/structure/three_parse_structure.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="159">
-          <caret line="148" column="27" lean-forward="true" selection-start-line="148" selection-start-column="27" selection-end-line="148" selection-end-column="27" />
+        <state relative-caret-position="10302">
+          <caret line="312" column="28" selection-start-line="312" selection-start-column="28" selection-end-line="312" selection-end-column="28" />
           <folding>
-            <element signature="e#105#118#0" expanded="true" />
+            <element signature="e#241#278#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/structure/danti_structure.py">
+    <entry file="file://$PROJECT_DIR$/utils/pic_pos_judge.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="245">
-          <caret line="91" column="31" lean-forward="true" selection-start-line="91" selection-start-column="31" selection-end-line="91" selection-end-column="31" />
+        <state relative-caret-position="2176">
+          <caret line="64" selection-start-line="64" selection-end-line="64" />
           <folding>
-            <element signature="e#64#73#0" expanded="true" />
+            <marker date="1655779633177" expanded="true" signature="95:100" ph="..." />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/structure/three_parse_structure.py">
+    <entry file="file://$PROJECT_DIR$/structure/stems_structure.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="118">
-          <caret line="53" selection-start-line="53" selection-end-line="53" />
+        <state relative-caret-position="1190">
+          <caret line="37" column="59" selection-start-line="37" selection-start-column="59" selection-end-line="37" selection-end-column="59" />
           <folding>
-            <element signature="e#241#278#0" expanded="true" />
+            <element signature="e#3569#3576#0" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/utils/pic_pos_judge.py">
+    <entry file="file://$PROJECT_DIR$/configs.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="79">
-          <caret line="64" selection-start-line="64" selection-end-line="64" />
+        <state relative-caret-position="191">
+          <caret line="111" column="59" selection-start-line="111" selection-start-column="59" selection-end-line="111" selection-end-column="59" />
           <folding>
-            <marker date="1655779633177" expanded="true" signature="95:100" ph="..." />
+            <element signature="e#46#60#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/server.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="280">
+          <caret line="148" column="27" lean-forward="true" selection-start-line="148" selection-start-column="27" selection-end-line="148" selection-end-column="27" />
+          <folding>
+            <element signature="e#105#118#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/structure/danti_structure.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="171">
+          <caret line="16" column="46" lean-forward="true" selection-start-line="16" selection-start-column="46" selection-end-line="16" selection-end-column="46" />
+          <folding>
+            <element signature="e#64#73#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/structure/final_structure.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="105">
-          <caret line="85" selection-start-line="85" selection-end-line="85" />
+        <state relative-caret-position="238">
+          <caret line="94" column="7" selection-start-line="94" selection-start-column="7" selection-end-line="94" selection-end-column="7" />
           <folding>
             <element signature="e#11#20#0" expanded="true" />
           </folding>
@@ -1401,8 +1397,8 @@
     </entry>
     <entry file="file://$PROJECT_DIR$/structure/structure_main.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="476">
-          <caret line="225" column="41" lean-forward="true" selection-start-line="225" selection-start-column="41" selection-end-line="225" selection-end-column="41" />
+        <state relative-caret-position="275">
+          <caret line="142" column="29" lean-forward="true" selection-start-line="142" selection-start-column="29" selection-end-line="142" selection-end-column="29" />
           <folding>
             <element signature="e#47#72#0" expanded="true" />
             <element signature="e#4704#4745#0" />
@@ -1411,24 +1407,33 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/utils/washutil.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-353">
+          <caret line="736" column="4" selection-start-line="736" selection-start-column="4" selection-end-line="736" selection-end-column="4" />
+          <folding>
+            <element signature="e#138#153#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/structure/dati2slave.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-179">
-          <caret line="155" column="51" lean-forward="true" selection-start-line="155" selection-start-column="51" selection-end-line="155" selection-end-column="51" />
+        <state relative-caret-position="99">
+          <caret line="172" column="38" lean-forward="true" selection-start-line="172" selection-start-column="38" selection-end-line="172" selection-end-column="38" />
           <folding>
             <element signature="e#46#55#0" expanded="true" />
-            <element signature="e#5669#5703#0" />
-            <element signature="e#12406#12434#0" />
+            <element signature="e#5987#6021#0" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/structure/option.py">
+    <entry file="file://$PROJECT_DIR$/utils/ruku_opera.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-1916">
-          <caret line="87" column="14" lean-forward="true" selection-start-line="87" selection-start-column="14" selection-end-line="87" selection-end-column="14" />
+        <state relative-caret-position="314">
+          <caret line="507" column="16" lean-forward="true" selection-start-line="507" selection-start-column="16" selection-end-line="507" selection-end-column="16" />
           <folding>
-            <element signature="e#46#59#0" expanded="true" />
+            <element signature="e#24#46#0" expanded="true" />
           </folding>
         </state>
       </provider>

+ 2 - 2
configs.py

@@ -87,7 +87,7 @@ class TestingCfg:  # testing
     old_img_ip = "http://192.168.1.140:8800/ser_static"
     mathpix_ip = "http://192.168.1.208:8001/segment/formula/"
     kps_phy_ip = "http://192.168.1.86:11088/phy_mark_and_connect"
-    repeat_ip = "http://192.168.1.192:10818/api/repeat/subject"
+    repeat_ip = "http://192.168.1.192:8866/api/repeat/subject"
     # repeat_ip = "http://82.156.68.22:8888/repeat/subject"  # 全学科查重
     # repeat_ip = "http://82.156.68.22:8888/api/repeat/subject"  # 保存入库查重
     # callback_url_taskcheck = "http://zsytk3api.dev.xueping.com/v1/interior-api/record"
@@ -109,7 +109,7 @@ class ProductionCfg:  # production
     old_img_ip = "http://82.156.255.225:11086/ser_static"
     mathpix_ip = "http://10.19.1.11:7080/segment/formula/"
     kps_phy_ip = "http:/49.232.72.198:11088/phy_mark_and_connect"
-    repeat_ip = "http://82.156.68.22:8888/api/repeat/subject"
+    repeat_ip = "http://10.19.1.18:8866/api/repeat/subject"
     callback_url_taskcheck = "http://api.tk.zhixinhuixue.com/v1/interior-api/record"
 
 

+ 35 - 13
structure/danti_structure.py

@@ -134,21 +134,43 @@ if __name__ == '__main__':
 </div>
     """
     hml4 = """
-    <div class="stem-wraper" data-v-35454a0f=""><span class="topic-number" data-v-35454a0f="">7.</span><span class="stem" data-v-35454a0f="">上海有若干辆超级电容车试运行,运行中无需连接电缆,只需在候客上车间隙充电30秒钟到1分钟,就能行驶3到5公里.假设有一辆超级电容车,质量<span class="math-tex">\(m=2×{10}^{3}kg\)</span>,额定功率<span class="math-tex">\(P=60kW\)</span>.当超级电容车在平直水平路面上行驶时,受到的阻力<span class="math-tex">\(f\)</span>是车重的0.1倍,<span class="math-tex">\(g=10m/{s}^{2}\)</span>,求:</span></div>
-<div class="slave" data-v-35454a0f="">
-<div class="slave-item" data-v-35454a0f="">
-<div class="content" data-v-35454a0f=""><span class="analysis-prefix" data-v-35454a0f="">(1)</span><span data-v-35454a0f="">1</span></div>
-</div>
-<div class="slave-item" data-v-35454a0f="">
-<div class="content" data-v-35454a0f=""><span class="analysis-prefix" data-v-35454a0f="">(2)</span><span data-v-35454a0f="">2</span></div>
-</div>
-</div>
-<div class="topic-analysis" data-v-35454a0f="">
-<div class="topic-analysis-content" data-v-35454a0f=""><span class="analysis-prefix" data-v-35454a0f="">【答案】</span><span data-v-35454a0f=""><br><span class="analysis-prefix">(1)</span><span class="math-tex">\({v}_{m}=\frac{P}{f}=\frac{60×{10}^{3}}{2000}=30m/s\)</span>.<br><span class="analysis-prefix">(2)</span><span class="math-tex">\({F}_{1}-f=ma\)</span>,<span class="math-tex">\({F}_{1}=3000N\)</span>,设汽车刚达到额定功率时的速度<span class="math-tex">\({v}_{1}:P={F}_{1}{v}_{1}\)</span>,<span class="math-tex">\({v}_{1}=\frac{P}{{F}_{1}}=\frac{60×{10}^{3}}{3000}=20m/s\)</span>,设汽车匀加速运动的时间<span class="math-tex">\(t:{v}_{1}=at\)</span>,解得:<span class="math-tex">\(t=\frac{{v}_{1}}{a}=\frac{20}{0.5}=40s\)</span>.<br></span></div>
-<div class="topic-analysis-content" data-v-35454a0f=""><span class="analysis-prefix" data-v-35454a0f="">【解析】</span><span data-v-35454a0f=""><br></span></div>
+    <div class="stem-wraper" data-v-6e158526=""><span class="topic-number" data-v-6e158526="">5.</span><span class="stem" data-v-6e158526=""><span class="stem" data-v-6e158526="">解磷菌是土壤中的一类功能微生物,包括细菌、真菌和放线菌。筛选出土壤中的高效解磷菌并制成生物菌剂,可以提高难溶性磷的利用率。下表为“分离出土壤中具有解磷功能的微生物实验”的培养基配方,下列说法正确的是( )<br></span></span>
+<table>
+<tbody>
+<tr>
+<td>物质</td>
+<td>葡萄糖</td>
+<td>(NH<sub>4</sub>)<sub>2</sub>SO<sub>4</sub></td>
+<td>NaCl</td>
+<td>KCl</td>
+<td>CaCO<sub>3</sub></td>
+<td>磷酸三钙</td>
+<td>琼脂</td>
+</tr>
+<tr>
+<td>质量/g</td>
+<td>10</td>
+<td>0.5</td>
+<td>3</td>
+<td>0.3</td>
+<td>5</td>
+<td>20</td>
+<td>15</td>
+</tr>
+</tbody>
+</table>
+<span class="analysis-prefix" data-v-6e158526=""><br>A:</span><span data-v-6e158526="">培养基中加入琼脂的目的是作为凝固剂和提供碳源</span></div>
+<ul class="stem-options" data-v-6e158526="">
+<li data-v-6e158526=""><span class="analysis-prefix" data-v-6e158526="">B:</span><span data-v-6e158526="">该培养基是以磷酸三钙为唯一磷源的选择培养基</span></li>
+<li data-v-6e158526=""><span class="analysis-prefix" data-v-6e158526="">C:</span><span data-v-6e158526="">用平板划线法纯化解磷菌可以计数其活菌的数量</span></li>
+<li data-v-6e158526=""><span class="analysis-prefix" data-v-6e158526="">D:</span><span data-v-6e158526="">可根据培养基中透明圈的大小确定菌株的解磷能力</span></li>
+</ul>
+<div class="topic-analysis" data-v-6e158526="">
+<div class="topic-analysis-content" data-v-6e158526=""><span class="analysis-prefix" data-v-6e158526="">【答案】</span><span data-v-6e158526="">B</span></div>
+<div class="topic-analysis-content" data-v-6e158526=""><span class="analysis-prefix" data-v-6e158526="">【解析】</span><span data-v-6e158526="">【分析】1、微生物常见的接种的方法:(1)平板划线法:将已经熔化的培养基倒入培养皿制成平板,接种、划线,在恒温箱里培养,在线的开始部分,微生物往往连在一起生长,随着线的延伸,菌数逐渐减少,最后可能形成单个菌落。(2)稀释涂布平板法:将待分离的菌液经过大量稀释后,均匀涂布在培养皿表面,经培养后可形成单个菌落。<br>2、选择培养基:根据某种微生物的特殊营养要求或其对某化学、物理因素的抗性而设计的培养基使混合菌样中的劣势菌变成优势菌,从而提高该菌的筛选率,如加入青霉素分离得到酵母菌和霉菌。<br>【详解】A、配制固体培养基时可加入琼脂作为凝固剂,琼脂一般不会被微生物所利用,A错误;<br>B、本实验的目的是获得具有解磷功能的微生物,故其选择培养基中应以磷酸三钙为唯一磷源,B正确;<br>C、用稀释涂布平板法纯化解磷菌可以计数其活菌的数量,C错误;<br>D、可根据透明圈直径(D)与菌落直径(d)的比值(D/d)代表微生物解磷能力大小,D错误。<br>故选B。<br></span></div>
 </div>
     """
-    aa = single_parse(hml4, "解答题", "456")
+    aa = single_parse(hml4, "选择题", "456")
     pprint(aa)
     # tt = r"""
     # 25℃时,若测得HR溶液$\text{pH=a}$,取该溶液$\text{10}\text{.0mL}$,加蒸馏水稀释至$\text{100}\text{.0mL}$,测得$\text{pH=b,b-a<1}$,则HR是弱酸

+ 5 - 5
structure/dati2slave.py

@@ -167,12 +167,12 @@ def get_slave(one_item, con, parse, ans, parse_split=1):
             one_item["answer_type"] = "选择题"
             if 'options' not in one_item:
                 one_item["options"] = []
-        elif re.search("[((]\s+[))]\s*$", one_item["stem"]):
+        elif re.search("[((]\s+[))]\s*$", one_item["stem"]) or one_item["type"] == "判断题":
             one_item["answer_type"] = "判断题"
-            if re.match("【?(对|正确|T)】?$", one_item["key"].strip()):
-                one_item["key"] = "A"
-            elif re.match("【?(错误?的?|F)】?$", one_item["key"].strip()):
-                one_item["key"] = "B"
+            if re.match("【?(对的?|正确的?|[T√])】?$", one_item["key"].strip()):
+                one_item["key"] = "正确"
+            elif re.match("【?(错误?的?|不对的?|不正确的?|[F×])】?$", one_item["key"].strip()):
+                one_item["key"] = "错误"
         elif re.search("[横划画]线处填写", one_item["stem"]) and "com_stem" in one_item:
             one_item["answer_type"] = "填空题"
             if "com_stem" in one_item:

+ 2 - 1
structure/option.py

@@ -24,7 +24,8 @@ def option2block(option_con, item_no_type):
                            option_con.strip()).start()
         option_con = option_con.strip()[0:st_opt] + '\n' + del_table(option_con.strip()[st_opt:])
         # print("option_con:", option_con)
-    option_con = re.sub(r"</table>\n*?\s*<p>\s*(A\s*[、、..::]|\(A\)\s*[、、..]?)(.+?)", r"\n【【\1】】\2", option_con, re.S)
+    option_con = re.sub(r"</table>\n*\s*(<p>)?\s*(A\s*[、、..::]|\(A\)\s*[、、..]?)(.+?)", r"</table>【【A、】】\3",
+                        option_con, flags=re.S)
     if re.search("\n\s*C", option_con) is None and re.search("\n\s*c", option_con):
         option_con = re.sub("\n\s*c", "\nC", option_con)
     # option_con = re.sub(r"(\n\s*(<img\s*src=\".*?\"\s(width|height|eq-code|data-latex|ocr-latex)=.*?[\"/]>\s*)+?\s*)(A[、、..::].+?)", r"\1\n\3", option_con.strip())

+ 2 - 2
structure/structure_main.py

@@ -202,8 +202,8 @@ if __name__ == '__main__':
 
         # print(load_dict)
 
-    path2 = r"F:\zwj\Text_Structure\accept_files\628c459781b582c0470d02d7.html"
-    # path2 = r"C:\Users\Python\Desktop\62b133ec6c6aff2279345ff3.html"
+    # path2 = r"F:\zwj\Text_Structure\accept_files\628c459781b582c0470d02d7.html"
+    path2 = r"C:\Users\Python\Desktop\62d5fce16c6aff2279346a7e.html"
     # path2 = r"F:\zwj\Text_Structure\new_tiku_structure_v3_sci\data\620bbf7aa7d375f4518b98e1.html"
     # path2 = r"F:\zwj\new_word_text_extract_v2\data\地理\2\2020-2021学年广东省揭阳市揭西县五校九年级(下)第二次联考地理试卷-普通用卷.html"
     # path2 = r"F:\zwj\new_word_parse_2021\data\huaxue\huexue2.html"

+ 2 - 2
utils/item_type_line.py

@@ -22,8 +22,8 @@ def get_item_head_info(items_str):
     if all_type_info_idx and all_type_info_idx[0][0] > 500:  # 第一大题题型漏了的情况
         insert_id = 0
         judge_right = 0
-        for v in re.finditer(r"\n\s*([^必考基础综合中等::()()例训】]{,3})\s*[、..、]\s*([^必考基础综合中等例训创】::]{2,4}题)(.*?)\n",
-                             items_str[:all_type_info_idx[0][0]]):  # 不严谨
+        for v in re.finditer(r"\n\s*([^必考基础综合中等::()()例训某课】]{,3})\s*[、..、]\s*([^必考基础综合中等例训创某课】::]{2,4}题)(.*?)\n",
+                             items_str[:all_type_info_idx[0][0]]):  # 不严谨!!!!
             all_type_info.insert(insert_id, v.groups())
             all_type_info_idx.insert(insert_id, (v.start(), v.end()))
             insert_id += 1

+ 20 - 9
utils/ruku_opera.py

@@ -48,7 +48,7 @@ class Ruku():
         self.callback_url = callback_info["callback_url"]
         # self.callback_url = "123456"
         self.source = callback_info["source"]
-        self.subject = subject
+        self.subject = subject  # items_list[0]["period"] + items_list[0]["subject"]
         self.callback_code = 0
         self.callback_err = ""
         self.ltx2url = {}  # latex 映射 线上可访问url
@@ -504,8 +504,12 @@ class Ruku():
     def slave2regroup(self, one_items):
         """
         将拆分的小题根据是否为旧题型进行重组,如果保存时选择的旧题型就要组合成三段式
+        对判断题的答案进行转化:正确-->A;错误-->B
         :return:
         """
+        # 此阶段将每个题可能的报错信息去掉
+        if "errmsgs" in one_items and one_items["errmsgs"]:
+            one_items["errmsgs"] = ""
         if "btt_id" not in one_items["checkType"] or one_items["checkType"]["btt_id"] != 13:
             if "slave" in one_items and one_items["slave"]:  # 带小题的
                 for idn, s in enumerate(one_items["slave"]):
@@ -536,6 +540,12 @@ class Ruku():
                     one_items["parse"] = "【答案】\n{}".format(one_items["key"])
                 one_items["key"] = ""
 
+        if "btt_id" in one_items["checkType"] and one_items["checkType"]["btt_id"] == 12:  # 判断题
+            one_items["answer_type"] = 4
+            if re.match("(?<!不)对|(?<!不)正确|[T√]$", one_items["key"]):
+                one_items["key"] = "正确"
+            elif re.match("错误?的?|不对的?|不正确的?|[F×]$", one_items["key"]):
+                one_items["key"] = "错误"
         return one_items
 
     def save(self):
@@ -664,20 +674,21 @@ class Ruku():
     def repeat_check(self, id, one_items, repeat_time):
         t22 = time.time()
         stems = one_items["stem"]
-        if "slave" in one_items and one_items["slave"]:
-            stem_l = [s["slave_no"] + s["stem"] + "<br/>"+ "<br/>".join(s["options"])
-                      if "options" in s and s["options"] else s["slave_no"] + s["stem"] for s in one_items["slave"]]
-            stems += "<br/>".join(stem_l)
+        # if "slave" in one_items and one_items["slave"]:
+        #     stem_l = [s["slave_no"] + s["stem"] + "<br/>"+ "<br/>".join(s["options"])
+        #               if "options" in s and s["options"] else s["slave_no"] + s["stem"] for s in one_items["slave"]]
+        #     stems += "<br/>".join(stem_l)
         chachong_item_dict = {"topic_id": id + 1,
                               "subject_id": subject_id[self.subject],
                               "topic_type_id": one_items["checkType"]["id"],
-                              "content": stems, }
+                              "content": stems}
+        if "slave" in one_items:
+            chachong_item_dict["slave"] = one_items["slave"]
         if "options" in one_items:
             chachong_item_dict["options"] = one_items["options"]
 
-        print("查重传参:", )
-        print(chachong_item_dict)
-
+        # print("查重传参:", )
+        # print(chachong_item_dict)
         repeat_r = requests.post(url=configs.repeat_ip, json=[chachong_item_dict]).json()
 
         print("查重结果:", repeat_r)  # [str(id + 1)]