def create(sheet): """ Creates a cheatsheet """ new_sheet_path = os.path.join(sheets.default_path(), sheet) try: subprocess.call([editor(), new_sheet_path]) except OSError: die('Could not launch ' + editor())
def create_or_edit(sheet): """ Creates or edits a cheatsheet """ # if the cheatsheet does not exist if not exists(sheet): create(sheet) # if the cheatsheet exists but not in the default_path, copy it to the # default path before editing elif exists(sheet) and not exists_in_default_path(sheet): copy(path(sheet), os.path.join(sheets.default_path(), sheet)) edit(sheet) # if it exists and is in the default path, then just open it else: edit(sheet)
def exists_in_default_path(sheet): """ Predicate that returns true if the sheet exists in default_path""" default_path_sheet = os.path.join(sheets.default_path(), sheet) return sheet in sheets.get() and os.access(default_path_sheet, os.R_OK)