Rosetta Code/Fix code tags: Difference between revisions
Content added Content deleted
Line 14: | Line 14: | ||
=={{header|Python}}== |
=={{header|Python}}== |
||
Syntax highlighting does not work, because <nowiki></ |
Syntax highlighting does not work, because <nowiki></lang></nowiki> is inside the code. |
||
<pre> |
<pre> |
||
Line 22: | Line 22: | ||
import re |
import re |
||
langs = ['ada', 'cpp-qt', 'pascal', 'lscript', 'z80', 'visualprolog', |
|||
langs = ['ada', 'cpp-qt', 'pascal', 'lscript', 'z80', 'visualprolog', 'html4strict', 'cil', 'objc', 'asm', 'progress', 'teraterm', 'hq9plus', 'genero', 'tsql', 'email', 'pic16', 'tcl', 'apt_sources', 'io', 'apache', 'vhdl', 'avisynth', 'winbatch', 'vbnet', 'ini', 'scilab', 'ocaml-brief', 'sas', 'actionscript3', 'qbasic', 'perl', 'bnf', 'cobol', 'powershell', 'php', 'kixtart', 'visualfoxpro', 'mirc', 'make', 'javascript', 'cpp', 'sdlbasic', 'cadlisp', 'php-brief', 'rails', 'verilog', 'xml', 'csharp', 'actionscript', 'nsis', 'bash', 'typoscript', 'freebasic', 'dot', 'applescript', 'haskell', 'dos', 'oracle8', 'cfdg', 'glsl', 'lotusscript', 'mpasm', 'latex', 'sql', 'klonec', 'ruby', 'ocaml', 'smarty', 'python', 'oracle11', 'caddcl', 'robots', 'groovy', 'smalltalk', 'diff', 'fortran', 'cfm', 'lua', 'modula3', 'vb', 'autoit', 'java', 'text', 'scala', 'lotusformulas', 'pixelbender', 'reg', '_div', 'whitespace', 'providex', 'asp', 'css', 'lolcode', 'lisp', 'inno', 'mysql', 'plsql', 'matlab', 'oobas', 'vim', 'delphi', 'xorg_conf', 'gml', 'prolog', 'bf', 'per', 'scheme', 'mxml', 'd', 'basic4gl', 'm68k', 'gnuplot', 'idl', 'abap', 'intercal', 'c_mac', 'thinbasic', 'java5', 'xpp', 'boo', 'klonecpp', 'blitzbasic', 'eiffel', 'povray', 'c', 'gettext'] |
|||
'html4strict', 'cil', 'objc', 'asm', 'progress', 'teraterm', 'hq9plus', |
|||
'genero', 'tsql', 'email', 'pic16', 'tcl', 'apt_sources', 'io', 'apache', |
|||
'vhdl', 'avisynth', 'winbatch', 'vbnet', 'ini', 'scilab', 'ocaml-brief', |
|||
'sas', 'actionscript3', 'qbasic', 'perl', 'bnf', 'cobol', 'powershell', |
|||
'php', 'kixtart', 'visualfoxpro', 'mirc', 'make', 'javascript', 'cpp', |
|||
'sdlbasic', 'cadlisp', 'php-brief', 'rails', 'verilog', 'xml', 'csharp', |
|||
'actionscript', 'nsis', 'bash', 'typoscript', 'freebasic', 'dot', |
|||
'applescript', 'haskell', 'dos', 'oracle8', 'cfdg', 'glsl', 'lotusscript', |
|||
'mpasm', 'latex', 'sql', 'klonec', 'ruby', 'ocaml', 'smarty', 'python', |
|||
'oracle11', 'caddcl', 'robots', 'groovy', 'smalltalk', 'diff', 'fortran', |
|||
'cfm', 'lua', 'modula3', 'vb', 'autoit', 'java', 'text', 'scala', |
|||
'lotusformulas', 'pixelbender', 'reg', '_div', 'whitespace', 'providex', |
|||
'asp', 'css', 'lolcode', 'lisp', 'inno', 'mysql', 'plsql', 'matlab', |
|||
'oobas', 'vim', 'delphi', 'xorg_conf', 'gml', 'prolog', 'bf', 'per', |
|||
'scheme', 'mxml', 'd', 'basic4gl', 'm68k', 'gnuplot', 'idl', 'abap', |
|||
'intercal', 'c_mac', 'thinbasic', 'java5', 'xpp', 'boo', 'klonecpp', |
|||
'blitzbasic', 'eiffel', 'povray', 'c', 'gettext'] |
|||
text = sys.stdin.read() |
text = sys.stdin.read() |
||
for i in langs: |
for i in langs: |
||
text = text.replace("<%s>" % i,"<lang %s>" % i) |
text = text.replace("<%s>" % i, "<lang %s>" % i) |
||
text = text.replace("</%s>" % i, "</lang>") |
text = text.replace("</%s>" % i, "</lang>") |
||
text = re.sub("<code (.*)>", r"<lang \1>", text) |
text = re.sub("<code (.*)>", r"<lang \1>", text) |
||
text = text.replace("</code>","</lang>") |
text = text.replace("</code>", "</lang>") |
||
print text |
print text |
Revision as of 05:55, 30 January 2009
Rosetta Code/Fix code tags
You are encouraged to solve this task according to the task description, using any language you may know.
You are encouraged to solve this task according to the task description, using any language you may know.
Fix Rosetta Code deprecated code tags, with these rules:
Change <%s> to <lang %s> Change </%s> to </lang> Change <code %s> to <lang %s> Change </code> to </lang>
Usage:
cat wikisource.txt | ./convert.py > converted.txt
Python
Syntax highlighting does not work, because </lang> is inside the code.
# coding: utf-8 import sys import re langs = ['ada', 'cpp-qt', 'pascal', 'lscript', 'z80', 'visualprolog', 'html4strict', 'cil', 'objc', 'asm', 'progress', 'teraterm', 'hq9plus', 'genero', 'tsql', 'email', 'pic16', 'tcl', 'apt_sources', 'io', 'apache', 'vhdl', 'avisynth', 'winbatch', 'vbnet', 'ini', 'scilab', 'ocaml-brief', 'sas', 'actionscript3', 'qbasic', 'perl', 'bnf', 'cobol', 'powershell', 'php', 'kixtart', 'visualfoxpro', 'mirc', 'make', 'javascript', 'cpp', 'sdlbasic', 'cadlisp', 'php-brief', 'rails', 'verilog', 'xml', 'csharp', 'actionscript', 'nsis', 'bash', 'typoscript', 'freebasic', 'dot', 'applescript', 'haskell', 'dos', 'oracle8', 'cfdg', 'glsl', 'lotusscript', 'mpasm', 'latex', 'sql', 'klonec', 'ruby', 'ocaml', 'smarty', 'python', 'oracle11', 'caddcl', 'robots', 'groovy', 'smalltalk', 'diff', 'fortran', 'cfm', 'lua', 'modula3', 'vb', 'autoit', 'java', 'text', 'scala', 'lotusformulas', 'pixelbender', 'reg', '_div', 'whitespace', 'providex', 'asp', 'css', 'lolcode', 'lisp', 'inno', 'mysql', 'plsql', 'matlab', 'oobas', 'vim', 'delphi', 'xorg_conf', 'gml', 'prolog', 'bf', 'per', 'scheme', 'mxml', 'd', 'basic4gl', 'm68k', 'gnuplot', 'idl', 'abap', 'intercal', 'c_mac', 'thinbasic', 'java5', 'xpp', 'boo', 'klonecpp', 'blitzbasic', 'eiffel', 'povray', 'c', 'gettext'] text = sys.stdin.read() for i in langs: text = text.replace("<%s>" % i, "<lang %s>" % i) text = text.replace("</%s>" % i, "</lang>") text = re.sub("<code (.*)>", r"<lang \1>", text) text = text.replace("</code>", "</lang>") print text