diff --git a/modules/elmsubmit/lib/encdet.py b/modules/elmsubmit/lib/encdet.py deleted file mode 100644 index 6bae49260..000000000 --- a/modules/elmsubmit/lib/encdet.py +++ /dev/null @@ -1,342 +0,0 @@ -#!/usr/bin/env python -# -*- encoding: japanese.ms932 -*- - -# encdet.py - An encoding detector -# by Yusuke Shinyama -# * public domain * - -import sys, re - - -## EncodingRecognizer -## - a finite automaton which receives octets -## -class EncodingRecognizer: - - SCORE_DEFAULT = 0.5 - DEATH_PENALTY = -100 - GIVEUP_THRESHOLD = -1000 - - # character sets: must be exclusive! - CHARSET = [ - # zenkaku-kana - (1.5, re.compile(u"[ぁ-ん]"), 0x01), - (1.5, re.compile(u"[ァ-ヴ]"), 0x02), - (1.0, re.compile(u"[ーヽヾゝゞ]"), 0x03), - - # hankaku latin - (1.2, re.compile(u"[a-zA-Z0-9]"), 0x04), - (0.0, re.compile(u"[\u00c0-\u00ff]"), 0x04), - - # hankaku-kana - (0.8, re.compile(u"[\uff66-\uff9d]"), 0x08), - - # zenkaku-alphanum - (1.2, re.compile(u"[A-Za-z0-9]"), 0x10), - - # kanji - (1.0, re.compile(u"[\u4e00-\u9fff]"), 0x20), - - ] - - def __init__(self, encoding): - self.encoding = encoding - self.ch = "" - self.state = 1 - self.partial_score = 0.0 - self.total_score = 0.0 - self.chunk_type = 0 - return - - def __repr__(self): - return "" % \ - (self.encoding, self.state, self.chunk_type, self.partial_score, self.total_score) - - def die(self): - #print "died:", self - self.total_score += self.DEATH_PENALTY - if self.total_score <= self.GIVEUP_THRESHOLD: - # game is over... - #print "giveup:", self - self.state = 0 - else: - # try again... - self.state = 1 - self.partial_score = 0 - self.ch = "" - return - - def flush(self): - self.total_score += self.partial_score * self.partial_score - self.partial_score = 0.0 - return - - def accept(self, s): - try: - c = unicode(s, self.encoding) - except UnicodeError: - c = "" - for (score, pat, flags) in self.CHARSET: - if pat.match(c): - if self.chunk_type == 0 or not (self.chunk_type & flags): - self.flush() - self.chunk_type = flags - self.partial_score += score - break - else: - self.flush() - self.chunk_type = 0 - self.partial_score += self.SCORE_DEFAULT - return - - def finish(self): - self.flush() - if 1 < self.state: - self.die() - return - - -## CHARACTER SETS - - -## ISO-8859-* -## -class ISO8859_Recognizer(EncodingRecognizer): - - def __init__(self): - return EncodingRecognizer.__init__(self, "iso8859_1") - - def feed(self, c): - if self.state == 0: # already dead? - return - - elif self.state == 1: # ascii or iso? - if c < 0x7f or (0xa0 <= c and c <= 0xff): - self.state = 1 - self.accept(chr(c)) - - else: - self.die() - - return - - -## EUC-JP -## -class EUCJP_Recognizer(EncodingRecognizer): - - def __init__(self): - self.hankaku = False - return EncodingRecognizer.__init__(self, "japanese.euc_jp") - - def feed(self, c): - if self.state == 0: # already dead? - return - - # 1stbyte - elif self.state == 1: - if c < 0x7f: # ascii? - # succeed - self.state = 1 - self.accept(chr(c)) - self.ch = "" -# IGNORE EUC-JP hankaku chars, no one is using -# elif 0x8e == c: # hankaku-kana 1stbyte? -# # next -# self.state = 2 -# self.ch = chr(c) -# self.hankaku = True - elif 0xa1 <= c and c <= 0xfe: # kanji 1stbyte? - # next - self.state = 2 - self.ch = chr(c) - self.hankaku = False - else: - self.die() - - # 2ndbyte - elif self.state == 2: - if self.hankaku and (0xa1 <= c and c <= 0xdf): # hankaku-kana 2ndbyte? - # succeed - self.ch += chr(c) - self.accept(self.ch) - self.state = 1 - self.ch = "" - elif not self.hankaku and (0xa1 <= c and c <= 0xfe): # kanji 2ndbyte? - # succeed - self.ch += chr(c) - self.accept(self.ch) - self.state = 1 - self.ch = "" - else: - self.die() - - return - - -## CP932 -## -class CP932_Recognizer(EncodingRecognizer): - - def __init__(self): - return EncodingRecognizer.__init__(self, "japanese.ms932") - - def feed(self, c): - if self.state == 0: # already dead? - return - - # 1stbyte - elif self.state == 1: - if c < 0x7f: # ascii? - # succeed - self.state = 1 - self.accept(chr(c)) - self.ch = "" - elif 0xa1 <= c and c <= 0xdf: # hankaku-kana? - # succeed - self.state = 1 - self.accept(chr(c)) - self.ch = "" - elif (0x81 <= c and c <= 0x9f) or (0xe0 <= c and c <= 0xee) \ - or (0xfa <= c and c <= 0xfc): # kanji 1stbyte? - # next - self.state = 2 - self.ch = chr(c) - else: - self.die() - - # 2ndbyte - elif self.state == 2: - if 0x40 <= c and c <= 0xfc and c != 0x7f: # kanji 2ndbyte? - # succeed - self.accept(self.ch+chr(c)) - self.state = 1 - self.ch = "" - else: - self.die() - - return - - -## UTF-8 -## -class UTF8_Recognizer(EncodingRecognizer): - - def __init__(self): - self.left = 0 - return EncodingRecognizer.__init__(self, "utf8") - - def feed(self, c): - if self.state == 0: # already dead? - return - - # 1stbyte - elif self.state == 1: - if c <= 0x7f: # 00xxxxxx: 1byte only? - # succeed - self.state = 1 - self.accept(chr(c)) - self.ch = "" - elif c & 0xe0 == 0xc0: # 110xxxxx: 2bytes - # next - self.state = 2 - self.left = 1 - self.ch = chr(c) - elif c & 0xf0 == 0xe0: # 1110xxxx: 3bytes - # next - self.state = 2 - self.left = 2 - self.ch = chr(c) - elif c & 0xf8 == 0xf0: # 11110xxx: 4bytes - # next - self.state = 2 - self.left = 3 - self.ch = chr(c) - elif c & 0xfc == 0xf8: # 111110xx: 5bytes - # next - self.state = 2 - self.left = 4 - self.ch = chr(c) - else: - self.die() - - # n-th byte (where 2<=n) - else: - if c & 0xc0 == 0x80: # 10xxxxxx: continuous? - self.state += 1 - self.left -= 1 - self.ch += chr(c) - if self.left == 0: # finished? - # succeed - self.state = 1 - self.accept(self.ch) - self.ch = "" - else: - # next - pass - else: - self.die() - - return - - -# guess -def guess(s): - recognizer = [ - EUCJP_Recognizer(), - CP932_Recognizer(), - ISO8859_Recognizer(), - UTF8_Recognizer() - ] - for c in s: - for r in recognizer: - r.feed(ord(c)) - for r in recognizer: - r.finish() - #print r - recognizer.sort(lambda a,b: cmp(b.total_score, a.total_score)) - return recognizer[0].encoding - -# test suite -def test(s0, test_encodings): - false_encodings = [ "japanese.euc_jp", "japanese.ms932", "utf8", "iso8859_1" ] - for enc1 in test_encodings: - try: - s = s0.encode(enc1) - except UnicodeError: - continue - print "try '%s' in %s (%s)" % (s0, enc1, " ".join(map(lambda c:"%02x" % ord(c), s))) - for enc2 in false_encodings: - if enc1 != enc2: - try: - x = str(unicode(s, enc2)) - print " (could be: '%s' in %s)" % (x, enc2) - except UnicodeError: - continue - genc = guess(s) - if genc == enc1: - print " CORRECT:", genc - else: - print " ! INCORRECT:", genc - print - return - -def test_suite(): - # kana only - test(u"こんにちは", ["japanese.euc_jp", "japanese.ms932", "utf8"]) - # kana + alphanum - test(u"AはBとCである", ["japanese.euc_jp", "japanese.ms932", "utf8"]) - # kana + kanji - test(u"毎朝新聞ニュース", ["japanese.euc_jp", "japanese.ms932", "utf8"]) - # kanji + hankakukana - test(u"無題ドキュメント", ["japanese.ms932", "utf8"]) - # iso8859-1 - test(u"Enzyklop\u00e4die", ["utf8", "iso8859_1"]) - return - -# main -test_suite(); sys.exit(0) -if __name__ == "__main__": - import fileinput - for s in fileinput.input(): - print guess(s) diff --git a/modules/elmsubmit/lib/encdet_utf8.py b/modules/elmsubmit/lib/encdet_utf8.py deleted file mode 100644 index d2cab062e..000000000 --- a/modules/elmsubmit/lib/encdet_utf8.py +++ /dev/null @@ -1,344 +0,0 @@ -#!/usr/bin/env python -# -*- encoding: utf8 -*- - -# Converted from the original japanese.ms932 encoding to utf8. - -# encdet.py - An encoding detector -# by Yusuke Shinyama -# * public domain * - -import sys, re - - -## EncodingRecognizer -## - a finite automaton which receives octets -## -class EncodingRecognizer: - - SCORE_DEFAULT = 0.5 - DEATH_PENALTY = -100 - GIVEUP_THRESHOLD = -1000 - - # character sets: must be exclusive! - CHARSET = [ - # zenkaku-kana - (1.5, re.compile(u"[縺-繧転"), 0x01), - (1.5, re.compile(u"[繧。-繝エ]"), 0x02), - (1.0, re.compile(u"[繝シ繝ス繝セ繧昴枉"), 0x03), - - # hankaku latin - (1.2, re.compile(u"[a-zA-Z0-9]"), 0x04), - (0.0, re.compile(u"[\u00c0-\u00ff]"), 0x04), - - # hankaku-kana - (0.8, re.compile(u"[\uff66-\uff9d]"), 0x08), - - # zenkaku-alphanum - (1.2, re.compile(u"[シ。-シコス-ス夲シ-シ兢"), 0x10), - - # kanji - (1.0, re.compile(u"[\u4e00-\u9fff]"), 0x20), - - ] - - def __init__(self, encoding): - self.encoding = encoding - self.ch = "" - self.state = 1 - self.partial_score = 0.0 - self.total_score = 0.0 - self.chunk_type = 0 - return - - def __repr__(self): - return "" % \ - (self.encoding, self.state, self.chunk_type, self.partial_score, self.total_score) - - def die(self): - #print "died:", self - self.total_score += self.DEATH_PENALTY - if self.total_score <= self.GIVEUP_THRESHOLD: - # game is over... - #print "giveup:", self - self.state = 0 - else: - # try again... - self.state = 1 - self.partial_score = 0 - self.ch = "" - return - - def flush(self): - self.total_score += self.partial_score * self.partial_score - self.partial_score = 0.0 - return - - def accept(self, s): - try: - c = unicode(s, self.encoding) - except UnicodeError: - c = "" - for (score, pat, flags) in self.CHARSET: - if pat.match(c): - if self.chunk_type == 0 or not (self.chunk_type & flags): - self.flush() - self.chunk_type = flags - self.partial_score += score - break - else: - self.flush() - self.chunk_type = 0 - self.partial_score += self.SCORE_DEFAULT - return - - def finish(self): - self.flush() - if 1 < self.state: - self.die() - return - - -## CHARACTER SETS - - -## ISO-8859-* -## -class ISO8859_Recognizer(EncodingRecognizer): - - def __init__(self): - return EncodingRecognizer.__init__(self, "iso8859_1") - - def feed(self, c): - if self.state == 0: # already dead? - return - - elif self.state == 1: # ascii or iso? - if c < 0x7f or (0xa0 <= c and c <= 0xff): - self.state = 1 - self.accept(chr(c)) - - else: - self.die() - - return - - -## EUC-JP -## -class EUCJP_Recognizer(EncodingRecognizer): - - def __init__(self): - self.hankaku = False - return EncodingRecognizer.__init__(self, "japanese.euc_jp") - - def feed(self, c): - if self.state == 0: # already dead? - return - - # 1stbyte - elif self.state == 1: - if c < 0x7f: # ascii? - # succeed - self.state = 1 - self.accept(chr(c)) - self.ch = "" -# IGNORE EUC-JP hankaku chars, no one is using -# elif 0x8e == c: # hankaku-kana 1stbyte? -# # next -# self.state = 2 -# self.ch = chr(c) -# self.hankaku = True - elif 0xa1 <= c and c <= 0xfe: # kanji 1stbyte? - # next - self.state = 2 - self.ch = chr(c) - self.hankaku = False - else: - self.die() - - # 2ndbyte - elif self.state == 2: - if self.hankaku and (0xa1 <= c and c <= 0xdf): # hankaku-kana 2ndbyte? - # succeed - self.ch += chr(c) - self.accept(self.ch) - self.state = 1 - self.ch = "" - elif not self.hankaku and (0xa1 <= c and c <= 0xfe): # kanji 2ndbyte? - # succeed - self.ch += chr(c) - self.accept(self.ch) - self.state = 1 - self.ch = "" - else: - self.die() - - return - - -## CP932 -## -class CP932_Recognizer(EncodingRecognizer): - - def __init__(self): - return EncodingRecognizer.__init__(self, "japanese.ms932") - - def feed(self, c): - if self.state == 0: # already dead? - return - - # 1stbyte - elif self.state == 1: - if c < 0x7f: # ascii? - # succeed - self.state = 1 - self.accept(chr(c)) - self.ch = "" - elif 0xa1 <= c and c <= 0xdf: # hankaku-kana? - # succeed - self.state = 1 - self.accept(chr(c)) - self.ch = "" - elif (0x81 <= c and c <= 0x9f) or (0xe0 <= c and c <= 0xee) \ - or (0xfa <= c and c <= 0xfc): # kanji 1stbyte? - # next - self.state = 2 - self.ch = chr(c) - else: - self.die() - - # 2ndbyte - elif self.state == 2: - if 0x40 <= c and c <= 0xfc and c != 0x7f: # kanji 2ndbyte? - # succeed - self.accept(self.ch+chr(c)) - self.state = 1 - self.ch = "" - else: - self.die() - - return - - -## UTF-8 -## -class UTF8_Recognizer(EncodingRecognizer): - - def __init__(self): - self.left = 0 - return EncodingRecognizer.__init__(self, "utf8") - - def feed(self, c): - if self.state == 0: # already dead? - return - - # 1stbyte - elif self.state == 1: - if c <= 0x7f: # 00xxxxxx: 1byte only? - # succeed - self.state = 1 - self.accept(chr(c)) - self.ch = "" - elif c & 0xe0 == 0xc0: # 110xxxxx: 2bytes - # next - self.state = 2 - self.left = 1 - self.ch = chr(c) - elif c & 0xf0 == 0xe0: # 1110xxxx: 3bytes - # next - self.state = 2 - self.left = 2 - self.ch = chr(c) - elif c & 0xf8 == 0xf0: # 11110xxx: 4bytes - # next - self.state = 2 - self.left = 3 - self.ch = chr(c) - elif c & 0xfc == 0xf8: # 111110xx: 5bytes - # next - self.state = 2 - self.left = 4 - self.ch = chr(c) - else: - self.die() - - # n-th byte (where 2<=n) - else: - if c & 0xc0 == 0x80: # 10xxxxxx: continuous? - self.state += 1 - self.left -= 1 - self.ch += chr(c) - if self.left == 0: # finished? - # succeed - self.state = 1 - self.accept(self.ch) - self.ch = "" - else: - # next - pass - else: - self.die() - - return - - -# guess -def guess(s): - recognizer = [ - EUCJP_Recognizer(), - CP932_Recognizer(), - ISO8859_Recognizer(), - UTF8_Recognizer() - ] - for c in s: - for r in recognizer: - r.feed(ord(c)) - for r in recognizer: - r.finish() - #print r - recognizer.sort(lambda a,b: cmp(b.total_score, a.total_score)) - return recognizer[0].encoding - -# test suite -def test(s0, test_encodings): - false_encodings = [ "japanese.euc_jp", "japanese.ms932", "utf8", "iso8859_1" ] - for enc1 in test_encodings: - try: - s = s0.encode(enc1) - except UnicodeError: - continue - print "try '%s' in %s (%s)" % (s0.encode('utf8'), enc1.encode('utf8'), " ".join(map(lambda c:"%02x" % ord(c), s))) - for enc2 in false_encodings: - if enc1 != enc2: - try: - x = str(unicode(s, enc2)) - print " (could be: '%s' in %s)" % (x, enc2) - except UnicodeError: - continue - genc = guess(s) - if genc == enc1: - print " CORRECT:", genc - else: - print " ! INCORRECT:", genc - print - return - -def test_suite(): - # kana only - test(u"縺薙s縺ォ縺。縺ッ", ["japanese.euc_jp", "japanese.ms932", "utf8"]) - # kana + alphanum - test(u"A縺ッB縺ィC縺ァ縺ゅk", ["japanese.euc_jp", "japanese.ms932", "utf8"]) - # kana + kanji - test(u"豈取悃譁ー閨槭ル繝・繝シ繧ケ", ["japanese.euc_jp", "japanese.ms932", "utf8"]) - # kanji + hankakukana - test(u"辟。鬘鯉セセ橸スキスュセ抵セ晢セ", ["japanese.ms932", "utf8"]) - # iso8859-1 - test(u"Enzyklop\u00e4die", ["utf8", "iso8859_1"]) - return - -# main -test_suite(); sys.exit(0) -if __name__ == "__main__": - import fileinput - for s in fileinput.input(): - print guess(s) diff --git a/po/POTFILES.in b/po/POTFILES.in index 5aee97fe0..40df5785d 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,342 +1,340 @@ # List of source files which contain translatable strings. config/cdspage.wml config/cdswmllib.wml modules/bibclassify/doc/admin/index.html.wml modules/bibclassify/doc/admin/guide.html.wml modules/bibconvert/bin/bibconvert.in modules/bibconvert/doc/admin/guide.html.wml modules/bibconvert/doc/admin/index.html.wml modules/bibconvert/lib/bibconvert.py modules/bibconvert/lib/bibconvert_tests.py modules/bibedit/bin/refextract.in modules/bibedit/bin/xmlmarclint.in modules/bibedit/doc/admin/guide.html.wml modules/bibedit/doc/admin/index.html.wml modules/bibedit/lib/bibedit_templates.py modules/bibedit/lib/bibrecord_config.py modules/bibedit/lib/bibrecord.py modules/bibedit/lib/bibrecord_tests.py modules/bibedit/lib/refextract_config.py modules/bibedit/lib/refextract.py modules/bibedit/web/admin/bibeditadmin.py modules/bibformat/bin/bibformat.in modules/bibformat/bin/bibreformat.in modules/bibformat/doc/admin/guide.html.wml modules/bibformat/web/admin/BEH_ACTION_add.php.wml modules/bibformat/web/admin/BEH_ACTION_edit.php.wml modules/bibformat/web/admin/BEH_COND_edit.php.wml modules/bibformat/web/admin/BEH_OTYPE_del.php.wml modules/bibformat/web/admin/BEH_OTYPE_showone.php.wml modules/bibformat/web/admin/BEH_display.php.wml modules/bibformat/web/admin/BIBREFORMAT_display.php.wml modules/bibformat/web/admin/BIBREFORMAT_hand.php.wml modules/bibformat/web/admin/BIBREFORMAT_tree.php.wml modules/bibformat/web/admin/FORMAT_display.php.wml modules/bibformat/web/admin/KB_display.php.wml modules/bibformat/web/admin/LINK_FORMAT_display.php.wml modules/bibformat/web/admin/LINK_display.php.wml modules/bibformat/web/admin/OAIER_SF_add.php.wml modules/bibformat/web/admin/OAIER_display.php.wml modules/bibformat/web/admin/UDF_display.php.wml modules/bibformat/web/admin/index.php.wml modules/bibformat/web/admin/test.php.wml modules/bibharvest/bin/bibharvest.in modules/bibharvest/bin/oaiharvest.in modules/bibharvest/doc/admin/guide.html.wml modules/bibharvest/doc/admin/index.html.wml modules/bibharvest/lib/bibharvestadminlib.py modules/bibharvest/lib/bibharvest_templates.py modules/bibharvest/lib/oaiharvestlib.py modules/bibharvest/lib/oai_repository_config.py modules/bibharvest/lib/oai_repository.py modules/bibharvest/lib/oai_repository_tests.py modules/bibharvest/web/admin/bibharvestadmin.py modules/bibindex/bin/bibindex.in modules/bibindex/bin/bibstat.in modules/bibindex/doc/admin/index.html.wml modules/bibindex/doc/admin/guide.html.wml modules/bibindex/lib/bibindexadminlib.py modules/bibindex/lib/bibindex_engine_config.py modules/bibindex/lib/bibindex_engine.py modules/bibindex/lib/bibindex_engine_stemmer.py modules/bibindex/lib/bibindex_engine_stemmer_tests.py modules/bibindex/lib/bibindex_engine_stopwords.py modules/bibindex/lib/bibindex_engine_tests.py modules/bibindex/web/admin/bibindexadmin.py modules/bibmatch/doc/admin/index.html.wml modules/bibmatch/doc/admin/guide.html.wml modules/bibrank/bin/bibrankgkb.in modules/bibrank/bin/bibrank.in modules/bibrank/doc/admin/index.html.wml modules/bibrank/doc/admin/guide.html.wml modules/bibrank/doc/hacking/api.html.wml modules/bibrank/doc/hacking/bibrankgkb.html.wml modules/bibrank/doc/hacking/index.html.wml modules/bibrank/doc/hacking/single_tag_rank.html.wml modules/bibrank/doc/hacking/word_similarity.html.wml modules/bibrank/lib/bibrankadminlib.py modules/bibrank/lib/bibrank_citation_grapher.py modules/bibrank/lib/bibrank_citation_indexer.py modules/bibrank/lib/bibrank_citation_indexer_tests.py modules/bibrank/lib/bibrank_citation_searcher.py modules/bibrank/lib/bibrank_citation_searcher_tests.py modules/bibrank/lib/bibrank_downloads_grapher.py modules/bibrank/lib/bibrank_downloads_indexer.py modules/bibrank/lib/bibrank_downloads_indexer_tests.py modules/bibrank/lib/bibrank_downloads_similarity.py modules/bibrank/lib/bibrank_grapher.py modules/bibrank/lib/bibrank_record_sorter.py modules/bibrank/lib/bibrank_record_sorter_tests.py modules/bibrank/lib/bibrank_tag_based_indexer.py modules/bibrank/lib/bibrank_tag_based_indexer_tests.py modules/bibrank/lib/bibrank_word_indexer.py modules/bibrank/web/admin/bibrankadmin.py modules/bibsched/bin/bibsched.in modules/bibsched/bin/bibtaskex.in modules/bibsched/doc/admin/guide.html.wml modules/bibsched/doc/admin/index.html.wml modules/bibupload/doc/admin/guide.html.wml modules/bibupload/doc/admin/index.html.wml modules/elmsubmit/bin/elmsubmit.in modules/elmsubmit/doc/admin/guide.html.wml modules/elmsubmit/doc/admin/index.html.wml modules/elmsubmit/lib/elmsubmit_enriched2txt.py modules/elmsubmit/lib/elmsubmit_EZArchive.py modules/elmsubmit/lib/elmsubmit_EZEmail.py modules/elmsubmit/lib/elmsubmit_field_validation.py modules/elmsubmit/lib/elmsubmit_filename_generator.py modules/elmsubmit/lib/elmsubmit_html2txt.py modules/elmsubmit/lib/elmsubmit_misc.py modules/elmsubmit/lib/elmsubmit.py modules/elmsubmit/lib/elmsubmit_richtext2txt.py modules/elmsubmit/lib/elmsubmit_submission_parser.py -modules/elmsubmit/lib/encdet.py -modules/elmsubmit/lib/encdet_utf8.py modules/elmsubmit/lib/magic/compile_magic.py modules/elmsubmit/lib/magic/__init__.py modules/elmsubmit/lib/myhtmlentitydefs.py modules/miscutil/bin/dbexec.in modules/miscutil/bin/dbtest.in modules/miscutil/bin/testsuite.in modules/miscutil/demo/democfgdata.sql.wml modules/miscutil/lib/config.py.wml modules/miscutil/lib/dateutils.py modules/miscutil/lib/dbquery.py.wml modules/miscutil/lib/errorlib.py modules/miscutil/lib/errorlib_tests.py modules/miscutil/lib/errorlib_webinterface.py modules/miscutil/lib/__init__.py modules/miscutil/lib/miscutil_config.py modules/miscutil/lib/messages.py.wml modules/miscutil/lib/textutils.py modules/miscutil/sql/tabfill.sql.wml modules/webaccess/bin/authaction.in modules/webaccess/bin/webaccessadmin.in modules/webaccess/doc/admin/guide.html.wml modules/webaccess/doc/hacking/admin-internals.html.wml modules/webaccess/doc/hacking/api.html.wml modules/webaccess/doc/hacking/index.html.wml modules/webaccess/doc/hacking/table-structure.html.wml modules/webaccess/lib/access_control_admin.py modules/webaccess/lib/access_control_config.py modules/webaccess/lib/access_control_engine.py modules/webaccess/lib/external_authentication.py modules/webaccess/lib/webaccessadmin_lib.py modules/webaccess/web/admin/webaccessadmin.py modules/webalert/bin/alertengine.in modules/webalert/doc/admin/guide.html.wml modules/webalert/doc/admin/index.html.wml modules/webalert/lib/alert_engine.py modules/webalert/lib/htmlparser.py modules/webalert/lib/webalert.py modules/webalert/lib/webalert_templates.py modules/webalert/lib/webalert_webinterface.py modules/webbasket/doc/admin/guide.html.wml modules/webbasket/doc/admin/index.html.wml modules/webbasket/lib/webbasket.py modules/webbasket/lib/webbasket_config.py modules/webbasket/lib/webbasket_templates.py modules/webbasket/lib/webbasket_webinterface.py modules/webcomment/doc/admin/index.html.wml modules/webcomment/doc/admin/guide.html.wml modules/webcomment/lib/webcommentadminlib.py modules/webcomment/lib/webcomment_config.py modules/webcomment/lib/webcomment.py modules/webcomment/lib/webcomment_templates.py modules/webcomment/lib/webcomment_tests.py modules/webcomment/lib/webcomment_webinterface.py modules/webcomment/web/admin/webcommentadmin.py modules/webhelp/web/admin/howto/index.html.wml modules/webhelp/web/admin/howto/marc.html.wml modules/webhelp/web/admin/howto/migrate.html.wml modules/webhelp/web/admin/howto/run.html.wml modules/webhelp/web/admin/index.html.wml modules/webhelp/web/hacking/concepts.html.wml modules/webhelp/web/hacking/directory.html.wml modules/webhelp/web/hacking/index.html.wml modules/webhelp/web/hacking/modules.html.wml modules/webhelp/web/hacking/releases.html.wml modules/webhelp/web/hacking/style.html.wml modules/webhelp/web/hacking/testsuite.html.wml modules/webhelp/web/index.html.wml modules/webmessage/bin/webmessageadmin.in modules/webmessage/doc/admin/guide.html.wml modules/webmessage/doc/admin/index.html.wml modules/webmessage/lib/webmessage_config.py modules/webmessage/lib/webmessage_dblayer.py modules/webmessage/lib/webmessage_mailutils.py modules/webmessage/lib/webmessage.py modules/webmessage/lib/webmessage_templates.py modules/webmessage/lib/webmessage_webinterface.py modules/websearch/bin/webcoll.in modules/websearch/doc/admin/index.html.wml modules/websearch/doc/admin/guide.html.wml modules/websearch/doc/guide.html.wml modules/websearch/doc/hacking/api.html.wml modules/websearch/doc/hacking/index.html.wml modules/websearch/doc/hacking/stages.html.wml modules/websearch/doc/index.html.wml modules/websearch/doc/tips.html.wml modules/websearch/lib/search_engine_config.py modules/websearch/lib/search_engine.py modules/websearch/lib/search_engine_tests.py modules/websearch/lib/websearchadminlib.py modules/websearch/lib/websearch_templates.py modules/websearch/lib/websearch_webinterface.py modules/websearch/web/admin/websearchadmin.py modules/websession/bin/sessiongc.in modules/websession/doc/admin/guide.html.wml modules/websession/doc/admin/index.html.wml modules/websession/lib/session.py modules/websession/lib/webaccount.py modules/websession/lib/websession.py modules/websession/lib/websession_templates.py modules/websession/lib/webuser.py modules/websession/lib/websession_webinterface.py modules/webstat/bin/webstat.in modules/webstat/doc/admin/guide.html.wml modules/webstat/doc/admin/index.html.wml modules/webstyle/doc/admin/guide.html.wml modules/webstyle/doc/admin/index.html.wml modules/webstyle/lib/template.py modules/webstyle/lib/webpage.py modules/webstyle/lib/webstyle_templates.py modules/websubmit/bin/thumbmaker.in modules/websubmit/doc/access.html.wml modules/websubmit/doc/actions.html.wml modules/websubmit/doc/admin/actionimplement.html.wml modules/websubmit/doc/admin/actionmodify.html.wml modules/websubmit/doc/admin/actionnew.html.wml modules/websubmit/doc/admin/actionremove.html.wml modules/websubmit/doc/admin/actions.html.wml modules/websubmit/doc/admin/bibconvert.html.wml modules/websubmit/doc/admin/catalogues.html.wml modules/websubmit/doc/admin/description.html.wml modules/websubmit/doc/admin/documentmodify.html.wml modules/websubmit/doc/admin/documentnew.html.wml modules/websubmit/doc/admin/documentremove.html.wml modules/websubmit/doc/admin/documents.html.wml modules/websubmit/doc/admin/example.html.wml modules/websubmit/doc/admin/faq.html.wml modules/websubmit/doc/admin/functiondelete.html.wml modules/websubmit/doc/admin/functiondescription.html.wml modules/websubmit/doc/admin/functionedit.html.wml modules/websubmit/doc/admin/functionnew.html.wml modules/websubmit/doc/admin/functions.html.wml modules/websubmit/doc/admin/implementfunctions.html.wml modules/websubmit/doc/admin/implementwebform.html.wml modules/websubmit/doc/admin/index.html.wml modules/websubmit/doc/admin/introduction.html.wml modules/websubmit/doc/admin/philosophy.html.wml modules/websubmit/doc/admin/protection.html.wml modules/websubmit/doc/approval.html.wml modules/websubmit/doc/approvals.html.wml modules/websubmit/doc/bibliographic_fields.html.wml modules/websubmit/doc/description.html.wml modules/websubmit/doc/file_transfer.html.wml modules/websubmit/doc/index.html.wml modules/websubmit/doc/introduction.html.wml modules/websubmit/doc/login.html.wml modules/websubmit/doc/modification.html.wml modules/websubmit/doc/password.html.wml modules/websubmit/doc/pending.html.wml modules/websubmit/doc/revised_version.html.wml modules/websubmit/doc/submission.html.wml modules/websubmit/doc/subnumber.html.wml modules/websubmit/lib/file.py modules/websubmit/lib/functions/Add_Files.py modules/websubmit/lib/functions/CaseEDS.py modules/websubmit/lib/functions/Create_Modify_Interface.py modules/websubmit/lib/functions/Create_Recid.py modules/websubmit/lib/functions/Finish_Submission.py modules/websubmit/lib/functions/Format_Record.py modules/websubmit/lib/functions/Get_Info.py modules/websubmit/lib/functions/Get_Report_Number.py modules/websubmit/lib/functions/Get_Sysno.py modules/websubmit/lib/functions/Insert_Modify_Record.py modules/websubmit/lib/functions/Insert_Record.py modules/websubmit/lib/functions/Is_Original_Submitter.py modules/websubmit/lib/functions/Is_Referee.py modules/websubmit/lib/functions/mail.py modules/websubmit/lib/functions/Mail_Submitter.py modules/websubmit/lib/functions/Make_Modify_Record.py modules/websubmit/lib/functions/Make_Record.py modules/websubmit/lib/functions/Move_Files_Archive.py modules/websubmit/lib/functions/Move_From_Pending.py modules/websubmit/lib/functions/Move_to_Done.py modules/websubmit/lib/functions/Move_to_Pending.py modules/websubmit/lib/functions/Print_Success_APP.py modules/websubmit/lib/functions/Print_Success_DEL.py modules/websubmit/lib/functions/Print_Success_MBI.py modules/websubmit/lib/functions/Print_Success.py modules/websubmit/lib/functions/Print_Success_SRV.py modules/websubmit/lib/functions/Report_Number_Generation.py modules/websubmit/lib/functions/Retrieve_Data.py modules/websubmit/lib/functions/Send_APP_Mail.py modules/websubmit/lib/functions/Send_Approval_Request.py modules/websubmit/lib/functions/Send_Modify_Mail.py modules/websubmit/lib/functions/Send_SRV_Mail.py modules/websubmit/lib/functions/Test_Status.py modules/websubmit/lib/functions/Update_Approval_DB.py modules/websubmit/lib/functions/Upload_Files.py modules/websubmit/lib/websubmit_config.py modules/websubmit/lib/websubmit_engine.py modules/websubmit/lib/websubmit_templates.py modules/websubmit/lib/websubmit_webinterface.py modules/websubmit/web/admin/referees.py modules/websubmit/web/approve.py modules/websubmit/web/publiline.py modules/websubmit/web/yourapprovals.py modules/websubmit/web/yoursubmissions.py modules/websubmit/web/admin/func.php.wml modules/websubmit/web/admin/viewEditSubmissionEDS.php.wml modules/websubmit/web/admin/viewChecksEDS.php.wml modules/websubmit/web/admin/viewActionEDS.php.wml modules/websubmit/web/admin/removeDoctypeEDS.php.wml modules/websubmit/web/admin/parameterUpdate.php.wml modules/websubmit/web/admin/newSubmissionEDS.php.wml modules/websubmit/web/admin/newFunc.php.wml modules/websubmit/web/admin/pageDetsEDS.php.wml modules/websubmit/web/admin/funcUsage.php.wml modules/websubmit/web/admin/index.php.wml modules/websubmit/web/admin/elementConfigDetsEDS.php.wml modules/websubmit/web/admin/editRecordFile.php.wml modules/websubmit/web/admin/editPageElementEDS.php.wml modules/websubmit/web/admin/editDoctypeEDS.php.wml modules/websubmit/web/admin/editActionDets.php.wml modules/websubmit/web/admin/documentEDS.php.wml modules/websubmit/web/admin/doctypeCategoriesEDS.php.wml modules/websubmit/web/admin/allElementsEDS.php.wml modules/websubmit/web/admin/allChecksEDS.php.wml modules/websubmit/web/admin/allActionsEDS.php.wml modules/websubmit/web/admin/addFunctions.php.wml modules/websubmit/web/admin/addElement2PageEDS.php.wml modules/websubmit/web/admin/addCheckEDS.php.wml modules/websubmit/web/admin/addActionEDS.php.wml modules/websubmit/web/admin/addElementDescrEDS.php.wml modules/websubmit/web/admin/editCatalogues.php.wml modules/websubmit/web/admin/listFunctions.php.wml modules/websubmit/web/admin/newDoctypeEDS.php.wml modules/websubmit/web/admin/veditFunDets.php.wml modules/websubmit/web/admin/actionFunctions.php.wml modules/websubmit/web/admin/websubmitadmin.py