def getTargetFilePath(file_name): file_path = Tools.strJoin(p, file_name, ext) if os.path.isfile(file_path): new_file_name = Tools.strJoin( file_name, ' ', MyNotes.Search.getTodayDate("%d.%m.%Y %H.%M")) file_path = Tools.strJoin(p, new_file_name, ext) return file_path
def getTargetFilePath(file_name): file_path = Tools.strJoin(p, file_name, ext) if os.path.isfile(file_path): new_file_name = Tools.strJoin( file_name, ' ', MyNotes.Search.getTodayDate(getDefaultDate())) file_path = Tools.strJoin(p, new_file_name, ext) return file_path
def getTemplate(): # Get template path from previous wf step template = Tools.getEnv('template_path') notes_path = md.getNotesPath() default_template = getDefaultTemplate() return Tools.strJoin(notes_path, default_template) if template == str() else template
def getTargetFilePath(self, file_name): """ construct markdown file path Returns: str: markdown file path """ file_name = file_name.rstrip().lstrip() file_path = Tools.strJoin(self.path, file_name, self.extension) if os.path.isfile(file_path): new_file_name = Tools.strJoin( file_name, ' ', self.getTodayDate('%d-%m-%Y %H-%M-%S')) file_path = Tools.strJoin(self.path, new_file_name, self.extension) return file_path
def getUrlScheme(f): """ Gets the URL Scheme setup in Alfred Preferences Args: f(str): md file to add at the end of url scheme Returns: str: URL scheme """ url_scheme = Tools.getEnv('url_scheme') return Tools.strJoin(url_scheme, urllib.pathname2url(f))
def getTemplate(self, template_path): """ Get template path from previous wf step, reads env variable Returns: str: path to template.md """ notes_path = self.path default_template = self.getDefaultTemplate() return Tools.strJoin( notes_path, default_template) if template_path == str() else template_path
def getTargetFilePath(self, file_name): """ construct markdown file path Returns: str: markdown file path """ file_name = file_name.rstrip().lstrip() # TODO: Delete # file_path = Tools.strJoin(self.path, file_name, self.extension) file_path = os.path.join(self.path, "{0}{1}".format(file_name, self.extension)) if os.path.isfile(file_path): new_file_name = Tools.strJoin( file_name, ' ', self.getTodayDate('%d-%m-%Y %H-%M-%S')) # TODO: Delete # file_path = Tools.strJoin(self.path, new_file_name, self.extension) file_path = os.path.join( self.path, "{0}{1}".format(new_file_name, self.extension)) return file_path
for query in files_to_delete: file_path, last_query = getFileQuery(query) if os.path.isfile(file_path) and file_path.endswith(ext): file_name = os.path.basename(file_path) # Search for links to other assets and delete each file parent = mn.getNotesPath() assetfile_links = getAssetsLinks(parent, file_path) is_assetfile_deleted = False for l in assetfile_links: # Avoid Markdown file removal if not (l.endswith(ext)): is_assetfile_deleted = rmFile(l) # Delete Assets Folder remove_ext = len(ext) assets_path = Tools.strJoin(file_path[:-remove_ext], ".assets") assets_path_legacy = Tools.strJoin(file_path[:-remove_ext]) is_asset_deleted = rmDir(assets_path) or rmDir( assets_path_legacy) or is_assetfile_deleted # Finally delete the MD File is_file_deleted = rmFile(file_path) # Create Notification Message if len(files_to_delete) == 1: return_text = '- MD Note DELETED' if is_file_deleted else "Cannot delete file: {0}".format( file_name) return_text += '\n- Assets DELETED' if is_asset_deleted else str() if len(files_to_delete) > 1: return_text = "{0} Notes and coresponding Assets deleted".format(
tmp = tmp.replace(i, '-') return tmp.encode('utf-8') def writeMarkdown(md_content, md_path): with open(md_path, "w+") as f: f.write(md_content.encode('utf-8')) mn = MyNotes.Search() ext = mn.getNotesExtension() p = mn.getNotesPath() argv = Tools.getArgv(1) url = argv if argv.startswith( 'http://') or argv.startswith('https://') else str() # TODO: When HTML is not fetchable, the URL will be used. # Fix formatting from <url> to markdown url [title](url) if url: markdown = Markdown(url) today = markdown.getTodayDate(fmt="%d.%m.%Y") today_time = markdown.getTodayDate(fmt="%d-%m-%Y %H-%M") md = markdown.getMarkdownContent() file_name = parseFilename(markdown.getTitle()) if file_name == str(): file_name = Tools.strJoin('WebClip from ', today_time) fPath = mn.strJoin(p, file_name, ext) writeMarkdown(md, fPath) sys.stdout.write(fPath)
# Write search results into WF object for f in search_results_list: c_date = Tools.getDateStr(f['ctime']) m_date = Tools.getDateStr(f['mtime']) # md_path = urllib.pathname2url(f['filename']) md_path = f['filename'].replace(' ', '%20') url_scheme_path = md_search.getUrlScheme(f['path']) wf.setItem(title=f['title'], subtitle="Created: %s, Modified: %s" % (c_date, m_date), type='file', arg=f['path']) # Mod for CTRL - delete a Note wf.addMod(key="ctrl", arg=Tools.strJoin(f['path'], '|', query), subtitle="Delete Note", valid=True, icon_path="icons/delete.png", icon_type="image") wf.addModsToItem() # Mod for CMD - get markdown link to Note wf.addMod(key='cmd', arg='[%s](%s)' % (f['filename'], md_path), subtitle='Copy Markdown Link to Clipboard', valid=True, icon_path='icons/link.png', icon_type='image') wf.addModsToItem() # Mod for ALT - Export to Evernote wf.addMod(key='alt',
def getUrlScheme(f): url_scheme = Tools.getEnv('url_scheme') return Tools.strJoin(url_scheme, urllib.pathname2url(f))
SUFFIX = " (DEFAULT)" # create MD search object my_notes = MyNotes.Search() # Load env variables ext = my_notes.getNotesExtension() p = my_notes.getNotesPath() query = Tools.getArgv(1) default_template = Tools.getEnv('default_template') template_tag = get_template_tag() # Get Files sorted in Notes directory all_files = my_notes.getFilesListSorted() template_files = sorted(all_files, key=lambda x: x['filename'] != default_template) wf = Items() for md_file in template_files: if my_notes.isNoteTagged(md_file['path'], template_tag) and query in md_file['filename']: suffix = str() if md_file['filename'] == default_template: suffix = SUFFIX wf.setItem( title=md_file['filename'] + suffix, subtitle="Create new file based on \"{0}\"".format(md_file['filename']), arg=Tools.strJoin(md_file['path']), type='file' ) wf.addItem() wf.write()