def __init__(self, parent):
super().__init__(parent)
with open(pkg_resources.resource_filename("headcache", 'preview_style.css')) as file_style:
self.preview_css_str = '<style type="text/css">{}</style>'.format(file_style.read())
# markdown
self.ast_generator = AstBlockParser()
self.markdowner_simple = mistune.Markdown(renderer=IdRenderer())
# stored data
self.data = self.load_data()
self.usage_mode = "browse"
self.initUI()
self.config = self.load_config()
# setup search index
analyzer_typing = StandardAnalyzer() | NgramFilter(minsize=2, maxsize=8)
schema = Schema(
title=TEXT(stored=True, analyzer=analyzer_typing, field_boost=self.config["search_title_weight"]),
content=TEXT(stored=True, analyzer=analyzer_typing, field_boost=self.config["search_text_weight"]),
time=STORED,
path=ID(stored=True),
tags=KEYWORD)
if not os.path.exists("indexdir"):
os.mkdir("indexdir")
self.ix = create_in("indexdir", schema)
# setup GUI
self.old_sizes = self.splitter.sizes()
self.parent().resize(*self.config["window_size"])
if self.data:
self.list1.setCurrentRow(0)
self.list1.setFocus()
self.overlay = Overlay(self)
self.overlay.hide()
self.setObjectName("mainframe")
self.setFocusPolicy(Qt.StrongFocus)
self.fileWatcher = watchdog.observers.Observer()
watcher = FileChangeWatcher()
self.fileWatcher.schedule(watcher, path=os.getcwd(), recursive=False)
watcher.signal_deleted.connect(self.file_deleted)
watcher.signal_modified.connect(self.file_modified)
watcher.signal_added.connect(self.file_added)
self.fileWatcher.start()
评论列表
文章目录