diff options
-rw-r--r-- | libraries/python-levenshtein/README | 3 | ||||
-rw-r--r-- | libraries/python-levenshtein/genextdoc.py | 216 | ||||
-rw-r--r-- | libraries/python-levenshtein/python-levenshtein.SlackBuild | 81 | ||||
-rw-r--r-- | libraries/python-levenshtein/python-levenshtein.info | 8 | ||||
-rw-r--r-- | libraries/python-levenshtein/slack-desc | 19 |
5 files changed, 0 insertions, 327 deletions
diff --git a/libraries/python-levenshtein/README b/libraries/python-levenshtein/README deleted file mode 100644 index 69d943d69f..0000000000 --- a/libraries/python-levenshtein/README +++ /dev/null @@ -1,3 +0,0 @@ -python-levenhstein is a C extension module for Python that can be -used for fast calculation of string distances with the Levenshtein -algorithm, as well as some other methods. diff --git a/libraries/python-levenshtein/genextdoc.py b/libraries/python-levenshtein/genextdoc.py deleted file mode 100644 index fa0113f0a4..0000000000 --- a/libraries/python-levenshtein/genextdoc.py +++ /dev/null @@ -1,216 +0,0 @@ -#!/usr/bin/env python -# Simple Python extension module doc generator. -# @(#) $Id: genextdoc.py,v 1.5 2004/10/07 15:32:31 yeti Exp $ -# Written by Yeti <yeti@physics.muni.cz> -# This program is in the public domain. -import re, sys, types, inspect -from cgi import escape as q - -args = sys.argv -args.pop(0) -if not args: - print 'Usage: genextdoc.py [--selfcontained] module_name' - sys.exit(0) - -selfcontained = False -if args[0].startswith('-') and 'selfcontained'.startswith(args[0].strip('-')): - selfcontained = True - args.pop(0) -if not args: sys.exit(0) -modname = args.pop(0) -plain_docs = args - -html_head = """\ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> -<head><title>%s %s</title></head> -<body> -""" - -html_foot = """\ -</body> -</html> -""" - -def split_para(doc): - p = [] - for x in doc.split('\n\n'): - x = x.strip() - if x.find('\n>>>') > -1: - h, t = x.split('\n>>>', 1) - p.append(h) - p.append('>>>' + t) - else: - p.append(x) - return p - -def get_doc(members): - try: doc = members['__doc__'] - except KeyError: pass - if doc: return doc - try: doc = 'Python module %s' % members['__name__'] - except KeyError: pass - if doc: return doc - else: return 'A Python module' - -def format_synopsis(synopsis, link=False, classname=None): - lst = synopsis.split('\n') - for i, s in zip(range(len(lst)), lst): - m = re.match(r'(?P<func>\w+)(?P<args>.*)', s) - args = re.sub(r'([a-zA-Z]\w+)', r'<var>\1</var>', m.group('args')) - func = m.group('func') - if link: - if classname: - func = '<a href="#%s-%s">%s</a>' % (classname, func, func) - else: - func = '<a href="#%s">%s</a>' % (func, func) - lst[i] = func + args - return '<br/>\n'.join(lst) - -def format_para(p): - if not p: return '' - doc = '' - if p.startswith('>>>'): doc += '<pre>\n%s\n</pre>\n' % q(p) - else: - if not re.search('^- ', p, re.M): doc += '<p>%s</p>\n' % q(p) - else: - p = re.split('(?m)^- ', p) - if p[0]: doc += '<p>%s</p>\n' % q(p[0].strip()) - del p[0] - doc += ('<ul>%s</ul>\n' - % '\n'.join(['<li>%s</li>' % q(p.strip()) for p in p])) - return doc - -def preprocess_routine(name, doc): - parts = split_para(doc) - if parts: summary = parts.pop(0) - else: summary = 'FIXME' - if parts and re.match(r'\w+\(.*\)', parts[0]): synopsis = parts.pop(0) - else: synopsis = name + '()' - return {'synopsis': synopsis, 'summary': summary, 'details': parts} - -def analyse(obj): - members = obj.__dict__ - if inspect.isclass(obj): - main_doc = preprocess_routine(obj.__name__, get_doc(members)) - bases = [x.__name__ for x in obj.__bases__] - else: - main_doc = split_para(get_doc(members)) - bases = [] - routines = {} - classes = {} - data = {} - for name, m in members.items(): - if name.startswith('__'): continue - try: - mro = list(inspect.getmro(m)) - if mro[0] != m: continue - except AttributeError: pass - if inspect.isroutine(m): - try: doc = m.__doc__ - except KeyError: pass - if not doc: doc = 'FIXME' - routines[name] = preprocess_routine(name, doc) - continue - if inspect.isclass(m): - classes[name] = analyse(m) - continue - t = type(m) - if t == types.IntType or t == types.StringType: - data[name] = repr(m) - else: - data[name] = m.__doc__ - return {'name': obj.__name__, 'doc': main_doc, 'routines': routines, - 'classes': classes, 'data': data, 'bases': bases} - -def format(tree, level, prefix=''): - name = tree['name'] - if prefix: fullname = '%s-%s' % (prefix, name) - else: fullname = name - ##### Main doc - doc = [] - if level > 1: - doc = ['<h%d id="%s">' % (level, fullname)] - try: doc.append(format_synopsis(tree['doc']['synopsis'])) - except TypeError: - doc.append(name) - doc.append('</h%d>\n' % level) - if tree.has_key('bases'): - doc.append('<p>Bases: %s.</p>\n' % ', '.join(tree['bases'])) - try: lst = [tree['doc']['summary']] + tree['doc']['details'] - except TypeError: lst = tree['doc'] - for p in lst: doc.append(format_para(p)) - ##### Table of contents - routines = tree['routines'].keys() - classes = tree['classes'].keys() - data = tree['data'].keys() - if routines: - routines.sort() - if level == 1: doc.append('<p><b>Functions:</b></p>\n') - else: doc.append('<p><b>Methods:</b></p>\n') - doc.append('<ul class="ltoc">\n') - for r in routines: - synopsis = tree['routines'][r]['synopsis'] - doc.append('<li>%s</li>\n' % format_synopsis(synopsis, True, - fullname)) - doc.append('</ul>\n') - if classes: - classes.sort() - doc.append('<p><b>Classes:</b></p>\n') - doc.append('<ul class="ltoc">\n') - for r in classes: - synopsis = tree['classes'][r]['doc']['synopsis'] - doc.append('<li>%s</li>\n' % format_synopsis(synopsis, True, - fullname)) - doc.append('</ul>\n') - if data: - data.sort() - doc.append('<p><b>Data:</b></p>\n') - doc.append('<ul class="ltoc">\n') - for r in data: - doc.append('<li>%s = %s</li>\n' % (r, q(tree['data'][r]))) - doc.append('</ul>\n') - ##### Functions - if routines: - if level == 1: doc.append('<hr/>\n') - doc.append('<dl>\n') - for r in routines: - doc.append('<dt id="%s-%s">' % (fullname, r)) - rt = tree['routines'][r] - doc.append('%s</dt>\n<dd>' % format_synopsis(rt['synopsis'])) - for p in [rt['summary']] + rt['details']: - doc.append(format_para(p)) - doc.append('</dd>\n') - doc.append('</dl>\n') - ##### Classes - if classes: - for r in classes: - doc.append('<hr/>\n') - doc.append(format(tree['classes'][r], level+1, fullname)) - return ''.join(doc) - -exec 'import %s as __test__' % modname -doctree = analyse(__test__) -document = format(doctree, 1) -print modname + '.html' -fh = file(modname + '.html', 'w') -if selfcontained: fh.write(html_head % (modname, 'module API')) -fh.write(document) -if selfcontained: fh.write(html_foot) -fh.close() -for f in plain_docs: - try: fh = file(f, 'r') - except: continue - document = fh.read() - fh.close() - print f + '.xhtml' - fh = file(f + '.xhtml', 'w') - if selfcontained: fh.write(html_head % (modname, f)) - fh.write('<h1>%s %s</h1>\n\n' % (modname, f)) - fh.write('<pre class="main">\n') - fh.write(document) - fh.write('</pre>\n') - if selfcontained: fh.write(html_foot) - fh.close() diff --git a/libraries/python-levenshtein/python-levenshtein.SlackBuild b/libraries/python-levenshtein/python-levenshtein.SlackBuild deleted file mode 100644 index 5e3cb946a4..0000000000 --- a/libraries/python-levenshtein/python-levenshtein.SlackBuild +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/sh - -# Slackware build script for python-levenshtein - -# Copyright (c) 2007 Daniel de Kok <moc.mikciat@leinad> -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# Exit on most errors -set -e - -PRGNAM=python-levenshtein -DISTNAM=python-Levenshtein -VERSION=0.10.1 -ARCH=${ARCH:-i486} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" -fi - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $DISTNAM-$VERSION -tar xzvf $CWD/$DISTNAM-$VERSION.tar.gz -cd $DISTNAM-$VERSION -cp $CWD/genextdoc.py . -chown -R root:root . -chmod -R u+w,go+r-w,a-s . - -CFLAGS="$SLKCFLAGS" \ -python setup.py bdist - -tar zxvf dist/$DISTNAM-$VERSION.linux-i686.tar.gz -C $PKG - -( find $PKG | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : \ - | xargs strip --strip-unneeded 2> /dev/null ) - -# Generate HTML documentation that describes the module functions. -# Maybe we'll want to replace the Python version number with a variable -# in the future, but for the moment this is for Slackware Linux 11. -PYTHONPATH=$PKG/usr/lib/python2.5/site-packages sh gendoc.sh --selfcontained - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a COPYING Levenshtein.html NEWS README $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -# Add the StringMatcher moduke as an example. You may choose to provide -# this system-wide. -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/examples -cp StringMatcher.py $PKG/usr/doc/$PRGNAM-$VERSION/examples - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz diff --git a/libraries/python-levenshtein/python-levenshtein.info b/libraries/python-levenshtein/python-levenshtein.info deleted file mode 100644 index b010d2b7a1..0000000000 --- a/libraries/python-levenshtein/python-levenshtein.info +++ /dev/null @@ -1,8 +0,0 @@ -PRGNAM="python-levenshtein" -VERSION="0.10.1" -HOMEPAGE="http://trific.ath.cx/resources/python/levenshtein/" -DOWNLOAD="http://trific.ath.cx/Ftp/python/levenshtein/python-Levenshtein-0.10.1.tar.gz" -MD5SUM="c21cb043bb2951b3197a0447bd61aba4" -MAINTAINER="Daniel de Kok" -EMAIL="danieldk@pobox.com" -APPROVED="rworkman" diff --git a/libraries/python-levenshtein/slack-desc b/libraries/python-levenshtein/slack-desc deleted file mode 100644 index 6d4385c6f2..0000000000 --- a/libraries/python-levenshtein/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line -# up the first '|' above the ':' following the base package name, and the '|' on -# the right side marks the last column you can put a character in. You must make -# exactly 11 lines for the formatting to be correct. It's also customary to -# leave one space after the ':'. - - |-----handy-ruler------------------------------------------------------| -python-levenshtein: python-levenshtein (string distance calculation module) -python-levenshtein: -python-levenshtein: python-levenhstein is a C extension module for Python that can be -python-levenshtein: used for fast calculation of string distances with the Levenshtein -python-levenshtein: algorithm, as well as some other methods. -python-levenshtein: -python-levenshtein: The python-levenshtein website can be found at: -python-levenshtein: http://trific.ath.cx/resources/python/levenshtein/ -python-levenshtein: -python-levenshtein: -python-levenshtein: |