def save_favorite(self, directory, name, title=None, page = None): self.logger.info(__name__, 'save_favorite', directory, name) if not title == None: git.cd(directory + '/favorites/' + name) favorite = open('title', 'w+') favorite.write(title) favorite.close() git.add() output, errors = git.commit("updated " + name + " with new title " + title) if not errors == "": self.logger.error(__name__, 'save_favorite', directory, title, errors) return False return True elif not page == None: git.cd(directory + '/favorites/' + name) favorite = open('page', 'w+') favorite.write(page.serialize()) favorite.close() favorite = open('type', 'w+') favorite.write(page.get_type()) favorite.close() git.add() output, errors = git.commit("updated " + name + " with new page " + page.description()) if not errors == "": self.logger.error(__name__, 'save_favorite', directory, page, errors) return False return True
def add_favorite(self, directory, name, title, existing=''): self.logger.info(__name__, 'add_favorite', directory, title) git.cd(directory) git.makedir(directory + '/favorites/' + existing + name) favorite = open(directory + '/favorites/' + existing + name + '/title', 'w+') favorite.write(title) favorite.close() git.add() git.commit('added new favorite ' + name + ' with title ' + title)
def sync(self, directory): self.logger.info(__name__, 'sync', directory) git.cd(directory) if git.changesExist(): self.logger.warn(__name__, 'sync', 'changes detected, syncing') git.add(' -u') git.add() git.commit('committing repository state before loading favorites') return True self.logger.info(__name__, 'sync', 'no changes detected') return False
def rollback(self, directory, commit = None): git.cd(directory) git.rollback(commit)
def delete_node(self, directory, fullName): self.logger.warn(__name__, 'delete_node', directory, fullName, ' (destructive)') git.cd(directory + '/favorites') git.rm(fullName) git.add(' -u') git.commit('deleted ' + fullName)
def get_commits(self, directory): self.logger.info(__name__, 'get_commits', directory) git.cd(directory) return git.get_commits().split('\n')