forked from cryptobib/db
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.py
218 lines (197 loc) · 9.5 KB
/
config.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
# Configuration
# for mybibtex, import.py, ...
from string import Template
# List of all conferences, journals, eprint, ...
confs = {}
def add_conf(
key,
full_name = "",
name = None,
url = "http://dblp.uni-trier.de/db/conf/${namelower}/${namelower}${url_year}${dis}.html",
crossref = None
):
if name == None:
name = key
if crossref == None:
crossref = name.lower()
confs[key] = {
"type":
"conf",
"url": # list of url(s) to retrieve the conf data (from DBLP)
[
Template(url).safe_substitute(namelower=name.lower(), url_year="${year}"),
Template(url).safe_substitute(namelower=name.lower(), url_year="${short_year}")
],
"entry_type": # bibtex entry type to be looked for
"InProceedings",
"key": # prefix of the bib key (ACISP, AC, ...) -> upper case
key,
"name": # name of the conference (ACISP, ASIACRYPT, ...) -> upper case
name,
"crossref": # name for crossref
crossref,
"full_name": # full name of the conference
full_name,
"fields_dblp": # fields to extract from DBLP
set(["title", "author", "pages", "doi"]),
"fields_add":
{
"crossref": crossref + "${short_year}${dis}"
}
}
def add_journal(
key,
first_year,
journalkey,
full_name = "",
months = [],
name = None,
url = "http://www.informatik.uni-trier.de/~ley/db/journals/${name}/${name}${volume}.html",
publisher = "springer",
):
if name == None:
name = key
confs[key] = {
"type":
"journal",
"url": # list of url(s) to retrieve the conf data (from DBLP)
[url],
"entry_type": # bibtex entry type to be looked for
"Article",
"key": # prefix of the bib key (ACISP, AC, ...) -> upper case
key,
"name": # name of the conference (ACISP, ASIACRYPT, ...) -> upper case
name,
"full_name": # full name of the conference
full_name,
"first_year": # first year of the journal (used to convert years into volume numbers in import.py)
first_year,
"months": # month from number
months,
"fields_dblp": # fields to extract from DBLP
set(["title", "author", "pages", "volume", "year", "number", "doi"]),
"fields_add":
{
"publisher": publisher,
"journal": journalkey,
"month": "%months" # months is used here
}
}
def add_misc(
key,
full_name,
url,
name = None,
crossref = None
):
if name == None:
name = key
if crossref == None:
crossref = name.lower()
confs[key] = {
"type":
"misc",
"url": # list of url(s) to retrieve the misc data (currently only EPRINT is supported)
[url],
"entry_type": # bibtex entry type to be looked for
"Misc",
"key": # prefix of the bib key (ACISP, AC, ...) -> upper case
key,
"name": # name of the conference (ACISP, ASIACRYPT, ...) -> upper case
name,
"crossref": # name for crossref (not used yet)
crossref,
"full_name": # full name of the conference (not used yet)
full_name,
"fields_dblp": # not used
set(),
"fields_add": # not used
dict([])
}
add_conf("ACISP", "Australasian Conference on Information Security and Privacy")
add_conf("CCS", "ACM Conference on Computer and Communications Security",
name = "ACM CCS", crossref="ccs",
url = "http://www.informatik.uni-trier.de/~ley/db/conf/ccs/ccs${url_year}.html")
add_conf("ACNS", "International Conference on Applied Cryptography and Network Security")
add_conf("AFRICACRYPT", "International Conference on Cryptology in Africa")
add_conf("ASIACCS", "ACM Symposium on Information, Computer and Communications Security",
url = "http://www.informatik.uni-trier.de/~ley/db/conf/ccs/asiaccs${url_year}.html")
add_conf("AC", "International Conference on the Theory and Application of Cryptology and Information Security",
name = "ASIACRYPT")
add_conf("CANS", "International Conference on Cryptology and Network Security")
add_conf("CHES", "Workshop on Cryptographic Hardware and Embedded Systems")
add_conf("CQRE", "International Exhibition and Congress on Network Security", name = "CQRE")
add_conf("C", "International Cryptology Conference", name = "CRYPTO")
add_conf("RSA", "RSA Conference, Cryptographers' Track", name = "CT-RSA",
url = "http://www.informatik.uni-trier.de/~ley/db/conf/ctrsa/ctrsa${url_year}.html")
add_conf("ESORICS", "European Symposium on Research in Computer Security")
add_conf("EC", "International Conference on the Theory and Applications of Cryptographic Techniques",
name = "EUROCRYPT")
add_conf("FC", "Financial Cryptography and Data Security")
add_conf("FCW", "Financial Cryptography and Data Security Workshops",
url = "http://www.informatik.uni-trier.de/~ley/db/conf/fc/fc${url_year}w.html")
add_conf("FOCS", "Symposium on Foundations of Computer Science")
add_conf("FSE", "International Workshop on Fast Software Encryption")
add_conf("ICALP", "International Colloquium on Automata, Languages and Programming")
add_conf("ICICS", "International Conference on Information and Communications Security")
add_conf("ICISC", "International Conference on Information Security and Cryptology")
add_conf("IMA", "IMA Conference on Cryptography and Coding")
add_conf("ICITS", "International Conference on Information Theoretic Security")
add_conf("SP", "IEEE Symposium on Security and Privacy", name="IEEE SP", url = "http://www.informatik.uni-trier.de/~ley/db/conf/sp/sp${url_year}.html", crossref = "ieeesp")
add_conf("INDOCRYPT", "International Conference on Cryptology in India")
add_conf("ISC", "Information Security Conference",
url = "http://www.informatik.uni-trier.de/~ley/db/conf/isw/isc${url_year}.html")
add_conf("ITCS", "Innovations in Theoretical Computer Science",
url = "http://www.informatik.uni-trier.de/~ley/db/conf/innovations/innovations${url_year}.html")
add_conf("IWSEC", "International Workshop on Security")
add_conf("LATIN", "Latin American Theoretical Informatics Symposium")
add_conf("LC", "International Conference on Cryptology and Information Security in Latin America",
name = "LATINCRYPT")
add_conf("NDSS", "Network and Distributed System Security Symposium")
add_conf("PAIRING", "International Conference on Pairing-based Cryptography",)
add_conf("PKC", "International Conference on Practice and Theory in Public Key Cryptography")
add_conf("PODC", "ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing")
add_conf("PROVSEC", "International Conference on Provable Security")
add_conf("SAC", "Workshop on Selected Areas in Cryptography",
url = "http://www.informatik.uni-trier.de/~ley/db/conf/sacrypt/sacrypt${url_year}.html")
add_conf("SCN", "Conference on Security and Cryptography for Networks")
add_conf("SODA", "ACM-SIAM Symposium on Discrete Algorithms")
add_conf("STOC", "ACM Symposium on Theory of Computing")
add_conf("TCC", "Theory of Cryptography Conference")
add_conf("TRUSTBUS", "International Conference on Trust, Privacy & Security in Digital Business")
add_conf("VIETCRYPT", "International Conference on Cryptology in Vietnam")
add_conf("WISA", "International Workshop on Information Security Applications")
add_journal("JC", 1988, "jcrypto", "Journal of Cryptology",
months = ["jan", "apr", "jul", "oct"],
url = "http://www.informatik.uni-trier.de/~ley/db/journals/joc/joc${volume}.html")
add_misc("EPRINT", "Cryptology ePrint Archive", url = "http://eprint.iacr.org/${year}")
def get_conf_name(confkey):
if confkey in confs:
return confs[confkey]["name"]
else:
return confkey.upper()
# Missing years for conferences (used by lib.confs_years
confs_missing_years = {
"AC": set([1993, 1995, 1997]),
"CCS": set([1995]),
"EC": set([1983]),
"ESORICS": set([1991, 1993, 1995, 1997, 1999, 2001]),
"FSE": set([1995]),
"ICICS": set([1998, 2000]),
"ICITS": set([2010, 2014]),
"IMA": set([1996, 1998, 2000, 2002, 2004, 2006, 2008, 2010, 2012, 2014, 2016, 2018]),
"ISC": set([1998]),
"LATIN": set([1993, 1994, 1996, 1997, 1999, 2001, 2003, 2005, 2007, 2009, 2011, 2013]),
"LC": set([2011, 2013]),
"PAIRING": set([2011]),
"SCN": set([2003, 2005, 2007, 2009, 2011, 2013, 2015]),
}
# Bibtex output
# keys of entries are sorted in this order: first_keys then alphabetical order
first_keys = ["author", "title", "pages", "editor", "booktitle", "volume", "address", "month", "publisher", "series", "year", "journal", "number", "doi"]
types = {
"inproceedings": "InProceedings",
"article": "Article",
"proceedings": "Proceedings",
"misc": "Misc"
}