Changeset 129 in main


Ignore:
Timestamp:
07/23/10 15:11:57 (10 years ago)
Author:
pcosquer
Message:

plugin openoffice : add thumbnail upload
plugin freecad : upload thumbnail for created document

Location:
trunk/plugins
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/freecad/OpenPLM/openplm.py

    r126 r129  
    121121                self.get_data("api/object/%s/lock/%s/" % (doc["id"], doc_file["id"])) 
    122122            else: 
     123                self.send_thumbnail(gdoc) 
    123124                self.forget(gdoc) 
    124125            return True, "" 
  • trunk/plugins/openoffice/openplm.py

    r112 r129  
    44import urllib 
    55import webbrowser 
     6import zipfile 
     7import tempfile 
    68 
    79# poster makes it possible to send http request with files 
     
    141143                self.get_data("api/object/%s/lock/%s/" % (doc["id"], doc_file["id"])) 
    142144            else: 
     145                self.send_thumbnail(gdoc) 
    143146                self.forget(gdoc) 
    144147            return True, "" 
     
    299302                    self.get_data("api/object/%s/lock/%s/" % (doc["id"], doc_file_id)) 
    300303                else: 
     304                    self.send_thumbnail(gdoc) 
    301305                    self.forget(gdoc) 
    302306            if save: 
     
    307311        else: 
    308312            show_error('Can not check in : file not in openPLM', self.window) 
     313 
     314    def send_thumbnail(self, gdoc): 
     315        doc = self.documents[gdoc.URL]["openplm_doc"] 
     316        doc_file_id = self.documents[gdoc.URL]["openplm_file_id"] 
     317        path = self.documents[gdoc.URL]["openplm_path"] 
     318        try: 
     319            zp = zipfile.ZipFile(path, 'r') 
     320            image = zp.open("Thumbnails/thumbnail.png") 
     321            f = tempfile.NamedTemporaryFile(suffix=".png", delete=False) 
     322            f.write(image.read()) 
     323            f.close() 
     324            datagen, headers = multipart_encode({"filename": open(f.name, "rb")}) 
     325            # Create the Request object 
     326            url = self.SERVER + "api/object/%s/add_thumbnail/%s/" % (doc["id"], doc_file_id) 
     327            request = urllib2.Request(url, datagen, headers) 
     328            res = self.opener.open(request) 
     329            image.close() 
     330            os.remove(f.name) 
     331            zp.close() 
     332        except KeyError: 
     333            zp.close() 
     334        except (IOError, zipfile.BadZipfile): 
     335            pass 
    309336 
    310337    def revise(self, gdoc, revision, unlock): 
Note: See TracChangeset for help on using the changeset viewer.