mirror of https://github.com/testerSunshine/12306
first pull
commit
5cd50a7fe0
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="PYTHON_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$" />
|
||||||
|
<orderEntry type="jdk" jdkName="Python 2.7.11 (C:\Python27\python.exe)" jdkType="Python SDK" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
<component name="TestRunnerService">
|
||||||
|
<option name="PROJECT_TEST_RUNNER" value="Unittests" />
|
||||||
|
</component>
|
||||||
|
</module>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectCodeStyleSettingsManager">
|
||||||
|
<option name="PER_PROJECT_SETTINGS">
|
||||||
|
<value>
|
||||||
|
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
|
||||||
|
</value>
|
||||||
|
</option>
|
||||||
|
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,3 @@
|
||||||
|
<component name="ProjectDictionaryState">
|
||||||
|
<dictionary name="wenxianping" />
|
||||||
|
</component>
|
|
@ -0,0 +1,10 @@
|
||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<profile version="1.0">
|
||||||
|
<option name="myName" value="Project Default" />
|
||||||
|
<inspection_tool class="InconsistentLineSeparators" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
|
<inspection_tool class="LongLine" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
|
<inspection_tool class="ProblematicWhitespace" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
|
<inspection_tool class="SSBasedInspection" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
|
<inspection_tool class="TodoComment" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
|
</profile>
|
||||||
|
</component>
|
|
@ -0,0 +1,7 @@
|
||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<settings>
|
||||||
|
<option name="useProjectProfile" value="false" />
|
||||||
|
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||||
|
<version value="1.0" />
|
||||||
|
</settings>
|
||||||
|
</component>
|
|
@ -0,0 +1,36 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="JsFlowSettings">
|
||||||
|
<service-enabled>false</service-enabled>
|
||||||
|
<exe-path />
|
||||||
|
<annotation-enable>false</annotation-enable>
|
||||||
|
<other-services-enabled>false</other-services-enabled>
|
||||||
|
</component>
|
||||||
|
<component name="ProjectInspectionProfilesVisibleTreeState">
|
||||||
|
<entry key="Project Default">
|
||||||
|
<profile-state>
|
||||||
|
<expanded-state>
|
||||||
|
<State>
|
||||||
|
<id />
|
||||||
|
</State>
|
||||||
|
<State>
|
||||||
|
<id>General</id>
|
||||||
|
</State>
|
||||||
|
</expanded-state>
|
||||||
|
<selected-state>
|
||||||
|
<State>
|
||||||
|
<id>SSBasedInspection</id>
|
||||||
|
</State>
|
||||||
|
</selected-state>
|
||||||
|
</profile-state>
|
||||||
|
</entry>
|
||||||
|
</component>
|
||||||
|
<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">
|
||||||
|
<option name="instanceFolder" value="$USER_HOME$/dev/mduia" />
|
||||||
|
<option name="provider" value="" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/12306login.iml" filepath="$PROJECT_DIR$/.idea/12306login.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,928 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ChangeListManager">
|
||||||
|
<list default="true" id="2e718905-1b98-4837-bcda-7f12f0a86ca3" name="Default" comment="" />
|
||||||
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||||
|
<option name="TRACKING_ENABLED" value="true" />
|
||||||
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||||
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||||
|
</component>
|
||||||
|
<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$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$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.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" />
|
||||||
|
</component>
|
||||||
|
<component name="CreatePatchCommitExecutor">
|
||||||
|
<option name="PATCH_PATH" value="" />
|
||||||
|
</component>
|
||||||
|
<component name="DatabaseView">
|
||||||
|
<option name="SHOW_INTERMEDIATE" value="true" />
|
||||||
|
<option name="GROUP_SCHEMA" value="true" />
|
||||||
|
<option name="GROUP_CONTENTS" value="false" />
|
||||||
|
<option name="SORT_POSITIONED" value="false" />
|
||||||
|
<option name="SHOW_TABLE_DETAILS" value="true" />
|
||||||
|
<option name="SHOW_EMPTY_GROUPS" value="false" />
|
||||||
|
<option name="AUTO_SCROLL_FROM_SOURCE" value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
|
||||||
|
<component name="FavoritesManager">
|
||||||
|
<favorites_list name="12306login" />
|
||||||
|
</component>
|
||||||
|
<component name="FileEditorManager">
|
||||||
|
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||||
|
<file leaf-file-name="select_ticket_info.py" pinned="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/init/select_ticket_info.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="2679">
|
||||||
|
<caret line="141" column="22" lean-forward="false" selection-start-line="141" selection-start-column="22" selection-end-line="141" selection-end-column="22" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#23#34#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="haha.py" pinned="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/haha.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="304">
|
||||||
|
<caret line="16" column="21" lean-forward="false" selection-start-line="16" selection-start-column="21" selection-end-line="16" selection-end-column="21" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#23#34#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="myurllib2.py" pinned="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/myUrllib/myurllib2.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="0">
|
||||||
|
<caret line="0" column="9" lean-forward="false" selection-start-line="0" selection-start-column="9" selection-end-line="0" selection-end-column="9" />
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="run.py" pinned="false" current-in-tab="true">
|
||||||
|
<entry file="file://$PROJECT_DIR$/run.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="152">
|
||||||
|
<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>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
</leaf>
|
||||||
|
</component>
|
||||||
|
<component name="FileTemplateManagerImpl">
|
||||||
|
<option name="RECENT_TEMPLATES">
|
||||||
|
<list>
|
||||||
|
<option value="Python Script" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="FindInProjectRecents">
|
||||||
|
<findStrings>
|
||||||
|
<find>下载验证码...</find>
|
||||||
|
<find>ssl</find>
|
||||||
|
<find>HHQ</find>
|
||||||
|
<find>CSQ</find>
|
||||||
|
<find>gg_num</find>
|
||||||
|
<find>ze_num</find>
|
||||||
|
<find>back_train_date</find>
|
||||||
|
<find>query_from_station_name</find>
|
||||||
|
<find>get</find>
|
||||||
|
</findStrings>
|
||||||
|
</component>
|
||||||
|
<component name="IdeDocumentHistory">
|
||||||
|
<option name="CHANGED_PATHS">
|
||||||
|
<list>
|
||||||
|
<option value="$PROJECT_DIR$/init/headers.py" />
|
||||||
|
<option value="$PROJECT_DIR$/headers/headers.py" />
|
||||||
|
<option value="$PROJECT_DIR$/login.py" />
|
||||||
|
<option value="$PROJECT_DIR$/test.py" />
|
||||||
|
<option value="$PROJECT_DIR$/myException/balanceException.py" />
|
||||||
|
<option value="$PROJECT_DIR$/myUrllib/myurlib2.py" />
|
||||||
|
<option value="$PROJECT_DIR$/select_ticket_info.py" />
|
||||||
|
<option value="$PROJECT_DIR$/init/station_name.txt" />
|
||||||
|
<option value="$PROJECT_DIR$/init/test.py" />
|
||||||
|
<option value="$PROJECT_DIR$/init/haha.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$/init/login.py" />
|
||||||
|
<option value="$PROJECT_DIR$/damatuCode/damatuWeb.py" />
|
||||||
|
<option value="$PROJECT_DIR$/myUrllib/myurllib2.py" />
|
||||||
|
<option value="$PROJECT_DIR$/haha.py" />
|
||||||
|
<option value="$PROJECT_DIR$/init/select_ticket_info.py" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
|
||||||
|
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
|
||||||
|
<component name="JsGulpfileManager">
|
||||||
|
<detection-done>true</detection-done>
|
||||||
|
<sorting>DEFINITION_ORDER</sorting>
|
||||||
|
</component>
|
||||||
|
<component name="ProjectFrameBounds">
|
||||||
|
<option name="x" value="-8" />
|
||||||
|
<option name="y" value="-8" />
|
||||||
|
<option name="width" value="2576" />
|
||||||
|
<option name="height" value="1416" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectView">
|
||||||
|
<navigator currentView="ProjectPane" proportions="" version="1">
|
||||||
|
<flattenPackages />
|
||||||
|
<showMembers />
|
||||||
|
<showModules />
|
||||||
|
<showLibraryContents />
|
||||||
|
<hideEmptyPackages />
|
||||||
|
<abbreviatePackageNames />
|
||||||
|
<autoscrollToSource />
|
||||||
|
<autoscrollFromSource />
|
||||||
|
<sortByType />
|
||||||
|
<manualOrder />
|
||||||
|
<foldersAlwaysOnTop value="true" />
|
||||||
|
</navigator>
|
||||||
|
<panes>
|
||||||
|
<pane id="Scratches" />
|
||||||
|
<pane id="ProjectPane">
|
||||||
|
<subPane>
|
||||||
|
<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>
|
||||||
|
<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="myUrllib" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
</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="init" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
</PATH>
|
||||||
|
</subPane>
|
||||||
|
</pane>
|
||||||
|
<pane id="Scope" />
|
||||||
|
</panes>
|
||||||
|
</component>
|
||||||
|
<component name="PropertiesComponent">
|
||||||
|
<property name="settings.editor.selected.configurable" value="reference.settingsdialog.IDE.editor.colors.Django/Jinja2 Template" />
|
||||||
|
<property name="nodejs_interpreter_path" value="/usr/local/bin/node" />
|
||||||
|
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||||
|
<property name="js.eslint.eslintPackage" value="" />
|
||||||
|
<property name="js-jscs-nodeInterpreter" value="/usr/local/bin/node" />
|
||||||
|
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
||||||
|
</component>
|
||||||
|
<component name="PyConsoleOptionsProvider">
|
||||||
|
<option name="myPythonConsoleState">
|
||||||
|
<console-settings is-module-sdk="true">
|
||||||
|
<option name="myUseModuleSdk" value="true" />
|
||||||
|
</console-settings>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="RecentsManager">
|
||||||
|
<key name="CopyFile.RECENT_KEYS">
|
||||||
|
<recent name="$PROJECT_DIR$" />
|
||||||
|
<recent name="$PROJECT_DIR$/init" />
|
||||||
|
<recent name="$PROJECT_DIR$/myException" />
|
||||||
|
<recent name="$PROJECT_DIR$/damatuCode" />
|
||||||
|
</key>
|
||||||
|
<key name="MoveFile.RECENT_KEYS">
|
||||||
|
<recent name="$PROJECT_DIR$" />
|
||||||
|
<recent name="$PROJECT_DIR$/init" />
|
||||||
|
<recent name="$PROJECT_DIR$/headers" />
|
||||||
|
</key>
|
||||||
|
</component>
|
||||||
|
<component name="RunDashboard">
|
||||||
|
<option name="ruleStates">
|
||||||
|
<list>
|
||||||
|
<RuleState>
|
||||||
|
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
|
||||||
|
</RuleState>
|
||||||
|
<RuleState>
|
||||||
|
<option name="name" value="StatusDashboardGroupingRule" />
|
||||||
|
</RuleState>
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="RunManager" selected="Python.run">
|
||||||
|
<configuration default="false" name="test" type="PythonConfigurationType" factoryName="Python" temporary="true">
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
|
</envs>
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<module name="12306login" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||||
|
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/init/login.py" />
|
||||||
|
<option name="PARAMETERS" value="" />
|
||||||
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||||
|
<option name="EMULATE_TERMINAL" value="false" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="false" name="haha" type="PythonConfigurationType" factoryName="Python" temporary="true">
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
|
</envs>
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/init" />
|
||||||
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<module name="12306login" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||||
|
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/init/haha.py" />
|
||||||
|
<option name="PARAMETERS" value="" />
|
||||||
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||||
|
<option name="EMULATE_TERMINAL" value="false" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="false" name="select_ticket_info" type="PythonConfigurationType" factoryName="Python" temporary="true">
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
|
</envs>
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/init" />
|
||||||
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<module name="12306login" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||||
|
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/init/select_ticket_info.py" />
|
||||||
|
<option name="PARAMETERS" value="" />
|
||||||
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||||
|
<option name="EMULATE_TERMINAL" value="false" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="false" name="run" type="PythonConfigurationType" factoryName="Python" temporary="true">
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
|
</envs>
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<module name="12306login" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||||
|
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/run.py" />
|
||||||
|
<option name="PARAMETERS" value="" />
|
||||||
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||||
|
<option name="EMULATE_TERMINAL" value="false" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="false" name="haha (1)" type="PythonConfigurationType" factoryName="Python" temporary="true">
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
|
</envs>
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<module name="12306login" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||||
|
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/haha.py" />
|
||||||
|
<option name="PARAMETERS" value="" />
|
||||||
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||||
|
<option name="EMULATE_TERMINAL" value="false" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="DjangoTestsConfigurationType" factoryName="Django tests">
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
|
</envs>
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="" />
|
||||||
|
<option name="IS_MODULE_SDK" value="false" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<module name="12306login" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||||
|
<option name="TARGET" value="" />
|
||||||
|
<option name="SETTINGS_FILE" value="" />
|
||||||
|
<option name="CUSTOM_SETTINGS" value="false" />
|
||||||
|
<option name="USE_OPTIONS" value="false" />
|
||||||
|
<option name="OPTIONS" value="" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="JavaScriptTestRunnerJest" factoryName="Jest">
|
||||||
|
<node-interpreter value="project" />
|
||||||
|
<working-dir value="" />
|
||||||
|
<envs />
|
||||||
|
<scope-kind value="ALL" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="JavaScriptTestRunnerProtractor" factoryName="Protractor">
|
||||||
|
<config-file value="" />
|
||||||
|
<node-interpreter value="project" />
|
||||||
|
<envs />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="PyBehaveRunConfigurationType" factoryName="Behave">
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs />
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="" />
|
||||||
|
<option name="IS_MODULE_SDK" value="false" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<module name="12306login" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||||
|
<option name="ADDITIONAL_ARGS" value="" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="PyLettuceRunConfigurationType" factoryName="Lettuce">
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs />
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="" />
|
||||||
|
<option name="IS_MODULE_SDK" value="false" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<module name="12306login" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||||
|
<option name="ADDITIONAL_ARGS" value="" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="PythonConfigurationType" factoryName="Python">
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
|
</envs>
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="" />
|
||||||
|
<option name="IS_MODULE_SDK" value="false" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<module name="12306login" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||||
|
<option name="SCRIPT_NAME" value="" />
|
||||||
|
<option name="PARAMETERS" value="" />
|
||||||
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||||
|
<option name="EMULATE_TERMINAL" value="false" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="Tox" factoryName="Tox">
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs />
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="" />
|
||||||
|
<option name="IS_MODULE_SDK" value="false" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||||
|
<module name="12306login" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
|
||||||
|
<node-interpreter>project</node-interpreter>
|
||||||
|
<node-options />
|
||||||
|
<gulpfile />
|
||||||
|
<tasks />
|
||||||
|
<arguments />
|
||||||
|
<envs />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="js.build_tools.npm" factoryName="npm">
|
||||||
|
<command value="run" />
|
||||||
|
<scripts />
|
||||||
|
<node-interpreter value="project" />
|
||||||
|
<envs />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="tests" factoryName="Doctests">
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs />
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="" />
|
||||||
|
<option name="IS_MODULE_SDK" value="false" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<module name="12306login" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||||
|
<option name="SCRIPT_NAME" value="" />
|
||||||
|
<option name="CLASS_NAME" value="" />
|
||||||
|
<option name="METHOD_NAME" value="" />
|
||||||
|
<option name="FOLDER_NAME" value="" />
|
||||||
|
<option name="TEST_TYPE" value="TEST_SCRIPT" />
|
||||||
|
<option name="PATTERN" value="" />
|
||||||
|
<option name="USE_PATTERN" value="false" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="tests" factoryName="Nosetests">
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs />
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="" />
|
||||||
|
<option name="IS_MODULE_SDK" value="false" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<module name="12306login" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||||
|
<option name="_new_regexPattern" value="""" />
|
||||||
|
<option name="_new_additionalArguments" value="""" />
|
||||||
|
<option name="_new_target" value=""."" />
|
||||||
|
<option name="_new_targetType" value=""PATH"" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="tests" factoryName="Unittests">
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs />
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="" />
|
||||||
|
<option name="IS_MODULE_SDK" value="false" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<module name="12306login" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||||
|
<option name="_new_additionalArguments" value="""" />
|
||||||
|
<option name="_new_target" value=""."" />
|
||||||
|
<option name="_new_targetType" value=""PATH"" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="tests" factoryName="py.test">
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs />
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="" />
|
||||||
|
<option name="IS_MODULE_SDK" value="false" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<module name="12306login" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||||
|
<option name="_new_keywords" value="""" />
|
||||||
|
<option name="_new_additionalArguments" value="""" />
|
||||||
|
<option name="_new_target" value=""."" />
|
||||||
|
<option name="_new_targetType" value=""PATH"" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<list size="5">
|
||||||
|
<item index="0" class="java.lang.String" itemvalue="Python.test" />
|
||||||
|
<item index="1" class="java.lang.String" itemvalue="Python.haha" />
|
||||||
|
<item index="2" class="java.lang.String" itemvalue="Python.select_ticket_info" />
|
||||||
|
<item index="3" class="java.lang.String" itemvalue="Python.run" />
|
||||||
|
<item index="4" class="java.lang.String" itemvalue="Python.haha (1)" />
|
||||||
|
</list>
|
||||||
|
<recent_temporary>
|
||||||
|
<list size="5">
|
||||||
|
<item index="0" class="java.lang.String" itemvalue="Python.run" />
|
||||||
|
<item index="1" class="java.lang.String" itemvalue="Python.haha (1)" />
|
||||||
|
<item index="2" class="java.lang.String" itemvalue="Python.select_ticket_info" />
|
||||||
|
<item index="3" class="java.lang.String" itemvalue="Python.haha" />
|
||||||
|
<item index="4" class="java.lang.String" itemvalue="Python.test" />
|
||||||
|
</list>
|
||||||
|
</recent_temporary>
|
||||||
|
<configuration default="true" type="tests" factoryName="Attests">
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs />
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="" />
|
||||||
|
<option name="IS_MODULE_SDK" value="false" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<module name="12306login" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||||
|
<option name="SCRIPT_NAME" value="" />
|
||||||
|
<option name="CLASS_NAME" value="" />
|
||||||
|
<option name="METHOD_NAME" value="" />
|
||||||
|
<option name="FOLDER_NAME" value="" />
|
||||||
|
<option name="TEST_TYPE" value="TEST_SCRIPT" />
|
||||||
|
<option name="PATTERN" value="" />
|
||||||
|
<option name="USE_PATTERN" value="false" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
||||||
|
<component name="ShelveChangesManager" show_recycled="false">
|
||||||
|
<option name="remove_strategy" value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="TaskManager">
|
||||||
|
<task active="true" id="Default" summary="Default task">
|
||||||
|
<changelist id="2e718905-1b98-4837-bcda-7f12f0a86ca3" name="Default" comment="" />
|
||||||
|
<created>1492857763313</created>
|
||||||
|
<option name="number" value="Default" />
|
||||||
|
<option name="presentableId" value="Default" />
|
||||||
|
<updated>1492857763313</updated>
|
||||||
|
</task>
|
||||||
|
<servers />
|
||||||
|
</component>
|
||||||
|
<component name="TodoView">
|
||||||
|
<todo-panel id="selected-file">
|
||||||
|
<is-autoscroll-to-source value="true" />
|
||||||
|
</todo-panel>
|
||||||
|
<todo-panel id="all">
|
||||||
|
<are-packages-shown value="true" />
|
||||||
|
<is-autoscroll-to-source value="true" />
|
||||||
|
</todo-panel>
|
||||||
|
</component>
|
||||||
|
<component name="ToolWindowManager">
|
||||||
|
<frame x="-8" y="-8" width="2576" height="1416" extended-state="6" />
|
||||||
|
<layout>
|
||||||
|
<window_info id="TODO" 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="6" side_tool="false" 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="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="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="false" 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="Find" 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="1" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
||||||
|
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.20903522" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Data View" 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="4" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Message" 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="0" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
||||||
|
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||||
|
</layout>
|
||||||
|
<layout-to-restore>
|
||||||
|
<window_info id="TODO" 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="6" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Message" 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="0" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" 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="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" 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="8" 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="9" 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="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="10" 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="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" 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="Find" 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="1" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
||||||
|
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.20903522" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Data View" 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="4" side_tool="false" content_ui="tabs" />
|
||||||
|
</layout-to-restore>
|
||||||
|
</component>
|
||||||
|
<component name="TypeScriptGeneratedFilesManager">
|
||||||
|
<option name="processedProjectFiles" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="VcsContentAnnotationSettings">
|
||||||
|
<option name="myLimit" value="2678400000" />
|
||||||
|
</component>
|
||||||
|
<component name="XDebuggerManager">
|
||||||
|
<breakpoint-manager>
|
||||||
|
<option name="time" value="5" />
|
||||||
|
</breakpoint-manager>
|
||||||
|
<watches-manager />
|
||||||
|
</component>
|
||||||
|
<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="true" />
|
||||||
|
</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://$PROJECT_DIR$/init/login.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<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" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#41#54#0" expanded="true" />
|
||||||
|
<element signature="e#1235#1250#0" expanded="false" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/station_name.txt">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="0">
|
||||||
|
<caret line="0" column="737" lean-forward="false" selection-start-line="0" selection-start-column="734" selection-end-line="0" selection-end-column="737" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<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="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/run.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="144">
|
||||||
|
<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>
|
||||||
|
</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://$PROJECT_DIR$/init/login.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<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" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#41#54#0" expanded="true" />
|
||||||
|
<element signature="e#1235#1250#0" expanded="false" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/station_name.txt">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="0">
|
||||||
|
<caret line="0" column="737" lean-forward="false" selection-start-line="0" selection-start-column="734" selection-end-line="0" selection-end-column="737" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<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="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/run.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="90">
|
||||||
|
<caret line="5" column="18" lean-forward="false" selection-start-line="5" selection-start-column="17" selection-end-line="5" selection-end-column="18" />
|
||||||
|
<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://$PROJECT_DIR$/init/login.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<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" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#41#54#0" expanded="true" />
|
||||||
|
<element signature="e#1235#1250#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="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="true" />
|
||||||
|
<element signature="e#1235#1250#0" expanded="false" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$USER_HOME$/Library/Caches/PyCharm2016.3/python_stubs/-1856293957/posix.py" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/headers/headers.py" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/init/login.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<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" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#41#54#0" expanded="true" />
|
||||||
|
<element signature="e#1235#1250#0" expanded="false" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file:///Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py" />
|
||||||
|
<entry file="file:///Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/getpass.py" />
|
||||||
|
<entry file="file://$USER_HOME$/Library/Caches/PyCharm2016.3/python_stubs/-1856293957/posix.py" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/headers/headers.py" />
|
||||||
|
<entry file="file:///Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/damatuCode/tkcode" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/init/__init__.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" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/myException/__init__.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" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/damatuCode/__init__.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" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file:///Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/init/login.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<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" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#41#54#0" expanded="true" />
|
||||||
|
<element signature="e#1235#1250#0" expanded="false" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file:///Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py" />
|
||||||
|
<entry file="file://$USER_HOME$/Library/Caches/PyCharm2016.3/python_stubs/-1856293957/__builtin__.py" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/init/station_name.js" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/init/test.py" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/myException/balanceException.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="1" selection-end-column="8" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/init/haha.py" />
|
||||||
|
<entry file="file:///Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_LWPCookieJar.py" />
|
||||||
|
<entry file="file://$USER_HOME$/Library/Caches/PyCharm2016.3/python_stubs/-1856293957/datetime.py" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/station_name.txt">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="17">
|
||||||
|
<caret line="0" column="737" lean-forward="false" selection-start-line="0" selection-start-column="734" selection-end-line="0" selection-end-column="737" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$USER_HOME$/Library/Caches/PyCharm2017.1/python_stubs/-1856293957/__builtin__.py" />
|
||||||
|
<entry file="file:///System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/dateutil/parser.py" />
|
||||||
|
<entry file="file://$APPLICATION_HOME_DIR$/helpers/python-skeletons/re.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="194">
|
||||||
|
<caret line="253" column="53" lean-forward="true" selection-start-line="253" selection-start-column="11" selection-end-line="253" selection-end-column="53" />
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file:///Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py" />
|
||||||
|
<entry file="file://$PROJECT_DIR$/damatuCode/damatuWeb.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="546">
|
||||||
|
<caret line="110" column="20" lean-forward="false" selection-start-line="110" selection-start-column="20" selection-end-line="110" selection-end-column="20" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/init/login.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="-120">
|
||||||
|
<caret line="36" column="0" lean-forward="false" selection-start-line="36" selection-start-column="0" selection-end-line="36" selection-end-column="0" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#41#54#0" expanded="true" />
|
||||||
|
<element signature="e#1235#1250#0" expanded="false" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/init/select_ticket_info.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="2679">
|
||||||
|
<caret line="141" column="22" lean-forward="false" selection-start-line="141" selection-start-column="22" selection-end-line="141" selection-end-column="22" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#23#34#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/haha.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="304">
|
||||||
|
<caret line="16" column="21" lean-forward="false" selection-start-line="16" selection-start-column="21" selection-end-line="16" selection-end-column="21" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#23#34#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/myUrllib/myurllib2.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="0">
|
||||||
|
<caret line="0" column="9" lean-forward="false" selection-start-line="0" selection-start-column="9" selection-end-line="0" selection-end-column="9" />
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/run.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="152">
|
||||||
|
<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>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</component>
|
||||||
|
<component name="masterDetails">
|
||||||
|
<states>
|
||||||
|
<state key="ScopeChooserConfigurable.UI">
|
||||||
|
<settings>
|
||||||
|
<splitter-proportions>
|
||||||
|
<option name="proportions">
|
||||||
|
<list>
|
||||||
|
<option value="0.2" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</splitter-proportions>
|
||||||
|
</settings>
|
||||||
|
</state>
|
||||||
|
</states>
|
||||||
|
</component>
|
||||||
|
</project>
|
Binary file not shown.
|
@ -0,0 +1,126 @@
|
||||||
|
# -*- coding=utf-8 -*-
|
||||||
|
|
||||||
|
import hashlib
|
||||||
|
import json
|
||||||
|
import base64
|
||||||
|
import requests
|
||||||
|
from myException.balanceException import balanceException
|
||||||
|
|
||||||
|
|
||||||
|
def md5str(str): # md5加密字符串
|
||||||
|
m = hashlib.md5(str.encode(encoding="utf-8"))
|
||||||
|
return m.hexdigest()
|
||||||
|
|
||||||
|
|
||||||
|
def md5(byte): # md5加密byte
|
||||||
|
return hashlib.md5(byte).hexdigest()
|
||||||
|
|
||||||
|
|
||||||
|
class DamatuApi():
|
||||||
|
ID = '40838'
|
||||||
|
KEY = 'ca9507e17e8d5ddf7c57cd18d8d33010'
|
||||||
|
HOST = 'http://api.dama2.com:7766/app/'
|
||||||
|
|
||||||
|
def __init__(self, username, password, file_path):
|
||||||
|
self.username = username
|
||||||
|
self.password = password
|
||||||
|
self.file_path = file_path
|
||||||
|
|
||||||
|
def getSign(self, param=b''):
|
||||||
|
return (md5(bytes(self.KEY) + bytes(self.username) + param))[:8]
|
||||||
|
|
||||||
|
def getPwd(self):
|
||||||
|
return md5str(self.KEY + md5str(md5str(self.username) + md5str(self.password)))
|
||||||
|
|
||||||
|
def post(self, path, params={}):
|
||||||
|
data = params
|
||||||
|
url = self.HOST + path
|
||||||
|
response = requests.post(url, data)
|
||||||
|
return response.content
|
||||||
|
|
||||||
|
# 查询余额 return 是正数为余额 如果为负数 则为错误码
|
||||||
|
def getBalance(self):
|
||||||
|
data = {'appID': self.ID,
|
||||||
|
'user': self.username,
|
||||||
|
'pwd': self.getPwd(),
|
||||||
|
'sign': self.getSign()
|
||||||
|
}
|
||||||
|
res = self.post('d2Balance', data)
|
||||||
|
res = str(res)
|
||||||
|
jres = json.loads(res)
|
||||||
|
if jres['ret'] == 0:
|
||||||
|
return jres['balance']
|
||||||
|
else:
|
||||||
|
return jres['ret']
|
||||||
|
|
||||||
|
# 上传验证码 参数filePath 验证码图片路径 如d:/1.jpg type是类型,查看http://wiki.dama2.com/index.php?n=ApiDoc.Pricedesc return 是答案为成功 如果为负数 则为错误码
|
||||||
|
def decode(self, type):
|
||||||
|
f = open(self.file_path, 'rb')
|
||||||
|
fdata = f.read()
|
||||||
|
filedata = base64.b64encode(fdata)
|
||||||
|
f.close()
|
||||||
|
data = {'appID': self.ID,
|
||||||
|
'user': self.username,
|
||||||
|
'pwd': self.getPwd(),
|
||||||
|
'type': type,
|
||||||
|
'fileDataBase64': filedata,
|
||||||
|
'sign': self.getSign(fdata)
|
||||||
|
}
|
||||||
|
res = self.post('d2File', data)
|
||||||
|
res = str(res)
|
||||||
|
jres = json.loads(res)
|
||||||
|
if jres['ret'] == 0:
|
||||||
|
# 注意这个json里面有ret,id,result,cookie,根据自己的需要获取
|
||||||
|
return (jres['result'])
|
||||||
|
else:
|
||||||
|
return jres['ret']
|
||||||
|
|
||||||
|
# url地址打码 参数 url地址 type是类型(类型查看http://wiki.dama2.com/index.php?n=ApiDoc.Pricedesc) return 是答案为成功 如果为负数 则为错误码
|
||||||
|
def decodeUrl(self, url, type):
|
||||||
|
data = {'appID': self.ID,
|
||||||
|
'user': self.username,
|
||||||
|
'pwd': self.getPwd(),
|
||||||
|
'type': type,
|
||||||
|
'url': url,
|
||||||
|
'sign': self.getSign(url.encode(encoding="utf-8"))
|
||||||
|
}
|
||||||
|
res = self.post('d2Url', data)
|
||||||
|
res = str(res,)
|
||||||
|
jres = json.loads(res)
|
||||||
|
if jres['ret'] == 0:
|
||||||
|
# 注意这个json里面有ret,id,result,cookie,根据自己的需要获取
|
||||||
|
return (jres['result'])
|
||||||
|
else:
|
||||||
|
return jres['ret']
|
||||||
|
|
||||||
|
# 报错 参数id(string类型)由上传打码函数的结果获得 return 0为成功 其他见错误码
|
||||||
|
def reportError(self, id):
|
||||||
|
data = {'appID': self.ID,
|
||||||
|
'user': self.username,
|
||||||
|
'pwd': self.getPwd(),
|
||||||
|
'id': id,
|
||||||
|
'sign': self.getSign(id.encode(encoding="utf-8"))
|
||||||
|
}
|
||||||
|
res = self.post('d2ReportError', data)
|
||||||
|
res = str(res)
|
||||||
|
jres = json.loads(res)
|
||||||
|
return jres['ret']
|
||||||
|
|
||||||
|
def main(self):
|
||||||
|
balance = self.getBalance()
|
||||||
|
if balance > 40:
|
||||||
|
img_code = self.decode(287).replace('|', ',')
|
||||||
|
print img_code
|
||||||
|
return img_code
|
||||||
|
else:
|
||||||
|
raise balanceException(u'余额不足,当前余额为: {}'.format(balance))
|
||||||
|
|
||||||
|
# # 调用类型实例:
|
||||||
|
# # 1.实例化类型 参数是打码兔用户账号和密码
|
||||||
|
# dmt = DamatuApi("wenxianping", "wen1995")
|
||||||
|
# # 2.调用方法:
|
||||||
|
# print(dmt.getBalance()) # 查询余额
|
||||||
|
# print(dmt.decode('tkcode', 287)) # 上传打码
|
||||||
|
# # print(dmt.decodeUrl('https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand&0.7586344633015405', 310)) # 上传打码
|
||||||
|
# # print(dmt.reportError('894657096')) # 上报错误
|
||||||
|
|
Binary file not shown.
|
@ -0,0 +1,17 @@
|
||||||
|
# -*- coding=utf-8 -*-
|
||||||
|
import json
|
||||||
|
import sys
|
||||||
|
import urllib
|
||||||
|
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()
|
Binary file not shown.
|
@ -0,0 +1,176 @@
|
||||||
|
#!/bin/env python
|
||||||
|
# -*- coding=utf-8 -*-
|
||||||
|
import random
|
||||||
|
import json
|
||||||
|
import re
|
||||||
|
from damatuCode.damatuWeb import DamatuApi
|
||||||
|
from myUrllib import myurllib2
|
||||||
|
|
||||||
|
codeimg = 'https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand&%s' % random.random()
|
||||||
|
# 931128603@qq.com
|
||||||
|
baner = """
|
||||||
|
##################################
|
||||||
|
12306登录脚本,作者Mr RJL
|
||||||
|
python版本:2.7,适用于linux
|
||||||
|
验证码输入方式:
|
||||||
|
输入问题对应的图片序号,1-8;
|
||||||
|
多个以','分隔.如:1,2,3
|
||||||
|
##################################
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
def cookietp():
|
||||||
|
stoidinput("获取Cookie")
|
||||||
|
Url = "https://kyfw.12306.cn/otn/login/init"
|
||||||
|
myurllib2.get(Url)
|
||||||
|
for index, c in enumerate(myurllib2.cookiejar):
|
||||||
|
stoidinput(c)
|
||||||
|
|
||||||
|
|
||||||
|
def readImg():
|
||||||
|
global randCode
|
||||||
|
stoidinput("下载验证码...")
|
||||||
|
img_path = '/tmp/tkcode'
|
||||||
|
result = myurllib2.get(codeimg)
|
||||||
|
try:
|
||||||
|
open(img_path, 'wb').write(result)
|
||||||
|
randCode = DamatuApi('wenxianping', 'wen1995', img_path).main()
|
||||||
|
except OSError as e:
|
||||||
|
print e
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def stoidinput(text):
|
||||||
|
"""
|
||||||
|
正常信息输出
|
||||||
|
:param text:
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
|
print "\033[34m[*]\033[0m %s " % text
|
||||||
|
|
||||||
|
|
||||||
|
def errorinput(text):
|
||||||
|
"""
|
||||||
|
错误信息输出
|
||||||
|
:param text:
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
|
print "\033[32m[!]\033[0m %s " % text
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
# def codexy():
|
||||||
|
# """
|
||||||
|
# 获取验证码
|
||||||
|
# :return: str
|
||||||
|
# """
|
||||||
|
#
|
||||||
|
# Ofset = raw_input("[*] 请输入验证码: ")
|
||||||
|
# select = Ofset.split(',')
|
||||||
|
# global randCode
|
||||||
|
# post = []
|
||||||
|
# offsetsX = 0 # 选择的答案的left值,通过浏览器点击8个小图的中点得到的,这样基本没问题
|
||||||
|
# offsetsY = 0 # 选择的答案的top值
|
||||||
|
# for ofset in select:
|
||||||
|
# if ofset == '1':
|
||||||
|
# offsetsY = 46
|
||||||
|
# offsetsX = 42
|
||||||
|
# elif ofset == '2':
|
||||||
|
# offsetsY = 46
|
||||||
|
# offsetsX = 105
|
||||||
|
# elif ofset == '3':
|
||||||
|
# offsetsY = 45
|
||||||
|
# offsetsX = 184
|
||||||
|
# elif ofset == '4':
|
||||||
|
# offsetsY = 48
|
||||||
|
# offsetsX = 256
|
||||||
|
# elif ofset == '5':
|
||||||
|
# offsetsY = 36
|
||||||
|
# offsetsX = 117
|
||||||
|
# elif ofset == '6':
|
||||||
|
# offsetsY = 112
|
||||||
|
# offsetsX = 115
|
||||||
|
# elif ofset == '7':
|
||||||
|
# offsetsY = 114
|
||||||
|
# offsetsX = 181
|
||||||
|
# elif ofset == '8':
|
||||||
|
# offsetsY = 111
|
||||||
|
# offsetsX = 252
|
||||||
|
# else:
|
||||||
|
# pass
|
||||||
|
# post.append(offsetsX)
|
||||||
|
# post.append(offsetsY)
|
||||||
|
# randCode = str(post).replace(']', '').replace('[', '').replace("'", '').replace(' ', '')
|
||||||
|
|
||||||
|
|
||||||
|
def login(user, passwd):
|
||||||
|
randurl = 'https://kyfw.12306.cn/otn/passcodeNew/checkRandCodeAnsyn'
|
||||||
|
logurl = 'https://kyfw.12306.cn/otn/login/loginAysnSuggest'
|
||||||
|
surl = 'https://kyfw.12306.cn/otn/login/userLogin'
|
||||||
|
geturl = 'https://kyfw.12306.cn/otn/index/initMy12306'
|
||||||
|
randdata = {
|
||||||
|
"randCode": randCode,
|
||||||
|
"rand": "sjrand"
|
||||||
|
}
|
||||||
|
logdata = {
|
||||||
|
"loginUserDTO.user_name": user,
|
||||||
|
"userDTO.password": passwd,
|
||||||
|
"randCode": randCode
|
||||||
|
}
|
||||||
|
ldata = {
|
||||||
|
"_json_att": None
|
||||||
|
}
|
||||||
|
fresult = json.loads(myurllib2.Post(randurl, randdata), encoding='utf8')
|
||||||
|
checkcode = fresult['data']['msg']
|
||||||
|
if checkcode == 'FALSE':
|
||||||
|
errorinput("验证码有误,第%s次尝试重试" )
|
||||||
|
else:
|
||||||
|
stoidinput("验证码通过,开始登录..")
|
||||||
|
try:
|
||||||
|
tresult = json.loads(myurllib2.Post(logurl, logdata), encoding='utf8')
|
||||||
|
if tresult['data'].__len__() == 0:
|
||||||
|
errorinput("登录失败: %s" % tresult['messages'][0])
|
||||||
|
else:
|
||||||
|
|
||||||
|
stoidinput("登录成功")
|
||||||
|
myurllib2.Post(surl, ldata)
|
||||||
|
getUserinfo()
|
||||||
|
except ValueError as e:
|
||||||
|
errorinput(e)
|
||||||
|
|
||||||
|
|
||||||
|
def getUserinfo():
|
||||||
|
"""
|
||||||
|
登录成功后,显示用户名
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
|
url = 'https://kyfw.12306.cn/otn/modifyUser/initQueryUserInfo'
|
||||||
|
data = dict(_json_att=None)
|
||||||
|
result = myurllib2.Post(url, data)
|
||||||
|
userinfo = result
|
||||||
|
name = r'<input name="userDTO.loginUserDTO.user_name" style="display:none;" type="text" value="(\S+)" />'
|
||||||
|
try:
|
||||||
|
stoidinput("欢迎 %s 登录" % re.search(name, result).group(1))
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
cookietp()
|
||||||
|
readImg()
|
||||||
|
login('931128603@qq.com', 'QWERTY')
|
||||||
|
|
||||||
|
|
||||||
|
def logout():
|
||||||
|
url = 'https://kyfw.12306.cn/otn/login/loginOut'
|
||||||
|
result = myurllib2.get(url)
|
||||||
|
if result:
|
||||||
|
stoidinput("已退出")
|
||||||
|
else:
|
||||||
|
errorinput("退出失败")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print baner
|
||||||
|
main()
|
||||||
|
# logout()
|
Binary file not shown.
|
@ -0,0 +1,177 @@
|
||||||
|
# -*- coding=utf-8 -*-
|
||||||
|
import json
|
||||||
|
import time
|
||||||
|
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
import re
|
||||||
|
import urllib
|
||||||
|
|
||||||
|
from myUrllib import myurllib2
|
||||||
|
|
||||||
|
|
||||||
|
class select:
|
||||||
|
def __init__(self, from_station, to_station):
|
||||||
|
self.from_station = from_station
|
||||||
|
self.to_station = to_station
|
||||||
|
|
||||||
|
def station_seat(self, index):
|
||||||
|
"""
|
||||||
|
获取车票对应坐席
|
||||||
|
:param seat_type:
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
|
seat = {32: '商务座 ',
|
||||||
|
31: '一等座 ',
|
||||||
|
30: '二等座 ',
|
||||||
|
25: '特等座 ',
|
||||||
|
23: '软卧 ',
|
||||||
|
28: '硬卧 ',
|
||||||
|
29: '硬座 ',
|
||||||
|
26: '无座 '
|
||||||
|
}
|
||||||
|
return seat[index]
|
||||||
|
|
||||||
|
def station_table(self):
|
||||||
|
"""
|
||||||
|
读取车站信息
|
||||||
|
:param station:
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
|
result = open('station_name.txt')
|
||||||
|
info = result.read().split('=')[1].strip("'").split('@')
|
||||||
|
del info[0]
|
||||||
|
station_name = {}
|
||||||
|
for i in range(0, len(info)):
|
||||||
|
# print info[i]
|
||||||
|
n_info = info[i].split('|')
|
||||||
|
station_name[n_info[1]] = n_info[2]
|
||||||
|
from_station = station_name[self.from_station]
|
||||||
|
to_station = station_name[self.to_station]
|
||||||
|
return from_station, to_station
|
||||||
|
|
||||||
|
def time(self):
|
||||||
|
today = datetime.date.today()
|
||||||
|
tomorrow = today+datetime.timedelta(1)
|
||||||
|
return tomorrow.strftime('%Y-%m-%d')
|
||||||
|
|
||||||
|
def getRepeatSubmitToken(self):
|
||||||
|
"""
|
||||||
|
获取提交车票请求token
|
||||||
|
:return: token
|
||||||
|
"""
|
||||||
|
initdc_url = 'https://kyfw.12306.cn/otn/confirmPassenger/initDc'
|
||||||
|
initdc_result = myurllib2.get(initdc_url)
|
||||||
|
name = r"var globalRepeatSubmitToken = '(\S+)'"
|
||||||
|
token = re.search(name, initdc_result).group(1)
|
||||||
|
return token
|
||||||
|
|
||||||
|
def getPassengerDTOs(self, token):
|
||||||
|
"""
|
||||||
|
获取乘客信息
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
|
get_passengerDTOs = 'https://kyfw.12306.cn/otn/confirmPassenger/getPassengerDTOs'
|
||||||
|
get_data = {
|
||||||
|
'_json_att': None,
|
||||||
|
'REPEAT_SUBMIT_TOKEN': token
|
||||||
|
}
|
||||||
|
jsonData = json.loads(myurllib2.Post(get_passengerDTOs, get_data))
|
||||||
|
if 'data' in jsonData and jsonData['data'] and 'normal_passengers' in jsonData['data'] and jsonData['data'][
|
||||||
|
'normal_passengers']:
|
||||||
|
return jsonData['data']['normal_passengers']
|
||||||
|
else:
|
||||||
|
if 'data' in jsonData and 'exMsg' in jsonData['data'] and jsonData['data']['exMsg']:
|
||||||
|
print(jsonData['data']['exMsg'])
|
||||||
|
elif 'messages' in jsonData and jsonData['messages']:
|
||||||
|
print(jsonData['messages'])
|
||||||
|
else:
|
||||||
|
print("未查找到常用联系人")
|
||||||
|
|
||||||
|
def submitOrderRequest(self):
|
||||||
|
from_station, to_station = self.station_table()
|
||||||
|
select_url = 'https://kyfw.12306.cn/otn/leftTicket/query?' \
|
||||||
|
'leftTicketDTO.train_date={}&leftTicketDTO.from_station={}' \
|
||||||
|
'&leftTicketDTO.to_station={}&purpose_codes=ADULT'.format(self.time(), from_station, to_station)
|
||||||
|
check_user_url = 'https://kyfw.12306.cn/otn/login/checkUser'
|
||||||
|
submit_station_url = 'https://kyfw.12306.cn/otn/leftTicket/submitOrderRequest'
|
||||||
|
station_ticket = json.loads(myurllib2.get(select_url), encoding='utf-8')
|
||||||
|
value = station_ticket['data']
|
||||||
|
if value.__len__() is 0:
|
||||||
|
print '当前车次查询为空...'
|
||||||
|
else:
|
||||||
|
for i in value['result']:
|
||||||
|
ticket_info = i.split('|')
|
||||||
|
for j in range(20, 33):
|
||||||
|
if ticket_info[j] != '' and ticket_info[j] != '无':
|
||||||
|
print '车次: ' + ticket_info[3] + ' 始发车站: ' + value['map']['AOH'] + ' 终点站: ' + \
|
||||||
|
value['map']['CSQ'] + ' ' + self.station_seat(j) + ': ' + ticket_info[j]
|
||||||
|
print '正在尝试提交订票...'
|
||||||
|
data = dict(_json_att=None)
|
||||||
|
check_user = json.loads(myurllib2.Post(check_user_url, data), encoding='utf-8')
|
||||||
|
check_user_flag = check_user['data']['flag']
|
||||||
|
if check_user_flag is True:
|
||||||
|
print '尝试提交订单...'
|
||||||
|
# 预定的请求参数,注意参数顺序
|
||||||
|
# 注意这里为了防止secretStr被urllib.parse过度编码,在这里进行一次解码
|
||||||
|
# 否则调用HttpTester类的post方法将会将secretStr编码成为无效码,造成提交预定请求失败
|
||||||
|
data = [('secretStr', urllib.unquote(ticket_info[0])), # 字符串加密
|
||||||
|
('train_date', self.time()), # 出发时间
|
||||||
|
('back_train_date', self.time()), # 返程时间
|
||||||
|
('tour_flag', 'dc'), # 旅途类型
|
||||||
|
('purpose_codes', 'ADULT'), # 成人票还是学生票
|
||||||
|
('query_from_station_name', self.from_station), # 起始车站
|
||||||
|
('query_to_station_name', self.to_station), # 终点车站
|
||||||
|
]
|
||||||
|
submitResult = json.loads(myurllib2.Post(submit_station_url, data), encoding='utf-8')
|
||||||
|
submit_data = submitResult['data']
|
||||||
|
if submit_data == 'N':
|
||||||
|
print '出票成功'
|
||||||
|
else:
|
||||||
|
print '出票失败'
|
||||||
|
else:
|
||||||
|
if check_user['massage']:
|
||||||
|
print '用户检查失败:%s' % check_user['massage']
|
||||||
|
else:
|
||||||
|
print '用户检查失败: %s' %check_user
|
||||||
|
return submitResult
|
||||||
|
|
||||||
|
def getPassengerTicketStr(self, str):
|
||||||
|
"""
|
||||||
|
获取getPassengerTicketStr 提交对应的代号码
|
||||||
|
:param str: 坐席
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
|
passengerTicketStr = {
|
||||||
|
'一等座': 'M',
|
||||||
|
'特等座': 'P',
|
||||||
|
'二等座': 'O',
|
||||||
|
'商务座': 9,
|
||||||
|
'硬座': 1,
|
||||||
|
'无座': 1,
|
||||||
|
'软卧': 4,
|
||||||
|
'硬卧': 3,
|
||||||
|
}
|
||||||
|
return passengerTicketStr[str]
|
||||||
|
|
||||||
|
def checkOrderInfo(self, token):
|
||||||
|
"""
|
||||||
|
检查支付订单,需要提交REPEAT_SUBMIT_TOKEN
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
|
checkOrderInfoUrl = 'https://kyfw.12306.cn/otn/confirmPassenger/checkOrderInfo'
|
||||||
|
data = {
|
||||||
|
'cancel_flag': 2,
|
||||||
|
'bed_level_order_num': 000000000000000000000000000000,
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
def main(self):
|
||||||
|
token = self.getRepeatSubmitToken()
|
||||||
|
self.submitOrderRequest()
|
||||||
|
self.getPassengerDTOs(token)
|
||||||
|
self.checkOrderInfo(token)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
a = select('上海', '北京')
|
||||||
|
a.main()
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,2 @@
|
||||||
|
class balanceException(Exception):
|
||||||
|
pass
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,59 @@
|
||||||
|
import httplib
|
||||||
|
import ssl
|
||||||
|
import urllib
|
||||||
|
import urllib2
|
||||||
|
import sys
|
||||||
|
from _LWPCookieJar import LWPCookieJar
|
||||||
|
|
||||||
|
reload(sys)
|
||||||
|
sys.setdefaultencoding('UTF8')
|
||||||
|
cookiejar = LWPCookieJar()
|
||||||
|
cookiesuppor = urllib2.HTTPCookieProcessor(cookiejar)
|
||||||
|
opener = urllib2.build_opener(cookiesuppor, urllib2.HTTPHandler)
|
||||||
|
urllib2.install_opener(opener)
|
||||||
|
ssl._create_default_https_context = ssl._create_unverified_context
|
||||||
|
|
||||||
|
|
||||||
|
def get(url):
|
||||||
|
try:
|
||||||
|
request = urllib2.Request(url=url)
|
||||||
|
request.add_header("Content-Type", "application/x-www-form-urlencoded; charset=utf-8")
|
||||||
|
request.add_header('X-Requested-With', 'xmlHttpRequest')
|
||||||
|
request.add_header('User-Agent',
|
||||||
|
'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36')
|
||||||
|
request.add_header('Referer', 'https://kyfw.12306.cn/otn/login/init')
|
||||||
|
request.add_header('Accept', '*/*')
|
||||||
|
result = urllib2.urlopen(request).read()
|
||||||
|
assert isinstance(result, object)
|
||||||
|
return result
|
||||||
|
except httplib.error as e:
|
||||||
|
print e
|
||||||
|
pass
|
||||||
|
except urllib2.URLError as e:
|
||||||
|
print e
|
||||||
|
pass
|
||||||
|
except urllib2.HTTPBasicAuthHandler, urllib2.HTTPError:
|
||||||
|
print 'error'
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def Post(url, data):
|
||||||
|
try:
|
||||||
|
request = urllib2.Request(url=url, data=urllib.urlencode(data))
|
||||||
|
# req.add_header('User-Agent', 'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0')
|
||||||
|
# request = urllib2Post.Request(ajax_url, urllib.urlencode(dc))
|
||||||
|
request.add_header("Content-Type", "application/x-www-form-urlencoded; charset=utf-8")
|
||||||
|
request.add_header('X-Requested-With', 'xmlHttpRequest')
|
||||||
|
request.add_header('User-Agent',
|
||||||
|
'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36')
|
||||||
|
request.add_header('Referer', 'https://kyfw.12306.cn/otn/login/init')
|
||||||
|
request.add_header('Accept', '*/*')
|
||||||
|
# request.add_header('Accept-Encoding', 'gzip, deflate')
|
||||||
|
result = urllib2.urlopen(request).read()
|
||||||
|
return result
|
||||||
|
except httplib.error as e:
|
||||||
|
return e
|
||||||
|
except urllib2.URLError as e:
|
||||||
|
return e
|
||||||
|
except urllib2.HTTPBasicAuthHandler, urllib2.HTTPError:
|
||||||
|
return 'error'
|
Binary file not shown.
|
@ -0,0 +1,9 @@
|
||||||
|
# -*- coding=utf-8 -*-
|
||||||
|
from init import login, select_ticket_info
|
||||||
|
|
||||||
|
|
||||||
|
def run():
|
||||||
|
login.main()
|
||||||
|
select_ticket_info.select('上海', '长沙').main()
|
||||||
|
|
||||||
|
run()
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue