diff --git a/aqt/addons.py b/aqt/addons.py index 96e7e3d00..eb121b2d7 100644 --- a/aqt/addons.py +++ b/aqt/addons.py @@ -37,7 +37,9 @@ class AddonManager(object): def directories(self): return [d for d in os.listdir(self.addonsFolder()) - if not d.startswith('.') and os.path.isdir(os.path.join(self.addonsFolder(), d))] + if not d.startswith('.') and + not d == "__pycache__" and + os.path.isdir(os.path.join(self.addonsFolder(), d))] def loadAddons(self): for file in self.files(): @@ -67,11 +69,10 @@ class AddonManager(object): m = self.mw.form.menuPlugins.addMenu( os.path.splitext(file)[0]) self._menus.append(m) - a = QAction(_("Edit..."), self.mw, triggered=self.onEdit) p = os.path.join(self.addonsFolder(), file) - + a = QAction(_("Edit..."), self.mw, triggered=lambda x, y=p: self.onEdit(y)) m.addAction(a) - a = QAction(_("Delete..."), self.mw, triggered=self.onRem) + a = QAction(_("Delete..."), self.mw, triggered=lambda x, y=p: self.onRem(y)) m.addAction(a) def onEdit(self, path): @@ -84,7 +85,7 @@ class AddonManager(object): d.exec_() def onAcceptEdit(self, path, frm): - open(path, "w").write(frm.text.toPlainText().encode("utf8")) + open(path, "wb").write(frm.text.toPlainText().encode("utf8")) showInfo(_("Edits saved. Please restart Anki.")) def onRem(self, path):