diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-05-30 11:44:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-05-30 11:44:06 +0100 |
commit | f516638b7fe9592837389826a6152a7e1b251c54 (patch) | |
tree | 8bfecb640b7b6403d7a3d662d923eed630033da7 /dev-python/python-levenshtein | |
parent | 1a61119f9f7b057830e2ce0563f913ec86f282ad (diff) |
gentoo resync : 30.05.2020
Diffstat (limited to 'dev-python/python-levenshtein')
-rw-r--r-- | dev-python/python-levenshtein/Manifest | 1 | ||||
-rw-r--r-- | dev-python/python-levenshtein/files/genextdoc.py | 214 |
2 files changed, 0 insertions, 215 deletions
diff --git a/dev-python/python-levenshtein/Manifest b/dev-python/python-levenshtein/Manifest index 0f6c34a03b38..baeb52a9192f 100644 --- a/dev-python/python-levenshtein/Manifest +++ b/dev-python/python-levenshtein/Manifest @@ -1,4 +1,3 @@ -AUX genextdoc.py 7029 BLAKE2B 0d4b2c1110838696e1bbe7ef07b30d4bed04955da3451717558ed5a290ed5d1270a0fbea188f21098109f429979995e9548baedc3b9282e33e6703f03390861c SHA512 f03a6628e982da094d40e14d63cc2d233677d78ca1ad0dd0817bc69176d8d4374c2a0caa94a4d0891ba3b7ab14cbbad1b530319984df990176e151d79331b906 DIST python-Levenshtein-0.12.0.tar.gz 48617 BLAKE2B 67a720f2a76152b008bce86405b4f15f14f203e55c09931f83624c85199626582dcbc255ace914e103e7cd459c8570b0ea0c0d69abfd2c314aa488cb235583a4 SHA512 95df064490970618b003bccbef9071b1a2a3ee4645ac8e851f4205bd4e8123d21ee0ee733adfeec79085faa01ba39902e2a4a26bfb21b70678377579157df4a5 EBUILD python-levenshtein-0.12.0.ebuild 638 BLAKE2B addf8094eab80585fe6344147e9d05d5d51ec72f26571ea14bde2cc18e959c2ebcaa324a0e12acad8ca3c5cbb4798d9852800c844160b4935e634f9e465035ea SHA512 cc31b5370111262c61ce6692fcd708d9a62f6a919cbaed0f97021a55d8fc41c06479789b93885e3db5f55455c769961d7b38d80751307024b119ed10e58b2b14 MISC metadata.xml 400 BLAKE2B 6cb97d53cfebfe6960f5adb6b1b10fef856a0944456e89d1f6ade86d8cf8183aa4acc33cbd4829c35a46158b6955a1454ce7143b5cd5538375ad4ab08ebf3097 SHA512 bdda13940bb23190d6d7c43f69d77a231413dbdfd81de5e35568da70e4ab2bc9906cab76890e78da7b1789a376c44658e476ba7c0a4822e7a97b0f37ce36f0f4 diff --git a/dev-python/python-levenshtein/files/genextdoc.py b/dev-python/python-levenshtein/files/genextdoc.py deleted file mode 100644 index 54ce008e88ac..000000000000 --- a/dev-python/python-levenshtein/files/genextdoc.py +++ /dev/null @@ -1,214 +0,0 @@ -#!/usr/bin/python -# Simple Python extension module doc generator. -# @(#) $Id: genextdoc.py,v 1.4 2003/12/23 22:38:28 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: 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() |