Changeset 892 in main


Ignore:
Timestamp:
03/13/12 17:32:45 (10 years ago)
Author:
agalech
Message:
 
Location:
trunk/openPLM/document3D
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/openPLM/document3D/decomposer.py

    r887 r892  
    1515     
    1616    try:         
    17             my_step_importer = NEW_STEP_Import(doc_file)  
    18             product=my_step_importer.generate_product_arbre() 
    19             to_delete=[] 
    20             for i,link in enumerate(product.links): 
    21                     diviser(link.product,list_document_controller[i],doc_file,to_delete) 
    22             decomposer_product(my_step_importer,doc_file,user,to_delete)                                 
     17        my_step_importer = NEW_STEP_Import(doc_file)  
     18        product=my_step_importer.generate_product_arbre() 
     19        to_delete=[] 
     20        to_index=[] 
     21        for i,link in enumerate(product.links): 
     22            diviser(link.product,list_document_controller[i],doc_file,to_delete,to_index) 
     23        decomposer_product(my_step_importer,doc_file,user,to_delete,to_index) 
     24        return to_index                                  
    2325    except: 
    2426        raise  Document3D_decomposer_Error(to_delete) 
    2527 
    2628 
    27 def diviser(product,Doc_controller,doc_file,to_delete): 
    28  
    29  
    30  
    31     new_doc_file=generate_DocumentFile(product,Doc_controller,product.label_reference,product.name+".stp".encode("utf-8"),to_delete) 
     29def diviser(product,Doc_controller,doc_file,to_delete,to_index): 
     30 
     31 
     32 
     33    new_doc_file=generate_DocumentFile(product,Doc_controller,product.label_reference,product.name+".stp".encode("utf-8"),to_delete,to_index) 
    3234   
    3335    index_reference=[0] 
     
    114116 
    115117 
    116 def decomposer_product(my_step_importer,stp_file,user,to_delete): 
     118def decomposer_product(my_step_importer,stp_file,user,to_delete,to_index): 
    117119 
    118120    product=my_step_importer.generate_product_arbre() 
     
    138140 
    139141 
    140     new_doc_file=generate_DocumentFile(product,Doc_controller,labels_roots.Value(1),stp_file.filename,to_delete) 
     142    new_doc_file=generate_DocumentFile(product,Doc_controller,labels_roots.Value(1),stp_file.filename,to_delete,to_index) 
    141143    product.links=[] 
    142144    product.doc_id=new_doc_file.id 
     
    148150     
    149151     
    150 def generate_DocumentFile(product,Doc_controller,label,new_name,to_delete): 
     152def generate_DocumentFile(product,Doc_controller,label,new_name,to_delete,to_index): 
    151153 
    152154    new_doc_file=DocumentFile() 
     
    174176        raise ValueError("Native file has a standard related locked file.")  
    175177    
    176               
     178    new_doc_file.no_index=True         
    177179    new_doc_file.filename=new_name 
    178180    new_doc_file.size=f.size 
     
    180182    new_doc_file.document=Doc_controller.object 
    181183    new_doc_file.save() 
     184     
     185    to_index.append((new_doc_file._meta.app_label,new_doc_file._meta.module_name, new_doc_file._get_pk_val())) 
    182186    to_delete.append(new_doc_file.file.path)        
    183187    os.chmod(new_doc_file.file.path, 0400) 
  • trunk/openPLM/document3D/views.py

    r891 r892  
    391391 
    392392            ParentChildLink = obj.add_child(part_controller.object,ord_quantity[1],ord_quantity[0],ord_quantity[2])                 
    393             generate_extra_location_links(links[index],ParentChildLink)  
    394             doc_controller=obj.create_from_form(part_doc_create_form[1],obj._user, True, True)             
     393            generate_extra_location_links(links[index],ParentChildLink) 
     394            form = part_doc_create_form[1] 
     395            controller_cls = get_controller(form.Meta.model.__name__)  
     396            doc_controller=controller_cls.create_from_form(part_doc_create_form[1],obj._user, True, True)             
    395397            instances.append((doc_controller.object._meta.app_label,doc_controller.object._meta.module_name, doc_controller.object._get_pk_val())) 
    396398            part_controller.attach_to_document(doc_controller.object) 
    397             controller_cls = get_controller(doc_controller.object.type) 
    398             list_document_controller.append(controller_cls(doc_controller.object,obj._user)) 
     399            list_document_controller.append(doc_controller) 
    399400 
    400401            index+=1 
     
    600601   
    601602    list_doc3D_controller , instances =generate_part_doc_links(options,links,obj)                           
    602     my_step_importer=decomposer_all(stp_file,list_doc3D_controller,links,obj._user)  
     603    instances+=decomposer_all(stp_file,list_doc3D_controller,links,obj._user)  
    603604    return instances                    
    604605     
Note: See TracChangeset for help on using the changeset viewer.