1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import os.path
20
21 from timelinelib.canvas.data.exceptions import TimelineIOError
22 from timelinelib.db import db_open
23 from timelinelib.utils import ex_msg
24 from timelinelib.wxgui.framework import Controller
25
26
28
30 self._db = db
31 self._db_to_import = None
32 self._show_preview()
33
36
38 if not self._db_to_import:
39 return
40 self._db.import_db(self._db_to_import)
41 self.view.Close()
42
44 if self._path_exists():
45 self._handle_valid_path()
46 else:
47 self._handle_invalid_path()
48
50 path = self.view.GetFilePath()
51 return path in [":tutorial:", ":numtutorial:"] or os.path.exists(path)
52
54 self._set_error(_("File does not exist."))
55
57 try:
58 db_to_import = db_open(self.view.GetFilePath())
59 except Exception as e:
60 self._set_error(_("Unable to load events: %s.") % ex_msg(e))
61 else:
62 self._report_nbr_of_events_in_db(db_to_import)
63
65 if self._is_same_timetype(db_to_import):
66 self._set_success(db_to_import, _("%d events will be imported." % len(db_to_import.get_all_events())))
67 else:
68 self._set_error(_("The selected timeline has a different time type."))
69
72
76
80