优化车票提交订单信息增加检查排队人数方法

pull/2/head
MR.wen 2017-05-21 21:39:31 +08:00
parent c59d1cf8d3
commit c43dc1bab4
10 changed files with 205 additions and 136 deletions

View File

@ -26,9 +26,6 @@
</entry> </entry>
</component> </component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 2.7.11 (C:\Python27\python.exe)" project-jdk-type="Python SDK" /> <component name="ProjectRootManager" version="2" project-jdk-name="Python 2.7.11 (C:\Python27\python.exe)" project-jdk-type="Python SDK" />
<component name="SvnConfiguration">
<configuration>$USER_HOME$/.subversion</configuration>
</component>
<component name="VagrantProjectSettings"> <component name="VagrantProjectSettings">
<option name="instanceFolder" value="$USER_HOME$/dev/mduia" /> <option name="instanceFolder" value="$USER_HOME$/dev/mduia" />
<option name="provider" value="" /> <option name="provider" value="" />

View File

@ -12,10 +12,10 @@
<component name="CoverageDataManager"> <component name="CoverageDataManager">
<SUITE FILE_PATH="coverage/12306login$test.coverage" NAME="test Coverage Results" MODIFIED="1492940750689" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/12306login$test.coverage" NAME="test Coverage Results" MODIFIED="1492940750689" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/12306login$damatuWeb.coverage" NAME="damatuWeb Coverage Results" MODIFIED="1492931635132" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/damatuCode" /> <SUITE FILE_PATH="coverage/12306login$damatuWeb.coverage" NAME="damatuWeb Coverage Results" MODIFIED="1492931635132" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/damatuCode" />
<SUITE FILE_PATH="coverage/12306login$run.coverage" NAME="run Coverage Results" MODIFIED="1495023355687" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/12306login$run.coverage" NAME="run Coverage Results" MODIFIED="1495373855351" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/12306login$haha__1_.coverage" NAME="haha (1) Coverage Results" MODIFIED="1493907049091" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/12306login$haha__1_.coverage" NAME="haha (1) Coverage Results" MODIFIED="1495373303310" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/12306login$haha.coverage" NAME="haha Coverage Results" MODIFIED="1492950969460" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/init" /> <SUITE FILE_PATH="coverage/12306login$haha.coverage" NAME="haha Coverage Results" MODIFIED="1492950969460" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/init" />
<SUITE FILE_PATH="coverage/12306login$select_ticket_info.coverage" NAME="select_ticket_info Coverage Results" MODIFIED="1493048130983" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/init" /> <SUITE FILE_PATH="coverage/12306login$select_ticket_info.coverage" NAME="select_ticket_info Coverage Results" MODIFIED="1495357851023" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/init" />
</component> </component>
<component name="CreatePatchCommitExecutor"> <component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" /> <option name="PATCH_PATH" value="" />
@ -38,10 +38,10 @@
<file leaf-file-name="haha.py" pinned="false" current-in-tab="false"> <file leaf-file-name="haha.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/haha.py"> <entry file="file://$PROJECT_DIR$/haha.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="114"> <state relative-caret-position="587">
<caret line="6" column="0" lean-forward="false" selection-start-line="6" selection-start-column="0" selection-end-line="17" selection-end-column="0" /> <caret line="32" column="0" lean-forward="false" selection-start-line="32" selection-start-column="0" selection-end-line="33" selection-end-column="0" />
<folding> <folding>
<element signature="e#23#34#0" expanded="true" /> <element signature="e#707#718#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -50,18 +50,31 @@
<file leaf-file-name="select_ticket_info.py" pinned="false" current-in-tab="true"> <file leaf-file-name="select_ticket_info.py" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/init/select_ticket_info.py"> <entry file="file://$PROJECT_DIR$/init/select_ticket_info.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1176"> <state relative-caret-position="228">
<caret line="257" column="80" lean-forward="true" selection-start-line="257" selection-start-column="80" selection-end-line="257" selection-end-column="80" /> <caret line="228" column="115" lean-forward="false" selection-start-line="228" selection-start-column="113" selection-end-line="228" selection-end-column="115" />
<folding>
<element signature="e#23#34#0" expanded="true" />
<element signature="e#7749#7895#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="login.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/init/login.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="492">
<caret line="130" column="12" lean-forward="true" selection-start-line="130" selection-start-column="12" selection-end-line="130" selection-end-column="12" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="myurllib2.py" pinned="false" current-in-tab="false"> <file leaf-file-name="damatuWeb.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/myUrllib/myurllib2.py"> <entry file="file://$PROJECT_DIR$/damatuCode/damatuWeb.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="568">
<caret line="0" column="9" lean-forward="false" selection-start-line="0" selection-start-column="9" selection-end-line="0" selection-end-column="9" /> <caret line="114" column="67" lean-forward="true" selection-start-line="114" selection-start-column="67" selection-end-line="114" selection-end-column="67" />
<folding /> <folding />
</state> </state>
</provider> </provider>
@ -71,7 +84,7 @@
<entry file="file://$PROJECT_DIR$/run.py"> <entry file="file://$PROJECT_DIR$/run.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="152"> <state relative-caret-position="152">
<caret line="8" column="5" lean-forward="false" selection-start-line="8" selection-start-column="5" selection-end-line="8" selection-end-column="5" /> <caret line="8" column="5" lean-forward="true" selection-start-line="8" selection-start-column="5" selection-end-line="8" selection-end-column="5" />
<folding /> <folding />
</state> </state>
</provider> </provider>
@ -114,11 +127,11 @@
<option value="$PROJECT_DIR$/init/haha.py" /> <option value="$PROJECT_DIR$/init/haha.py" />
<option value="/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_LWPCookieJar.py" /> <option value="/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_LWPCookieJar.py" />
<option value="$PROJECT_DIR$/run.py" /> <option value="$PROJECT_DIR$/run.py" />
<option value="$PROJECT_DIR$/init/login.py" />
<option value="$PROJECT_DIR$/damatuCode/damatuWeb.py" /> <option value="$PROJECT_DIR$/damatuCode/damatuWeb.py" />
<option value="$PROJECT_DIR$/myUrllib/myurllib2.py" /> <option value="$PROJECT_DIR$/myUrllib/myurllib2.py" />
<option value="$PROJECT_DIR$/init/select_ticket_info.py" /> <option value="$PROJECT_DIR$/init/login.py" />
<option value="$PROJECT_DIR$/haha.py" /> <option value="$PROJECT_DIR$/haha.py" />
<option value="$PROJECT_DIR$/init/select_ticket_info.py" />
</list> </list>
</option> </option>
</component> </component>
@ -177,6 +190,20 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="12306login" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="12306login" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="damatuCode" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane> </subPane>
</pane> </pane>
</panes> </panes>
@ -203,11 +230,11 @@
<recent name="$PROJECT_DIR$/headers" /> <recent name="$PROJECT_DIR$/headers" />
</key> </key>
<key name="CopyFile.RECENT_KEYS"> <key name="CopyFile.RECENT_KEYS">
<recent name="D:\pyWork\12306login\damatuCode" />
<recent name="D:\pyWork\12306login\init" /> <recent name="D:\pyWork\12306login\init" />
<recent name="$PROJECT_DIR$" /> <recent name="$PROJECT_DIR$" />
<recent name="$PROJECT_DIR$/init" /> <recent name="$PROJECT_DIR$/init" />
<recent name="$PROJECT_DIR$/myException" /> <recent name="$PROJECT_DIR$/myException" />
<recent name="$PROJECT_DIR$/damatuCode" />
</key> </key>
</component> </component>
<component name="RunDashboard"> <component name="RunDashboard">
@ -540,6 +567,9 @@
<component name="ShelveChangesManager" show_recycled="false"> <component name="ShelveChangesManager" show_recycled="false">
<option name="remove_strategy" value="false" /> <option name="remove_strategy" value="false" />
</component> </component>
<component name="SvnConfiguration">
<configuration>$USER_HOME$/.subversion</configuration>
</component>
<component name="TaskManager"> <component name="TaskManager">
<task active="true" id="Default" summary="Default task"> <task active="true" id="Default" summary="Default task">
<changelist id="2e718905-1b98-4837-bcda-7f12f0a86ca3" name="Default" comment="" /> <changelist id="2e718905-1b98-4837-bcda-7f12f0a86ca3" name="Default" comment="" />
@ -567,7 +597,7 @@
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.27698308" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.27641654" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3297587" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3297587" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.15234375" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.15234375" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
@ -618,37 +648,15 @@
<watches-manager /> <watches-manager />
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/init/select_ticket_info.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="702">
<caret line="41" column="28" lean-forward="false" selection-start-line="41" selection-start-column="28" selection-end-line="41" selection-end-column="60" />
<folding>
<element signature="e#23#34#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/run.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/myUrllib/myurllib2.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="5" column="38" lean-forward="false" selection-start-line="5" selection-start-column="38" selection-end-line="5" selection-end-column="38" />
<folding />
</state>
</provider>
</entry>
<entry file="file:///Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_LWPCookieJar.py" /> <entry file="file:///Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_LWPCookieJar.py" />
<entry file="file://$PROJECT_DIR$/init/login.py"> <entry file="file://$PROJECT_DIR$/init/login.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="378"> <state relative-caret-position="378">
<caret line="25" column="49" lean-forward="false" selection-start-line="25" selection-start-column="40" selection-end-line="25" selection-end-column="49" /> <caret line="25" column="49" lean-forward="false" selection-start-line="25" selection-start-column="40" selection-end-line="25" selection-end-column="49" />
<folding>
<element signature="e#41#54#0" expanded="false" />
<element signature="e#1259#1274#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -664,7 +672,7 @@
<state relative-caret-position="702"> <state relative-caret-position="702">
<caret line="41" column="28" lean-forward="false" selection-start-line="41" selection-start-column="28" selection-end-line="41" selection-end-column="60" /> <caret line="41" column="28" lean-forward="false" selection-start-line="41" selection-start-column="28" selection-end-line="41" selection-end-column="60" />
<folding> <folding>
<element signature="e#23#34#0" expanded="false" /> <element signature="e#23#34#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -690,6 +698,10 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="378"> <state relative-caret-position="378">
<caret line="25" column="49" lean-forward="false" selection-start-line="25" selection-start-column="40" selection-end-line="25" selection-end-column="49" /> <caret line="25" column="49" lean-forward="false" selection-start-line="25" selection-start-column="40" selection-end-line="25" selection-end-column="49" />
<folding>
<element signature="e#41#54#0" expanded="false" />
<element signature="e#1259#1274#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -705,7 +717,7 @@
<state relative-caret-position="702"> <state relative-caret-position="702">
<caret line="41" column="28" lean-forward="false" selection-start-line="41" selection-start-column="28" selection-end-line="41" selection-end-column="60" /> <caret line="41" column="28" lean-forward="false" selection-start-line="41" selection-start-column="28" selection-end-line="41" selection-end-column="60" />
<folding> <folding>
<element signature="e#23#34#0" expanded="false" /> <element signature="e#23#34#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -731,6 +743,10 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="162"> <state relative-caret-position="162">
<caret line="11" column="130" lean-forward="true" selection-start-line="11" selection-start-column="34" selection-end-line="11" selection-end-column="130" /> <caret line="11" column="130" lean-forward="true" selection-start-line="11" selection-start-column="34" selection-end-line="11" selection-end-column="130" />
<folding>
<element signature="e#41#54#0" expanded="false" />
<element signature="e#1259#1274#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -738,6 +754,10 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding>
<element signature="e#41#54#0" expanded="false" />
<element signature="e#1259#1274#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -747,6 +767,10 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="144"> <state relative-caret-position="144">
<caret line="10" column="24" lean-forward="false" selection-start-line="10" selection-start-column="24" selection-end-line="10" selection-end-column="24" /> <caret line="10" column="24" lean-forward="false" selection-start-line="10" selection-start-column="24" selection-end-line="10" selection-end-column="24" />
<folding>
<element signature="e#41#54#0" expanded="false" />
<element signature="e#1259#1274#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -782,6 +806,10 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252"> <state relative-caret-position="252">
<caret line="14" column="0" lean-forward="true" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" /> <caret line="14" column="0" lean-forward="true" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
<folding>
<element signature="e#41#54#0" expanded="false" />
<element signature="e#1259#1274#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -816,51 +844,82 @@
</provider> </provider>
</entry> </entry>
<entry file="file:///Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py" /> <entry file="file:///Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py" />
<entry file="file://$PROJECT_DIR$/damatuCode/damatuWeb.py"> <entry file="file://$PROJECT_DIR$/run.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="546"> <state relative-caret-position="152">
<caret line="110" column="20" lean-forward="false" selection-start-line="110" selection-start-column="20" selection-end-line="110" selection-end-column="20" /> <caret line="8" column="5" lean-forward="true" selection-start-line="8" selection-start-column="5" selection-end-line="8" selection-end-column="5" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/init/login.py"> <entry file="file://$PROJECT_DIR$/damatuCode/damatuWeb.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-120"> <state relative-caret-position="568">
<caret line="36" column="0" lean-forward="false" selection-start-line="36" selection-start-column="0" selection-end-line="36" selection-end-column="0" /> <caret line="114" column="67" lean-forward="true" selection-start-line="114" selection-start-column="67" selection-end-line="114" selection-end-column="67" />
<folding />
</state>
</provider>
</entry>
<entry file="file://C:/Python27/Lib/urllib2.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1176">
<caret line="225" column="8" lean-forward="false" selection-start-line="225" selection-start-column="8" selection-end-line="225" selection-end-column="8" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/myUrllib/myurllib2.py"> <entry file="file://$PROJECT_DIR$/myUrllib/myurllib2.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="454">
<caret line="0" column="9" lean-forward="false" selection-start-line="0" selection-start-column="9" selection-end-line="0" selection-end-column="9" /> <caret line="41" column="29" lean-forward="false" selection-start-line="41" selection-start-column="29" selection-end-line="41" selection-end-column="29" />
<folding>
<element signature="e#0#14#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/init/login.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="492">
<caret line="130" column="12" lean-forward="true" selection-start-line="130" selection-start-column="12" selection-end-line="130" selection-end-column="12" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/run.py"> <entry file="file://$USER_HOME$/.PyCharm2017.1/system/python_stubs/-762174762/time.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="152"> <state relative-caret-position="297">
<caret line="8" column="5" lean-forward="false" selection-start-line="8" selection-start-column="5" selection-end-line="8" selection-end-column="5" /> <caret line="103" column="11" lean-forward="true" selection-start-line="103" selection-start-column="11" selection-end-line="103" selection-end-column="11" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.PyCharm2017.1/system/python_stubs/-762174762/datetime.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="477">
<caret line="178" column="8" lean-forward="false" selection-start-line="178" selection-start-column="8" selection-end-line="178" selection-end-column="8" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/haha.py"> <entry file="file://$PROJECT_DIR$/haha.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="114"> <state relative-caret-position="587">
<caret line="6" column="0" lean-forward="false" selection-start-line="6" selection-start-column="0" selection-end-line="17" selection-end-column="0" /> <caret line="32" column="0" lean-forward="false" selection-start-line="32" selection-start-column="0" selection-end-line="33" selection-end-column="0" />
<folding> <folding>
<element signature="e#23#34#0" expanded="true" /> <element signature="e#707#718#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/init/select_ticket_info.py"> <entry file="file://$PROJECT_DIR$/init/select_ticket_info.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1176"> <state relative-caret-position="228">
<caret line="257" column="80" lean-forward="true" selection-start-line="257" selection-start-column="80" selection-end-line="257" selection-end-column="80" /> <caret line="228" column="115" lean-forward="false" selection-start-line="228" selection-start-column="113" selection-end-line="228" selection-end-column="115" />
<folding /> <folding>
<element signature="e#23#34#0" expanded="true" />
<element signature="e#7749#7895#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>

View File

@ -71,7 +71,7 @@ class DamatuApi():
jres = json.loads(res) jres = json.loads(res)
if jres['ret'] == 0: if jres['ret'] == 0:
# 注意这个json里面有retidresultcookie根据自己的需要获取 # 注意这个json里面有retidresultcookie根据自己的需要获取
return (jres['result']) return jres['result']
else: else:
return jres['ret'] return jres['ret']
@ -108,12 +108,11 @@ class DamatuApi():
def main(self): def main(self):
balance = self.getBalance() balance = self.getBalance()
if balance > 40: if int(balance) > 40:
img_code = self.decode(287).replace('|', ',') img_code = self.decode(287).replace('|', ',')
print img_code
return img_code return img_code
else: else:
raise balanceException(u'余额不足,当前余额为: {}'.format(balance)) raise balanceException('余额不足,当前余额为: {}'.format(balance))
# # 调用类型实例: # # 调用类型实例:
# # 1.实例化类型 参数是打码兔用户账号和密码 # # 1.实例化类型 参数是打码兔用户账号和密码

Binary file not shown.

View File

@ -1,32 +1,42 @@
# -*- coding=utf-8 -*- # # -*- coding=utf-8 -*-
import json # import json
import sys # import sys
import urllib # import urllib
import urllib2 # import urllib2
#
# submitParams = [
# ('secretStr', 1), # 预订提交令牌
# ('train_date', 1), # 车票日期
# ('back_train_date', 1), # 返程日期,没有则为当前日期
# ('tour_flag', 1), # 旅行类型单程dc,与返程fc
# ('purpose_codes', 1), # 标记是否为成人(ADULT)与学生(0X00)
# ('query_from_station_name', 1), # 发站名称,汉字
# ('query_to_station_name', 1) # 到站名称,汉字
# ]
#
# print urllib.unquote()
#
#
#
#
# class a:
# def __init__(self, factory):
# pass
# def b(self):
# pass
#
# class c:
# def __init__(self):
# pass
# def d(self):
# return a().b()
import time
submitParams = [ import datetime
('secretStr', 1), # 预订提交令牌
('train_date', 1), # 车票日期
('back_train_date', 1), # 返程日期,没有则为当前日期
('tour_flag', 1), # 旅行类型单程dc,与返程fc
('purpose_codes', 1), # 标记是否为成人(ADULT)与学生(0X00)
('query_from_station_name', 1), # 发站名称,汉字
('query_to_station_name', 1) # 到站名称,汉字
]
print urllib.unquote() str = "2017052100:00:00"
m_time = time.mktime(time.strptime(str, "%Y%m%d%H:%M:%S"))
a_time = time.localtime(m_time)
print time.strftime("%a %b %d %Y %H:%M:%S", a_time)
# time_b = time.asctime("%a %b %d %H:%M:%S %Y", str)
class a: # print time_b
def __init__(self, factory):
pass
def b(self):
pass
class c:
def __init__(self):
pass
def d(self):
return a().b()

View File

@ -3,6 +3,8 @@
import random import random
import json import json
import re import re
from time import sleep
from damatuCode.damatuWeb import DamatuApi from damatuCode.damatuWeb import DamatuApi
from myUrllib import myurllib2 from myUrllib import myurllib2
@ -30,13 +32,13 @@ def cookietp():
def readImg(): def readImg():
global randCode global randCode
stoidinput("下载验证码...") stoidinput("下载验证码...")
img_path = '/tmp/tkcode' img_path = 'd:/tkcode'
result = myurllib2.get(codeimg) result = myurllib2.get(codeimg)
try: try:
open(img_path, 'wb').write(result) open(img_path, 'wb').write(result)
randCode = DamatuApi('wenxianping', 'wen1995', img_path).main() randCode = DamatuApi('wenxianping', 'wen1995', img_path).main()
except OSError as e: except OSError as e:
print e print (e)
pass pass
@ -126,12 +128,14 @@ def login(user, passwd):
errorinput("验证码有误,第%s次尝试重试" ) errorinput("验证码有误,第%s次尝试重试" )
else: else:
stoidinput("验证码通过,开始登录..") stoidinput("验证码通过,开始登录..")
sleep(1)
try: try:
tresult = json.loads(myurllib2.Post(logurl, logdata), encoding='utf8') tresult = json.loads(myurllib2.Post(logurl, logdata), encoding='utf8')
if tresult['data'].__len__() == 0: if 'data' not in tresult:
errorinput("登录失败: %s" % tresult['messages'][0]) errorinput("登录失败: %s" % tresult['messages'][0])
elif 'messages' in tresult and tresult['messages']:
errorinput("登录失败: %s" % tresult['messages'])
else: else:
stoidinput("登录成功") stoidinput("登录成功")
myurllib2.Post(surl, ldata) myurllib2.Post(surl, ldata)
getUserinfo() getUserinfo()

Binary file not shown.

View File

@ -1,14 +1,13 @@
# -*- coding=utf-8 -*- # -*- coding=utf-8 -*-
import json import json
import time
import datetime import datetime
import re import re
import urllib import urllib
import sys
import time
from myUrllib import myurllib2 from myUrllib import myurllib2
reload(sys)
sys.setdefaultencoding('utf-8')
class select: class select:
def __init__(self, from_station, to_station): def __init__(self, from_station, to_station):
@ -205,29 +204,16 @@ class select:
oldPassengersStr: 乘客名,证件类型,证件号,乘客类型 oldPassengersStr: 乘客名,证件类型,证件号,乘客类型
:return: :return:
""" """
passengerTicketStr = []
oldPassengerStr = []
passengerTicketStr.append(user_info[0]['passenger_id_type_code'])
passengerTicketStr.append(user_info[0]['passenger_name'])
passengerTicketStr.append(user_info[0]['passenger_type'])
passengerTicketStr.append(user_info[0]['passenger_id_no'])
passengerTicketStr.append(user_info[0]['mobile_no'])
oldPassengerStr.append(user_info[0]['passenger_name'])
oldPassengerStr.append(user_info[0]['passenger_type'])
oldPassengerStr.append(user_info[0]['passenger_id_no'])
oldPassengerStr.append(user_info[0]['passenger_type'])
checkOrderInfoUrl = 'https://kyfw.12306.cn/otn/confirmPassenger/checkOrderInfo' checkOrderInfoUrl = 'https://kyfw.12306.cn/otn/confirmPassenger/checkOrderInfo'
data = { data = {
'cancel_flag': 2, 'cancel_flag': 2,
'bed_level_order_num': 000000000000000000000000000000, 'bed_level_order_num': "000000000000000000000000000000",
'passengerTicketStr': self.set_type+',0,'+str(passengerTicketStr)+',N', 'passengerTicketStr': self.set_type+',0,'+user_info[0]['passenger_id_type_code']+","+user_info[0]["passenger_name"]+","+user_info[0]['passenger_type']+","+user_info[0]['passenger_id_no']+","+user_info[0]['mobile_no']+',N',
'oldPassengerStr': str(oldPassengerStr)+'_', 'oldPassengerStr': user_info[0]['passenger_name']+","+user_info[0]['passenger_type']+","+user_info[0]['passenger_id_no']+","+user_info[0]['passenger_type']+'_',
'tour_flag': 'dc', 'tour_flag': 'dc',
'REPEAT_SUBMIT_TOKEN': self.token, 'REPEAT_SUBMIT_TOKEN': self.token,
} }
checkOrderInfo = json.loads(myurllib2.Post(checkOrderInfoUrl, data)) checkOrderInfo = json.loads(myurllib2.Post(checkOrderInfoUrl, data, ))
print (checkOrderInfo)
if 'data' in checkOrderInfo and checkOrderInfo['data']['submitStatus'] is True: if 'data' in checkOrderInfo and checkOrderInfo['data']['submitStatus'] is True:
print ('车票提交通过,正在尝试排队') print ('车票提交通过,正在尝试排队')
elif 'messages' in checkOrderInfo and checkOrderInfo['messages']: elif 'messages' in checkOrderInfo and checkOrderInfo['messages']:
@ -240,23 +226,37 @@ class select:
:param token: :param token:
:return: :return:
""" """
old_train_date = self.get_ticketInfoForPassengerForm()['queryLeftTicketRequestDTO']['train_date']+"00:00:00" # 模仿12306格式 Sun May 21 2017 00:00:00 GMT+0800 (中国标准时间)
m_time = time.mktime(time.strptime(old_train_date, "%Y%m%d%H:%M:%S"))
l_time = time.localtime(m_time)
new_train_date = time.strftime("%a %b %d %Y %H:%M:%S", l_time)
getQueueCountUrl = 'https://kyfw.12306.cn/otn/confirmPassenger/getQueueCount' getQueueCountUrl = 'https://kyfw.12306.cn/otn/confirmPassenger/getQueueCount'
data = { data = {
# 'train_date': 'Sun May 07 2017 00:00:00 GMT+0800', 'train_date': new_train_date,
'train_date': self.ticketInfoForPassengerForm['queryLeftTicketRequestDTO']['train_date'], 'train_no': self.get_ticketInfoForPassengerForm()['queryLeftTicketRequestDTO']['train_no'],
'train_no': self.ticketInfoForPassengerForm['queryLeftTicketRequestDTO']['train_no'], 'stationTrainCode': self.get_ticketInfoForPassengerForm()['queryLeftTicketRequestDTO']['station_train_code'],
'stationTrainCode': self.ticketInfoForPassengerForm['queryLeftTicketRequestDTO']['station_train_code'],
'seatType': self.set_type, 'seatType': self.set_type,
'fromStationTelecode': self.ticketInfoForPassengerForm['queryLeftTicketRequestDTO']['from_station'], 'fromStationTelecode': self.get_ticketInfoForPassengerForm()['queryLeftTicketRequestDTO']['from_station'],
'toStationTelecode': self.ticketInfoForPassengerForm['queryLeftTicketRequestDTO']['to_station'], 'toStationTelecode': self.get_ticketInfoForPassengerForm()['queryLeftTicketRequestDTO']['to_station'],
'leftTicket': self.ticketInfoForPassengerForm['leftTicketStr'], 'leftTicket': self.get_ticketInfoForPassengerForm()['leftTicketStr'],
'purpose_codes': self.ticketInfoForPassengerForm['purpose_codes'], 'purpose_codes': self.get_ticketInfoForPassengerForm()['purpose_codes'],
'train_location': self.ticketInfoForPassengerForm['train_location'], 'train_location': self.get_ticketInfoForPassengerForm()['train_location'],
'REPEAT_SUBMIT_TOKEN': self.token, 'REPEAT_SUBMIT_TOKEN': self.token,
} }
print(data)
getQueueCountResult = json.loads(myurllib2.Post(getQueueCountUrl, data)) getQueueCountResult = json.loads(myurllib2.Post(getQueueCountUrl, data))
print(getQueueCountResult) if "status" in getQueueCountResult and getQueueCountResult["status"] is True:
if "countT" in getQueueCountResult["data"]:
countT = getQueueCountResult["data"]["countT"]
if int(countT) is 0:
print("排队成功, 当前余票还剩余 " + getQueueCountResult["data"]["ticket"]+ "")
else:
print("正在排队,当前排队人数 " + str(countT) + "当前余票还剩余 " + getQueueCountResult["data"]["ticket"]+ "")
else:
print("排队发现未知错误")
elif "messages" in getQueueCountResult and getQueueCountResult["messages"]:
print("排队异常,错误信息:"+getQueueCountResult)
else:
print(getQueueCountResult["validateMessages"])
def main(self): def main(self):
set_type = self.submitOrderRequest() set_type = self.submitOrderRequest()

Binary file not shown.