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