diff options
-rw-r--r-- | .idea/misc.xml | 12 | ||||
-rw-r--r-- | .idea/modules.xml | 2 | ||||
-rw-r--r-- | .idea/parser.iml (renamed from .idea/lib2wiki.iml) | 3 | ||||
-rw-r--r-- | .idea/workspace.xml | 177 | ||||
-rw-r--r-- | entities/__init__.py | 6 | ||||
-rw-r--r-- | factories/__init__.py | 4 | ||||
-rw-r--r-- | libs/__init__.py | 2 | ||||
-rw-r--r-- | parsers/INL_xml_parser.py | 41 |
8 files changed, 150 insertions, 97 deletions
diff --git a/.idea/misc.xml b/.idea/misc.xml index de9bbc8..8e8cee7 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +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="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 3.5.2 (C:\Users\Ilsar\Anaconda3\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 9a7bd2d..405d108 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/lib2wiki.iml" filepath="$PROJECT_DIR$/.idea/lib2wiki.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/parser.iml" filepath="$PROJECT_DIR$/.idea/parser.iml" /> </modules> </component> </project>
\ No newline at end of file diff --git a/.idea/lib2wiki.iml b/.idea/parser.iml index 6711606..6f63a63 100644 --- a/.idea/lib2wiki.iml +++ b/.idea/parser.iml @@ -6,6 +6,7 @@ <orderEntry type="sourceFolder" forTests="false" /> </component> <component name="TestRunnerService"> - <option name="PROJECT_TEST_RUNNER" value="Unittests" /> + <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 1a3da85..5f621c3 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,7 +1,13 @@ <?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="1d9b5e9b-4282-4345-b663-d1b92a287a32" name="Default" comment=""> + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> + <change type="DELETED" beforePath="$PROJECT_DIR$/.gitignore" afterPath="" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/entities/__init__.py" afterPath="$PROJECT_DIR$/entities/__init__.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" /> + </list> <ignored path="lib2wiki.iws" /> <ignored path=".idea/workspace.xml" /> <ignored path=".idea/dataSources.local.xml" /> @@ -20,7 +26,7 @@ <favorites_list name="lib2wiki" /> </component> <component name="FileEditorManager"> - <leaf> + <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"> <provider selected="true" editor-type-id="text-editor"> @@ -34,11 +40,19 @@ <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="15" column="31" selection-start-line="15" selection-start-column="31" selection-end-line="15" selection-end-column="31" /> - <folding> - <element signature="e#0#15#0" expanded="true" /> - </folding> + <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> + </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> @@ -70,16 +84,16 @@ <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$/entities/__init__.py" /> + <option value="$PROJECT_DIR$/factories/__init__.py" /> + <option value="$PROJECT_DIR$/libs/__init__.py" /> </list> </option> </component> @@ -92,8 +106,8 @@ <component name="ProjectFrameBounds"> <option name="x" value="-8" /> <option name="y" value="-8" /> - <option name="width" value="1616" /> - <option name="height" value="876" /> + <option name="width" value="1386" /> + <option name="height" value="788" /> </component> <component name="ProjectLevelVcsManager" settingsEditedManually="false"> <OptionsSetting value="true" id="Add" /> @@ -120,21 +134,22 @@ <foldersAlwaysOnTop value="true" /> </navigator> <panes> + <pane id="Scratches" /> <pane id="ProjectPane"> <subPane> <PATH> <PATH_ELEMENT> - <option name="myItemId" value="lib2wiki" /> + <option name="myItemId" value="parser" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> </PATH_ELEMENT> </PATH> <PATH> <PATH_ELEMENT> - <option name="myItemId" value="lib2wiki" /> + <option name="myItemId" value="parser" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> </PATH_ELEMENT> <PATH_ELEMENT> - <option name="myItemId" value="lib2wiki" /> + <option name="myItemId" value="parser" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> </PATH_ELEMENT> <PATH_ELEMENT> @@ -144,11 +159,11 @@ </PATH> <PATH> <PATH_ELEMENT> - <option name="myItemId" value="lib2wiki" /> + <option name="myItemId" value="parser" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> </PATH_ELEMENT> <PATH_ELEMENT> - <option name="myItemId" value="lib2wiki" /> + <option name="myItemId" value="parser" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> </PATH_ELEMENT> <PATH_ELEMENT> @@ -158,11 +173,11 @@ </PATH> <PATH> <PATH_ELEMENT> - <option name="myItemId" value="lib2wiki" /> + <option name="myItemId" value="parser" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> </PATH_ELEMENT> <PATH_ELEMENT> - <option name="myItemId" value="lib2wiki" /> + <option name="myItemId" value="parser" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> </PATH_ELEMENT> <PATH_ELEMENT> @@ -172,11 +187,11 @@ </PATH> <PATH> <PATH_ELEMENT> - <option name="myItemId" value="lib2wiki" /> + <option name="myItemId" value="parser" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> </PATH_ELEMENT> <PATH_ELEMENT> - <option name="myItemId" value="lib2wiki" /> + <option name="myItemId" value="parser" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> </PATH_ELEMENT> <PATH_ELEMENT> @@ -186,7 +201,6 @@ </PATH> </subPane> </pane> - <pane id="Scratches" /> <pane id="Scope" /> </panes> </component> @@ -278,6 +292,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"> @@ -412,25 +432,25 @@ <servers /> </component> <component name="ToolWindowManager"> - <frame x="-8" y="-8" width="1616" height="876" extended-state="6" /> - <editor active="false" /> + <frame x="-8" y="-8" width="1386" height="788" extended-state="0" /> + <editor active="true" /> <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.21625" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> + <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.21605839" 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="-1" 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="-1" 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="-1" 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="-1" side_tool="false" content_ui="tabs" /> - <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" 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="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="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="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="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> @@ -451,21 +471,27 @@ <watches-manager /> </component> <component name="editorHistoryManager"> - <entry file="file://$PROJECT_DIR$/libs/__init__.py"> + <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="39" selection-start-line="0" selection-start-column="39" selection-end-line="0" selection-end-column="39" /> + <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$/factories/__init__.py"> + <entry file="file://$PROJECT_DIR$/libs/json_tools.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 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> @@ -481,25 +507,6 @@ <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/person.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="136"> - <caret line="8" column="29" selection-start-line="8" selection-start-column="29" selection-end-line="8" selection-end-column="29" /> - <folding /> </state> </provider> </entry> @@ -507,7 +514,6 @@ <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> @@ -515,7 +521,6 @@ <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> @@ -543,13 +548,51 @@ </state> </provider> </entry> + <entry file="file://$PROJECT_DIR$/entities/person.py"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="136"> + <caret line="8" column="29" selection-start-line="8" selection-start-column="29" selection-end-line="8" selection-end-column="29" /> + <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/__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$/factories/INL_factory.py"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="255"> - <caret line="15" column="31" selection-start-line="15" selection-start-column="31" selection-end-line="15" selection-end-column="31" /> - <folding> - <element signature="e#0#15#0" expanded="true" /> - </folding> + <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> 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/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 2ea9a9b..671d2d9 100644 --- a/parsers/INL_xml_parser.py +++ b/parsers/INL_xml_parser.py @@ -6,29 +6,28 @@ class INLXmlParser: self.whitelist = lst self.xmlpath = path - def clearxml(self): - xmltree = ET.parse(self.xmlpath) - # root == list of records - root = xmltree.getroot() - # create new data - newTreeRoot = ET.Element('data') + #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 - for record in root: - # create new record - newRecord = ET.SubElement(newTreeRoot, 'record') - for field in record: - fieldtag = field.attrib.get('tag') - if fieldtag in self.whitelist: - newFieldTag = fieldtag - # tag 700 and 400 are the same - if newFieldTag == '700': - newFieldTag = '400' + # 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}) - for data in field: - subData = ET.SubElement(newTag, data.tag, data.attrib) - subData.text = data.text + newTag.text = data.text - newTree = ET.ElementTree(newTreeRoot) - return newTree + newRecordTree = ET.ElementTree(newRecord) + return newRecordTree |