#!/usr/bin/env python3
"""Convert jstor to citation
Should convert text like
Mark Green
The American Mathematical Monthly
The American Mathematical Monthly
Vol. 109, No. 7 (Aug. - Sep., 2002), pp. 675-678 (4 pages)
Published by: Taylor & Francis, Ltd. on behalf of the Mathematical Association of America
Previous Item | Next Item
DOI: 10.2307/3072450
https://www.jstor.org/stable/3072450
into
{{citation|title=none|author=Mark Green|journal=The American Mathematical Monthly|volume=109|issue=7|date=Aug-Sep 2002|pages=675–687|doi=10.2307/3072450|jstor=3072450}}
"""
import sys
lines = line.strip() for line in sys.stdin
for i in range(len(lines)):
if linesi.startswith("Previous Item") or \
linesi.startswith("Published by:") or \
linesi.startswith("Stable URL"):
linesi = ""
elif linesi == linesi-1]:
linesi = ""
elif linesi.startswith("DOI: ") or linesi == "DOI":
linesi = "|doi=" + linesi][5:]
elif linesi.startswith("https://www.jstor.org/stable/"):
linesi = "|jstor=" + linesi][29:]
elif linesi.startswith("Vol. "):
linesi = "|volume=" + linesi][5:]
linesi = "|issue=".join(linesi.split(", No. "))
parts = linesi.split("(")
parts = parts0]] + parts1.split(")")
parts = p.strip() for p in parts
parts0 = parts0.split(",")[0
parts1 = ''.join(c for c in parts1 if c not in ".,")
parts2 = "|pages=".join(parts2.split(", pp. "))
parts2 = "|page=".join(parts2.split(", p. "))
parts2 = "–".join(parts2.split("-"))
linesi = parts0 + "|date=" + parts1 + parts2
print(''.join(["{{citation|title=none|author=" + lines0]] +
"|journal=" + lines1:] + "}}"]))
#!/usr/bin/env python3
"""Convert jstor to citation
Should convert text like
Mark Green
The American Mathematical Monthly
The American Mathematical Monthly
Vol. 109, No. 7 (Aug. - Sep., 2002), pp. 675-678 (4 pages)
Published by: Taylor & Francis, Ltd. on behalf of the Mathematical Association of America
Previous Item | Next Item
DOI: 10.2307/3072450
https://www.jstor.org/stable/3072450
into
{{citation|title=none|author=Mark Green|journal=The American Mathematical Monthly|volume=109|issue=7|date=Aug-Sep 2002|pages=675–687|doi=10.2307/3072450|jstor=3072450}}
"""
import sys
lines = line.strip() for line in sys.stdin
for i in range(len(lines)):
if linesi.startswith("Previous Item") or \
linesi.startswith("Published by:") or \
linesi.startswith("Stable URL"):
linesi = ""
elif linesi == linesi-1]:
linesi = ""
elif linesi.startswith("DOI: ") or linesi == "DOI":
linesi = "|doi=" + linesi][5:]
elif linesi.startswith("https://www.jstor.org/stable/"):
linesi = "|jstor=" + linesi][29:]
elif linesi.startswith("Vol. "):
linesi = "|volume=" + linesi][5:]
linesi = "|issue=".join(linesi.split(", No. "))
parts = linesi.split("(")
parts = parts0]] + parts1.split(")")
parts = p.strip() for p in parts
parts0 = parts0.split(",")[0
parts1 = ''.join(c for c in parts1 if c not in ".,")
parts2 = "|pages=".join(parts2.split(", pp. "))
parts2 = "|page=".join(parts2.split(", p. "))
parts2 = "–".join(parts2.split("-"))
linesi = parts0 + "|date=" + parts1 + parts2
print(''.join(["{{citation|title=none|author=" + lines0]] +
"|journal=" + lines1:] + "}}"]))