From d91f5113e5effbade177c1fd547c2539fc012802 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Herv=C3=A9=20=20MENAGER?= <herve.menager@pasteur.fr>
Date: Mon, 24 Feb 2020 16:21:29 +0100
Subject: [PATCH] add XML import class

---
 django_diu/import_command.py | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/django_diu/import_command.py b/django_diu/import_command.py
index 96310ad..69cde4f 100644
--- a/django_diu/import_command.py
+++ b/django_diu/import_command.py
@@ -8,6 +8,8 @@ from django.core.management import BaseCommand, CommandError
 import mysql.connector
 import requests_cache
 import click
+import xml.etree.ElementTree as ET
+
 
 class MyConverter(mysql.connector.conversion.MySQLConverter):
 
@@ -158,6 +160,21 @@ class DataFrameImportTask(ImportTask):
         self.source_count = self.dataframe.shape[0]
 
 
+class XMLImportTask(ImportTask):
+
+    description = "Abstract XML import task"
+
+    xmlFile = None
+    xpathSelector = "*"
+
+    def open_data_source(self):
+        tree = ET.parse(argv[1])
+        root = tree.getroot()
+        self.rows = root.findall(self.xpathSelector)
+
+    def count_source(self):
+        self.source_count = len(self.rows)
+
 class ImportCommand(BaseCommand):
     help = "Generic command to import data into a django database"
 
-- 
GitLab