本文整理汇总了Python中qtodotxt.lib.file.File.load方法的典型用法代码示例。如果您正苦于以下问题:Python File.load方法的具体用法?Python File.load怎么用?Python File.load使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qtodotxt.lib.file.File
的用法示例。
在下文中一共展示了File.load方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: MainController
# 需要导入模块: from qtodotxt.lib.file import File [as 别名]
# 或者: from qtodotxt.lib.file.File import load [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 load [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 load [as 别名]
#.........这里部分代码省略.........
closeEvent.ignore()
def _setIsModified(self, is_modified):
self._is_modified = is_modified
self._updateTitle()
self._menu_controller.saveAction.setEnabled(is_modified)
self._menu_controller.revertAction.setEnabled(is_modified)
def save(self):
logger.debug('MainController.save called.')
self._fileObserver.clear()
filename = self._file.filename
ok = True
if not filename:
(filename, ok) = \
QtWidgets.QFileDialog.getSaveFileName(self.view, filter=FILENAME_FILTERS)
if ok and filename:
self._file.save(filename)
self._settings.setValue("last_open_file", filename)
self._settings.sync()
self._setIsModified(False)
logger.debug('Adding {} to watchlist'.format(filename))
self._fileObserver.addPath(self._file.filename)
def _updateTitle(self):
title = 'QTodoTxt - '
if self._file.filename:
filename = os.path.basename(self._file.filename)
title += filename
else:
title += 'Untitled'
if self._is_modified:
title += ' (*)'
self.view.setWindowTitle(title)
def open(self):
(filename, ok) = \
QtWidgets.QFileDialog.getOpenFileName(self.view, filter=FILENAME_FILTERS)
if ok and filename:
try:
self.openFileByName(filename)
except ErrorLoadingFile as ex:
self._dialogs.showError(str(ex))
def new(self):
if self._canExit():
self._file = File()
self._loadFileToUI()
def revert(self):
if self._dialogs.showConfirm('Revert to saved file (and lose unsaved changes)?'):
try:
self.openFileByName(self._file.filename)
except ErrorLoadingFile as ex:
self._dialogs.showError(str(ex))
def openFileByName(self, filename):
logger.debug('MainController.openFileByName called with filename="{}"'.format(filename))
self._fileObserver.clear()
self._file.load(filename)
self._loadFileToUI()
self._settings.setValue("last_open_file", filename)
self._settings.sync()
logger.debug('Adding {} to watchlist'.format(filename))
self._fileObserver.addPath(self._file.filename)
def _loadFileToUI(self):
self._setIsModified(False)
self._filters_tree_controller.showFilters(self._file, self._show_completed)
self._task_editor_service.updateValues(self._file)
def _updateView(self):
self.view.restoreGeometry(self._settings.value("main_window_geometry", b""))
self.view.restoreState(self._settings.value("main_window_state", b""))
splitterPosition = self._settings.value("splitter_pos", (200, 400))
splitterPosition = [int(x) for x in splitterPosition]
self.view.centralWidget().setSizes(splitterPosition)
self._restoreShowCompleted()
self._restoreFilterView()
self._restoreShowFuture()
def _restoreShowCompleted(self):
val = int(self._settings.value("show_completed_tasks", 1))
if val:
self._show_completed = True
self.showCompletedAction.setChecked(True)
else:
self._show_completed = False
self.showCompletedAction.setChecked(False)
def updateFilters(self):
self._onFilterSelectionChanged(self._filters_tree_controller.view.getSelectedFilters())
def toggleVisible(self):
if self.view.isMinimized():
self.view.showNormal()
self.view.activateWindow()
else:
self.view.showMinimized()
示例4: TestFile
# 需要导入模块: from qtodotxt.lib.file import File [as 别名]
# 或者: from qtodotxt.lib.file.File import load [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 load [as 别名]
#.........这里部分代码省略.........
QtWidgets.QFileDialog.getSaveFileName(self.view, filter=FILENAME_FILTERS)
if ok and filename:
self._file.save(filename)
self._settings.setValue("last_open_file", filename)
self._settings.sync()
self._setIsModified(False)
logger.debug('Adding {} to watchlist'.format(filename))
self._fileObserver.addPath(self._file.filename)
def _updateTitle(self):
title = 'QTodoTxt - '
if self._file.filename:
filename = os.path.basename(self._file.filename)
title += filename
else:
title += 'Untitled'
if self._is_modified:
title += ' (*)'
self.view.setWindowTitle(title)
def open(self):
(filename, ok) = \
QtWidgets.QFileDialog.getOpenFileName(self.view, filter=FILENAME_FILTERS)
if ok and filename:
try:
self.openFileByName(filename)
except ErrorLoadingFile as ex:
self._dialogs.showError(str(ex))
def new(self):
if self._canExit():
self._file = File()
self._loadFileToUI()
def revert(self):
if self._dialogs.showConfirm(self.tr('Revert to saved file (and lose unsaved changes)?')):
try:
self.openFileByName(self._file.filename)
except ErrorLoadingFile as ex:
self._dialogs.showError(str(ex))
def openFileByName(self, filename):
logger.debug('MainController.openFileByName called with filename="{}"'.format(filename))
self._fileObserver.clear()
try:
self._file.load(filename)
except Exception as ex:
currentfile = self._settings.value("last_open_file", "")
if currentfile == filename:
self._dialogs.showError(self.tr("Current file '{}' is not available.\nException: {}").
format(filename, ex))
else:
self._dialogs.showError(self.tr("Error opening file: {}.\n Exception:{}").format(filename, ex))
return
self._loadFileToUI()
self._settings.setValue("last_open_file", filename)
self._settings.sync()
logger.debug('Adding {} to watchlist'.format(filename))
self._fileObserver.addPath(self._file.filename)
self.updateRecentFile()
def updateRecentFile(self):
lastOpenedArray = self._menu_controller.getRecentFileNames()
if self._file.filename in lastOpenedArray:
lastOpenedArray.remove(self._file.filename)