本文整理汇总了Python中qtodotxt.lib.file.File.save方法的典型用法代码示例。如果您正苦于以下问题:Python File.save方法的具体用法?Python File.save怎么用?Python File.save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qtodotxt.lib.file.File
的用法示例。
在下文中一共展示了File.save方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: MainController
# 需要导入模块: from qtodotxt.lib.file import File [as 别名]
# 或者: from qtodotxt.lib.file.File import save [as 别名]
class MainController(QtCore.QObject):
def __init__(self, view, dialogs_service, task_editor_service, args):
super(MainController, self).__init__()
self._args = args
self._view = view
self._dialogs_service = dialogs_service
self._task_editor_service = task_editor_service
self._initControllers()
self._file = File()
self._fileObserver = FileObserver(self, self._file)
self._is_modified = False
self._settings = settings.Settings()
self._setIsModified(False)
self._view.closeEventSignal.connect(self._view_onCloseEvent)
def autoSave(self):
if self._settings.getAutoSave():
self.save()
def _initControllers(self):
self._initFiltersTree()
self._initTasksList()
self._initMenuBar()
self._initFilterText()
def _initMenuBar(self):
menu = self._view.menuBar()
self._menu_controller = MenuController(self, menu)
def exit(self):
self._view.close()
sys.exit()
def getView(self):
return self._view
def show(self):
self._view.show()
self._updateTitle()
self._settings.load()
self._updateCreatePref()
self._updateAutoSavePref()
self._updateAutoArchivePref()
self._updateHideFutureTasksPref()
self._updateView()
if self._args.file:
filename = self._args.file[0]
else:
filename = self._settings.getLastOpenFile()
if filename:
try:
self.openFileByName(filename)
except ErrorLoadingFile as ex:
self._dialogs_service.showError(str(ex))
if self._args.quickadd:
self._tasks_list_controller.createTask()
self.save()
self.exit()
def _initFiltersTree(self):
controller = self._filters_tree_controller = \
FiltersTreeController(self._view.filters_tree_view)
controller.filterSelectionChanged.connect(
self._onFilterSelectionChanged)
def _onFilterSelectionChanged(self, filters):
# First we filter with filters tree
treeTasks = todolib.filterTasks(filters, self._file.tasks)
# Then with our filter text
filterText = self._view.tasks_view.filter_tasks.getText()
tasks = todolib.filterTasks([SimpleTextFilter(filterText)], treeTasks)
# And finally with future filter if needed
# TODO: refactor all that filters
if self._settings.getHideFutureTasks():
tasks = todolib.filterTasks([FutureFilter()], tasks)
self._tasks_list_controller.showTasks(tasks)
def _initFilterText(self):
self._view.tasks_view.filter_tasks.filterTextChanged.connect(
self._onFilterTextChanged)
def _onFilterTextChanged(self, text):
# First we filter with filters tree
filters = self._filters_tree_controller._view.getSelectedFilters()
treeTasks = todolib.filterTasks(filters, self._file.tasks)
# Then with our filter text
tasks = todolib.filterTasks([SimpleTextFilter(text)], treeTasks)
# And finally with future filter if needed
# TODO: refactor all that filters
if self._settings.getHideFutureTasks():
tasks = todolib.filterTasks([FutureFilter()], tasks)
self._tasks_list_controller.showTasks(tasks)
def _initTasksList(self):
controller = self._tasks_list_controller = \
TasksListController(self._view.tasks_view.tasks_list_view, self._task_editor_service)
#.........这里部分代码省略.........
示例2: TestFile
# 需要导入模块: from qtodotxt.lib.file import File [as 别名]
# 或者: from qtodotxt.lib.file.File import save [as 别名]
class TestFile(unittest.TestCase):
def setUp(self):
self.file = File()
self.tmpfile = mkstemp(text=True)[1]
def tearDown(self):
try:
remove(self.tmpfile)
except FileNotFoundError:
pass
except OSError as ex: # maintain compatibility with Python 3.2
if ex.errno != 2:
raise
except:
raise
def saveAndReaload(self):
self.file.save(self.tmpfile)
self.file = File()
self.file.load(self.tmpfile)
def test_single_task(self):
text = 'do something +project1 @context1'
self.file.tasks.append(Task(text))
self.saveAndReaload()
self.assertEqual(self.file.tasks[0].text, text)
self.assertEqual(self.file.tasks[0].contexts, ['context1'])
self.assertEqual(self.file.tasks[0].projects, ['project1'])
self.assertEqual(self.file.tasks[0].is_complete, False)
self.assertEqual(self.file.tasks[0].priority, None)
def test_two_tasks(self):
task1 = 'do something +project1 @context1'
task2 = '(A) do something else +project1 @context2'
self.file.tasks.extend([
Task(task1),
Task(task2)
])
self.saveAndReaload()
self.assertEqual(self.file.tasks[0].text, task2)
self.assertEqual(self.file.tasks[1].text, task1)
def test_five_tasks(self):
task1 = Task('do something +project1 @context1')
task2 = Task('(A) do something else +project1 @context2')
task3 = Task('do something else +project1 @context2')
task4 = Task('something else +project1 @context2')
task5 = Task('abc +project1 @context2')
self.file.tasks.extend([task1, task2, task3, task4, task5])
self.saveAndReaload()
self.assertEqual(self.file.tasks[0].text, task2.text)
self.assertEqual(self.file.tasks[1].text, task5.text)
self.assertEqual(self.file.tasks[2].text, task1.text)
self.assertEqual(self.file.tasks[3].text, task3.text)
self.assertEqual(self.file.tasks[4].text, task4.text)
def test_get_all_contexts(self):
self.file.tasks.extend([
Task('x task with @context1'),
Task('task with @context2'),
Task('task with @context1 and @context2'),
Task('task with @context1 and @context2 and @context3')
])
self.saveAndReaload()
self.assertEqual(self.file.getAllContexts(), {'context1': 2, 'context2': 3, 'context3': 1})
def test_get_all_completed_contexts(self):
self.file.tasks.extend([
Task('x task with @context1'),
Task('task with @context2'),
Task('task with @context1 and @context2'),
Task('x task with @context1 and @context2 and @context3')
])
self.saveAndReaload()
self.assertEqual(self.file.getAllCompletedContexts(), {'context1': 2, 'context2': 1, 'context3': 1})
def test_get_all_projects(self):
self.file.tasks.extend([
Task('x task with +project1'),
Task('task with +project2'),
Task('task with +project1 and +project2'),
Task('task with +project1 and +project2 and +project3')
])
self.saveAndReaload()
self.assertEqual(self.file.getAllProjects(), {'project1': 2, 'project2': 3, 'project3': 1})
def test_get_all_completed_projects(self):
self.file.tasks.extend([
Task('x task with +project1'),
Task('task with +project2'),
Task('task with +project1 and +project2'),
Task('x task with +project1 and +project2 and +project3')
])
self.saveAndReaload()
self.assertEqual(self.file.getAllCompletedProjects(), {'project1': 2, 'project2': 1, 'project3': 1})
def test_load_empty_filename(self):
self.assertRaises(ErrorLoadingFile, self.file.load, '')
def test_load_nonexisting_file(self):
#.........这里部分代码省略.........
示例3: MainController
# 需要导入模块: from qtodotxt.lib.file import File [as 别名]
# 或者: from qtodotxt.lib.file.File import save [as 别名]
class MainController(QtCore.QObject):
def __init__(self, view, dialogs, task_editor_service, args):
super(MainController, self).__init__()
self._args = args
self.view = view
# use object variable for setting only used in this class
# others are accessed through QSettings
self._settings = QtCore.QSettings()
# self._show_toolbar = int(self._settings.value("show_toolbar", 1))
# fix migration issue from old settings
show_toolbar = self._settings.value("show_toolbar", 1)
if show_toolbar in ("true", "false"):
show_toolbar = 1
self._show_toolbar = int(show_toolbar)
self._show_completed = True
self._dialogs = dialogs
self._task_editor_service = task_editor_service
self._initControllers()
self._file = File()
self._fileObserver = FileObserver(self, self._file)
self._is_modified = False
self._setIsModified(False)
self.view.closeEventSignal.connect(self.view_onCloseEvent)
filters = self._settings.value("current_filters", ["All"])
self._filters_tree_controller.view.setSelectedFiltersByNames(filters)
def auto_save(self):
if int(self._settings.value("auto_save", 1)):
self.save()
def _initControllers(self):
self._initFiltersTree()
self._initTasksList()
self._initMenuBar()
self._initActions()
self._initToolBar()
self._initSearchText()
def _initMenuBar(self):
menu = self.view.menuBar()
self._menu_controller = MenuController(self, menu)
def _initActions(self):
self.filterViewAction = QtWidgets.QAction(getIcon('sidepane.png'), '&Show Filters', self)
self.filterViewAction.setCheckable(True)
# action.setShortcuts(['Ctrl+E']) # what should it be?
self.filterViewAction.triggered.connect(self._toggleFilterView)
self.showFutureAction = QtWidgets.QAction(getIcon('future.png'), '&Show Future Tasks', self)
self.showFutureAction.setCheckable(True)
# action.setShortcuts(['Ctrl+E']) # what should it be?
self.showFutureAction.triggered.connect(self._toggleShowFuture)
self.showCompletedAction = QtWidgets.QAction(getIcon('show_completed.png'), '&Show Completed Tasks', self)
self.showCompletedAction.setCheckable(True)
# action.setShortcuts(['Ctrl+E']) # what should it be?
self.showCompletedAction.triggered.connect(self._toggleShowCompleted)
self.archiveAction = QtWidgets.QAction(getIcon('archive.png'), '&Archive Completed Tasks', self)
# action.setShortcuts(['Ctrl+E']) # what should it be?
self.archiveAction.triggered.connect(self._archive_all_done_tasks)
def _initToolBar(self):
toolbar = self.view.addToolBar("Main Toolbar")
toolbar.setObjectName("mainToolbar")
toolbar.addAction(self.filterViewAction)
toolbar.addAction(self.showFutureAction)
toolbar.addAction(self.showCompletedAction)
toolbar.addSeparator()
toolbar.addAction(self._menu_controller.openAction)
toolbar.addAction(self._menu_controller.saveAction)
toolbar.addSeparator()
toolbar.addAction(self._tasks_list_controller.createTaskAction)
toolbar.addAction(self._tasks_list_controller.editTaskAction)
toolbar.addSeparator()
toolbar.addAction(self._tasks_list_controller.completeSelectedTasksAction)
toolbar.addAction(self._tasks_list_controller.deleteSelectedTasksAction)
toolbar.addSeparator()
toolbar.addAction(self._tasks_list_controller.increasePrioritySelectedTasksAction)
toolbar.addAction(self._tasks_list_controller.decreasePrioritySelectedTasksAction)
toolbar.addSeparator()
toolbar.addAction(self.archiveAction)
toolbar.visibilityChanged.connect(self._toolbar_visibility_changed)
if not self._show_toolbar:
toolbar.hide()
def _toggleShowCompleted(self):
if self.showCompletedAction.isChecked():
self._settings.setValue("show_completed_tasks", 1)
self._show_completed = True
self.updateFilters()
else:
self._settings.setValue("show_completed_tasks", 0)
self._show_completed = False
self.updateFilters()
self._filters_tree_controller.showFilters(self._file, self._show_completed)
#.........这里部分代码省略.........
示例4: TestFile
# 需要导入模块: from qtodotxt.lib.file import File [as 别名]
# 或者: from qtodotxt.lib.file.File import save [as 别名]
class TestFile(unittest.TestCase):
def setUp(self):
self.file = File()
self.tmpfile = mkstemp(text=True)[1]
def tearDown(self):
try:
remove(self.tmpfile)
except FileNotFoundError:
pass
except OSError as ex: # maintain compatibility with Python 3.2
if ex.errno != 2:
raise
except:
raise
def saveAndReload(self):
self.file.save(self.tmpfile)
self.file = File()
self.file.load(self.tmpfile)
def test_single_task(self):
text = 'due:1999-10-10 do something +project1 @context1'
self.file.tasks.append(Task(text))
self.saveAndReload()
self.assertEqual(self.file.tasks[0].text, text)
self.assertEqual(self.file.tasks[0].contexts, ['context1'])
self.assertEqual(self.file.tasks[0].projects, ['project1'])
self.assertEqual(self.file.tasks[0].is_complete, False)
self.assertEqual(self.file.tasks[0].priority, None)
self.assertEqual(self.file.tasks[0].due, '1999-10-10')
def test_two_tasks(self):
task1 = 'do something +project1 @context1'
task2 = '(A) do something else +project1 @context2'
self.file.tasks.extend([
Task(task1),
Task(task2)
])
self.saveAndReload()
self.assertEqual(self.file.tasks[0].text, task2)
self.assertEqual(self.file.tasks[1].text, task1)
def test_five_tasks(self):
task1 = Task('do something +project1 @context1')
task2 = Task('(A) do something else +project1 @context2')
task3 = Task('do something else +project1 @context2')
task4 = Task('something else +project1 @context2')
task5 = Task('abc +project1 @context2')
self.file.tasks.extend([task1, task2, task3, task4, task5])
self.saveAndReload()
self.assertEqual(self.file.tasks[0].text, task2.text)
self.assertEqual(self.file.tasks[1].text, task5.text)
self.assertEqual(self.file.tasks[2].text, task1.text)
self.assertEqual(self.file.tasks[3].text, task3.text)
self.assertEqual(self.file.tasks[4].text, task4.text)
def test_get_all_contexts(self):
self.file.tasks.extend([
Task('x task with @context1'),
Task('task with @context2'),
Task('task with @context1 and @context2'),
Task('task with @context1 and @context2 and @context3')
])
self.saveAndReload()
self.assertEqual(self.file.getAllContexts(), {'context1': 2, 'context2': 3, 'context3': 1})
def test_get_all_completed_contexts(self):
self.file.tasks.extend([
Task('x task with @context1'),
Task('task with @context2'),
Task('task with @context1 and @context2'),
Task('x task with @context1 and @context2 and @context3')
])
self.saveAndReload()
self.assertEqual(self.file.getAllCompletedContexts(), {'context1': 2, 'context2': 1, 'context3': 1})
def test_get_all_projects(self):
self.file.tasks.extend([
Task('x task with +project1'),
Task('task with +project2'),
Task('task with +project1 and +project2'),
Task('task with +project1 and +project2 and +project3')
])
self.saveAndReload()
self.assertEqual(self.file.getAllProjects(), {'project1': 2, 'project2': 3, 'project3': 1})
def test_get_all_due_ranges(self):
today = date.today().strftime('%Y-%m-%d')
yesterday = (date.today() - timedelta(days=1)).strftime('%Y-%m-%d')
self.file.tasks.extend([
Task('x due:' + today + ' completed task of today'),
Task('due:' + today + ' first task of today'),
Task('due:' + today + ' second task of today'),
Task('due:' + yesterday + ' task of yesterday'),
])
self.saveAndReload()
self.assertEqual(self.file.getAllDueRanges()[0], {'Today': 2, 'This week': 2, 'This month': 2, 'Overdue': 1})
self.assertIsInstance(self.file.getAllDueRanges()[1], dict)
#.........这里部分代码省略.........
示例5: MainController
# 需要导入模块: from qtodotxt.lib.file import File [as 别名]
# 或者: from qtodotxt.lib.file.File import save [as 别名]
class MainController(QtCore.QObject):
_show_toolbar = QtCore.pyqtSignal(int)
def __init__(self, view, dialogs, args):
super(MainController, self).__init__()
self._args = args
self.view = view
# use object variable for setting only used in this class
# others are accessed through QSettings
self._settings = QtCore.QSettings()
self._show_completed = True
self._dialogs = dialogs
self._file = File()
self._fileObserver = FileObserver(self, self._file)
self._initControllers()
self._is_modified = False
self._setIsModified(False)
self._fileObserver.fileChangetSig.connect(self.openFileByName)
self.view.closeEventSignal.connect(self.view_onCloseEvent)
filters = self._settings.value("current_filters", ["All"])
self._filters_tree_controller.view.setSelectedFiltersByNames(filters)
self.hasTrayIcon = False
self._menu_controller.updateRecentFileActions()
def auto_save(self):
if int(self._settings.value("auto_save", 1)):
self.save()
def _initControllers(self):
self._initFiltersTree()
self._initTasksList()
self._initContextualMenu()
self._initActions()
self._initMenuBar()
self._initToolBar()
self._initSearchText()
def _initMenuBar(self):
menu = self.view.menuBar()
self._menu_controller = MenuController(self, menu)
def _initActions(self):
self.filterViewAction = QtWidgets.QAction(QtGui.QIcon(self.view.style + '/resources/sidepane.png'),
self.tr('Show &Filters'), self)
self.filterViewAction.setCheckable(True)
self.filterViewAction.setShortcuts(['Ctrl+Shift+F'])
self.filterViewAction.triggered.connect(self._toggleFilterView)
self.showFutureAction = QtWidgets.QAction(QtGui.QIcon(self.view.style + '/resources/future.png'),
self.tr('Show future &Tasks'), self)
self.showFutureAction.setCheckable(True)
self.showFutureAction.setShortcuts(['Ctrl+Shift+T'])
self.showFutureAction.triggered.connect(self._toggleShowFuture)
self.showCompletedAction = QtWidgets.QAction(QtGui.QIcon(self.view.style + '/resources/show_completed.png'),
self.tr('Show &Completed tasks'), self)
self.showCompletedAction.setCheckable(True)
self.showCompletedAction.setShortcuts(['Ctrl+Shift+C'])
self.showCompletedAction.triggered.connect(self._toggleShowCompleted)
self.archiveAction = QtWidgets.QAction(QtGui.QIcon(self.view.style + '/resources/archive.png'),
self.tr('&Archive completed tasks'), self)
self.archiveAction.setShortcuts(['Ctrl+Shift+A'])
self.archiveAction.triggered.connect(self._archive_all_done_tasks)
self.showToolBarAction = QtWidgets.QAction(self.tr('Show tool&Bar'), self)
self.showToolBarAction.setCheckable(True)
self.showToolBarAction.setShortcuts(['Ctrl+Shift+B'])
self.showToolBarAction.triggered.connect(self._toggleShowToolBar)
self.showSearchAction = QtWidgets.QAction(QtGui.QIcon(self.view.style + '/resources/ActionSearch.png'),
self.tr('Show search bar'), self)
self.showSearchAction.setCheckable(True)
self.showSearchAction.setShortcuts(['Ctrl+F'])
self.showSearchAction.triggered.connect(self._toggleShowSearch)
def _initToolBar(self):
toolbar = self.view.addToolBar("Main Toolbar")
toolbar.setObjectName("mainToolbar")
toolbar.addAction(self.filterViewAction)
toolbar.addAction(self.showFutureAction)
toolbar.addAction(self.showCompletedAction)
toolbar.addAction(self.showSearchAction)
toolbar.addSeparator()
toolbar.addAction(self._menu_controller.openAction)
toolbar.addAction(self._menu_controller.saveAction)
toolbar.addSeparator()
toolbar.addAction(self._tasks_list_controller.createTaskAction)
toolbar.addAction(self._tasks_list_controller.createTaskActionOnTemplate)
toolbar.addAction(self._tasks_list_controller.editTaskAction)
toolbar.addAction(self._tasks_list_controller.copySelectedTasksAction)
toolbar.addSeparator()
toolbar.addAction(self._tasks_list_controller.completeSelectedTasksAction)
if int(self._settings.value("show_delete", 0)):
#.........这里部分代码省略.........