aboutsummaryrefslogtreecommitdiffstats
path: root/BibTeX.py
diff options
context:
space:
mode:
authorNick Hopper <hopper@cs.umn.edu>2014-01-22 21:39:14 -0600
committerNick Hopper <hopper@cs.umn.edu>2014-01-22 21:39:14 -0600
commit63b5cbc5757ce0487ed1d557c491b46079add64e (patch)
treea4fa02f5dc522b9c756656fc2f841c592b152ab0 /BibTeX.py
parent75f55a60348bc107652945b3ffcada40236bdc62 (diff)
downloadanonbib-63b5cbc5757ce0487ed1d557c491b46079add64e.tar.gz
Changes to allow comma-split www_sections
Diffstat (limited to 'BibTeX.py')
-rw-r--r--BibTeX.py21
1 files changed, 16 insertions, 5 deletions
diff --git a/BibTeX.py b/BibTeX.py
index 110e5ff..e076200 100644
--- a/BibTeX.py
+++ b/BibTeX.py
@@ -10,6 +10,7 @@ import cStringIO
import re
import sys
import os
+import copy
import config
@@ -160,10 +161,15 @@ def splitEntriesBy(entries, field):
result = {}
for ent in entries:
key = ent.get(field)
- try:
- result[key].append(ent)
- except:
- result[key] = [ent]
+ if field in config.MULTI_VAL_FIELDS:
+ key = [k.strip() for k in key.split(',')]
+ else:
+ key = [key]
+ for k in key:
+ try:
+ result[k].append(ent)
+ except:
+ result[k] = [ent]
return result
def splitSortedEntriesBy(entries, field):
@@ -195,7 +201,12 @@ def sortEntriesBy(entries, field, default):
v = ent.get(field, default)
if v.startswith("<span class='bad'>"):
v = default
- tmp.append((txtize(v), i, ent))
+ if field in config.MULTI_VAL_FIELDS:
+ for v_j in v.split(','):
+ ent_j = copy.deepcopy(ent)
+ ent_j.__setitem__(field, v_j.strip())
+ tmp.append((txtize(v_j.strip()), i, ent_j))
+ else: tmp.append((txtize(v), i, ent))
tmp.sort()
return [ t[2] for t in tmp ]