diff --git a/papers b/papers index ddf7c8e..af308a9 100755 --- a/papers +++ b/papers @@ -10,6 +10,7 @@ import webbrowser import urllib import ConfigParser import yaml +import subprocess try: import pybtex @@ -145,8 +146,11 @@ def write_bibfile(bib_data, filename): def write_meta(meta_data, filename): filepath = papersdir + os.sep + 'meta' + os.sep + filename + '.meta' - with open(filepath, 'w') as f: - meta_data.write(f) + write_configfile(meta_data, filepath) + +def load_meta(filename): + filepath = papersdir + os.sep + 'meta' + os.sep + filename + '.meta' + return read_configfile(filepath) def check_file(filepath): if not os.path.exists(filepath): @@ -273,7 +277,14 @@ def list_cmd(): tmpf.flush() call(['less', '-XRF', tmpf.name]) - +def open_cmd(number): + papers = read_papers() + filename = papers.get('papers', 'p' + str(number)) + meta_data = load_meta(filename) + filepath = meta_data.get('metadata', 'path') + p = subprocess.Popen(['open', filepath]) + print '{}{}{} opened.{}'.format(cyan, filepath, grey, end) + # argument parsing (old school) cmds = {'init': init_cmd, @@ -281,6 +292,7 @@ cmds = {'init': init_cmd, 'websearch': websearch_cmd, 'add': add_cmd, 'list': list_cmd, + 'open': open_cmd, } error_msg = "{}banana {}banana {}banana{}".format(purple, yellow, cyan, end)