Francesco %!s(int64=2) %!d(string=hai) anos
pai
achega
e341f1638b
Modificáronse 1 ficheiros con 110 adicións e 66 borrados
  1. 110 66
      ASPO/EAD_to_CSV/EAD_to_CSV_ospedale_newTest.ipynb

+ 110 - 66
ASPO/EAD_to_CSV/EAD_to_CSV_ospedale_newTest.ipynb

@@ -9,7 +9,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 27,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -50,7 +50,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 28,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -77,7 +77,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 29,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -118,7 +118,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 30,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -135,14 +135,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 31,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "1.2158260345458984\n"
+      "1.2808301448822021\n"
      ]
     }
    ],
@@ -166,14 +166,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 32,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "{'otherlevel', 'fonds', 'series', 'collection', 'subfonds', 'file', 'subgrp', 'recordgrp', 'subseries'}\n"
+      "{'subfonds', 'recordgrp', 'subgrp', 'otherlevel', 'collection', 'fonds', 'subseries', 'file', 'series'}\n"
      ]
     }
    ],
@@ -193,24 +193,24 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 33,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "# di tag \"c\", livello otherlevel, primo passaggio: 321\n",
-      "# di tag \"c\", livello fonds, primo passaggio: 1\n",
-      "# di tag \"c\", livello series, primo passaggio: 254\n",
-      "# di tag \"c\", livello collection, primo passaggio: 1\n",
       "# di tag \"c\", livello subfonds, primo passaggio: 3\n",
-      "# di tag \"c\", livello file, primo passaggio: 7199\n",
-      "# di tag \"c\", livello subgrp, primo passaggio: 10\n",
       "# di tag \"c\", livello recordgrp, primo passaggio: 7\n",
+      "# di tag \"c\", livello subgrp, primo passaggio: 10\n",
+      "# di tag \"c\", livello otherlevel, primo passaggio: 321\n",
+      "# di tag \"c\", livello collection, primo passaggio: 1\n",
+      "# di tag \"c\", livello fonds, primo passaggio: 1\n",
       "# di tag \"c\", livello subseries, primo passaggio: 151\n",
+      "# di tag \"c\", livello file, primo passaggio: 7199\n",
+      "# di tag \"c\", livello series, primo passaggio: 254\n",
       "\n",
-      "Tempo trascorso: 0.6825399398803711\n"
+      "Tempo trascorso: 0.8034629821777344\n"
      ]
     }
    ],
@@ -244,33 +244,33 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 34,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "# di tag \"c\", livello otherlevel, primo passaggio: 321\n",
-      "# di tag \"c\", livello otherlevel, totali: 321\n",
-      "# di tag \"c\", livello fonds, primo passaggio: 1\n",
-      "# di tag \"c\", livello fonds, totali: 11\n",
-      "# di tag \"c\", livello series, primo passaggio: 254\n",
-      "# di tag \"c\", livello series, totali: 254\n",
-      "# di tag \"c\", livello collection, primo passaggio: 1\n",
-      "# di tag \"c\", livello collection, totali: 1\n",
       "# di tag \"c\", livello subfonds, primo passaggio: 3\n",
       "# di tag \"c\", livello subfonds, totali: 3\n",
-      "# di tag \"c\", livello file, primo passaggio: 7199\n",
-      "# di tag \"c\", livello file, totali: 7199\n",
-      "# di tag \"c\", livello subgrp, primo passaggio: 10\n",
-      "# di tag \"c\", livello subgrp, totali: 10\n",
       "# di tag \"c\", livello recordgrp, primo passaggio: 7\n",
       "# di tag \"c\", livello recordgrp, totali: 7\n",
+      "# di tag \"c\", livello subgrp, primo passaggio: 10\n",
+      "# di tag \"c\", livello subgrp, totali: 10\n",
+      "# di tag \"c\", livello otherlevel, primo passaggio: 321\n",
+      "# di tag \"c\", livello otherlevel, totali: 321\n",
+      "# di tag \"c\", livello collection, primo passaggio: 1\n",
+      "# di tag \"c\", livello collection, totali: 1\n",
+      "# di tag \"c\", livello fonds, primo passaggio: 1\n",
+      "# di tag \"c\", livello fonds, totali: 11\n",
       "# di tag \"c\", livello subseries, primo passaggio: 151\n",
       "# di tag \"c\", livello subseries, totali: 163\n",
+      "# di tag \"c\", livello file, primo passaggio: 7199\n",
+      "# di tag \"c\", livello file, totali: 7199\n",
+      "# di tag \"c\", livello series, primo passaggio: 254\n",
+      "# di tag \"c\", livello series, totali: 254\n",
       "\n",
-      "Tempo trascorso: 1.0391268730163574\n"
+      "Tempo trascorso: 1.3189809322357178\n"
      ]
     }
    ],
@@ -314,7 +314,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 35,
    "metadata": {
     "tags": []
    },
@@ -436,7 +436,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 36,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -709,7 +709,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": 37,
    "metadata": {
     "tags": []
    },
@@ -764,16 +764,30 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 44,
    "metadata": {},
    "outputs": [],
-   "source": []
+   "source": [
+    "translatorHelper = {\"first\": [], \"all\": []}\n",
+    "\n",
+    "translatorHelper['all'].append({\"check\": {\"tag\": \"repository\"}, \"get\": {\"text\"}})"
+   ]
   },
   {
    "cell_type": "code",
    "execution_count": null,
    "metadata": {},
    "outputs": [],
+   "source": [
+    "    #    tags = [ a.tag for a in node['a_par'] ].append(node['child'].tag)\n",
+    "    #    attributes = [ a.attrib for a in node['a_par'] ].append(node['child'].attrib)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 71,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "def traduttoreNew(elem):\n",
     "    # Variabile che contiene l'output della traduzione:\n",
@@ -789,12 +803,14 @@
     "        csvProt[key] = par_attributes[ii]['id']\n",
     "\n",
     "    # Processo i nodi-child di 'elem'\n",
-    "    childrenNodes = traceElems(elem['child'], isLeafOrC)\n",
+    "    toProc = traceElems(elem['child'], isLeafOrC)\n",
+    "\n",
     "    first = True\n",
-    "    for node in childrenNodes:\n",
-    "        tags = [ a.tag for a in node['a_par'] ].append(node['child'].tag)\n",
-    "        attributes = [ a.attrib for a in node['a_par'] ].append(node['child'].attrib)\n",
-    "        nodeContent = node['child'].text\n",
+    "    for node in toProc:\n",
+    "        tags = [ a.tag for a in node['a_par'] ] + [node['child'].tag]\n",
+    "        attributes = [ a.attrib for a in node['a_par'] ] + [node['child'].attrib]\n",
+    "\n",
+    "        content = node['child'].text\n",
     "\n",
     "        # Da controllare solo per il primo nodo\n",
     "        # (informazioni a livello del nodo, uguali per tutti i figli)\n",
@@ -816,13 +832,13 @@
     "        # La 'ciccia': si processa il contenuto vero e proprio\n",
     "        # e4 Repository (qui dovrebbe essere sempre l'Archivio di Prato)\n",
     "        if('repository' in tags):\n",
-    "            csvProt['repository'] = nodeContent  \n",
+    "            csvProt['repository'] = content  \n",
     "\n",
     "        # e8 Tipologia\n",
     "        try:\n",
     "            ii = tags.index('materialspec')\n",
     "            if(attributes[ii]['label']=='tipologia'): \n",
-    "                csvProt['tipologia'] = nodeContent\n",
+    "                csvProt['tipologia'] = content\n",
     "        except:\n",
     "            pass\n",
     "\n",
@@ -831,12 +847,12 @@
     "            ii = tags.index('num')\n",
     "            type1 = attributes[ii]['type']\n",
     "            if(type1=='nuovo ordinamento'):\n",
-    "               csvProt['segnatura_attuale'] = nodeContent\n",
+    "               csvProt['segnatura_attuale'] = content\n",
     "        except:\n",
     "            pass\n",
-    "        # e9 Segnatura precedente ('odd')\n",
+    "        # e9 Segnatura precedente (Odd)\n",
     "        if('odd' in tags):\n",
-    "            csvProt['segnatura_precedente'] = nodeContent       \n",
+    "            csvProt['segnatura_precedente'] = content       \n",
     "        \n",
     "        # e11 Il titolo da unittitle\n",
     "        try:\n",
@@ -847,14 +863,14 @@
     "                try:\n",
     "                    csvProt['titolo_aspo'] = str(node['a_par'][ii].text).replace('\\t','').replace('\\n','').strip()\n",
     "                except:\n",
-    "                    csvProt['titolo_aspo'] = str(nodeContent).replace('\\t','').replace('\\n','').strip()\n",
+    "                    csvProt['titolo_aspo'] = str(content).replace('\\t','').replace('\\n','').strip()\n",
     "            except:\n",
     "                pass\n",
     "        \n",
     "        # e12 Scope-content head & body\n",
     "        if('scopecontent' in tags):\n",
     "            if('p' in tags):\n",
-    "                csvProt['scope-content_body'] = nodeContent\n",
+    "                csvProt['scope-content_body'] = content\n",
     "\n",
     "        # e14 Nome della compagnia\n",
     "        try:\n",
@@ -862,9 +878,9 @@
     "            if(attributes[ii]['authfilenumber']):\n",
     "                try:\n",
     "                    authId = attributes[ii]['authfilenumber']\n",
-    "                    csvProt['compagnia'] = '{\"nome\": ' + \"\\\"\" + nodeContent + \"\\\"\" + ', \"authID\": ' + \"\\\"\" + authId + \"\\\"\" + '}'\n",
+    "                    csvProt['compagnia'] = '{\"nome\": ' + \"\\\"\" + content + \"\\\"\" + ', \"authID\": ' + \"\\\"\" + authId + \"\\\"\" + '}'\n",
     "                except:\n",
-    "                    csvProt['compagnia'] = '{\"nome\": ' + \"\\\"\" + nodeContent + \"\\\"\" + '}'\n",
+    "                    csvProt['compagnia'] = '{\"nome\": ' + \"\\\"\" + content + \"\\\"\" + '}'\n",
     "        except:\n",
     "            pass\n",
     "        \n",
@@ -875,49 +891,49 @@
     "                key='persona'  \n",
     "                authId = attributes[ii]['authfilenumber']\n",
     "                try:       \n",
-    "                    csvProt[key] = csvProt[key] + ' | {\"nome\": ' + \"\\\"\" + nodeContent + \"\\\"\" + ', \"authID\": ' + \"\\\"\" + authId + \"\\\"\" +'}'\n",
+    "                    csvProt[key] = csvProt[key] + ' | {\"nome\": ' + \"\\\"\" + content + \"\\\"\" + ', \"authID\": ' + \"\\\"\" + authId + \"\\\"\" +'}'\n",
     "                except:                         \n",
-    "                    csvProt[key] = '{\"nome\": ' + \"\\\"\" + nodeContent + \"\\\"\" + ', \"authID\": ' + \"\\\"\" + authId + \"\\\"\" +'}'\n",
+    "                    csvProt[key] = '{\"nome\": ' + \"\\\"\" + content + \"\\\"\" + ', \"authID\": ' + \"\\\"\" + authId + \"\\\"\" +'}'\n",
     "            except:                \n",
     "                try:\n",
-    "                    csvProt[key] = csvProt[key] + ' | {\"nome\": ' + \"\\\"\" + nodeContent + \"\\\"\" + '}'\n",
+    "                    csvProt[key] = csvProt[key] + ' | {\"nome\": ' + \"\\\"\" + content + \"\\\"\" + '}'\n",
     "                except:\n",
-    "                    csvProt[key] = '{\"nome\": ' + \"\\\"\" + nodeContent + \"\\\"\" + '}'\n",
+    "                    csvProt[key] = '{\"nome\": ' + \"\\\"\" + content + \"\\\"\" + '}'\n",
     "\n",
     "        # e17 Date\n",
     "        if ('unittitle' in tags):\n",
     "            try:\n",
     "                ii = tags.index('date')\n",
     "                key = 'data'\n",
-    "                csvProt[key] = nodeContent\n",
+    "                csvProt[key] = content\n",
     "            except:\n",
     "                pass\n",
     "       \n",
     "        # e18 Data 1: periodo\n",
     "        if('unitdate' in tags):\n",
-    "            csvProt['data_periodo'] = nodeContent\n",
+    "            csvProt['data_periodo'] = content\n",
     "        \n",
     "        # e20 Supporto fisico\n",
     "        try:\n",
     "            ii = tags.index('physfacet')\n",
     "            if(attributes[ii]['type']=='supporto'):\n",
-    "                csvProt['supporto'] = nodeContent\n",
+    "                csvProt['supporto'] = content\n",
     "        except:\n",
     "            pass\n",
     "\n",
     "        # e21 Physdesc \n",
     "        if('extent' in tags):\n",
-    "            csvProt['numero'] = nodeContent\n",
+    "            csvProt['numero'] = content\n",
     "        if('genreform' in tags):\n",
-    "            csvProt['genere'] = nodeContent\n",
+    "            csvProt['genere'] = content\n",
     "        \n",
     "        # e21 Dimensions\n",
     "        try:\n",
     "            ii = tags.index('dimensions')\n",
     "            try:\n",
-    "                csvProt['dimensione_altezza_larghezza_spessore'] = csvProt['dimensione_altezza_larghezza_spessore'] + ' | ' + nodeContent\n",
+    "                csvProt['dimensione_altezza_larghezza_spessore'] = csvProt['dimensione_altezza_larghezza_spessore'] + ' | ' + content\n",
     "            except:\n",
-    "                csvProt['dimensione_altezza_larghezza_spessore'] = nodeContent\n",
+    "                csvProt['dimensione_altezza_larghezza_spessore'] = content\n",
     "        except:\n",
     "            pass\n",
     "        \n",
@@ -925,15 +941,15 @@
     "        try:\n",
     "            ii = tags.index('phystech')\n",
     "            try:\n",
-    "                csvProt['conservazione'] = csvProt['conservazione'] + ' | ' + nodeContent\n",
+    "                csvProt['conservazione'] = csvProt['conservazione'] + ' | ' + content\n",
     "            except:\n",
-    "                csvProt['conservazione'] = nodeContent\n",
+    "                csvProt['conservazione'] = content\n",
     "        except:\n",
     "            pass\n",
     "        \n",
     "        # e24 Note\n",
     "        if('note' in tags):\n",
-    "            csvProt['nota'] = nodeContent\n",
+    "            csvProt['nota'] = content\n",
     "        \n",
     "        # e26 Oggetto digitale allegato (nome)\n",
     "        try:\n",
@@ -1035,7 +1051,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": 72,
    "metadata": {},
    "outputs": [
     {
@@ -1073,7 +1089,7 @@
    ],
    "source": [
     "test = allCs2['file'][0]\n",
-    "toShow = traduttoreItem(test)\n",
+    "toShow = traduttoreNew(test)\n",
     "for key in toShow.keys():\n",
     "    print(key + ': ' + str(toShow[key]))\n",
     "    print()"
@@ -1092,7 +1108,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": null,
    "metadata": {},
    "outputs": [
     {
@@ -1123,6 +1139,34 @@
     "\n",
     "print('Tempo trascorso:', datetime.timestamp(datetime.now()) - ts1)"
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {