gnunetbib

Bibliography (BibTeX, based on AnonBib)
Log | Files | Refs | README | LICENSE

config.py (1734B)


      1 # Copyright 2003-2006, Nick Mathewson.  See LICENSE for licensing info.
      2 # Copyright 2018, 2019 ng0 <ng0@n0.is>.
      3 
      4 import re
      5 
      6 _KEYS = ["ALL_TAGS",
      7          "ALPHABETIZE_AUTHOR_AS", "AUTHOR_URLS", "CACHE_DIR",
      8          "CACHE_SECTIONS", "CACHE_UMASK", "CITE_CACHE_DIR",
      9          "COLLAPSE_AUTHORS",
     10          "DOWNLOAD_CONNECT_TIMEOUT", "INITIAL_STRINGS",
     11          "MASTER_BIB", "NO_COLLAPSE_AUTHORS", "OMIT_ENTRIES",
     12          "OUTPUT_DIR", "TEMPLATE_FILE", "BIBTEX_TEMPLATE_FILE",
     13          "REQUIRE_KEY", "TAG_TITLES", "TAG_DIRECTORIES", "TAG_SHORT_TITLES",
     14          "MULTI_VAL_FIELDS", "BIB_DIRECTORY"]
     15 
     16 for _k in _KEYS:
     17     globals()[_k] = None
     18 del _k
     19 
     20 def load(cfgFile):
     21     """
     22     Load config FILE
     23     """
     24     mod = {}
     25     exec(compile(open(cfgFile, "rb").read(), cfgFile, 'exec'), mod)
     26     for _k in _KEYS:
     27         try:
     28             globals()[_k] = mod[_k]
     29         except KeyError:
     30             raise KeyError("Configuration option %s is missing" % _k)
     31 
     32     INITIAL_STRINGS.update(_EXTRA_INITIAL_STRINGS)
     33     AUTHOR_RE_LIST[:] = [
     34         (re.compile(k, re.I), v,) for k, v in list(AUTHOR_URLS.items())
     35         ]
     36 
     37     NO_COLLAPSE_AUTHORS_RE_LIST[:] = [
     38         re.compile(pat, re.I) for pat in NO_COLLAPSE_AUTHORS
     39         ]
     40 
     41     ALPHABETIZE_AUTHOR_AS_RE_LIST[:] = [
     42         (re.compile(k, re.I), v,) for k, v in list(ALPHABETIZE_AUTHOR_AS.items())
     43         ]
     44 
     45 _EXTRA_INITIAL_STRINGS = {
     46     # Months
     47     'jan' : 'January', 'feb' : 'February',
     48     'mar' : 'March', 'apr' : 'April',
     49     'may' : 'May', 'jun' : 'June',
     50     'jul' : 'July', 'aug' : 'August',
     51     'sep' : 'September', 'oct' : 'October',
     52     'nov' : 'November', 'dec' : 'December',}
     53 
     54 AUTHOR_RE_LIST = []
     55 
     56 NO_COLLAPSE_AUTHORS_RE_LIST = []
     57 
     58 ALPHABETIZE_AUTHOR_AS_RE_LIST = []