temporary file

This commit is contained in:
Frank DeMarco 2014-01-26 20:00:46 +09:00
parent c0e44166c6
commit fa00c5bcfc
2 changed files with 19 additions and 3 deletions

View File

@ -326,9 +326,11 @@ class Configuration(RawConfigParser):
items.append((option, self.get(section, option)))
return items
def write(self):
def write(self, fp=None):
modifiable = self.modifiable
fp = open(self.locate_project_config_file(), "w")
use_main = fp is None
if use_main:
fp = open(self.locate_project_config_file(), "w")
break_line = False
for section in self.order:
if section in modifiable:
@ -338,7 +340,7 @@ class Configuration(RawConfigParser):
value = self.get(section, option)
fp.write("%s = %s\n" % (option, self.get_raw_value(value)))
break_line = True
fp.close()
use_main and fp.close()
def get_raw_value(self, value):
if isinstance(value, list):

View File

@ -1,4 +1,6 @@
from re import match
from os.path import join
from tempfile import gettempdir
from pygame import Surface
from pygame.font import Font
@ -196,6 +198,7 @@ class GUI(Animation):
self.load_configuration()
self.font = Font(None, self.label_size)
self.prompt = Prompt(self)
self.set_temporary_file()
self.set_background()
self.set_success_indicator()
self.set_plot_rect()
@ -209,6 +212,8 @@ class GUI(Animation):
self.subscribe(self.respond_to_mouse_down, MOUSEBUTTONDOWN)
self.subscribe(self.respond_to_key, KEYDOWN)
self.register(self.show_success_indicator, interval=100)
self.register(self.save_temporary_file, interval=10000)
self.play(self.save_temporary_file)
def load_configuration(self):
config = self.get_configuration("interpolator-gui")
@ -220,6 +225,9 @@ class GUI(Animation):
self.marker_color = config["marker-color"]
self.label_precision = config["label-precision"]
def set_temporary_file(self):
self.temporary_file = open(join(gettempdir(), "pgfw-config"), "w")
def set_background(self):
surface = Surface(self.display_surface.get_size())
surface.fill((0, 0, 0))
@ -550,6 +558,12 @@ class GUI(Animation):
self.success_indicator_blink_count += 1
self.success_indicator_active = not self.success_indicator_active
def save_temporary_file(self):
fp = self.temporary_file
fp.seek(0)
fp.truncate()
self.get_configuration().write(fp)
class Marker(Sprite):