Ticket #4407: log.patch

File log.patch, 1.7 KB (added by FGrose, 10 years ago)
  • logviewer.py

    commit 8cc19def74521b38b9bb12cbfc36644ad0aeb9a2
    Author: Frederick Grose <fgrose@sugarlabs.org>
    Date:   Fri Nov 15 22:11:02 2013 -0500
    
        Save temporary .zip files in a user writable directory for alternate
        installations as well.
        
        Using activity.get_activity_root() instead of .get_bundle_path() for the
        temporary storage directory enables SoaS and Fedora installations (in
        /usr/share/sugar/activities/Log.activity) to save the log-nnnnnnnnnn.zip
        without permissions problems.  Fixes bugs.sugarlabs.org #4407.
    
    diff --git a/logviewer.py b/logviewer.py
    index 1f9bea0..91240b4 100644
    a b class CollectorPalette(Palette): 
    637637    def _on_send_button_clicked_cb(self, button):
    638638        identifier = str(int(time.time()))
    639639        filename = '%s.zip' % identifier
     640        filepath = os.path.join(activity.get_activity_root(), filename)
    640641        success = True
    641642        try:
    642             filename = self._collector.write_logs(archive=filename, logbytes=0)
     643            filename = self._collector.write_logs(archive=filepath, logbytes=0)
    643644        except:
    644645            success = False
    645646
     647        filename = os.path.basename(filename)
    646648        self.popdown(True)
    647649
    648650        if not success:
    class CollectorPalette(Palette): 
    664666            }
    665667        for k, v in metadata.items():
    666668            jobject.metadata[k] = v
    667         jobject.file_path = os.path.join(activity.get_bundle_path(), filename)
     669        jobject.file_path = filepath
    668670        datastore.write(jobject)
    669671        self._last_log = jobject.object_id
    670672        jobject.destroy()
    671673        activity.show_object_in_journal(self._last_log)
    672         os.remove(filename)
     674        os.remove(filepath)