[PATCH 11 of 11 seda] Import dissemination rules list

Sylvain Thenault sylvain.thenault at logilab.fr
Fri Mar 3 10:43:23 CET 2017


# HG changeset patch
# User Sylvain Thénault <sylvain.thenault at logilab.fr>
# Date 1488478211 -3600
#      Thu Mar 02 19:10:11 2017 +0100
# Node ID 8ac714000dd339387fa24b8c1e7b5c3495cba50b
# Parent  b02afc9524b751ce0140aafa71f94740ce96351a
Import dissemination rules list

diff --git a/cubicweb_seda/dataimport.py b/cubicweb_seda/dataimport.py
--- a/cubicweb_seda/dataimport.py
+++ b/cubicweb_seda/dataimport.py
@@ -60,10 +60,13 @@ LCSV_FILES = (
      'seda_rule', 'SEDASeqAppraisalRuleRule',
      'dua.csv'),
     (u"SEDA : Codes de restriction d'accès",
      'seda_rule', 'SEDASeqAccessRuleRule',
      'access_control.csv'),
+    (u"SEDA : Règles de diffusion",
+     'seda_rule', 'SEDASeqDisseminationRuleRule',
+     'dissemination.csv'),
     (u"SEDA : Types d'objets-données",
      'seda_type_to', (),
      'document_type_code.csv'),
     # other schemes
     (u'Types MIME',
diff --git a/cubicweb_seda/hooks.py b/cubicweb_seda/hooks.py
--- a/cubicweb_seda/hooks.py
+++ b/cubicweb_seda/hooks.py
@@ -187,14 +187,14 @@ class SetDefaultCodeListVersionsOp(hook.
         ('seda_encoding_code_list_version', 'seda_encoding_to', None),
         ('seda_data_object_version_code_list_version', 'seda_data_object_version_to', None),
         ('seda_relationship_code_list_version', 'seda_type_relationship', None),
         ('seda_access_rule_code_list_version', 'seda_rule', 'SEDASeqAccessRuleRule'),
         ('seda_appraisal_rule_code_list_version', 'seda_rule', 'SEDASeqAppraisalRuleRule'),
+        ('seda_dissemination_rule_code_list_version', 'seda_rule', 'SEDASeqDisseminationRuleRule'),
         # 'seda_compression_algorithm_code_list_version',
         # 'seda_classification_rule_code_list_version',
         # 'seda_reuse_rule_code_list_version',
-        # 'seda_dissemination_rule_code_list_version',
         # 'seda_storage_rule_code_list_version',
         # 'seda_acquisition_information_code_list_version',
     ]
 
     def precommit_event(self):
diff --git a/cubicweb_seda/migration/0.8.0_Any.py b/cubicweb_seda/migration/0.8.0_Any.py
--- a/cubicweb_seda/migration/0.8.0_Any.py
+++ b/cubicweb_seda/migration/0.8.0_Any.py
@@ -20,9 +20,9 @@ for etype in ('SEDArestrictionRuleIdRef'
               'SEDArestrictionValue',
               'SEDArestrictionEndDate'):
     drop_entity_type(etype)
 
 lcsv_files = [file_def for file_def in LCSV_FILES
-              if file_def[-1] in ('legal_status.csv', 'digest_algorithms.csv')]
+              if file_def[-1] in ('legal_status.csv', 'digest_algorithms.csv', 'dissemination.csv')]
 import_seda_schemes(cnx, lcsv_files=lcsv_files)
 
 drop_relation_type('seda_reply_code_list_version')
diff --git a/cubicweb_seda/migration/data/dissemination.csv b/cubicweb_seda/migration/data/dissemination.csv
new file mode 100644
--- /dev/null
+++ b/cubicweb_seda/migration/data/dissemination.csv
@@ -0,0 +1,22 @@
+#;$id;label;alt label
+type;url;string;string
+lang;;en;en
+url;skos:Concept;skos:prefLabel;skos:altLabel
+;;Délai indexation moteur de recherche internet - 120 ans- Vie privée;Vie privée
+;;Délai indexation moteur de recherche internet - 120 ans- Mariage;Mariage
+;;Délai indexation moteur de recherche internet - 120 ans- Naissance;Naissance
+;;Délai indexation moteur de recherche internet - 120 ans- Décès;Décès
+;;Délai indexation moteur de recherche internet - 120 ans- Tables décennales;Tables décennales
+;;Délai indexation moteur de recherche - 120 ans- Vie privée;Vie privée
+;;Délai indexation moteur de recherche -100 ans- Mariage;Mariage
+;;Délai indexation moteur de recherche -120 ans- Naissance;Naissance
+;;Délai indexation moteur de recherche -75 ans- Décès;Décès
+;;Délai indexation moteur de recherche -Selon NMD- Tables décennales;Tables décennales
+;;Délai mise en ligne - 50 ans- Vie privée;Vie privée
+;;Délai mise en ligne - 75 ans- Mariage;Mariage
+;;Délai mise en ligne - 75 ans sans mention marginale / 100 ans- Naissance;Naissance
+;;Délai mise en ligne - 25 ans- Décès;Décès
+;;Délai mise en ligne - Selon NMD- Tables décennales;Tables décennales
+;;Délai mise en ligne - 150 ans- Affaires portées devant les juridictions;Affaires portées devant les juridictions
+;;Délai mise en ligne - 150 ans- Secret médical;Secret médical
+;;Délai mise en ligne - 150 ans- Données sensibles (loi CNIL);Données sensibles (loi CNIL)
diff --git a/test/test_dataimport.py b/test/test_dataimport.py
--- a/test/test_dataimport.py
+++ b/test/test_dataimport.py
@@ -23,11 +23,11 @@ from cubicweb_seda import dataimport
 class ConcepSchemeImportTC(CubicWebTC):
 
     def test_import_seda_schemes(self):
         with self.admin_access.client_cnx() as cnx:
             dataimport.import_seda_schemes(cnx, lcsv_import=dataimport.lcsv_check)
-            self.assertEqual(len(cnx.find('ConceptScheme')), 17)
+            self.assertEqual(len(cnx.find('ConceptScheme')), 18)
 
 
 if __name__ == '__main__':
     import unittest
     unittest.main()
diff --git a/test/test_hooks.py b/test/test_hooks.py
--- a/test/test_hooks.py
+++ b/test/test_hooks.py
@@ -136,11 +136,12 @@ class SetDefaultHooksTC(CubicWebTC):
             for rtype, etype in chain(zip(('seda_format_id_to', 'seda_mime_type_to',
                                            'seda_encoding_to'),
                                           repeat(None)),
                                       [('seda_algorithm', 'SEDABinaryDataObject'),
                                        ('seda_rule', 'SEDASeqAppraisalRuleRule'),
-                                       ('seda_rule', 'SEDASeqAccessRuleRule')]):
+                                       ('seda_rule', 'SEDASeqAccessRuleRule'),
+                                       ('seda_rule', 'SEDASeqDisseminationRuleRule')]):
                 scheme_for_type(cnx, rtype, etype)
             cnx.commit()
             transfer = cnx.create_entity('SEDAArchiveTransfer', title=u'test profile')
             cnx.commit()
 
@@ -148,10 +149,11 @@ class SetDefaultHooksTC(CubicWebTC):
             self.assertTrue(transfer.reverse_seda_message_digest_algorithm_code_list_version_from)
             self.assertTrue(transfer.reverse_seda_mime_type_code_list_version_from)
             self.assertTrue(transfer.reverse_seda_encoding_code_list_version_from)
             self.assertTrue(transfer.reverse_seda_access_rule_code_list_version_from)
             self.assertTrue(transfer.reverse_seda_appraisal_rule_code_list_version_from)
+            self.assertTrue(transfer.reverse_seda_dissemination_rule_code_list_version_from)
 
     def test_default_card_on_typed_data_object_ref(self):
         """When creating a SEDADataObjectReference in the context of a reference, its cardinality
         should always be 1 (by default any card is allowed since in may be used in the context of
         'main' reference).


More information about the saem-devel mailing list