"""
+from textwrap import dedent
+
from .api import Twitter, TwitterError, TwitterHTTPError, TwitterResponse
from .auth import NoAuth, UserPassAuth
-from .oauth import OAuth, read_token_file, write_token_file
+from .oauth import (
+ OAuth, read_token_file, write_token_file,
+ __doc__ as oauth_doc)
+from .oauth2 import (
+ OAuth2, read_bearer_token_file, write_bearer_token_file,
+ __doc__ as oauth2_doc)
from .stream import TwitterStream
+from .oauth_dance import oauth_dance, oauth2_dance
-
-# Who needs Sphinx? Not me!
+__doc__ = __doc__ or ""
__doc__ += """
The Twitter class
-=================
+-----------------
"""
-__doc__ += Twitter.__doc__
+__doc__ += dedent(Twitter.__doc__ or "")
__doc__ += """
The TwitterStream class
-=======================
+-----------------------
"""
-__doc__ += TwitterStream.__doc__
+__doc__ += dedent(TwitterStream.__doc__ or "")
__doc__ += """
Twitter Response Objects
-========================
+------------------------
"""
-__doc__ += TwitterResponse.__doc__
+__doc__ += dedent(TwitterResponse.__doc__ or "")
__doc__ += """
-Authentication Objects
-======================
+Authentication
+--------------
You can authenticate with Twitter in three ways: NoAuth, OAuth, or
-UserPassAuth. Get help() on these classes to learn how to use them.
+OAuth2 (app-only). Get help() on these classes to learn how to use them.
+
+OAuth and OAuth2 are probably the most useful.
-Other things
-============
+Working with OAuth
+------------------
+"""
+
+__doc__ += dedent(oauth_doc or "")
-read_token_file and write_token_file are utility methods to read and
-write OAuth token and secret key values. The values are stored as
-strings in the file. Not terribly exciting.
+__doc__ += """
+Working with OAuth2
+-------------------
"""
-__all__ = ["Twitter", "TwitterStream", "TwitterResponse", "TwitterError",
- "TwitterHTTPError", "NoAuth", "OAuth", "UserPassAuth",
- "read_token_file", "write_token_file"]
+__doc__ += dedent(oauth2_doc or "")
+
+__all__ = [
+ "NoAuth",
+ "OAuth",
+ "OAuth2",
+ "oauth2_dance",
+ "oauth_dance",
+ "read_bearer_token_file",
+ "read_token_file",
+ "Twitter",
+ "TwitterError",
+ "TwitterHTTPError",
+ "TwitterResponse",
+ "TwitterStream",
+ "UserPassAuth",
+ "write_bearer_token_file",
+ "write_token_file",
+ ]