Moves add_papers fonctionality.
Now: - paper.py provides extraction of many Papers from bib, - command performs the loop to add each paper to repo.
This commit is contained in:
parent
da7fa55d19
commit
47e3ce88e8
@ -1,4 +1,5 @@
|
||||
from .. import repo
|
||||
from ..paper import Paper
|
||||
|
||||
|
||||
def parser(subparsers, config):
|
||||
@ -7,9 +8,11 @@ def parser(subparsers, config):
|
||||
parser.add_argument('bibfile', help='bibtex, bibtexml or bibyaml file')
|
||||
return parser
|
||||
|
||||
|
||||
def command(config, bibfile):
|
||||
"""
|
||||
:param bibtex bibtex file (in .bib, .bibml or .yaml format.
|
||||
"""
|
||||
rp = repo.Repository.from_directory()
|
||||
rp.add_papers(bibfile)
|
||||
for p in Paper.many_from_bib(bibfile):
|
||||
rp.add_paper(p)
|
||||
|
@ -146,3 +146,9 @@ class Paper(object):
|
||||
@classmethod
|
||||
def create_meta(cls):
|
||||
return BASE_META.copy()
|
||||
|
||||
@classmethod
|
||||
def many_from_bib(cls, bibpath):
|
||||
bib_data = files.load_externalbibfile(bibpath)
|
||||
return [Paper(bibentry=bib_data.entries[k], citekey=k)
|
||||
for k in bib_data.entries]
|
||||
|
@ -91,13 +91,6 @@ class Repository(object):
|
||||
paper.save_to_disc(self.path_to_paper_file(paper.citekey, 'bib'),
|
||||
self.path_to_paper_file(paper.citekey, 'meta'))
|
||||
|
||||
def add_papers(self, bibpath):
|
||||
bib_data = files.load_externalbibfile(bibpath)
|
||||
for k in bib_data.entries:
|
||||
sub_bib = bib_data.entries[k]
|
||||
p = Paper(bibentry=sub_bib, citekey=k)
|
||||
self.add_paper(p)
|
||||
|
||||
def get_free_citekey(self, paper, citekey=None):
|
||||
"""Create a unique citekey for the given paper.
|
||||
"""
|
||||
|
Loading…
x
Reference in New Issue
Block a user