Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Houtan Bastani
website
Commits
a7fd5ba1
Commit
a7fd5ba1
authored
Oct 19, 2018
by
Houtan Bastani
Browse files
python script to read RePEc .rdf files and create _data/wp.yml
parent
9623782c
Changes
4
Show whitespace changes
Inline
Side-by-side
_config.yml
View file @
a7fd5ba1
...
...
@@ -167,6 +167,7 @@ exclude:
-
/assets/images/logo/*.pdf
-
/assets/images/logo/*.tex
-
/assets/images/logo/*.sh
-
/assets/RePEc/rdf2yml.py
keep_files
:
-
.git
-
/assets/images/*
...
...
assets/RePEc/rdf2yml.py
0 → 100644
View file @
a7fd5ba1
import
os
import
re
import
sys
# Parse .rdf files
wp_first_year
=
2011
wps
=
dict
()
wp_year
=
wp_first_year
while
True
:
filename
=
'dynare-'
+
str
(
wp_year
)
+
'.rdf'
if
not
os
.
path
.
isfile
(
filename
):
break
fh
=
open
(
filename
,
'r'
)
wpn
=
-
1
wp
=
dict
()
authors
=
[]
urls
=
[]
url_function
=
[]
for
line
in
fh
:
spl
=
re
.
split
(
'[:]'
,
line
)
key
=
spl
[
0
]
if
key
==
'Template-Type'
or
key
==
'# Local Variables'
:
if
wpn
>=
1
:
wp
[
'urls'
]
=
urls
wp
[
'url_function'
]
=
url_function
wp
[
'authors'
]
=
authors
wps
[
wpn
]
=
wp
wpn
=
-
1
wp
=
dict
()
authors
=
[]
urls
=
[]
url_function
=
[]
elif
key
==
'Number'
:
wpn
=
int
(
spl
[
1
])
elif
key
==
'Title'
:
wp
[
'title'
]
=
":"
.
join
(
spl
[
1
:]).
strip
()
elif
key
==
'File-URL'
:
urls
.
append
(
':'
.
join
((
spl
[
1
:])).
strip
())
elif
key
==
'File-Function'
:
url_function
.
append
(
spl
[
1
].
strip
())
elif
key
==
'Creation-Date'
:
spl
=
re
.
split
(
'[-]'
,
spl
[
1
])
wp
[
'year'
]
=
int
(
spl
[
0
])
elif
key
==
'Author-Name'
:
authors
.
append
(
spl
[
1
].
strip
())
fh
.
close
()
wp_year
+=
1
# Write .yml file
yml
=
open
(
'wp.yml'
,
'w'
)
for
key
in
sorted
(
wps
,
reverse
=
True
):
yml
.
write
(
'- number: {:d}
\n
'
.
format
(
key
))
yml
.
write
(
' authors: '
)
firstauthor
=
True
for
author
in
wps
[
key
][
'authors'
]:
name
=
author
.
split
(
','
)
last
=
name
[
0
]
first
=
" "
.
join
(
name
[
1
:]).
strip
()
if
firstauthor
:
firstauthor
=
False
else
:
yml
.
write
(
', '
)
yml
.
write
(
'{:s} {:s}'
.
format
(
first
,
last
))
yml
.
write
(
'
\n
'
)
yml
.
write
(
' title: "{:s}"
\n
'
.
format
(
wps
[
key
][
'title'
]))
yml
.
write
(
' year: {:d}
\n
'
.
format
(
wps
[
key
][
'year'
]))
# Have to do this because some entries are mal-formed (do not contain File-Function info)
if
len
(
wps
[
key
][
'urls'
])
==
1
:
yml
.
write
(
' url: {:s}
\n
'
.
format
(
wps
[
key
][
'urls'
][
0
]))
else
:
for
idx
,
url
in
enumerate
(
wps
[
key
][
'urls'
]):
if
wps
[
key
][
'url_function'
][
idx
]
==
'Main text'
:
yml
.
write
(
' url: {:s}
\n
'
.
format
(
wps
[
key
][
'urls'
][
idx
]))
elif
wps
[
key
][
'url_function'
][
idx
]
==
'Data used in the paper'
:
yml
.
write
(
' data_url: {:s}
\n
'
.
format
(
wps
[
key
][
'urls'
][
idx
]))
elif
wps
[
key
][
'url_function'
][
idx
]
==
'Source code of programs used in the paper'
or
\
wps
[
key
][
'url_function'
][
idx
]
==
'Dynare source code used in the paper'
:
yml
.
write
(
' source_url: {:s}
\n
'
.
format
(
wps
[
key
][
'urls'
][
idx
]))
else
:
print
(
wps
[
key
])
print
(
'Unhandled url case: {:s}'
.
format
(
wps
[
key
][
'url_function'
][
idx
]))
sys
.
exit
()
yml
.
write
(
'
\n
'
)
yml
.
close
()
print
(
'Done writing wp.yml'
)
wp/index.md
View file @
a7fd5ba1
...
...
@@ -12,7 +12,7 @@ title: Working Papers
<ol
reversed
start=
"{{ latestwp }}"
>
{% for wp in site.data.wp limit:5 %}
<li>
{{ wp.authors }} ({{ wp.year }}), "
<a
href=
"
http://www.dynare.org/wp-repo/dynarewp0{{ wp.number }}.pdf
"
>
{{ wp.title }}
</a>
"
{{ wp.authors }} ({{ wp.year }}), "
<a
href=
"
{{ wp.url }}
"
>
{{ wp.title }}
</a>
"
{% if wp.source_url %}(
<a
href=
"{{ wp.source_url }}"
>
source
</a>
){% endif %}
{% if wp.data_url %}(
<a
href=
"{{ wp.data_url }}"
>
data
</a>
){% endif %}
</li>
...
...
wp/list.md
View file @
a7fd5ba1
...
...
@@ -12,7 +12,7 @@ title: Working Papers
<ol
reversed
start=
"{{ latestwp }}"
>
{% for wp in site.data.wp %}
<li>
{{ wp.authors }} ({{ wp.year }}), "
<a
href=
"
http://www.dynare.org/wp-repo/dynarewp0{{ wp.number }}.pdf
"
>
{{ wp.title }}
</a>
"
{{ wp.authors }} ({{ wp.year }}), "
<a
href=
"
{{ wp.url }}
"
>
{{ wp.title }}
</a>
"
{% if wp.source_url %}(
<a
href=
"{{ wp.source_url }}"
>
source
</a>
){% endif %}
{% if wp.data_url %}(
<a
href=
"{{ wp.data_url }}"
>
data
</a>
){% endif %}
</li>
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment