Change call for command from "cmds[cmd].command(**vars(args))" to "cmds[cmd].command(args)".

Applied  the corresponding changes to command files.
AMakes it possible to declare and use additional parser inside subparsers.
May be useful for tag command. Will be implemented in texnote plugin.
main
Jonathan Grizou 12 years ago
parent d02155af4e
commit 31cf4de9d3

@ -19,11 +19,18 @@ def parser(subparsers):
return parser
def command(ui, bibfile, docfile, tags, copy):
def command(args):
"""
:param bibfile: bibtex file (in .bib, .bibml or .yaml format.
:param docfile: path (no url yet) to a pdf or ps file
"""
ui = args.ui
bibfile = args.bibfile
docfile = args.docfile
tags = args.tags
copy = args.copy
if copy is None:
copy = config().import_copy
rp = repo.Repository(config())

@ -9,10 +9,14 @@ def parser(subparsers):
return parser
def command(ui, bibfile):
def command(args):
"""
:param bibtex bibtex file (in .bib, .bibml or .yaml format.
:param bibfile bibtex file (in .bib, .bibml or .yaml format.
"""
ui = args.ui
bibfile = args.bibfile
rp = repo.Repository(config())
for p in Paper.many_from_bib(bibfile):
rp.add_paper(p)

@ -16,11 +16,18 @@ def parser(subparsers):
return parser
def command(ui, copy, reference, document):
def command(args):
"""
:param bibfile: bibtex file (in .bib, .bibml or .yaml format.
:param docfile: path (no url yet) to a pdf or ps file
"""
ui = args.ui
copy = args.copy
reference = args.reference
document = args.document
if copy is None:
copy = config().import_copy
rp = repo.Repository(config())

@ -14,7 +14,12 @@ def parser(subparsers):
return parser
def command(ui, meta, reference):
def command(args):
ui = args.ui
meta = args.meta
reference = args.reference
rp = repo.Repository(config())
key = parse_reference(ui, rp, reference)
paper = rp.get_paper(key)

@ -16,10 +16,15 @@ def parser(subparsers):
return parser
def command(ui, bib_format, references):
def command(args):
"""
:param bib_format (in 'bibtex', 'yaml')
"""
ui = args.ui
bib_format = args.bib_format
references = args.references
rp = repo.Repository(config())
papers = [rp.get_paper(c)
for c in parse_references(ui, rp, references)]

@ -15,10 +15,15 @@ def parser(subparsers):
return parser
def command(ui, bibpath, copy):
def command(args):
"""
:param bibpath: path (no url yet) to a bibliography file
"""
ui = args.ui
bibpath = args.bibpath
copy = agrs.copy
if copy is None:
copy = config().import_copy
rp = repo.Repository(config())

@ -18,8 +18,13 @@ def parser(subparsers):
return parser
def command(ui, path, doc_dir):
def command(args):
"""Create a .papers directory"""
ui = args.ui
path = args.path
doc_dir = args.doc_dir
if path is not None:
config().papers_dir = files.clean_path(os.getcwd(), path)
ppd = config().papers_dir

@ -15,7 +15,12 @@ def parser(subparsers):
return parser
def command(ui, citekeys, query):
def command(args):
ui = args.ui
citekeys = args.citekeys
query = args.query
rp = repo.Repository(config())
papers = [(n, p) for n, p in enumerate(rp.all_papers())
if test_paper(query, p)]

@ -16,7 +16,12 @@ def parser(subparsers):
return parser
def command(ui, with_command, reference):
def command(args):
ui = args.ui
with_command = args.with_command
reference = args.reference
rp = repo.Repository(config())
key = parse_reference(ui, rp, reference)
paper = rp.get_paper(key)

@ -14,7 +14,12 @@ def parser(subparsers):
return parser
def command(ui, force, references):
def command(args):
ui = args.ui
force = args.force
references = args.references
rp = repo.Repository(config())
citekeys = parse_references(ui, rp, references)
if force is None:

@ -28,7 +28,7 @@ def parser(subparsers):
'tag.')
parser.add_argument('tags', nargs='?', default = None,
help='If the previous argument was a reference, then '
'then a list of tags separated by commas.')
'then a list of tags separated by a +.')
# TODO find a way to display clear help for multiple command semantics,
# indistinguisable for argparse. (fabien, 201306)
return parser
@ -64,8 +64,14 @@ def _tag_groups(tags):
minus_tags.append(tag[1:])
return set(plus_tags), set(minus_tags)
def command(ui, referenceOrTag, tags):
def command(args):
"""Add, remove and show tags"""
ui = args.ui
referenceOrTag = args.referenceOrTag
tags = args.tags
rp = Repository(config())
if referenceOrTag is None:
@ -94,4 +100,4 @@ def command(ui, referenceOrTag, tags):
papers_list.append((p, n))
ui.print_('\n'.join(helpers.paper_oneliner(p, n)
for p, n in papers_list))
for p, n in papers_list))

@ -10,7 +10,10 @@ def parser(subparsers):
return parser
def command(ui):
def command(args):
ui = args.ui
code_version = __version__
repo_version = int(config().version)

@ -10,8 +10,11 @@ def parser(subparsers):
return parser
def command(ui, search_string):
print search_string
def command(args):
ui = args.ui
search_string = args.search_string
url = ("https://scholar.google.fr/scholar?q=%s&lr="
% (urllib.quote_plus(' '.join(search_string))))
webbrowser.open(url)

@ -52,4 +52,4 @@ def execute(raw_args = sys.argv):
cmd = args.command
del args.command
cmds[cmd].command(**vars(args))
cmds[cmd].command(args)

@ -29,7 +29,14 @@ class TexnotePlugin(PapersPlugin):
parser.add_argument('-v', '--view', action='store_true', help='open the paper in a pdf viewer', default=None)
return parser
def command(self, ui, texcmd, reference, view):
def command(self, args):
ui = args.ui
texcmd = args.texcmd
reference = args.reference
view = args.view
if view is not None:
subprocess.Popen(['papers', 'open', reference])
if texcmd == 'edit':

Loading…
Cancel
Save