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",
def usage(prog_name):
- return "Usage: %s <CREDITS> <credits.php> <blanket-permission.php>" % prog_name
+ return "Usage: %s <CREDITS> <credits.inc> <blanket-permission.inc>" % prog_name
def collate_incomplete(contributers):
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>";
-</dl>
+return $output;
+
+}
''')
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.info/?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())
"27 February 2005",
u"Dutch translation team member"),
+ contributer(u"Hatim Alahmadi",
+ "dr.hatim () hotmail ! com",
+ "GPL",
+ "license issue",
+ "m=121727417724431",
+ "28 July 2008",
+ u"Arabic translation"),
+
contributer(u"Asger Alstrup",
"aalstrup () laerdal ! dk",
"GPL",
"1 April 2005",
u"External style definition files, linuxdoc sgml support and more ftp-site ftp.lyx.org"),
+ contributer(u"Liviu Andronic",
+ "landronimirc () gmail ! com",
+ "GPL",
+ "contributions GPLed",
+ "m=121869084720708",
+ "14 August 2008",
+ u"Romanian localization"),
+
contributer(u"João Luis Meloni Assirati",
"assirati () nonada ! if ! usp ! br",
"GPL",
"Re: Licensing of tex2lyx (and perhaps LyX itself?)",
"m=110907078027047",
"22 February 2005",
- u"Improvements to user interface (menus and keyhandling) including a configurable toolbar and a few other (not so) minor things, like rewriting most of the LyX kernel. Also current source maintainer"),
+ u"Improvements to user interface (menus and keyhandling) including a configurable toolbar and a few other (not so) minor things, like rewriting most of the LyX kernel. Also previous source maintainer."),
contributer(u"Alfredo Braunstein",
"abraunst () lyx ! org",
"Re: The LyX licence",
"m=111842518713710",
"10 June 2005",
- u"French translation of the Windows installer"),
+ u"French translations"),
contributer(u"Claudio Coco",
"lacocio () libero ! it",
"17 January 2006",
u"Italian translation"),
+ contributer(u"Yuri Chornoivan",
+ "yurchor () ukr ! net",
+ "GPL",
+ "Permission grant",
+ "m=121681339315810",
+ "23 July 2008",
+ u"Ukranian translation"),
+
contributer(u"Matthias Kalle Dalheimer",
"kalle () kdab ! net",
"GPL",
"31 May 2007",
u"RTL/BiDi-related fixes"),
+ contributer(u"Michał Fita",
+ "michal ! fita () gmail ! com",
+ "GPL",
+ "Statement for Polish translation",
+ "m=121615623122376",
+ "15 July 2008",
+ u"Polish translation"),
+
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",
"Re: lyxpreview2ppm.py",
"m=111894292115287",
"16 June 2005",
- u"Italian translation of the Windows installer"),
+ u"Italian translations, many bug fixes and features"),
contributer(u"Eitan Frachtenberg",
"sky8an () gmail ! com",
"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"),
+ u"Bug fixes, layout modules, BibTeX code"),
contributer(u"Bennett Helm",
"bennett.helm () fandm ! edu",
"Re: Licensing of tex2lyx (and perhaps LyX itself?)",
"m=110899928510452",
"21 February 2005",
- u"configure and Makefile-stuff and more"),
+ u"configure and Makefile-stuff, many bugfixes and more. Previous stable branch maintainer."),
contributer(u"Victor Lavrenko",
"lyx () lavrenko ! pp ! ru",
"1 July 2007",
u"Bugfixes"),
+ contributer(u"Tetsuya Makimura",
+ "makimura () ims ! tsukuba.ac ! jp",
+ "GPL",
+ "Re: Support request for Japanese without CJK, again (Re: [Fwd: About Japanese edition ...)",
+ "m=121905769227884",
+ "18 August 2008",
+ u"Improvements to the Japanese language support."),
+
contributer(u"José Matos",
"jamatos () fc ! up ! pt",
"GPL",
"Re: The LyX licence",
"m=110907762926766",
"22 February 2005",
- u"linuxdoc sgml support"),
+ u"linuxdoc sgml support. Current release manager."),
contributer(u"Roman Maurer",
"roman.maurer () amis ! net",
"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, fullscreen support, lfuns docs/review"),
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",
"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",
"Re: The LyX licence",
"m=110907530127164",
"22 February 2005",
- u"Qt frontend, bugfixes"),
+ u"Qt frontend, bugfixes. Current stable branch maintainer."),
contributer(u"John Spray",
"jcs116 () york ! ac ! uk",
"Re: The LyX licence",
"m=111833345825278",
"9 June 2005",
- u"documentation updates, Windows installer, small fixes"),
+ u"Current documentation maintainer, Windows installer, bug fixes"),
contributer(u"David Suárez de Lis",
"excalibor () iname ! com",
"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"Vincent van Ravesteijn",
+ "V.F.vanRavesteijn () tudelft ! nl",
+ "GPL",
+ "RE: crash lyx-1.6rc1",
+ "m=121786603726114",
+ "4 August 2008",
+ u"lots of fixes"),
+
+ contributer(u"Günter Milde",
+ "milde () users ! berlios ! de",
+ "GPL",
+ "copyleft",
+ "m=122398147620761",
+ "14 October 2008",
+ u"Unicode and layout file fixes"),
+
+ contributer(u"Peter Gumm",
+ "gumm () mathematik ! uni-marburg ! de",
+ "GPL",
+ "Re: xy-pic manual",
+ "m=122469079629276",
+ "22 October 2008",
+ u"XY-pic manual"),
+
contributer(u"Xiaokun Zhu",
"xiaokun () aero ! gla ! ac ! uk",
"",
"",
u"bug reports and small fixes") ]
+
if __name__ == "__main__":
main(sys.argv, contributers)
+