Commit d252cc0f authored by 楼超奇's avatar 楼超奇

demo done

parents
<?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.12 (/usr/local/bin/python)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TestRunnerService">
<option name="PROJECT_TEST_RUNNER" value="Unittests" />
</component>
</module>
\ No newline at end of file
<component name="ProjectDictionaryState">
<dictionary name="louchaoqi" />
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 2.7.12 (/usr/local/bin/python)" project-jdk-type="Python SDK" />
<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>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/../zige_demo/.idea/demo.iml" filepath="$PROJECT_DIR$/../zige_demo/.idea/demo.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="9473d142-1900-4713-b244-3c1e4d26019a" name="Default" comment="" />
<ignored path="demo.iws" />
<ignored path=".idea/workspace.xml" />
<ignored path=".idea/dataSources.local.xml" />
<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="ChangesViewManager" flattened_view="true" show_ignored="false" />
<component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" />
</component>
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FavoritesManager">
<favorites_list name="demo" />
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="app.py" pinned="false" current-in-tab="true">
<entry file="file://$USER_HOME$/Work/zige_demo/app.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="207">
<caret line="55" column="44" selection-start-line="55" selection-start-column="44" selection-end-line="55" selection-end-column="44" />
<folding>
<element signature="e#16#44#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="status_codes.py" pinned="false" current-in-tab="false">
<entry file="file:///Library/Python/2.7/site-packages/requests/status_codes.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1260">
<caret line="84" column="0" selection-start-line="84" selection-start-column="0" selection-end-line="84" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="yishizige.html" pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/Work/zige_demo/templates/yishizige.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-132">
<caret line="11" column="37" selection-start-line="11" selection-start-column="37" selection-end-line="11" selection-end-column="37" />
<folding>
<element signature="n#style#0;n#input#2;n#form#0;n#body#0;n#html#0;n#!!top" expanded="true" />
<element signature="n#style#0;n#img#0;n#form#0;n#body#0;n#html#0;n#!!top" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Python Script" />
</list>
</option>
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$USER_HOME$/Work/demo/templates/yishizige.html" />
<option value="$USER_HOME$/Work/demo/app.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="y" value="23" />
<option name="width" value="1280" />
<option name="height" value="773" />
</component>
<component name="ProjectInspectionProfilesVisibleTreeState">
<entry key="Project Default">
<profile-state>
<expanded-state>
<State>
<id />
</State>
<State>
<id>CSS</id>
</State>
<State>
<id>Code style issuesJavaScript</id>
</State>
<State>
<id>Control flow issuesJavaScript</id>
</State>
<State>
<id>Django</id>
</State>
<State>
<id>General</id>
</State>
<State>
<id>HAML</id>
</State>
<State>
<id>JavaScript</id>
</State>
<State>
<id>JavaScript function metricsJavaScript</id>
</State>
<State>
<id>JavaScript validity issuesJavaScript</id>
</State>
<State>
<id>Potentially confusing code constructsJavaScript</id>
</State>
<State>
<id>Probable bugsCSS</id>
</State>
<State>
<id>Probable bugsJavaScript</id>
</State>
<State>
<id>Python</id>
</State>
<State>
<id>SQL</id>
</State>
</expanded-state>
<selected-state>
<State>
<id>AngularJS</id>
</State>
</selected-state>
</profile-state>
</entry>
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</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="ProjectPane">
<subPane>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="demo" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="zige_demo" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="Scope" />
<pane id="Scratches" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
<property name="last_opened_file_path" value="/usr/local/bin/python" />
<property name="settings.editor.splitter.proportion" value="0.2" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="js-jscs-nodeInterpreter" value="/usr/local/bin/node" />
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="$USER_HOME$/Work/demo" />
</key>
</component>
<component name="RunManager">
<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="demo" />
<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="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="demo" />
<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="demo" />
<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="demo" />
<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" />
<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="demo" />
<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-script" />
<scripts />
<node-interpreter value="project" />
<envs />
<method />
</configuration>
<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="demo" />
<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="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="demo" />
<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="demo" />
<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" />
<option name="PARAMS" value="" />
<option name="USE_PARAM" value="false" />
<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="demo" />
<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" />
<option name="PUREUNITTEST" value="true" />
<option name="PARAMS" value="" />
<option name="USE_PARAM" value="false" />
<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="demo" />
<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" />
<option name="testToRun" value="" />
<option name="keywords" value="" />
<option name="params" value="" />
<option name="USE_PARAM" value="false" />
<option name="USE_KEYWORD" value="false" />
<method />
</configuration>
</component>
<component name="ShelveChangesManager" show_recycled="false">
<option name="remove_strategy" value="false" />
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="9473d142-1900-4713-b244-3c1e4d26019a" name="Default" comment="" />
<created>1491360771126</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1491360771126</updated>
</task>
<servers />
</component>
<component name="ToolWindowManager">
<frame x="0" y="23" width="1280" height="773" extended-state="6" />
<editor active="false" />
<layout>
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25767368" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<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="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.329429" sideWeight="0.5" order="1" 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="Version Control" 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="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="Terminal" 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="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="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="Run" 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="2" 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" />
<window_info id="Debug" 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="3" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="Vcs.Log.UiProperties">
<option name="RECENTLY_FILTERED_USER_GROUPS">
<collection />
</option>
<option name="RECENTLY_FILTERED_BRANCH_GROUPS">
<collection />
</option>
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager />
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$USER_HOME$/Work/demo/static/ok.gif">
<provider selected="true" editor-type-id="images">
<state />
</provider>
</entry>
<entry file="file:///Library/Python/2.7/site-packages/requests/status_codes.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1260">
<caret line="84" column="0" selection-start-line="84" selection-start-column="0" selection-end-line="84" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Work/zige_demo/templates/yishizige.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-132">
<caret line="11" column="37" selection-start-line="11" selection-start-column="37" selection-end-line="11" selection-end-column="37" />
<folding>
<element signature="n#style#0;n#input#2;n#form#0;n#body#0;n#html#0;n#!!top" expanded="true" />
<element signature="n#style#0;n#img#0;n#form#0;n#body#0;n#html#0;n#!!top" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Work/zige_demo/app.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="207">
<caret line="55" column="44" selection-start-line="55" selection-start-column="44" selection-end-line="55" selection-end-column="44" />
<folding>
<element signature="e#16#44#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
</project>
\ No newline at end of file
#!coding=utf-8
from io import open as iopen
from flask import Flask
from flask import send_file
from flask import render_template
from flask import request
from flask import url_for
from flask import redirect
import requests
from pyquery import PyQuery
app = Flask(__name__)
COOIKE = None
FORM_DATA = None
CODE_FILE_NAME = 'code.gif'
def requests_image(url, headers, params=None):
if params:
i = requests.get(url, headers=headers, parmas=params)
else:
i = requests.get(url, headers=headers)
if i.status_code == requests.codes.ok:
with iopen(CODE_FILE_NAME, 'wb') as f:
f.write(i.content)
def data_from_remote():
global COOIKE
global FORM_DATA
site = 'http://zgcx.nhfpc.gov.cn/doctorsearch.aspx'
r = requests.get(site)
cookie = r.headers['Set-Cookie'].split(';')[0]
COOIKE = cookie
data = r.content
pq = PyQuery(data)
FORM_DATA = {
'__VIEWSTATE': pq.find('#__VIEWSTATE').attr('value'),
'__VIEWSTATEGENERATOR': pq.find('#__VIEWSTATEGENERATOR').attr('value'),
'__EVENTVALIDATION': pq.find('#__EVENTVALIDATION').attr('value'),
'ctl00$ContentPlaceHolder1$ButtonSearch': u'查询',
}
headers = {
'Cookie': cookie,
}
requests_image('http://zgcx.nhfpc.gov.cn/pn.aspx', headers=headers)
@app.route('/zige')
def zige():
data_from_remote()
return render_template('yishizige.html')
@app.route('/info')
def info():
return render_template('result.html')
@app.route('/info', methods=['POST'])
def post_info():
global COOIKE
global FORM_DATA
for k in request.form.keys():
FORM_DATA[k] = request.form[k]
headers = {
'Cookie': COOIKE,
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
'Origin': 'http://zgcx.nhfpc.gov.cn',
'Referer': 'http://zgcx.nhfpc.gov.cn/doctorsearch.aspx',
'Content-Type': 'application/x-www-form-urlencoded',
'Host': 'zgcx.nhfpc.gov.cn',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Encoding': 'gzip, deflate',
}
url = 'http://zgcx.nhfpc.gov.cn/doctorsearch.aspx'
d = requests.post(url, headers=headers, data=FORM_DATA)
file_name = 'templates/result.html'
with iopen(file_name, 'wb') as f:
f.write(d.content)
return redirect(url_for('info'))
@app.route('/code.gif')
def code():
return send_file(CODE_FILE_NAME, mimetype='image/gif')
if __name__ == '__main__':
config = dict(
debug=True,
host='127.0.0.1',
port=3000,
)
app.run(**config)
File added
code.gif

1.99 KB

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
body
{
font-size: 14px;
}
.myTxt
{
height: 30px;
}
.mySelect
{
height: 35px;
}
.myLine
{
height: 1px;
background-color: Black;
}
.myButton
{
height: 50px;
padding: 5px;
min-width: 100px;
background-color: blue;
color: #fff;
font-size: 16px;
font-weight: bold;
cursor: pointer;
border: 1px solid blue;
}
.myNotice
{
color: #ff6a00;
}
.myNotice li
{
list-style-type: inherit;
padding: 3px;
}
</style>
<title>医师执业注册信息查询</title>
<script type="text/javascript">
//提交表单之前的数据验证
function CheckSearchCondition() {
var name = fTrim(document.getElementById("ctl00_ContentPlaceHolder1_txtName").value);
var zyUnit = fTrim(document.getElementById("ctl00_ContentPlaceHolder1_txtZyUnit").value);
var checkcode = fTrim(document.getElementById("ctl00_ContentPlaceHolder1_checkcode").value);
if (name == "") {
alert("请输入医师姓名!");
return false;
}
else if (name.length < 2) {
alert("医师姓名不能少于2个字!");
return false;
}
if (zyUnit == "") {
alert("请输入所在医疗机构!");
return false;
}
else if (zyUnit.length < 4) {
alert("所在医疗机构不能少于4个字!");
return false;
}
if (checkcode == "") {
alert("请输入验证码!");
return false;
}
}
//替换空格
function fTrim(str) {
return str.replace(/(^\s*)|(\s*$)/g, "");
}
function ChangeCheckCode() {
document.getElementById("imgVilidate").src = "pn.aspx?t=" + new Date();
}
</script>
<title>
</title></head>
<body style="padding: 0px; margin: 0px; margin-left: auto; margin-right: auto;">
<form name="aspnetForm" method="post" action="doctorsearch.aspx" id="aspnetForm">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTAyMDk3NTgwMQ8WBB4KcmVzdWx0X251bQIBHg5kb19xdWVyeV92YWx1ZQUgYTBhMTEzMzdkYWRlNDE4YTg5NDEzMGE4OTc1YjBmZTQWAmYPZBYCAgMPZBYCAgEPZBYGZg8PFgIeBFRleHQFcuafpeivouaIquatouWIsDIwMTctMi005pelMOeCueOAguafpeivouaVsOaNrue7k+aenOS7peWQhOecgeOAgeiHquayu+WMuuOAgeebtOi+luW4guWNq+eUn+WOhe+8iOWxgO+8ieaVsOaNruS4uuWHhmRkAgEPEA8WBh4ORGF0YVZhbHVlRmllbGQFBENvZGUeDURhdGFUZXh0RmllbGQFBE5hbWUeC18hRGF0YUJvdW5kZ2QQFR8J5YyX5Lqs5biCCeWkqea0peW4ggnmsrPljJfnnIEJ5bGx6KW/55yBEuWGheiSmeWPpOiHquayu+WMugnovr3lroHnnIEJ5ZCJ5p6X55yBDOm7kem+meaxn+ecgQnkuIrmtbfluIIJ5rGf6IuP55yBCea1meaxn+ecgQnlronlvr3nnIEJ56aP5bu655yBCeaxn+ilv+ecgQnlsbHkuJznnIEJ5rKz5Y2X55yBCea5luWMl+ecgQnmuZbljZfnnIEJ5bm/5Lic55yBFeW5v+ilv+WjruaXj+iHquayu+WMugnmtbfljZfnnIEJ6YeN5bqG5biCCeWbm+W3neecgQnotLXlt57nnIEJ5LqR5Y2X55yBD+ilv+iXj+iHquayu+WMugnpmZXopb/nnIEJ55SY6IKD55yBCemdkua1t+ecgRXlroHlpI/lm57ml4/oh6rmsrvljLoY5paw55aG57u05ZC+5bCU6Ieq5rK75Yy6FR8CMTECMTICMTMCMTQCMTUCMjECMjICMjMCMzECMzICMzMCMzQCMzUCMzYCMzcCNDECNDICNDMCNDQCNDUCNDYCNTACNTECNTICNTMCNTQCNjECNjICNjMCNjQCNjUUKwMfZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2RkAgYPFgIeC18hSXRlbUNvdW50AgEWAmYPZBYCZg8VBwnolpvnuqLlrocD55S3DOaJp+S4muWMu+W4iAbkuLTluooY5YyX5Lqs5aSn5a2m56ys5LiJ5Yy76ZmiJDk4ZjQ2NWQ5LTEzOWYtNDAyNS04MGU2LTMwODk4NTM5NGJjMCBhMGExMTMzN2RhZGU0MThhODk0MTMwYTg5NzViMGZlNGRkvXvaz6SBbeXAySQIe01UKJEe2OeMM6Y75AlzNow9DhQ=" />
</div>
<div>
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="795955C7" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWJAKOl4f6CQLFu8y2BwLFu8i2BwLFu/S2BwLFu/C2BwLFu/y2BwLEu8y2BwLEu8i2BwLEu/S2BwLHu8y2BwLHu8i2BwLHu/S2BwLHu/C2BwLHu/y2BwLHu/i2BwLHu+S2BwLGu8y2BwLGu8i2BwLGu/S2BwLGu/C2BwLGu/y2BwLGu/i2BwLBu8C2BwLBu8y2BwLBu8i2BwLBu/S2BwLBu/C2BwLAu8y2BwLAu8i2BwLAu/S2BwLAu/C2BwLAu/y2BwK0w7i7DQKLrteBDQKi5InPCALiheC5DcVpFA/GkUfSXHNX+YPG+9uoiQEde036RHcwqdnvcqUu" />
</div>
<div style="width: 990px; margin-left: auto; margin-right: auto;">
<div>
<img height="1" src="img/block.gif" width="1" alt="" />
<img src="img/logo.jpg" width="990" height="149" alt="" />
</div>
</div>
<div style="width: 990px; margin-left: auto; margin-right: auto;">
<div>
<div style="height: 20px;">
</div>
<div style="text-align: center;">
<span id="ctl00_ContentPlaceHolder1_lblTitle" style="color:Red;font-weight:bold;">查询截止到2017-2-4日0点。查询数据结果以各省、自治区、直辖市卫生厅(局)数据为准</span>
</div>
<div style="height: 10px;">
</div>
<div class="myLine">
</div>
<div style="height: 10px;">
</div>
<div>
省份:<select name="ctl00$ContentPlaceHolder1$ddlProvince" id="ctl00_ContentPlaceHolder1_ddlProvince" class="mySelect">
<option selected="selected" value="11">北京市</option>
<option value="12">天津市</option>
<option value="13">河北省</option>
<option value="14">山西省</option>
<option value="15">内蒙古自治区</option>
<option value="21">辽宁省</option>
<option value="22">吉林省</option>
<option value="23">黑龙江省</option>
<option value="31">上海市</option>
<option value="32">江苏省</option>
<option value="33">浙江省</option>
<option value="34">安徽省</option>
<option value="35">福建省</option>
<option value="36">江西省</option>
<option value="37">山东省</option>
<option value="41">河南省</option>
<option value="42">湖北省</option>
<option value="43">湖南省</option>
<option value="44">广东省</option>
<option value="45">广西壮族自治区</option>
<option value="46">海南省</option>
<option value="50">重庆市</option>
<option value="51">四川省</option>
<option value="52">贵州省</option>
<option value="53">云南省</option>
<option value="54">西藏自治区</option>
<option value="61">陕西省</option>
<option value="62">甘肃省</option>
<option value="63">青海省</option>
<option value="64">宁夏回族自治区</option>
<option value="65">新疆维吾尔自治区</option>
</select>
医师姓名:<input name="ctl00$ContentPlaceHolder1$txtName" type="text" value="薛红宇" id="ctl00_ContentPlaceHolder1_txtName" class="myTxt" />
所在医疗机构:<input name="ctl00$ContentPlaceHolder1$txtZyUnit" type="text" value="北京大学第三医院" id="ctl00_ContentPlaceHolder1_txtZyUnit" class="myTxt" />
验证码:<input name="ctl00$ContentPlaceHolder1$checkcode" type="text" id="ctl00_ContentPlaceHolder1_checkcode" class="myTxt" style="width: 80px" />
<img id="imgVilidate" alt="更换验证码" src="pn.aspx" style="cursor: pointer; vertical-align: bottom"
border="0" onclick="ChangeCheckCode();" height="30" width="100px" />
<a href="#" onclick="ChangeCheckCode();">换一张</a>
</div>
<div class="myNotice">
<ul>
<li>所有查询条件为必填项。</li>
<li>姓名至少输入2个字。</li>
<li>所在医疗机构至少输入4个字。</li>
</ul>
</div>
<div style="height: 5px;">
</div>
<div style="text-align: center;">
<input type="submit" name="ctl00$ContentPlaceHolder1$ButtonSearch" value="查询" onclick="return CheckSearchCondition();" id="ctl00_ContentPlaceHolder1_ButtonSearch" class="myButton" />
</div>
<div style="height: 20px;">
</div>
<div class="myLine">
</div>
<div>
<table border="0" cellspacing="1" cellpadding="0" bgcolor="#99CCFF" width="100%">
<tr bgcolor="#D6E9E9">
<td align="center" style="width: 15%; height: 30px; font-weight: bold; text-align: center">
姓名
</td>
<td align="center" style="width: 8%; font-weight: bold; text-align: center">
性别
</td>
<td align="center" style="width: 17%; font-weight: bold; text-align: center">
医师级别
</td>
<td align="center" style="width: 17%; font-weight: bold; text-align: center">
医师类别
</td>
<td align="center" style="width: 36%; font-weight: bold; text-align: center">
所在医疗机构
</td>
<td align="center" style="width: 7%; font-weight: bold; text-align: center">
</td>
</tr>
<tr onmouseover="this.bgColor='#E1E1E1';" onmouseout="this.bgColor='#FFFFFF';" bgcolor="#FFFFFF"
style="cursor: hand; cursor: pointer">
<td style="height: 30px; text-align: center;">
<span>
薛红宇</span>
</td>
<td style="text-align: center;">
</td>
<td style="text-align: center;">
执业医师
</td>
<td style="text-align: center;">
临床
</td>
<td style="text-align: center;">
北京大学第三医院
</td>
<td style="text-align: center;">
<a target="_blank" href="Detail.aspx?id=98f465d9-139f-4025-80e6-308985394bc0&v=a0a11337dade418a894130a8975b0fe4">
[详情]</a>
</td>
</tr>
</table>
</div>
<div style="height: 40px;">
</div>
</div>
</div>
<div style="width: 990px; margin-left: auto; margin-right: auto;" id="myfoot">
<script type="text/javascript">
document.getElementById("myfoot").innerHTML = "<iframe scrolling=\"no\" frameborder=\"0\" width=\"100%\" height=\"280;\" src=\"bottom.html\"></iframe>";
</script>
</div>
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Examples</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet">
</head>
<body>
<form method="post" action="/info">
省份:
<select name="ctl00$ContentPlaceHolder1$ddlProvince" id="ctl00_ContentPlaceHolder1_ddlProvince" class="mySelect">
<option value="11">北京市</option>
<option value="12">天津市</option>
<option value="13">河北省</option>
<option value="14">山西省</option>
<option value="15">内蒙古自治区</option>
<option value="21">辽宁省</option>
<option value="22">吉林省</option>
<option value="23">黑龙江省</option>
<option value="31">上海市</option>
<option value="32">江苏省</option>
<option value="33">浙江省</option>
<option value="34">安徽省</option>
<option value="35">福建省</option>
<option value="36">江西省</option>
<option value="37">山东省</option>
<option value="41">河南省</option>
<option value="42">湖北省</option>
<option value="43">湖南省</option>
<option value="44">广东省</option>
<option value="45">广西壮族自治区</option>
<option value="46">海南省</option>
<option value="50">重庆市</option>
<option value="51">四川省</option>
<option value="52">贵州省</option>
<option value="53">云南省</option>
<option value="54">西藏自治区</option>
<option value="61">陕西省</option>
<option value="62">甘肃省</option>
<option value="63">青海省</option>
<option value="64">宁夏回族自治区</option>
<option value="65">新疆维吾尔自治区</option>
</select>
医师姓名:<input name="ctl00$ContentPlaceHolder1$txtName" type="text" id="ctl00_ContentPlaceHolder1_txtName" class="myTxt" />
所在医疗机构:<input name="ctl00$ContentPlaceHolder1$txtZyUnit" type="text" id="ctl00_ContentPlaceHolder1_txtZyUnit" class="myTxt" />
验证码:<input name="ctl00$ContentPlaceHolder1$checkcode" type="text" id="ctl00_ContentPlaceHolder1_checkcode" class="myTxt" style="width: 80px" />
<img id="imgVilidate" alt="更换验证码" src="code.gif" style="cursor: pointer; vertical-align: bottom"
border="0" onclick="ChangeCheckCode();" height="30" width="100px" />
<a href="#" onclick="ChangeCheckCode();">换一张</a>
<input type="submit" value="提交">
</form>
</body>
</html>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment