From e404c9e5b372a5e96dbe75dd87076ff107e75570 Mon Sep 17 00:00:00 2001 From: Olivier Mangin Date: Tue, 11 Jun 2013 12:23:46 +0200 Subject: [PATCH] Adds tags command to list tags. --- papers/commands/__init__.py | 1 + papers/papers | 3 ++- papers/repo.py | 9 ++++++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/papers/commands/__init__.py b/papers/commands/__init__.py index e772f98..0076b49 100644 --- a/papers/commands/__init__.py +++ b/papers/commands/__init__.py @@ -8,3 +8,4 @@ import open_cmd import edit_cmd import remove_cmd import websearch_cmd +import tags_cmd diff --git a/papers/papers b/papers/papers index 7c692f2..1851170 100755 --- a/papers/papers +++ b/papers/papers @@ -19,7 +19,8 @@ cmds = collections.OrderedDict([ ('edit', commands.edit_cmd), ('remove', commands.remove_cmd), ('open', commands.open_cmd), - ('websearch', commands.websearch_cmd) + ('websearch', commands.websearch_cmd), + ('tags', commands.tags_cmd), ]) config = configs.read_config() diff --git a/papers/repo.py b/papers/repo.py index c7abf88..2d8d635 100644 --- a/papers/repo.py +++ b/papers/repo.py @@ -174,7 +174,8 @@ class Repository(object): def get_document_directory(self): if self.config.has_option(configs.MAIN_SECTION, 'document-directory'): - doc_dir = self.config.get(configs.MAIN_SECTION, 'document-directory') + doc_dir = self.config.get(configs.MAIN_SECTION, + 'document-directory') else: doc_dir = os.path.join(self.papersdir, DOC_DIR) return files.clean_path(doc_dir) @@ -203,6 +204,12 @@ class Repository(object): new_doc_file = os.path.join(doc_path, citekey + ext) shutil.copy(doc_file, new_doc_file) + def get_labels(self): + labels = set() + for p in self.all_papers(): + labels = labels.union(p.metadata.get('labels', [])) + return labels + @classmethod def from_directory(cls, config, papersdir=None): repo = cls(config=config)