X-Git-Url: http://git.plutz.net/?p=viper;a=blobdiff_plain;f=main.py;fp=main.py;h=33c592b5ba0f29bc72702fcf5c14b7ae3712db96;hp=92511f3d475f3455515a09cdd57546c93a4695a6;hb=db783db5f7aadaaab3d8cb63f099c82cd411c20b;hpb=4ed6691dc76e77a0fdf5f69711e8d2387c058dd6 diff --git a/main.py b/main.py index 92511f3..33c592b 100755 --- a/main.py +++ b/main.py @@ -2,7 +2,7 @@ #encoding: utf-8 #Viper - Video In Python Editing Reptile, a video editor -#Copyright 2009 - 2010 Paul Hänsch +#Copyright 2009 - 2011 Paul Hänsch #This file is part of Viper. @@ -101,27 +101,33 @@ class Main(Tk): call named_save_project() if no project directory is set yet """ - - self.named_save_project() + if self.subgets['timeline'].get_basedir() == None: + self.named_save_project() + else: + savedir = self.subgets['timeline'].get_basedir() + try: os.unlink(savedir + '/description.sqlite') + except: pass + + dbcon = sqlite.connect(savedir + '/description.sqlite') + dbcur = dbcon.cursor() + dbcur.execute('CREATE TABLE chunks (iorder INTEGER PRIMARY KEY, filename TEXT, start REAL, frames INTEGER, played INTEGER, marked BOOLEAN);') + dbcur.execute('CREATE TABLE filters (iorder INTEGER PRIMARY KEY, chunk INTEGER, FOREIGN KEY (chunk) REFERENCES chunks (iorder));') + dbcur.execute('CREATE TABLE filter_lines (iorder INTEGER PRIMARY KEY, line TEXT, filter INTEGER, FOREIGN KEY (filter) REFERENCES filters (iorder));') + for chunk in self.subgets['timeline'].chunks: + chunk.store(dbcur) + + dbcur.close() + dbcon.commit() + dbcon.close() def named_save_project(self): """ Ask for directory to save to (and save project) """ - savedir = tkFileDialog.asksaveasfilename(filetypes = [('Viper Project Directory', '*.vpd')]) os.makedirs(savedir) - dbcon = sqlite.connect(savedir + '/description.sqlite') - dbcur = dbcon.cursor() - dbcur.execute('CREATE TABLE chunks (iorder INTEGER PRIMARY KEY, filename TEXT, start REAL, frames INTEGER, played INTEGER, marked BOOLEAN);') - dbcur.execute('CREATE TABLE filters (iorder INTEGER PRIMARY KEY, chunk INTEGER, FOREIGN KEY (chunk) REFERENCES chunks (iorder));') - dbcur.execute('CREATE TABLE filter_lines (iorder INTEGER PRIMARY KEY, line TEXT, filter INTEGER, FOREIGN KEY (filter) REFERENCES filters (iorder));') - for chunk in self.subgets['timeline'].chunks: - chunk.store(dbcur) - - dbcur.close() - dbcon.commit() - dbcon.close() + self.subgets['timeline'].set_basedir(savedir) + self.save_project() def open_project(self): """ @@ -130,6 +136,7 @@ class Main(Tk): """ opendir = tkFileDialog.askopenfilename(filetypes = [('Project Description', '*/description.sqlite')]) + self.subgets['timeline'].set_basedir(opendir[0:-19]) for chunk in self.subgets['timeline'].chunks: chunk.delete()