示例#1
0
def read_bibtex(g_cfg):
    bib_filename = g_cfg["bib_file"]
    db_filename = g_cfg["db_file"]
    bib_data = bibio.read_file(bib_filename)
    entries = []
    art_db = dbio.articles_db(db_filename)
    for key in bib_data.entries:
        try:
            persons = bib_data.entries[key].persons[u'author']
            authors = [unicode(au) for au in persons]
        except:
            authors = [u'unknown']
        entry = { u"key" : key, u"author" : ",".join(authors)}
        fields = bib_data.entries[key].fields
        if u'title' in fields:
            entry.update({ u"title" : fields[u'title'], })
        else:
            entry.update({ u"title" : "", })
        if u'journal' in fields:
            entry.update({ u"journal" : fields[u'journal'], })
        else:
            entry.update({ u"journal" : "", })
        if u'year' in fields:
            entry.update({ u"year" : fields[u'year'], })
        else:
            entry.update({ u"year" : "", })
        tags = art_db.article_tags(key)
        if tags:
            entry.update({ u"tags" : tags, })
        else:
            entry.update({ u"tags" : {}, })
        entries.append(entry)
    return entries
示例#2
0
def read_bibtex(g_cfg):
    bib_filename = g_cfg["bib_file"]
    db_filename = g_cfg["db_file"]
    bib_data = bibio.read_file(bib_filename)
    entries = []
    art_db = dbio.articles_db(db_filename)
    for key in bib_data.entries:
        try:
            persons = bib_data.entries[key].persons[u'author']
            authors = [unicode(au) for au in persons]
        except:
            authors = [u'unknown']
        entry = {u"key": key, u"author": ",".join(authors)}
        fields = bib_data.entries[key].fields
        if u'title' in fields:
            entry.update({
                u"title": fields[u'title'],
            })
        else:
            entry.update({
                u"title": "",
            })
        if u'journal' in fields:
            entry.update({
                u"journal": fields[u'journal'],
            })
        else:
            entry.update({
                u"journal": "",
            })
        if u'year' in fields:
            entry.update({
                u"year": fields[u'year'],
            })
        else:
            entry.update({
                u"year": "",
            })
        tags = art_db.article_tags(key)
        if tags:
            entry.update({
                u"tags": tags,
            })
        else:
            entry.update({
                u"tags": {},
            })
        entries.append(entry)
    return entries
示例#3
0
def convert(g_cfg):
    db_filename = g_cfg["db_file"]
    template_filename = g_cfg["template_file"]
    entries = read_bibtex(g_cfg)
    art_db = dbio.articles_db(db_filename)

    cfg = {}
    cfg.update({
        u'title'   : u'Articles',
        u'tags'    : art_db.tags(),
        u'entries' : entries,
        u'address' : g_cfg["address"],
        u'port'    : g_cfg["port"],
        })
    tmpl = Template(open(template_filename,'r').read())
    html = tmpl.render(cfg)
    return html.encode("utf-8")
示例#4
0
def convert(g_cfg):
    db_filename = g_cfg["db_file"]
    template_filename = g_cfg["template_file"]
    entries = read_bibtex(g_cfg)
    art_db = dbio.articles_db(db_filename)

    cfg = {}
    cfg.update({
        u'title': u'Articles',
        u'tags': art_db.tags(),
        u'entries': entries,
        u'address': g_cfg["address"],
        u'port': g_cfg["port"],
    })
    tmpl = Template(open(template_filename, 'r').read())
    html = tmpl.render(cfg)
    return html.encode("utf-8")