|
30 | 30 | old_db = open(db_name + ".bib","r") |
31 | 31 | new_db = open("bibtex.bib","w") |
32 | 32 |
|
33 | | -for line in old_db.readlines(): |
34 | | - date_pattern = re.search(r"date.*{(\d+)-?(\d+)?.*}",line) |
| 33 | +date_re = re.compile(r"date.*{(\d+)-?(\d+)?.*}") |
| 34 | + |
| 35 | +for line in old_db: |
| 36 | + date_pattern = date_re.search(line) |
35 | 37 | if date_pattern: |
36 | 38 | new_db.write(" year = {{{0:s}}},\n".format(date_pattern.group(1))) |
37 | 39 | # print " year = {{{0:s}}},\n".format(date_pattern.group(1)), |
38 | 40 | if date_pattern.group(2) is not None: |
39 | 41 | month = month_names[int(date_pattern.group(2))]; |
40 | 42 | new_db.write(" month = {},\n".format(month)) |
41 | | - elif re.search("journaltitle",line): |
| 43 | + elif "journaltitle" in line: |
42 | 44 | new_db.write(line.replace("journaltitle","journal")) |
43 | | - elif re.search("location",line): |
| 45 | + elif "location" in line: |
44 | 46 | new_db.write(line.replace("location","address")) |
45 | | - elif re.search("eprinttype",line): |
| 47 | + elif "eprinttype" in line: |
46 | 48 | new_db.write(line.replace("eprinttype","archiveprefix")) |
47 | 49 | # the following change is not suitable for techreports |
48 | | - # elif re.search("institution",line): |
| 50 | + # elif "institution" in line: |
49 | 51 | # new_db.write(line.replace("institution","school")) |
50 | | - elif re.search("@online",line): |
| 52 | + elif "@online" in line: |
51 | 53 | new_db.write(line.replace("@online","@unpublished")) |
52 | | - elif re.search("@report",line): |
| 54 | + elif "@report" in line: |
53 | 55 | new_db.write(line.replace("@report","@techreport")) |
54 | | - elif re.search("@inbook",line): |
| 56 | + elif "@inbook" in line: |
55 | 57 | new_db.write(line.replace("@inbook","@incollection")) |
56 | | - elif re.search("@collection",line): |
| 58 | + elif "@collection" in line: |
57 | 59 | new_db.write(line.replace("@collection","@book")) |
58 | | - elif re.search("@thesis{Singhal2020",line): |
| 60 | + elif "@thesis{Singhal2020" in line: |
59 | 61 | new_db.write(line.replace("@thesis","@mastersthesis")) |
60 | | - elif re.search("@thesis",line): |
| 62 | + elif "@thesis" in line: |
61 | 63 | new_db.write(line.replace("@thesis","@phdthesis")) |
62 | 64 | else: |
63 | 65 | new_db.write(line) |
|
0 commit comments