summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroy lewin <roy.lewin@gmail.com>2016-09-22 01:58:05 +0300
committerroy lewin <roy.lewin@gmail.com>2016-09-22 01:58:05 +0300
commit733afb1109a06f89af68e8660728f1b4bbbdab1a (patch)
treeec4c965bea61228c55a7c4c68e1be86446291620
parent652781137f3856fef98e3063766f9f3b1a984a2e (diff)
parent081eac29a20ab8485f2b8180654a6d4b808e2df7 (diff)
Merge branch 'master' of https://bitbucket.org/lib_2_wiki/parser
# Conflicts: # .idea/misc.xml # .idea/workspace.xml # parsers/INL_xml_parser.py
-rw-r--r--.idea/lib2wiki.iml11
-rw-r--r--.idea/misc.xml13
-rw-r--r--.idea/workspace.xml329
-rw-r--r--entities/__init__.py6
-rw-r--r--entities/location.py4
-rw-r--r--factories/INL_factory.py61
-rw-r--r--factories/__init__.py4
-rw-r--r--libs/__init__.py2
-rw-r--r--parsers/INL_xml_parser.py29
9 files changed, 143 insertions, 316 deletions
diff --git a/.idea/lib2wiki.iml b/.idea/lib2wiki.iml
deleted file mode 100644
index 6711606..0000000
--- a/.idea/lib2wiki.iml
+++ /dev/null
@@ -1,11 +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="PROJECT_TEST_RUNNER" value="Unittests" />
- </component>
-</module> \ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index f38dd77..df245c4 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
- <component name="ProjectRootManager" version="2" project-jdk-name="Python 2.7.10 (C:\Python27\python.exe)" project-jdk-type="Python SDK" />
- <component name="PythonCompatibilityInspectionAdvertiser">
- <option name="version" value="1" />
+ <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.10 (C:\Python27\python.exe)" project-jdk-type="Python SDK" />
</project> \ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 73e2873..af29279 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -1,18 +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="">
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/__init__.py" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/readers/__init__.py" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/readers/xml_reader.py" />
+ <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" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/parsers/__init__.py" afterPath="$PROJECT_DIR$/parsers/__init__.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" />
@@ -20,9 +22,6 @@
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
- <component name="CoverageDataManager">
- <SUITE FILE_PATH="coverage/lib2wiki$Unnamed.coverage" NAME="xml_reader Coverage Results" MODIFIED="1474497479052" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/readers" />
- </component>
<component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" />
</component>
@@ -32,75 +31,11 @@
</component>
<component name="FileEditorManager">
<leaf>
- <file leaf-file-name="basic_factory.py" pinned="false" current-in-tab="false">
- <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>
- </file>
- <file leaf-file-name="INL_factory.py" pinned="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/factories/INL_factory.py">
- <provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="289">
- <caret line="17" column="33" selection-start-line="17" selection-start-column="33" selection-end-line="17" selection-end-column="33" />
- <folding>
- <element signature="e#0#15#0" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="xml_reader.py" pinned="false" current-in-tab="true">
- <entry file="file://$PROJECT_DIR$/readers/xml_reader.py">
- <provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="282">
- <caret line="25" column="70" selection-start-line="25" selection-start-column="70" selection-end-line="25" selection-end-column="70" />
- <folding>
- <element signature="e#0#38#0" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="__init__.py" pinned="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/parsers/__init__.py">
+ <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="0">
- <caret line="0" column="5" selection-start-line="0" selection-start-column="5" selection-end-line="0" selection-end-column="5" />
- <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="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="299">
- <caret line="28" column="66" selection-start-line="28" selection-start-column="33" selection-end-line="28" selection-end-column="66" />
- <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" />
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
@@ -108,38 +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$/libs/__init__.py" />
- <option value="$PROJECT_DIR$/factories/__init__.py" />
- <option value="$PROJECT_DIR$/factories/basic_factory.py" />
- <option value="$PROJECT_DIR$/entities/basic_entity.py" />
- <option value="$PROJECT_DIR$/entities/__init__.py" />
- <option value="$PROJECT_DIR$/entities/person.py" />
- <option value="$PROJECT_DIR$/entities/location.py" />
- <option value="$PROJECT_DIR$/entities/institution.py" />
- <option value="$PROJECT_DIR$/factories/INL_factory.py" />
- <option value="$PROJECT_DIR$/.gitignore" />
- <option value="$PROJECT_DIR$/parsers/__init__.py" />
- <option value="$PROJECT_DIR$/__init__.py" />
- <option value="$PROJECT_DIR$/parsers/INL_xml_parser.py" />
- <option value="$PROJECT_DIR$/readers/xml_reader.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">
@@ -177,6 +83,7 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
+ <pane id="Scratches" />
<pane id="ProjectPane">
<subPane>
<PATH>
@@ -267,22 +174,15 @@
</PATH>
</subPane>
</pane>
- <pane id="Scratches" />
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
- <property name="last_opened_file_path" value="$PROJECT_DIR$/readers/xml_reader.py" />
+ <property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="WebServerToolWindowFactoryState" value="false" />
- <property name="settings.editor.selected.configurable" value="editing.templates" />
- <property name="settings.editor.splitter.proportion" value="0.2" />
- </component>
- <component name="RecentsManager">
- <key name="CopyFile.RECENT_KEYS">
- <recent name="C:\roy\lib2wiki\readers" />
- </key>
+ <property name="prop_add_unversioned_files" value="true" />
</component>
- <component name="RunManager" selected="Python.xml_reader">
+ <component name="RunManager">
<configuration default="true" type="DjangoTestsConfigurationType" factoryName="Django tests">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
@@ -366,6 +266,12 @@
<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">
@@ -485,63 +391,42 @@
<option name="USE_KEYWORD" value="false" />
<method />
</configuration>
- <configuration default="false" name="xml_reader" 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="C:\Python27\python.exe" />
- <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/readers" />
- <option name="IS_MODULE_SDK" value="false" />
- <option name="ADD_CONTENT_ROOTS" value="true" />
- <option name="ADD_SOURCE_ROOTS" value="true" />
- <module name="lib2wiki" />
- <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
- <option name="SCRIPT_NAME" value="$PROJECT_DIR$/readers/xml_reader.py" />
- <option name="PARAMETERS" value="" />
- <option name="SHOW_COMMAND_LINE" value="false" />
- <method />
- </configuration>
- <list size="1">
- <item index="0" class="java.lang.String" itemvalue="Python.xml_reader" />
- </list>
</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="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="1616" height="876" extended-state="6" />
- <editor active="true" />
+ <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.15625" sideWeight="0.5" order="1" 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="10" 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="0" 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="0" 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="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="2" side_tool="false" content_ui="tabs" />
- <window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32898173" sideWeight="0.5" order="6" 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="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.33" sideWeight="0.5" order="3" 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="0" 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="7" 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="8" 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="3" side_tool="false" content_ui="combo" />
- <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="4" 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="1" 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.33" sideWeight="0.5" order="5" 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="9" 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="2" side_tool="false" content_ui="tabs" />
+ <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="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="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="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">
@@ -560,141 +445,13 @@
<watches-manager />
</component>
<component name="editorHistoryManager">
- <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="39" selection-start-line="0" selection-start-column="39" selection-end-line="0" selection-end-column="39" />
- <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="34" selection-start-line="1" selection-start-column="34" selection-end-line="1" selection-end-column="34" />
- <folding>
- <element signature="e#0#38#0" expanded="true" />
- </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/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" />
- <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="29" selection-start-line="2" selection-start-column="29" selection-end-line="2" selection-end-column="29" />
- <folding>
- <element signature="e#0#25#0" expanded="true" />
- </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="38" selection-start-line="7" selection-start-column="38" selection-end-line="7" selection-end-column="38" />
- <folding />
- </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$/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$/.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/INL_factory.py">
- <provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="289">
- <caret line="17" column="33" selection-start-line="17" selection-start-column="33" selection-end-line="17" selection-end-column="33" />
- <folding>
- <element signature="e#0#15#0" expanded="true" />
- </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$/parsers/__init__.py">
- <provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="0">
- <caret line="0" column="5" selection-start-line="0" selection-start-column="5" selection-end-line="0" selection-end-column="5" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/__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$/parsers/INL_xml_parser.py">
- <provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="299">
- <caret line="28" column="66" selection-start-line="28" selection-start-column="33" selection-end-line="28" selection-end-column="66" />
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/readers/xml_reader.py">
- <provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="282">
- <caret line="25" column="70" selection-start-line="25" selection-start-column="70" selection-end-line="25" selection-end-column="70" />
- <folding>
- <element signature="e#0#38#0" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
</component>
</project> \ No newline at end of file
diff --git a/entities/__init__.py b/entities/__init__.py
index 48f64d6..907ef4d 100644
--- a/entities/__init__.py
+++ b/entities/__init__.py
@@ -1,3 +1,3 @@
-from person import Person
-from institution import Institution
-from location import Location \ No newline at end of file
+from entities.person import Person
+from entities.institution import Institution
+from entities.location import Location \ No newline at end of file
diff --git a/entities/location.py b/entities/location.py
index 8130632..9636c3b 100644
--- a/entities/location.py
+++ b/entities/location.py
@@ -2,7 +2,7 @@ from entities.basic_entity import BasicEntity
class Location(BasicEntity):
- def __init__(self, name, types, coordinates):
+ def __init__(self, name, types, name_in_langs):
self.name = name
self.types = types
- self.coordinates = coordinates
+ self.name_in_langs = name_in_langs
diff --git a/factories/INL_factory.py b/factories/INL_factory.py
index 6607368..b61c487 100644
--- a/factories/INL_factory.py
+++ b/factories/INL_factory.py
@@ -8,16 +8,65 @@ TAG_TO_ENTITY_MAPPING = {
}
+ENTITY_KEYS = {
+ '100.a': 'name',
+ '100.d': 'date_of_birth',
+ '400.a': 'name_in_langs',
+ '151.a': 'name',
+ '451:a': 'name_in_langs',
+ '550.a': 'type'
+}
+
+
+def get_record_key(self, record):
+ root = record.getroot()
+ for field in root:
+ field_tag = field.attrib.get('tag')
+ if '100' in field_tag:
+ return '100'
+ if '151' in field_tag:
+ return '151'
+ if '110' in field_tag:
+ return '110'
+
class INLFactory(BasicFactory):
def __init__(self, tag_to_entity_mapping=None):
self.mapping = tag_to_entity_mapping or TAG_TO_ENTITY_MAPPING
- def get_entity(self, entity_key, raw_object):
- if entity_key == '100':
- return entities.Person('', '', '')
- elif entity_key == '110':
+ def get_entity(self, entity_keys, raw_object):
+ record_key = get_record_key(raw_object)
+ if record_key == '100':
+ has_name = False
+ name_in_langs = []
+ for field in raw_object.getroot():
+ key = field.attrib.get('tag')
+ tag = entity_keys.get(key)
+ if tag == 'name' and not has_name:
+ name = field.text
+ has_name = True
+ elif tag == 'date_of_birth':
+ date_of_birth = field.text
+ elif tag == 'name_in_langs':
+ name_in_langs.append(field.text)
+ return entities.Person(name, date_of_birth, name_in_langs)
+ elif record_key == '110':
return entities.Institution()
- elif entity_key == '151':
- return entities.Location('', '', '')
+ elif record_key == '151':
+ has_name = False
+ name_in_langs = []
+ type = []
+ for field in raw_object.getroot():
+ key = field.attrib.get('tag')
+ tag = entity_keys.get(key)
+ if tag == 'name' and not has_name:
+ name = field.text
+ has_name = True
+ elif tag == 'type':
+ type.append(field.text)
+ elif tag == 'name_in_langs':
+ name_in_langs.append(field.text)
+ return entities.Location(name, type, name_in_langs)
else:
raise KeyError('Key {} was not recognized for factory {}'.format(entity_key, type(self)))
+
+
diff --git a/factories/__init__.py b/factories/__init__.py
index add236d..86901f5 100644
--- a/factories/__init__.py
+++ b/factories/__init__.py
@@ -1,2 +1,2 @@
-from basic_factory import BasicFactory
-from INL_factory import INLFactory \ No newline at end of file
+from factories.basic_factory import BasicFactory
+from factories.INL_factory import INLFactory \ No newline at end of file
diff --git a/libs/__init__.py b/libs/__init__.py
index 5e2ded0..c2514b7 100644
--- a/libs/__init__.py
+++ b/libs/__init__.py
@@ -1 +1 @@
-from json_tools import JsonSerializable \ No newline at end of file
+from libs.json_tools import JsonSerializable \ No newline at end of file
diff --git a/parsers/INL_xml_parser.py b/parsers/INL_xml_parser.py
index 512d46e..2ba96c9 100644
--- a/parsers/INL_xml_parser.py
+++ b/parsers/INL_xml_parser.py
@@ -11,6 +11,7 @@ class INLXmlParser:
self.reader = reader
self.whitelist = whitelist or KNOWN_FIELD_TAGS
+<<<<<<< HEAD
def clearxml(self):
newTreeRoot = ET.Element('data')
@@ -28,6 +29,30 @@ class INLXmlParser:
for data in field:
subData = ET.SubElement(newTag, data.tag, data.attrib)
subData.text = data.text
+=======
- newTree = ET.ElementTree(newTreeRoot)
- return newTree
+ #expects to get a record as ElementTree
+ def clearxml(self, record):
+ # root == list of tags
+ root = record.getroot()
+
+ # scan the datafields in the records and copy to the new one only the tags in the whitelist
+ # create new record
+ newRecord = ET.Element('record')
+ for field in root:
+ fieldtag = field.attrib.get('tag')
+ if fieldtag in self.whitelist:
+ tempTag = fieldtag
+ # tag 700 and 400 are the same
+ if tempTag == '700':
+ tempTag = '400'
+ for data in field:
+ newFieldTag = tempTag
+ newFieldTag +='.'
+ newFieldTag += data.attrib.get('code')
+ newTag = ET.SubElement(newRecord, 'datafield', {'tag': newFieldTag})
+ newTag.text = data.text
+>>>>>>> 081eac29a20ab8485f2b8180654a6d4b808e2df7
+
+ newRecordTree = ET.ElementTree(newRecord)
+ return newRecordTree