Setting up the TwistedQuotes application


This document describes how to set up the TwistedQuotes application used in a number of other documents, such as designing Twisted applications .

Setting up the TwistedQuotes project directory

In order to run the Twisted Quotes example, you will need to do the following:

  1. Make a TwistedQuotes directory on your system

  2. Place the following files in the TwistedQuotes directory:


      Twisted Quotes

      (this file marks it as a package, see this section of the Python tutorial for more on packages)


      from random import choice
      from zope.interface import implementer
      from TwistedQuotes import quoteproto
      class StaticQuoter:
          Return a static quote.
          def __init__(self, quote):
              self.quote = quote
          def getQuote(self):
              return self.quote
      class FortuneQuoter:
          Load quotes from a fortune-format file.
          def __init__(self, filenames):
              self.filenames = filenames
          def getQuote(self):
              with open(choice(self.filenames)) as quoteFile:
                  quotes ='\n%\n')
              return choice(quotes)

      from zope.interface import Interface
      from twisted.internet.protocol import Factory, Protocol
      class IQuoter(Interface):
          An object that returns quotes.
          def getQuote():
              Return a quote.
      class QOTD(Protocol):
          def connectionMade(self):
      class QOTDFactory(Factory):
          A factory for the Quote of the Day protocol.
          @type quoter: L{IQuoter} provider
          @ivar quoter: An object which provides L{IQuoter} which will be used by
              the L{QOTD} protocol to get quotes to emit.
          protocol = QOTD
          def __init__(self, quoter):
              self.quoter = quoter
  3. Add the TwistedQuotes directory’s parent to your Python path. For example, if the TwistedQuotes directory’s path is /mystuff/TwistedQuotes or c:\mystuff\TwistedQuotes add /mystuff to your Python path. On UNIX this would be export PYTHONPATH=/mystuff:$PYTHONPATH , on Microsoft Windows change the PYTHONPATH variable through the Systems Properties dialog by adding ;c:\mystuff at the end.

  4. Test your package by trying to import it in the Python interpreter:

    Python 2.1.3 (#1, Apr 20 2002, 22:45:31)
    [GCC 2.95.4 20011002 (Debian prerelease)] on linux2
    Type "copyright", "credits" or "license" for more information.
    >>> import TwistedQuotes
    >>> # No traceback means you're fine.