equal
deleted
inserted
replaced
553 def PurgeBlobs(self): |
553 def PurgeBlobs(self): |
554 for fd, _path, _md5sum in self.blobs.values(): |
554 for fd, _path, _md5sum in self.blobs.values(): |
555 os.close(fd) |
555 os.close(fd) |
556 self._init_blobs() |
556 self._init_blobs() |
557 |
557 |
558 def _BlobAsFile(self, blobID, newpath): |
558 def BlobAsFile(self, blobID, newpath): |
559 blob = self.blobs.pop(blobID, None) |
559 blob = self.blobs.pop(blobID, None) |
560 |
560 |
561 if blob is None: |
561 if blob is None: |
562 raise Exception(_("Missing data to create file: {}").format(newpath)) |
562 raise Exception(_("Missing data to create file: {}").format(newpath)) |
563 |
563 |
|
564 self._BlobAsFile(blob, newpath) |
|
565 |
|
566 def _BlobAsFile(self, blob, newpath): |
564 fd, path, _md5sum = blob |
567 fd, path, _md5sum = blob |
565 fobj = os.fdopen(fd) |
568 fobj = os.fdopen(fd) |
566 fobj.flush() |
569 fobj.flush() |
567 os.fsync(fd) |
570 os.fsync(fd) |
568 fobj.close() |
571 fobj.close() |
617 |
620 |
618 self.LogMessage("NewPLC (%s)" % md5sum) |
621 self.LogMessage("NewPLC (%s)" % md5sum) |
619 |
622 |
620 try: |
623 try: |
621 # Create new PLC file |
624 # Create new PLC file |
622 self._BlobAsFile(plc_object, new_PLC_filename) |
625 self.BlobAsFile(plc_object, new_PLC_filename) |
623 |
626 |
624 # Then write the files |
627 # Then write the files |
625 log = open(extra_files_log, "w") |
628 log = open(extra_files_log, "w") |
626 for fname, blobID in extrafiles: |
629 for fname, blobID in extrafiles: |
627 fpath = os.path.join(self.workingdir, fname) |
630 fpath = os.path.join(self.workingdir, fname) |
628 self._BlobAsFile(blobID, fpath) |
631 self.BlobAsFile(blobID, fpath) |
629 log.write(fname+'\n') |
632 log.write(fname+'\n') |
630 |
633 |
631 # Store new PLC filename based on md5 key |
634 # Store new PLC filename based on md5 key |
632 with open(self._GetMD5FileName(), "w") as f: |
635 with open(self._GetMD5FileName(), "w") as f: |
633 f.write(md5sum) |
636 f.write(md5sum) |