1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
#!/usr/bin/env python
"""Pull API for HTML parsing.
A simple "pull API" for HTML parsing, after Perl's HTML::TokeParser.
Many simple HTML parsing tasks are simpler this way than with the
HTMLParser module. pullparser.PullParser is a subclass of
HTMLParser.HTMLParser.
"""
#from pullparser import __version__
def unparse_version(tup):
major, minor, bugfix, state_char, pre = tup
fmt = "%s.%s.%s"
args = [major, minor, bugfix]
if state_char is not None:
fmt += "%s"
args.append(state_char)
if pre is not None:
fmt += "-pre%s"
args.append(pre)
return fmt % tuple(args)
def str_to_tuple(text):
if text.startswith("("):
text = text[1:-1]
els = [el.strip() for el in text.split(",")]
newEls = []
for ii in range(len(els)):
el = els[ii]
if el == "None":
newEls.append(None)
elif 0 <= ii < 3:
newEls.append(int(el))
else:
if el.startswith("'") or el.startswith('"'):
el = el[1:-1]
newEls.append(el)
return tuple(newEls)
import re
## VERSION_MATCH = re.search(r'__version__ = \((.*)\)',
## open("pullparser.py").read())
## VERSION = unparse_version(str_to_tuple(VERSION_MATCH.group(1)))
VERSION = '0.1.0'
INSTALL_REQUIRES = []
NAME = "pullparser"
PACKAGE = False
LICENSE = "BSD" # or ZPL 2.1
PLATFORMS = ["any"]
ZIP_SAFE = True
CLASSIFIERS = """\
Development Status :: 5 - Production/Stable
Intended Audience :: Developers
Intended Audience :: System Administrators
License :: OSI Approved :: BSD License
License :: OSI Approved :: Zope Public License
Natural Language :: English
Operating System :: OS Independent
Programming Language :: Python
Topic :: Internet
Topic :: Internet :: WWW/HTTP
Topic :: Software Development :: Libraries
Topic :: Software Development :: Libraries :: Python Modules
Topic :: Software Development :: Testing
Topic :: Software Development :: Testing :: Traffic Generation
Topic :: System :: Networking :: Monitoring
Topic :: System :: Systems Administration
Topic :: Text Processing
Topic :: Text Processing :: Markup
Topic :: Text Processing :: Markup :: HTML
Topic :: Text Processing :: Markup :: XML
"""
#-------------------------------------------------------
# the rest is constant for most of my released packages:
import sys
if PACKAGE:
packages, py_modules = [NAME], None
else:
packages, py_modules = None, [NAME]
doclines = __doc__.split("\n")
if not hasattr(sys, "version_info") or sys.version_info < (2, 3):
from distutils.core import setup
_setup = setup
def setup(**kwargs):
for key in [
# distutils >= Python 2.3 args
# XXX probably download_url came in earlier than 2.3
"classifiers", "download_url",
# setuptools args
"install_requires", "zip_safe", "test_suite",
]:
if kwargs.has_key(key):
del kwargs[key]
# Only want packages keyword if this is a package,
# only want py_modules keyword if this is a single-file module,
# so get rid of packages or py_modules keyword as appropriate.
if kwargs["packages"] is None:
del kwargs["packages"]
else:
del kwargs["py_modules"]
apply(_setup, (), kwargs)
else:
import ez_setup
ez_setup.use_setuptools()
from setuptools import setup
setup(
name = NAME,
version = VERSION,
license = LICENSE,
platforms = PLATFORMS,
classifiers = [c for c in CLASSIFIERS.split("\n") if c],
install_requires = INSTALL_REQUIRES,
zip_safe = ZIP_SAFE,
test_suite = "test",
author = "John J. Lee",
author_email = "jjl@pobox.com",
description = doclines[0],
long_description = "\n".join(doclines[2:]),
url = "http://wwwsearch.sourceforge.net/%s/" % NAME,
download_url = ("http://wwwsearch.sourceforge.net/%s/src/"
"%s-%s.tar.gz" % (NAME, NAME, VERSION)),
py_modules = py_modules,
packages = packages,
)
|