Full author contact details are available in file CREDITS
This script both stores and manipulates the raw data needed to
-create CREDITS, credits.php and blanket-permission.php
+create CREDITS, credits.inc and blanket-permission.inc
Usage:
$ python generate_contributions.py \
CREDITS \
- credits.php \
- blanket-permission.php
+ credits.inc \
+ blanket-permission.inc
where the arguments are the names of the generated files.
'''
if self.contact.find("http") != -1:
result.append('@i%s\n' % self.contact)
else:
- ename, address = self.contact.split(" () ", 1)
- address = address.replace(" ! ", ".")
- contact = "%s@%s" % (ename, address)
- result.append('@iE-mail: %s\n' % contact)
+ result.append('@iE-mail: %s\n' % self.contact)
result.append(' %s\n' % self.credit.replace('\n', '\n '))
return "".join(result)
def as_php_credits(self, wrapper):
return '''
-contrib("%s",
+$output=$output.credits_contrib("%s",
"%s",
"%s");
''' % ( xml_escape(self.name),
def as_php_blanket(self):
return '''
-contrib("%s",
+$output=$output.blanket_contrib("%s",
"%s",
"%s",
"%s",
return "".join(results)
-def header(title, file):
+def header():
return '''<?php
// WARNING! This file is autogenerated.
// Any changes to it will be lost.
// Please modify generate_contributions.py direct.
-
-// What's the title of the page?
-$title = "%s";
-// Who is the author?
-$author="lyx-devel@lists.lyx.org";
-// Full name of this file (relative path from LyX home page)
-$file_full="about/%s";
-
-include("start.php");
-?>
-''' % ( title, file )
+'''
def footer():
return '''
-<?php
-include("end.php");
-?>
'''
def as_php_credits(contributers, file):
results = []
- results.append(header("CREDITS", file))
+ results.append(header())
results.append('''
-<?
-function contrib($name, $email, $msg) {
-echo "
+function credits_contrib($name, $email, $msg) {
- <dt>
- <b>${name}</b>
-";
+$email = str_replace(' () ', '@', $email);
+$email = str_replace(' ! ', '.', $email);
if (isset($email) && $email != "")
- echo " <i><${email}></i>";
+ $output=$output. "<dt><b>[[mailto:${email} | ${name}]]</b>";
+else
+ $output=$output. "<dt><b>${name}</b>";
$msg = ereg_replace("\\n *", "\\n ", ltrim($msg));
-echo "
+$output=$output. "
</dt>
<dd>
${msg}
</dd>";
+
+return $output;
}
-?>
+function credits_output() {
-<p>
+$output=$output."<p>
If your name doesn't appear here although you've done
something for LyX, or your entry is wrong or incomplete,
just drop an e-mail to the
- <a href="mailto:lyx-devel@lists.lyx.org">lyx-devel</a>
+ [[mailto:lyx-devel@lists.lyx.org | lyx-devel]]
mailing list. Thanks.
</p>
-<dl><?php''')
+<dl>";
+''')
wrapper = textwrap.TextWrapper(width=60, subsequent_indent=" ")
if len(contributer.credit) != 0:
results.append(contributer.as_php_credits(wrapper))
- results.append('''?>
+ results.append('''
+$output=$output."</dl>";
+
+return $output;
-</dl>
+}
''')
results.append(footer())
return "".join(results)
def as_php_blanket(contributers, file):
results = []
- results.append(header("Permissions", file))
+ results.append(header())
results.append('''
-<?
-function contrib($name, $email, $msg_title, $msg_ref, $date) {
-echo "
+function blanket_contrib($name, $email, $msg_title, $msg_ref, $date) {
+
+$email = str_replace(' () ', '@', $email);
+$email = str_replace(' ! ', '.', $email);
+
+$output=$output. "
<dt>
- <b>${name}</b>
- <i><${email}></i>
+ <b>[[mailto:${email} | ${name}]]</b>
</dt>
<dd>
See the lyx-devel mailing list message
if (isset($msg_ref) && $msg_ref != "") {
$msg_ref = htmlspecialchars("$msg_ref");
- echo "<a href=\\"http://marc.theaimsgroup.com/?l=lyx-devel&${msg_ref}\\">${msg_title}</a>";
+ $output=$output. "[[http://marc.info/?l=lyx-devel&" . ${msg_ref} . "|" . ${msg_title} . "]]";
} else {
- echo "${msg_title}";
+ $output=$output. "${msg_title}";
}
-echo ""
+$output=$output. ""
of $date.
</dd>";
+
+return $output;
}
-?>
+function blanket_output() {
-<p>
- The following people hereby grant permission to licence their
+$output=$output."<p>
+ The following people hereby grant permission to license their
contributions to LyX under the
- <a href="http://www.opensource.org/licenses/gpl-license.php">
- Gnu General Public Licence</a>, version 2 or later.
+ [[http://www.opensource.org/licenses/gpl-license.php |
+ Gnu General Public License]], version 2 or later.
</p>
-<dl><?php''')
+<dl>";
+''')
for contributer in contributers:
if contributer.licence == "GPL":
results.append(contributer.as_php_blanket())
- results.append('''?>
-</dl>
+ results.append('''
+$output=$output."</dl>";
+$output=$output."
<p>
- The following people hereby grant permission to licence their
+ The following people hereby grant permission to license their
contributions to LyX under the
- <a href="http://www.opensource.org/licenses/artistic-license.php">
- Artistic Licence</a>.
+ [[http://www.opensource.org/licenses/artistic-license.php |
+ Artistic License]].
</p>
-<dl>
-<?php''')
+<dl>";
+''')
for contributer in contributers:
if contributer.licence == "Artistic":
results.append(contributer.as_php_blanket())
- results.append('''?>
-</dl>
+ results.append('''
+$output=$output."</dl>";
+
+return $output;
+
+}
''')
results.append(footer())
if len(argv) != 4:
error(usage(argv[0]))
- txt_credits_data = unicode(as_txt_credits(contributers)) \
- .encode("latin1", "xmlcharrefreplace")
- # This is a fudge to give a 'reasonable' spelling of Matej's name.
- txt_credits_data = txt_credits_data.replace('ě', 'e')
- # This is a fudge to give a 'reasonable' spelling of Tomasz' name.
- txt_credits_data = txt_credits_data.replace('Ł', 'L')
+ txt_credits_data = unicode(as_txt_credits(contributers)).encode("utf-8")
txt_credits = open(argv[1], "w")
txt_credits.write(txt_credits_data)
"23 February 2005",
u"Added support for unix sockets and thence the 'inverse DVI' feature"),
- contributer(u"Ozgur Ugras Baran",
+ contributer(u"Özgür Uğraş Baran",
"ugras.baran () gmail ! com",
"GPL",
"Re: [patch] new InsetCommandParams",
"m=116124030512963",
"19 October 2006",
- u"New commandparams structure"),
+ u"New commandparams structure, Nomenclature inset"),
+
+ contributer(u"Susana Barbosa",
+ "susana.barbosa () fc ! up ! pt",
+ "GPL",
+ "License",
+ "m=118707828425316",
+ "14 August 2007",
+ u"Portuguese translation"),
contributer(u"Yves Bastide",
"yves.bastide () irisa ! fr",
"Re: Licensing of tex2lyx (and perhaps LyX itself?)",
"m=110899912526043",
"21 February 2005",
- u"tex2lyx improvements"),
+ u"tex2lyx improvements, bug fixes, unicode work"),
contributer(u"Hans Bausewein",
"hans () comerwell ! xs4all ! nl",
"25 February 2005",
u"New graphics handling scheme and more"),
+ contributer(u"Dov Feldstern",
+ "dfeldstern () fastimap ! com",
+ "GPL",
+ "Re: Farsi support re-submission plus a little more",
+ "m=118064913824836",
+ "31 May 2007",
+ u"RTL/BiDi-related fixes"),
+
contributer(u"Ronald Florence",
"ron () 18james ! com",
"GPL",
"",
u"Bug fix to the spellchecker"),
+ contributer(u"Nicola Focci",
+ "nicola.focci () gmail ! com",
+ "GPL",
+ "Permission",
+ "m=120946605432341",
+ "29 April 2008",
+ u"Italian translation of documentations"),
+
contributer(u"Enrico Forestieri",
"forenr () tlc ! unipr ! it",
"GPL",
"20 March 2005",
u"BibTeX annotation support"),
+ contributer(u"Darren Freeman",
+ "dfreeman () ieee ! org",
+ "GPL",
+ "Licence",
+ "m=118612951707590",
+ "3 August 2007",
+ u"Improvements to mouse wheel scrolling; many bug reports"),
+
contributer(u"Edscott Wilson Garcia",
"edscott () xfce ! org",
"GPL",
"30 March 2005",
u"Bug fixes"),
+ contributer(u"Ignacio García",
+ "ignacio.garcia () tele2 ! es",
+ "GPL",
+ "Re: es_EmbeddedObjects",
+ "m=117079592919653",
+ "06 February 2007",
+ u"Spanish translation of documentations"),
+
contributer(u"Michael Gerz",
"michael.gerz () teststep ! org",
"GPL",
u"Improvements to Koma-Script classes"),
contributer(u"Hartmut Haase",
- "hha4491 () atomstromfrei ! de",
+ "hha4491 () web ! de",
"GPL",
"Re: The LyX licence",
"m=110915427710167",
"m=110916171925288",
"23 February 2005",
u"Norwegian documentation and localization"),
+
+ contributer(u"Richard Heck",
+ "rgheck () brown ! edu",
+ "GPL",
+ "GPL Statement",
+ "m=117501689204059",
+ "27 March 2007",
+ u"Bug fixes, layout modules, BibTeX code"),
contributer(u"Bennett Helm",
"bennett.helm () fandm ! edu",
"5 April 2005",
u"Some minor bug-fixes, FAQ, linuxdoc sgml support"),
+ contributer(u"Masanori Iwami",
+ "masa.iwm () gmail ! com",
+ "GPL",
+ "Re: [patch] Addition of input method support",
+ "m=117541512517453",
+ "1 April 2007",
+ u"Development of CJK language support"),
+
contributer(u"Michal Jaegermann",
"michal () ellpspace ! math ! ualberta ! ca",
"GPL",
"22 February 2005",
u"Fix to a very hard-to-find egcs bug that crashed LyX on alpha architecture"),
+ contributer(u"Harshula Jayasuriya",
+ "harshula () gmail ! com",
+ "GPL",
+ "Re: Bug in export to DocBook",
+ "m=116884249725701",
+ "15 January 2007",
+ u"Fix docbook generation of nested lists"),
+
contributer(u"David L. Johnson",
"david.johnson () lehigh ! edu",
"GPL",
"28 December 2005",
u"Polish translation and mw* layouts files"),
+ contributer(u"Hangzai Luo",
+ "memcache () gmail ! com",
+ "GPL",
+ "Re: [patch] tex2lyx crash when full path is given from commandline on Win32",
+ "m=118326161706627",
+ "1 July 2007",
+ u"Bugfixes"),
+
contributer(u"José Matos",
"jamatos () fc ! up ! pt",
"GPL",
"31 October 2005",
u"Dutch translation coordinator"),
+ contributer(u"Siegfried Meunier-Guttin-Cluzel",
+ "meunier () coria ! fr",
+ "GPL",
+ "French translations",
+ "m=119485816312776",
+ "12 November 2007",
+ u"French translations of the documentation"),
+
+ contributer(u"Joan Montané",
+ "jmontane () gmail ! com",
+ "GPL",
+ "Re: LyX translation updates needed",
+ "m=118765575314017",
+ "21 August 2007",
+ u"Catalan translations of menus"),
+
contributer(u"Iñaki Larrañaga Murgoitio",
"dooteo () euskalgnu ! org",
"GPL",
"25 February 2005",
u"Support for kluwer and ijmpd document classes"),
+ contributer(u'Andrey V. Panov',
+ "panov () canopus ! iacp ! dvo ! ru",
+ "GPL",
+ "Re: Russian translation for LyX",
+ "m=119853644302866",
+ "24 December 2007",
+ u"Russian translation of the user interface"),
+
contributer(u'Sanda Pavel',
- "ps () ucw !cz",
+ "ps () ucw ! cz",
"GPL",
"Re: czech translation",
"m=115522417204086",
- "10 august 2006",
- u"Czech translation"),
+ "10 August 2006",
+ u"Czech translation, support for the LaTeX package hyperref"),
contributer(u'Bo Peng',
"ben.bob () gmail ! com",
"Re: Python version of configure script (preview version)",
"m=112681895510418",
"15 September 2005",
- u"Conversion of all shell scripts to Python, session, view-source, auto-view features and scons build system."),
+ u"Conversion of all shell scripts to Python, shortcuts dialog, session, view-source, auto-view, embedding features and scons build system."),
contributer(u"Joacim Persson",
"sp2joap1 () ida ! his ! se",
"22 February 2005",
u"The driving force behind, and maintainer of, the LyX wiki wiki.\nSwedish translation of the Windows installer"),
+ contributer(u"Bernhard Roider",
+ "bernhard.roider () sonnenkinder ! org",
+ "GPL",
+ "Re: [PATCH] immediatly display saved filename in tab",
+ "m=117009852211669",
+ "29 January 2007",
+ u"Various bug fixes"),
+
+ contributer(u"Paul A. Rubin",
+ "rubin () msu ! edu",
+ "GPL",
+ "Re: [patch] reworked AMS classes (bugs 4087, 4223)",
+ "m=119072721929143",
+ "25 September 2007",
+ u"Major rework of the AMS classes"),
+
contributer(u"Ran Rutenberg",
"ran.rutenberg () gmail ! com",
"GPL",
"10 June 2005",
u"Danish translation of the Windows installer"),
- contributer(u"Eulogio Serradilla Rodríguez",
- "eulogio.sr () terra ! es",
+ contributer(u"Stefan Schimanski",
+ "sts () 1stein ! org",
"GPL",
- "Re: The LyX licence",
- "m=110915313018478",
- "23 February 2005",
- u"contribution to the spanish internationalization"),
+ "GPL statement",
+ "m=117541472517274",
+ "1 April 2007",
+ u"font improvements, bug fixes"),
contributer(u"Hubert Schreier",
"schreier () sc ! edu",
"",
u"international support and kbmaps for slovak, czech, german, ... wysiwyg figure"),
+ contributer(u"Eulogio Serradilla Rodríguez",
+ "eulogio.sr () terra ! es",
+ "GPL",
+ "Re: The LyX licence",
+ "m=110915313018478",
+ "23 February 2005",
+ u"contribution to the spanish internationalization"),
+
contributer(u"Miyata Shigeru",
"miyata () kusm ! kyoto-u ! ac ! jp",
"",
"Re: The LyX licence",
"m=111833345825278",
"9 June 2005",
- u"German translation of the Windows installer"),
+ u"documentation updates, Windows installer, small fixes"),
contributer(u"David Suárez de Lis",
"excalibor () iname ! com",
"23 February 2005",
u"turkish kbmaps"),
+ contributer(u"Mostafa Vahedi",
+ "vahedi58 () yahoo ! com",
+ "GPL",
+ "Re: improving Arabic-like language support",
+ "m=117769964731842",
+ "27 April 2007",
+ u"Farsi support and translations"),
+
contributer(u"Marko Vendelin",
"markov () ioc ! ee",
"GPL",
"Re: Licensing of tex2lyx (and perhaps LyX itself?)",
"m=110899839906262",
"21 February 2005",
- u"complete rewrite of the tabular, text inset; fax- and Ascii-Export support; iletter and dinbrief support"),
+ u"complete rewrite of the tabular, text inset; fax and plain text export support; iletter and dinbrief support"),
contributer(u"Pauli Virtanen",
"pauli.virtanen () hut ! fi",
"28 February 2005",
u"Gtk frontend"),
+ contributer(u"Koji Yokota",
+ "yokota () res ! otaru-uc ! ac ! jp",
+ "GPL",
+ "Re: [PATCH] po/ja.po: Japanese message file for 1.5.0 (merged from",
+ "m=118033214223720",
+ "28 May 2007",
+ u"Japanese translation"),
+
contributer(u"Abdelrazak Younes",
"younes.a () free ! fr",
"GPL",
"22 February 2005",
u"rotation of wysiwyg figures"),
+ contributer(u"Horst Schirmeier",
+ "horst () schirmeier ! com",
+ "GPL",
+ "Re: [patch] reordering capabilities for GuiBibtex",
+ "m=120009631506298",
+ "12 January 2008",
+ u"small fixes"),
+
contributer(u"Xiaokun Zhu",
"xiaokun () aero ! gla ! ac ! uk",
"",
"",
u"bug reports and small fixes") ]
+
if __name__ == "__main__":
main(sys.argv, contributers)
+