Mon 27th Jun 2005
ecto: Auto abbr/acronym
Posted in the evening, filed under Blogging , Python , ecto.There are a couple of instances of scripts out there that automatically apply abbr and acronym tags to pages, but I wanted to be able to do the same in ecto. This is also the first time I wrote a plugin script for ecto, and I wanted to do it in python.
Please note that this here script is untested until I get onto my Mac and test the hell out of it.
The script works, with the caveat listed in TODO.
#! /usr/bin/env python 'A script for ecto that adds abbr and acronym tags to the text' TODO = ''' Fix it so that acronyms without a space either side (for example, that finish a sentence) work. Lookup on the internet for a list of acronyms/abbreviations? ''' acronyms={'WYSIWYG':'What You See Is What You Get', 'DOM':'Document Object Model'} abbrs={'XHTML':'eXtensible HyperText Markup Language', 'NSLU2':'[Linksys] Network Storage Link (USB) 2.0'} # Add more values to your hearts content… # get input data - depends on implementation. For ecto: import sys data = open(sys.argv[1]).read() # replace only the first instance of each acronym/abbreviation for each in acronyms: data.replace(' '+each+' ', '<acronym title="'+acronyms[each]+'">'+each+'</acronym>',1) for each in abbrs: data.replace(' '+each+' ', '<abbr title="'+abbrs[each]+'">'+each+'</abbr>',1) #return data to ecto open(sys.argv[1],'w').write(data)
Note: Comments turned off: too much Spam on this entry.
Okay, I’ve seen some code that will help with the choosing words only.
Instead of the
data.replace()stuff, there needs to be are.compile(r'\\b%s\\b' % each, re.I), and probably a slice replacement.2 days, 11 hours after the fact.