123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- import os
- from PyQt5.QtCore import QFileSystemWatcher
- import json
- class Compiler():
- def __init__(self,parent):
- self.parent = parent
- self.initWatching()
- self.compileContents()
- def initWatching(self):
- self.refreshPaths()
- self.fs_watcher = QFileSystemWatcher(self.paths)
- # self.fs_watcher.directoryChanged.connect(self.directory_changed)
- self.fs_watcher.fileChanged.connect(self.onMdFileChanged)
- def onMdFileChanged(self):
- print("onMdFileChanged")
- try:
- self.compileContents()
- except Exception as e:
- print("Error compiling MD files", e)
- pass
- def refreshPaths(self):
- jsonfilepath = os.path.join(self.parent.cwd,'.config/summary.json')
- sum_json = open(jsonfilepath).read()
- self.sum = json.loads(sum_json)
- self.paths = [os.path.join(self.parent.cwd,'contents')]
- for item in self.sum:
- self.paths.append(os.path.join(self.parent.cwd,'contents',item['file']))
- def reload(self):
- self.fs_watcher.removePaths(self.paths)
- self.refreshPaths()
- self.fs_watcher.addPaths(self.paths)
- self.compileContents()
- def compileContents(self):
- print('Compiling md')
|