skip info
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Fri, 23 Mar 2012 16:44:57 +0000 (12:44 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Fri, 23 Mar 2012 16:44:57 +0000 (12:44 -0400)
project/dae/exporter.py

index feb290f..a43283e 100644 (file)
@@ -8,6 +8,8 @@ import  shutil
 from django.conf import settings
 from project.rh import  models as rh
 
 from django.conf import settings
 from project.rh import  models as rh
 
+SKIP = "** SKIP **"
+
 class SuperCopier(object):
     """
     Classe abstraite pour faire de la copie profonde sur des objets en BD.
 class SuperCopier(object):
     """
     Classe abstraite pour faire de la copie profonde sur des objets en BD.
@@ -26,7 +28,8 @@ class SuperCopier(object):
             self.stdout.write(txt)
 
     def clean_id(self, source, copy, parent, field, value):
             self.stdout.write(txt)
 
     def clean_id(self, source, copy, parent, field, value):
-        pass
+        self.out(SKIP, 1)
+        return []
 
     def parent(self, parent, child):
         klass = parent.__class__.__name__.lower()
 
     def parent(self, parent, child):
         klass = parent.__class__.__name__.lower()
@@ -43,7 +46,8 @@ class SuperCopier(object):
         
         for f in obj._meta.fields:
             value = getattr(obj, f.name)
         
         for f in obj._meta.fields:
             value = getattr(obj, f.name)
-            self.out(u"\n%s * %s: %s" % (indent, f.name, value), 2)
+
+            self.out(u"\n%s * %s: %s " % (indent, f.name, value), 2)
 
             cleanup_fct = "clean_%s" % f.name
             if hasattr(self, cleanup_fct):
 
             cleanup_fct = "clean_%s" % f.name
             if hasattr(self, cleanup_fct):
@@ -60,6 +64,7 @@ class SuperCopier(object):
             field_name = obj_composition.field.rel.related_name
             if field_name == '+':
                 continue
             field_name = obj_composition.field.rel.related_name
             if field_name == '+':
                 continue
+            self.out(u"\n%s + [%s] %s " % (indent, app_label, field_name), 1)
             try:
                 cleanup_fct = "clean_%s" % field_name
                 if hasattr(self, cleanup_fct):
             try:
                 cleanup_fct = "clean_%s" % field_name
                 if hasattr(self, cleanup_fct):
@@ -67,7 +72,6 @@ class SuperCopier(object):
                     children = cleaner(obj, copy, parent, f, value)
                 else:
                     children = getattr(obj, field_name).all()
                     children = cleaner(obj, copy, parent, f, value)
                 else:
                     children = getattr(obj, field_name).all()
-                self.out(u"\n%s + [%s] %s" % (indent, app_label, field_name), 1)
             except Exception, e:
                 # no reverse relation
                 self.out(" %s %s" % (field_name, str(e)), 1)
             except Exception, e:
                 # no reverse relation
                 self.out(" %s %s" % (field_name, str(e)), 1)
@@ -90,23 +94,23 @@ class SuperCopier(object):
 class PosteCopier(SuperCopier):
 
     def clean_rh_dossiers(self, source, copy, parent, field, value):
 class PosteCopier(SuperCopier):
 
     def clean_rh_dossiers(self, source, copy, parent, field, value):
-        self.out("\n** SKIP **", 1)
+        self.out(SKIP, 1)
         return []
 
     def clean_rh_comparaisons_internes(self, source, copy, parent, field, value):
         return []
 
     def clean_rh_comparaisons_internes(self, source, copy, parent, field, value):
-        self.out("\n** SKIP **", 1)
+        self.out(SKIP, 1)
         return []
 
     def clean_rh_financements(self, source, copy, parent, field, value):
         return []
 
     def clean_rh_financements(self, source, copy, parent, field, value):
-        self.out("\n** SKIP **", 1)
+        self.out(SKIP, 1)
         return []
 
     def clean_rh_pieces(self, source, copy, parent, field, value):
         return []
 
     def clean_rh_pieces(self, source, copy, parent, field, value):
-        self.out("\n** SKIP **", 1)
+        self.out(SKIP, 1)
         return []
 
     def clean_dae_dossiers(self, source, copy, parent, field, value):
         return []
 
     def clean_dae_dossiers(self, source, copy, parent, field, value):
-        self.out("\n** SKIP **", 1)
+        self.out(SKIP, 1)
         return []
 
     def clean_fichier(self, source, copy, parent, field, value):
         return []
 
     def clean_fichier(self, source, copy, parent, field, value):
@@ -133,19 +137,19 @@ class PosteCopier(SuperCopier):
 class DossierCopier(SuperCopier):
 
     def clean_rh_contrats(self, source, copy, parent, field, value):
 class DossierCopier(SuperCopier):
 
     def clean_rh_contrats(self, source, copy, parent, field, value):
-        self.out("\n** SKIP **", 1)
+        self.out(SKIP, 1)
         return []
 
     def clean_rh_dossierpieces(self, source, copy, parent, field, value):
         return []
 
     def clean_rh_dossierpieces(self, source, copy, parent, field, value):
-        self.out("\n** SKIP **", 1)
+        self.out(SKIP, 1)
         return []
 
     def clean_rh_comparaisons(self, source, copy, parent, field, value):
         return []
 
     def clean_rh_comparaisons(self, source, copy, parent, field, value):
-        self.out("\n** SKIP **", 1)
+        self.out(SKIP, 1)
         return []
     
     def clean_rh_remunerations(self, source, copy, parent, field, value):
         return []
     
     def clean_rh_remunerations(self, source, copy, parent, field, value):
-        self.out("\n** SKIP **", 1)
+        self.out(SKIP, 1)
         return []
 
     def clean_employe(self, source, copy, parent, field, value):
         return []
 
     def clean_employe(self, source, copy, parent, field, value):
@@ -165,14 +169,9 @@ class DossierCopier(SuperCopier):
         copy.poste_id = poste.id
 
     def clean_fichier(self, source, copy, parent, field, value):
         copy.poste_id = poste.id
 
     def clean_fichier(self, source, copy, parent, field, value):
-        try:
-            filename = value.path.split('/')[-1]
-        except:
-            setattr(copy, field.name, value)
-            return
-
+        filename = value.path.split('/')[-1]
         copy.dossier_id = parent.id
         copy.dossier_id = parent.id
-        
+
         ct = copy.__class__.__name__.lower()
         if ct == 'contrat':
             new_value = rh.contrat_dispatch(copy, filename)
         ct = copy.__class__.__name__.lower()
         if ct == 'contrat':
             new_value = rh.contrat_dispatch(copy, filename)