diff options
-rw-r--r-- | .idea/misc.xml | 2 | ||||
-rw-r--r-- | .idea/modules.xml | 2 | ||||
-rw-r--r-- | .idea/parser.iml | 12 | ||||
-rw-r--r-- | .idea/workspace.xml | 314 | ||||
-rw-r--r-- | __init__.py | 0 | ||||
-rw-r--r-- | parsers/INL_xml_parser.py | 33 | ||||
-rw-r--r-- | parsers/__init__.py | 1 | ||||
-rw-r--r-- | readers/__init__.py | 0 | ||||
-rw-r--r-- | readers/xml_reader.py | 31 |
9 files changed, 123 insertions, 272 deletions
diff --git a/.idea/misc.xml b/.idea/misc.xml index 8e8cee7..df245c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -10,5 +10,5 @@ <ConfirmationsSetting value="0" id="Add" /> <ConfirmationsSetting value="0" id="Remove" /> </component> - <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.5.2 (C:\Users\Ilsar\Anaconda3\python.exe)" project-jdk-type="Python SDK" /> + <component name="ProjectRootManager" version="2" project-jdk-name="Python 2.7.10 (C:\Python27\python.exe)" project-jdk-type="Python SDK" /> </project>
\ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index 405d108..9a7bd2d 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,7 +2,7 @@ <project version="4"> <component name="ProjectModuleManager"> <modules> - <module fileurl="file://$PROJECT_DIR$/.idea/parser.iml" filepath="$PROJECT_DIR$/.idea/parser.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/lib2wiki.iml" filepath="$PROJECT_DIR$/.idea/lib2wiki.iml" /> </modules> </component> </project>
\ No newline at end of file diff --git a/.idea/parser.iml b/.idea/parser.iml deleted file mode 100644 index 6f63a63..0000000 --- a/.idea/parser.iml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<module type="PYTHON_MODULE" version="4"> - <component name="NewModuleRootManager"> - <content url="file://$MODULE_DIR$" /> - <orderEntry type="inheritedJdk" /> - <orderEntry type="sourceFolder" forTests="false" /> - </component> - <component name="TestRunnerService"> - <option name="projectConfiguration" value="Nosetests" /> - <option name="PROJECT_TEST_RUNNER" value="Nosetests" /> - </component> -</module>
\ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index c88ce20..af29279 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,14 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="ChangeListManager"> - <list default="true" id="1d9b5e9b-4282-4345-b663-d1b92a287a32" name="Default" comment=""> + <list default="true" id="b3a73108-18f8-44f3-8073-d1952fb9639d" name="Default" comment=""> + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.gitignore" /> + <change type="DELETED" beforePath="$PROJECT_DIR$/.idea/lib2wiki.iml" afterPath="" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/misc.xml" afterPath="$PROJECT_DIR$/.idea/misc.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/entities/__init__.py" afterPath="$PROJECT_DIR$/entities/__init__.py" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/entities/location.py" afterPath="$PROJECT_DIR$/entities/location.py" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/factories/INL_factory.py" afterPath="$PROJECT_DIR$/factories/INL_factory.py" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/factories/__init__.py" afterPath="$PROJECT_DIR$/factories/__init__.py" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/libs/__init__.py" afterPath="$PROJECT_DIR$/libs/__init__.py" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/parsers/INL_xml_parser.py" afterPath="$PROJECT_DIR$/parsers/INL_xml_parser.py" /> </list> <ignored path="lib2wiki.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" /> @@ -24,76 +30,12 @@ <favorites_list name="lib2wiki" /> </component> <component name="FileEditorManager"> - <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> - <file leaf-file-name="basic_factory.py" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/factories/basic_factory.py"> + <leaf> + <file leaf-file-name=".gitignore" pinned="false" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/.gitignore"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="17"> - <caret line="1" column="37" selection-start-line="1" selection-start-column="37" selection-end-line="1" selection-end-column="37" /> - <folding /> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="INL_xml_parser.py" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/parsers/INL_xml_parser.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="272"> - <caret line="16" column="40" selection-start-line="16" selection-start-column="40" selection-end-line="16" selection-end-column="40" /> - <folding /> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="INL_factory.py" pinned="false" current-in-tab="true"> - <entry file="file://$PROJECT_DIR$/factories/INL_factory.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="255"> - <caret line="30" column="0" selection-start-line="30" selection-start-column="0" selection-end-line="30" selection-end-column="0" /> - <folding> - <element signature="e#0#15#0" expanded="true" /> - <element signature="e#382#640#0" expanded="false" /> - <element signature="e#940#1509#0" expanded="false" /> - </folding> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="person.py" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/entities/person.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="68"> - <caret line="4" column="57" selection-start-line="4" selection-start-column="44" selection-end-line="4" selection-end-column="57" /> - <folding /> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="location.py" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/entities/location.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="119"> - <caret line="7" column="30" selection-start-line="7" selection-start-column="30" selection-end-line="7" selection-end-column="30" /> - <folding /> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="__init__.py" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/entities/__init__.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="34"> - <caret line="2" column="14" selection-start-line="2" selection-start-column="14" selection-end-line="2" selection-end-column="14" /> - <folding /> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="json_tools.py" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/libs/json_tools.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="51"> - <caret line="3" column="22" selection-start-line="3" selection-start-column="6" selection-end-line="3" selection-end-column="22" /> + <state relative-caret-position="0"> + <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <folding /> </state> </provider> @@ -101,35 +43,9 @@ </file> </leaf> </component> - <component name="FileTemplateManagerImpl"> - <option name="RECENT_TEMPLATES"> - <list> - <option value="Python Script" /> - </list> - </option> - </component> <component name="Git.Settings"> <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> </component> - <component name="IdeDocumentHistory"> - <option name="CHANGED_PATHS"> - <list> - <option value="$PROJECT_DIR$/parsers/basic_parser.py" /> - <option value="$PROJECT_DIR$/libs/json_tools.py" /> - <option value="$PROJECT_DIR$/factories/basic_factory.py" /> - <option value="$PROJECT_DIR$/entities/basic_entity.py" /> - <option value="$PROJECT_DIR$/entities/institution.py" /> - <option value="$PROJECT_DIR$/.gitignore" /> - <option value="$PROJECT_DIR$/entities/__init__.py" /> - <option value="$PROJECT_DIR$/factories/__init__.py" /> - <option value="$PROJECT_DIR$/libs/__init__.py" /> - <option value="$PROJECT_DIR$/parsers/INL_xml_parser.py" /> - <option value="$PROJECT_DIR$/entities/person.py" /> - <option value="$PROJECT_DIR$/entities/location.py" /> - <option value="$PROJECT_DIR$/factories/INL_factory.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"> @@ -139,8 +55,8 @@ <component name="ProjectFrameBounds"> <option name="x" value="-8" /> <option name="y" value="-8" /> - <option name="width" value="1386" /> - <option name="height" value="788" /> + <option name="width" value="1616" /> + <option name="height" value="876" /> </component> <component name="ProjectLevelVcsManager" settingsEditedManually="false"> <OptionsSetting value="true" id="Add" /> @@ -172,17 +88,41 @@ <subPane> <PATH> <PATH_ELEMENT> - <option name="myItemId" value="parser" /> + <option name="myItemId" value="lib2wiki" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> </PATH_ELEMENT> </PATH> <PATH> <PATH_ELEMENT> - <option name="myItemId" value="parser" /> + <option name="myItemId" value="lib2wiki" /> + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> + </PATH_ELEMENT> + <PATH_ELEMENT> + <option name="myItemId" value="lib2wiki" /> + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> + </PATH_ELEMENT> + </PATH> + <PATH> + <PATH_ELEMENT> + <option name="myItemId" value="lib2wiki" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> </PATH_ELEMENT> <PATH_ELEMENT> - <option name="myItemId" value="parser" /> + <option name="myItemId" value="lib2wiki" /> + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> + </PATH_ELEMENT> + <PATH_ELEMENT> + <option name="myItemId" value="readers" /> + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> + </PATH_ELEMENT> + </PATH> + <PATH> + <PATH_ELEMENT> + <option name="myItemId" value="lib2wiki" /> + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> + </PATH_ELEMENT> + <PATH_ELEMENT> + <option name="myItemId" value="lib2wiki" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> </PATH_ELEMENT> <PATH_ELEMENT> @@ -192,11 +132,11 @@ </PATH> <PATH> <PATH_ELEMENT> - <option name="myItemId" value="parser" /> + <option name="myItemId" value="lib2wiki" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> </PATH_ELEMENT> <PATH_ELEMENT> - <option name="myItemId" value="parser" /> + <option name="myItemId" value="lib2wiki" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> </PATH_ELEMENT> <PATH_ELEMENT> @@ -206,11 +146,11 @@ </PATH> <PATH> <PATH_ELEMENT> - <option name="myItemId" value="parser" /> + <option name="myItemId" value="lib2wiki" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> </PATH_ELEMENT> <PATH_ELEMENT> - <option name="myItemId" value="parser" /> + <option name="myItemId" value="lib2wiki" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> </PATH_ELEMENT> <PATH_ELEMENT> @@ -220,11 +160,11 @@ </PATH> <PATH> <PATH_ELEMENT> - <option name="myItemId" value="parser" /> + <option name="myItemId" value="lib2wiki" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> </PATH_ELEMENT> <PATH_ELEMENT> - <option name="myItemId" value="parser" /> + <option name="myItemId" value="lib2wiki" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> </PATH_ELEMENT> <PATH_ELEMENT> @@ -240,6 +180,7 @@ <component name="PropertiesComponent"> <property name="last_opened_file_path" value="$PROJECT_DIR$" /> <property name="WebServerToolWindowFactoryState" value="false" /> + <property name="prop_add_unversioned_files" value="true" /> </component> <component name="RunManager"> <configuration default="true" type="DjangoTestsConfigurationType" factoryName="Django tests"> @@ -456,36 +397,36 @@ </component> <component name="TaskManager"> <task active="true" id="Default" summary="Default task"> - <changelist id="1d9b5e9b-4282-4345-b663-d1b92a287a32" name="Default" comment="" /> - <created>1474481137431</created> + <changelist id="b3a73108-18f8-44f3-8073-d1952fb9639d" name="Default" comment="" /> + <created>1474498136177</created> <option name="number" value="Default" /> <option name="presentableId" value="Default" /> - <updated>1474481137431</updated> + <updated>1474498136177</updated> </task> <servers /> </component> <component name="ToolWindowManager"> - <frame x="-8" y="-8" width="1386" height="788" extended-state="0" /> - <editor active="true" /> + <frame x="-8" y="-8" width="1616" height="876" extended-state="6" /> + <editor active="false" /> <layout> - <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.21605839" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> + <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" 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="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="10" 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="8" 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="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="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="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="9" 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="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" /> <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="Find" 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="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="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"> @@ -504,148 +445,13 @@ <watches-manager /> </component> <component name="editorHistoryManager"> - <entry file="file://$PROJECT_DIR$/factories/basic_factory.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="17"> - <caret line="1" column="37" selection-start-line="1" selection-start-column="37" selection-end-line="1" selection-end-column="37" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/factories/INL_factory.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> - <folding> - <element signature="e#0#15#0" expanded="true" /> - <element signature="e#382#640#0" expanded="false" /> - <element signature="e#940#1509#0" expanded="false" /> - </folding> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/libs/json_tools.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="51"> - <caret line="3" column="22" selection-start-line="3" selection-start-column="6" selection-end-line="3" selection-end-column="22" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/entities/basic_entity.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="85"> - <caret line="5" column="0" selection-start-line="5" selection-start-column="0" selection-end-line="5" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/entities/institution.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="85"> - <caret line="5" column="34" selection-start-line="5" selection-start-column="34" selection-end-line="5" selection-end-column="34" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/parsers/basic_parser.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="85"> - <caret line="5" column="22" selection-start-line="5" selection-start-column="0" selection-end-line="6" selection-end-column="0" /> - <folding /> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/.gitignore"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="255"> - <caret line="15" column="5" selection-start-line="15" selection-start-column="5" selection-end-line="15" selection-end-column="5" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/factories/__init__.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="17"> - <caret line="1" column="15" selection-start-line="1" selection-start-column="15" selection-end-line="1" selection-end-column="15" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/libs/__init__.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="10" selection-start-line="0" selection-start-column="10" selection-end-line="0" selection-end-column="10" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/parsers/__init__.py"> - <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> <caret line="0" column="0" 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$/entities/person.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="68"> - <caret line="4" column="57" selection-start-line="4" selection-start-column="44" selection-end-line="4" selection-end-column="57" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/entities/__init__.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="34"> - <caret line="2" column="14" selection-start-line="2" selection-start-column="14" selection-end-line="2" selection-end-column="14" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/libs/json_tools.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="51"> - <caret line="3" column="22" selection-start-line="3" selection-start-column="6" selection-end-line="3" selection-end-column="22" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/parsers/INL_xml_parser.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="272"> - <caret line="16" column="40" selection-start-line="16" selection-start-column="40" selection-end-line="16" selection-end-column="40" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/factories/basic_factory.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="17"> - <caret line="1" column="37" selection-start-line="1" selection-start-column="37" selection-end-line="1" selection-end-column="37" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/entities/location.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="119"> - <caret line="7" column="30" selection-start-line="7" selection-start-column="30" selection-end-line="7" selection-end-column="30" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/factories/INL_factory.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="255"> - <caret line="30" column="0" selection-start-line="30" selection-start-column="0" selection-end-line="30" selection-end-column="0" /> - <folding> - <element signature="e#0#15#0" expanded="true" /> - <element signature="e#382#640#0" expanded="false" /> - <element signature="e#940#1509#0" expanded="false" /> - </folding> - </state> - </provider> - </entry> </component> </project>
\ No newline at end of file diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/__init__.py diff --git a/parsers/INL_xml_parser.py b/parsers/INL_xml_parser.py index 671d2d9..2ba96c9 100644 --- a/parsers/INL_xml_parser.py +++ b/parsers/INL_xml_parser.py @@ -1,11 +1,35 @@ -import xml.etree.cElementTree as ET +try: + import xml.etree.cElementTree as ET +except ImportError: + import xml.etree.ElementTree as ET + +KNOWN_FIELD_TAGS = ['100', '110', '151'] class INLXmlParser: - def __init__(self, lst, path): - self.whitelist = lst - self.xmlpath = path + def __init__(self, reader, whitelist=None): + self.reader = reader + self.whitelist = whitelist or KNOWN_FIELD_TAGS + +<<<<<<< HEAD + def clearxml(self): + newTreeRoot = ET.Element('data') + # # scan the datafields in the records and copy to the new one only the tags in the whitelist + # for record in root: # create new record + newRecord = ET.SubElement(newTreeRoot, 'record') + for field in self.reader: + fieldtag = field.attrib.get('tag') + if fieldtag in self.whitelist: + newFieldTag = fieldtag + # tag 700 and 400 are the same + if newFieldTag == '700': + newFieldTag = '400' + newTag = ET.SubElement(newRecord, 'datafield', {'tag': newFieldTag}) + for data in field: + subData = ET.SubElement(newTag, data.tag, data.attrib) + subData.text = data.text +======= #expects to get a record as ElementTree def clearxml(self, record): @@ -28,6 +52,7 @@ class INLXmlParser: newFieldTag += data.attrib.get('code') newTag = ET.SubElement(newRecord, 'datafield', {'tag': newFieldTag}) newTag.text = data.text +>>>>>>> 081eac29a20ab8485f2b8180654a6d4b808e2df7 newRecordTree = ET.ElementTree(newRecord) return newRecordTree diff --git a/parsers/__init__.py b/parsers/__init__.py index e69de29..e3a246d 100644 --- a/parsers/__init__.py +++ b/parsers/__init__.py @@ -0,0 +1 @@ +from INL_xml_parser import INLXmlParser
\ No newline at end of file diff --git a/readers/__init__.py b/readers/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/readers/__init__.py diff --git a/readers/xml_reader.py b/readers/xml_reader.py new file mode 100644 index 0000000..8a819b0 --- /dev/null +++ b/readers/xml_reader.py @@ -0,0 +1,31 @@ +from __future__ import absolute_import +import parsers + +try: + import xml.etree.cElementTree as ET +except ImportError: + import xml.etree.ElementTree as ET + + +def read_file(path, element_key): + # get an iterable + record_counter = 0 + context = ET.iterparse(path, events=("start", "end")) + + # turn it into an iterator + context = iter(context) + + # get the root element + event, root = context.next() + + for event, element in context: + if 'end' in event: + if element_key in element.tag: + record_counter += 1 + cleaned_element = parsers.INLXmlParser(element).clearxml() + print record_counter, cleaned_element.getroot().attrib + element.clear() + + +if __name__ == '__main__': + read_file(r"../../NLI-nnl10.xml", 'record') |