Metadata-Version: 2.1
Name: fogbugz-bis
Version: 1.1
Summary: Python library for interacting with the FogBugz API
Home-page: https://github.com/yougov/FogBugzPy
Author: Fog Creek Software
Author-email: customer-service@fogcreek.com
Maintainer: YouGov, Plc.
Maintainer-email: open-source@yougov.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: BSD
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Bug Tracking
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Version Control
Classifier: Topic :: Utilities
Requires-Python: >=2.7
Requires-Dist: BeautifulSoup4
Requires-Dist: lxml
Requires-Dist: six
Provides-Extra: docs
Requires-Dist: sphinx ; extra == 'docs'
Requires-Dist: jaraco.packaging (>=3.2) ; extra == 'docs'
Requires-Dist: rst.linker (>=1.9) ; extra == 'docs'
Provides-Extra: testing
Requires-Dist: pytest (!=3.7.3,>=3.5) ; extra == 'testing'
Requires-Dist: pytest-checkdocs ; extra == 'testing'
Requires-Dist: pytest-flake8 ; extra == 'testing'

.. image:: https://img.shields.io/pypi/v/fogbugz_bis.svg
   :target: https://pypi.org/project/fogbugz_bis

.. image:: https://img.shields.io/pypi/pyversions/fogbugz_bis.svg

.. image:: https://img.shields.io/travis/yougov/FogBugzPy/master.svg
   :target: https://travis-ci.org/yougov/FogBugzPy

.. .. image:: https://img.shields.io/appveyor/ci/yougov/FogBugzPy/master.svg
..    :target: https://ci.appveyor.com/project/yougov/FogBugzPy/branch/master

.. .. image:: https://readthedocs.org/projects/fogbugzpy/badge/?version=latest
..    :target: https://fogbugzpy.readthedocs.io/en/latest/?badge=latest

Python FogBugz API Wrapper
--------------------------

This Python API is simply a wrapper around the FogBugz API, with some help from Leonard Richardson's BeautifulSoup (http://www.crummy.com/software/BeautifulSoup/) and the magic of Python's __getattr__().

Getting Started:
----------------

To use the FogBugz API, install the package by using pip

  $ pip install fogbugz

A Quick Example:
----------------

::

  >>> from fogbugz import FogBugz
  >>> fb = FogBugz("http://example.fogbugz.com/") # URL is to your FogBugz install
  >>> fb.logon("logon@example.com", "password")
  >>> resp = fb.search(q="assignedto:tyler") # All calls take named parameters, per the API
  >>> resp # Responses are BeautifulSoup objects of the response XML.
  <response><cases count="2"><case ixbug="1" operations="edit,assign,resolve,email,remind"></case><case ixbug="2" operations="edit,spam,assign,resolve,reply,forward,remind"></case></cases></response>
  >>> # You shouldn't need to know too much about BeautifulSoup, but the documentation can be found here:
  >>> # http://www.crummy.com/software/BeautifulSoup/documentation.html
  >>> for case in resp.cases.childGenerator(): # One way to access the cases
  ...     print case['ixbug']
  ...
  1
  2
  >>> for case in resp.findAll('case'): # Another way to access the cases
  ...     print case['operations']
  ...
  edit,assign,resolve,email,remind
  edit,spam,assign,resolve,reply,forward,remind
  >>> resp = fb.edit(ixbug=1, sEvent="Edit from the API") # Note the named parameters
  >>> resp
  <response><case ixbug="1" operations="edit,assign,resolve,email,remind"></case></response>

Note that, per API v5.0, all data between tags, such as the token, is now wrapped in CDATA.  BeautifulSoup's implementation of CData generally allows for it to be treated as a string, except for one important case: CData.__str__() (a.k.a. str(CData)) returns the full text, including the CDATA wrapper (e.g. "<![CDATA[foo]]>").  To avoid accidentally including the CDATA tage, use CData.encode('utf-8')

Additional Details:
-------------------

If your script requires a certain version of the FogBugz API, make sure to pass it as an argument to the constructor. This will protect you from unexpected differences should we make backwards-incompatible changes.

  >>> from fogbugz import FogBugz
  >>> fb = FogBugz("http://example.fogbugz.com", api_version=5)

For more info on the API:
http://help.fogcreek.com/the-fogbugz-api

Much of the API has not been thoroughly tested.  Please report bugs to customer-service@fogcreek.com

``fogbugz_bis`` is a fork of the FogCreek codebase to support Python 3 and
BeautifulSoup 4. You should install/require only one of ``fogbugz`` or
``fogbugz_bis`` as they both implement the same module.


