[pitivi: 78/94] presets: really write individual presets to disk, clean methods names
- From: Thibault Saunier <tsaunier src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi: 78/94] presets: really write individual presets to disk, clean methods names
- Date: Sun, 11 Sep 2011 16:19:00 +0000 (UTC)
commit 94852fe9d410b725022c2626008e65db4adf7353
Author: Jean-FranÃois Fortin Tam <nekohayo gmail com>
Date: Fri Sep 9 15:16:12 2011 -0400
presets: really write individual presets to disk, clean methods names
pitivi/ui/encodingdialog.py | 4 ++--
pitivi/ui/preset.py | 34 ++++++++++++++++++++++------------
pitivi/ui/projectsettings.py | 6 ++----
3 files changed, 26 insertions(+), 18 deletions(-)
---
diff --git a/pitivi/ui/encodingdialog.py b/pitivi/ui/encodingdialog.py
index eb3fe39..5a02f93 100644
--- a/pitivi/ui/encodingdialog.py
+++ b/pitivi/ui/encodingdialog.py
@@ -442,8 +442,8 @@ class EncodingDialog(Renderer, Loggable):
def _copyRenderPresets(self, cur_preset):
# Copies current settings to presets
- self.render_presets.savePreset()
- self.render_presets.save()
+ self.render_presets._updatePreset()
+ self.render_presets.saveAll()
def _updateRenderPresetButtons(self):
preset_changed = self.render_presets.isSaveButtonSensitive()
diff --git a/pitivi/ui/preset.py b/pitivi/ui/preset.py
index cbd3d1e..5b6743a 100644
--- a/pitivi/ui/preset.py
+++ b/pitivi/ui/preset.py
@@ -82,13 +82,14 @@ class PresetManager(object):
if file.endswith("json"):
self.loadSection(os.path.join(self.default_path, file))
- def save(self):
+ def saveAll(self):
+ """Write changes to disk for all presets"""
if not os.path.exists(self.user_path):
os.makedirs(self.user_path)
for name, properties in self.ordered:
try:
filepath = self.presets[name]["filepath"]
- except:
+ except KeyError:
filename = name + ".json"
filepath = os.path.join(self.user_path, filename)
@@ -223,6 +224,24 @@ class PresetManager(object):
self._ignore_update_requests = False
def savePreset(self):
+ """Update the preset values and write to disk"""
+ if self.cur_preset != "No preset":
+ self._updatePreset()
+ if not os.path.exists(self.user_path):
+ os.makedirs(self.user_path)
+ try:
+ filepath = self.presets[self.cur_preset]["filepath"]
+ except KeyError:
+ filepath = os.path.join(self.user_path, self.cur_preset + ".json")
+ try:
+ fout = open(filepath, "w")
+ self.saveSection(fout, self.cur_preset)
+ except IOError:
+ # TODO: show an error infobar... but this should never happen,
+ # because the UI is supposed to disable the Save button
+ pass
+
+ def _updatePreset(self):
"""Copy the values from the widgets to the preset."""
values = self.presets[self.cur_preset]
for field, (setter, getter) in self.widget_map.iteritems():
@@ -289,7 +308,6 @@ class VideoPresetManager(PresetManager):
default_path = get_videopresets_dir()
user_path = os.path.join(xdg_data_home(), 'video_presets')
-
def loadSection(self, filepath):
parser = json.loads(open(filepath).read())
@@ -311,10 +329,8 @@ class VideoPresetManager(PresetManager):
"frame-rate": framerate,
"par": par,
"filepath": filepath,
-
})
-
def saveSection(self, fout, section):
values = self.presets[section]
data = json.dumps({
@@ -334,7 +350,6 @@ class AudioPresetManager(PresetManager):
default_path = get_audiopresets_dir()
user_path = os.path.join(xdg_data_home(), 'audio_presets')
-
def loadSection(self, filepath):
parser = json.loads(open(filepath).read())
@@ -351,7 +366,6 @@ class AudioPresetManager(PresetManager):
"filepath": filepath,
})
-
def saveSection(self, fout, section):
values = self.presets[section]
data = json.dumps({
@@ -362,13 +376,12 @@ class AudioPresetManager(PresetManager):
}, indent=4)
fout.write(data)
+
class RenderPresetManager(PresetManager):
- """ load() and save() are rewritten to save widget values to json """
default_path = get_renderpresets_dir()
user_path = os.path.join(xdg_data_home(), 'render_presets')
-
def loadSection(self, filepath):
parser = json.loads(open(filepath).read())
@@ -405,7 +418,6 @@ class RenderPresetManager(PresetManager):
"filepath": filepath,
})
-
def saveSection(self, fout, section):
values = self.presets[section]
data = json.dumps({
@@ -421,6 +433,4 @@ class RenderPresetManager(PresetManager):
"depth": int(values["depth"]),
"sample-rate": int(values["sample-rate"]),
}, indent=4)
-
fout.write(data)
-
diff --git a/pitivi/ui/projectsettings.py b/pitivi/ui/projectsettings.py
index dccea3c..0539ecf 100644
--- a/pitivi/ui/projectsettings.py
+++ b/pitivi/ui/projectsettings.py
@@ -235,7 +235,6 @@ class ProjectSettingsDialog():
self.createAudioNoPreset(self.audio_presets)
self.createVideoNoPreset(self.video_presets)
-
def bindPar(self, mgr):
def updatePar(value):
@@ -302,7 +301,6 @@ class ProjectSettingsDialog():
"height": int(self.height_spinbutton.get_value()),
"width": int(self.width_spinbutton.get_value())})
-
def _newPresetCb(self, model, path, iter_, column, renderer, treeview):
"""Handle the addition of a preset to the model of the preset manager.
"""
@@ -585,6 +583,6 @@ class ProjectSettingsDialog():
if response == gtk.RESPONSE_OK:
self.updateSettings()
self.updateMetadata()
- self.audio_presets.save()
- self.video_presets.save()
+ self.audio_presets.saveAll()
+ self.video_presets.saveAll()
self.window.destroy()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]