~kevang/mnemosyne-proj/grade-shortcuts-improvements

« back to all changes in this revision

Viewing changes to mnemosyne/mnemosyne/libmnemosyne/databases/SQLite_logging.py

  • Committer: Peter.Bienstman at UGent
  • Date: 2015-01-08 20:12:14 UTC
  • Revision ID: peter.bienstman@ugent.be-20150108201214-f8g8wnw49byhp6g1
Merge code.

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
 
5
5
import os
6
6
import time
 
7
import string
7
8
 
8
9
from openSM2sync.log_entry import EventTypes
 
10
from mnemosyne.libmnemosyne.translator import _
9
11
 
10
12
HOUR = 60 * 60 # Seconds in an hour.
11
13
DAY = 24 * HOUR # Seconds in a day.
346
348
        
347
349
        w = self.main_widget()
348
350
        w.set_progress_text(_("Merging logs..."))
349
 
        self.con.executescript("""
 
351
        script = string.Template("""
 
352
            begin;
 
353
            delete from log where _id>$_id;
 
354
            end;
 
355
            vacuum;
 
356
            attach "$filename" as to_merge;
350
357
            begin; 
351
 
            delete from log where _id>?", 
352
 
            attach ? as to_merge;
353
 
            insert into log select * from to_merge.log; 
 
358
            insert into log(event_type, timestamp, object_id, grade,
 
359
                easiness, acq_reps, ret_reps, lapses, acq_reps_since_lapse,
 
360
                ret_reps_since_lapse, scheduled_interval, actual_interval,
 
361
                thinking_time, next_rep, scheduler_data)
 
362
                select event_type, timestamp, object_id, grade, easiness, 
 
363
                acq_reps, ret_reps, lapses, acq_reps_since_lapse,
 
364
                ret_reps_since_lapse, scheduled_interval, actual_interval,
 
365
                thinking_time, next_rep, scheduler_data from to_merge.log; 
354
366
            commit; 
355
 
        """, (insertion_log_index, filename))  
 
367
        """).substitute(_id=insertion_log_index, filename=filename)
 
368
        self.con.executescript(script) 
356
369
        w.close_progress()