Author: haakeyar

If you run pyPenNotes without a .penNotes.strokes_data-file, the pyPenNotes.pen_notes[] list is emptied in pyPenNotes.load(). This gives various unexpected behaviour, including not being able to save the notes you created.


git-svn-id: http://www.neo1973-germany.de/svn@66 46df4e5c-bc4e-4628-a0fc-830ba316316d
main
kriss 16 years ago
parent 512b36e1ac
commit dbf974b473

@ -399,52 +399,54 @@ class pyPenNotes:
data_file_name = os.path.expanduser(DATA_FILE) data_file_name = os.path.expanduser(DATA_FILE)
if not os.path.exists(data_file_name): if os.path.exists(data_file_name):
print "No notebook file found - using an empty one." file_fd = open(data_file_name, 'r')
return try:
for line in file_fd.read().split('\n'):
file_fd = open(data_file_name, 'r') comma_values = line.split(",")
try: if len(comma_values) >= 2: ## at least 1 coord
for line in file_fd.read().split('\n'): fg_color = int(comma_values[0])
comma_values = line.split(",") bg_color = int(comma_values[1])
if len(comma_values) >= 2: ## at least 1 coord self.current_note.bg_color = bg_color
fg_color = int(comma_values[0]) thickness = int(comma_values[2].split(";")[0])
bg_color = int(comma_values[1]) if len(line.split(";")[1].rstrip()) <= 0:
self.current_note.bg_color = bg_color
thickness = int(comma_values[2].split(";")[0])
if len(line.split(";")[1].rstrip()) <= 0:
continue
new_stroke = True
for coord in line.split("; ")[1].split(" "):
coords = coord.split(",")
if len(coords) <= 1:
continue continue
## first point new_stroke = True
if new_stroke: for coord in line.split("; ")[1].split(" "):
self.current_note.append_new_point((int(coords[0]), \ coords = coord.split(",")
int(coords[1])), fg_color, thickness) if len(coords) <= 1:
continue
# self.current_note.strokes_list.append(int(coords[0]), \ ## first point
# int(coords[1]))) if new_stroke:
self.current_note.append_new_point((int(coords[0]), \
self.current_note.append_point_to_stroke((int(coords[0]), \ int(coords[1])), fg_color, thickness)
int(coords[1])))
# self.current_note.strokes_list.append(int(coords[0]), \
new_stroke = False # int(coords[1])))
else:
if len(line) >= 1: self.current_note.append_point_to_stroke((int(coords[0]), \
count += 1 int(coords[1])))
self.current_note = PenNote()
self.pen_notes.append(self.current_note) new_stroke = False
finally: else:
file_fd.close() if len(line) >= 1:
count += 1
self.current_note = PenNote()
self.pen_notes.append(self.current_note)
finally:
file_fd.close()
else:
print "No notebook file found - using an empty one."
count += 1
self.current_note = PenNote()
self.pen_notes.append(self.current_note)
print "count: %s, current: %s" %(count, self.current_note_number) print "count: %s, current: %s" %(count, self.current_note_number)
if count <= self.current_note_number: if count <= self.current_note_number:
print "Sorry there is no note %4.4d left bringing you to note 0001" print "Sorry there is no note %4.4d left bringing you to note 0001" % (count + 1) # Count is zero-indexed, while what is displayed to the user is not
self.current_note_number = 0 self.current_note_number = 0
self.next_note(None) self.next_note(None) # Update the note number box
self.prev_note(None) self.prev_note(None) #
self.current_note = self.pen_notes[self.current_note_number] self.current_note = self.pen_notes[self.current_note_number]
self.redraw() self.redraw()

Loading…
Cancel
Save