29
by Leonard Richardson
Replaced 3.1 with 3.0. |
1 |
from distutils.core import setup |
2 |
import unittest |
|
3 |
import warnings |
|
4 |
warnings.filterwarnings("ignore", "Unknown distribution option") |
|
5 |
||
6 |
import sys |
|
7 |
# patch distutils if it can't cope with the "classifiers" keyword
|
|
8 |
if sys.version < '2.2.3': |
|
9 |
from distutils.dist import DistributionMetadata |
|
10 |
DistributionMetadata.classifiers = None |
|
11 |
DistributionMetadata.download_url = None |
|
12 |
||
13 |
from BeautifulSoup import __version__ |
|
14 |
||
15 |
#Make sure all the tests complete.
|
|
16 |
import BeautifulSoupTests |
|
17 |
loader = unittest.TestLoader() |
|
18 |
result = unittest.TestResult() |
|
19 |
suite = loader.loadTestsFromModule(BeautifulSoupTests) |
|
20 |
suite.run(result) |
|
21 |
if not result.wasSuccessful(): |
|
22 |
print "Unit tests have failed!" |
|
23 |
for l in result.errors, result.failures: |
|
24 |
for case, error in l: |
|
25 |
print "-" * 80 |
|
26 |
desc = case.shortDescription() |
|
27 |
if desc: |
|
28 |
print desc |
|
29 |
print error |
|
30 |
print '''If you see an error like: "'ascii' codec can't encode character...", see\nthe Beautiful Soup documentation:\n http://www.crummy.com/software/BeautifulSoup/documentation.html#Why%20can't%20Beautiful%20Soup%20print%20out%20the%20non-ASCII%20characters%20I%20gave%20it?''' |
|
31 |
print "This might or might not be a problem depending on what you plan to do with\nBeautiful Soup." |
|
32 |
if sys.argv[1] == 'sdist': |
|
33 |
print
|
|
34 |
print "I'm not going to make a source distribution since the tests don't pass." |
|
35 |
sys.exit(1) |
|
36 |
||
37 |
setup(name="BeautifulSoup", |
|
38 |
version=__version__, |
|
39 |
py_modules=['BeautifulSoup', 'BeautifulSoupTests'], |
|
40 |
description="HTML/XML parser for quick-turnaround applications like screen-scraping.", |
|
41 |
author="Leonard Richardson", |
|
42 |
author_email = "leonardr@segfault.org", |
|
43 |
long_description="""Beautiful Soup parses arbitrarily invalid SGML and provides a variety of methods and Pythonic idioms for iterating and searching the parse tree.""", |
|
44 |
classifiers=["Development Status :: 5 - Production/Stable", |
|
45 |
"Intended Audience :: Developers", |
|
46 |
"License :: OSI Approved :: Python Software Foundation License", |
|
47 |
"Programming Language :: Python", |
|
48 |
"Topic :: Text Processing :: Markup :: HTML", |
|
49 |
"Topic :: Text Processing :: Markup :: XML", |
|
50 |
"Topic :: Text Processing :: Markup :: SGML", |
|
51 |
"Topic :: Software Development :: Libraries :: Python Modules", |
|
52 |
],
|
|
53 |
url="http://www.crummy.com/software/BeautifulSoup/", |
|
54 |
license="BSD", |
|
55 |
download_url="http://www.crummy.com/software/BeautifulSoup/download/" |
|
56 |
)
|
|
57 |
||
58 |
# Send announce to:
|
|
59 |
# python-announce@python.org
|
|
60 |
# python-list@python.org
|