<commit_before>=====
Buysafe
=====

Buysafe bundles SunTech BuySafe (TM) posting and receiving routines into Django
forms and views, and provides an admin view for payment method management.

Dependency
-----------

If you want to use the default product info handler, you need to use Cartridge
as your ecommerce backend. If you provide your own info handler, all you need
is Django.

Quick start
-----------

1. Add "buysafe" to your INSTALLED_APPS setting::

      INSTALLED_APPS = (
          ...
          'buysafe',
          ...
      )

2. If you don't use Cartridge, add `BUYSAFE_FORM_VALUES_GENERATOR` in your
   `settings.py` to specify a custom handler. The handler should accept
   `**kwargs`, which contains values in the `POST` dictionary.

3. Run `python manage.py migrate buysafe`.

4. Go to your admin and add some payment methods.

5. To pay for an order, POST a form to `buysafe_start` with the values to pass
   to the product info handler. The default handler needs an `order_id` field.
   This brings up a view to initiate the payment process.

6. Profit!<commit_msg>Fix some README formatting and wording<commit_after>=====
Buysafe
=====

Buysafe bundles SunTech BuySafe (TM) posting and receiving routines into Django forms and views, and provides an admin view for payment method management.

Dependency
-----------

If you want to use the default product info handler, you need to use Cartridge as your ecommerce backend. If you provide your own info handler, all you need is Django.

Quick start
-----------

1. Add :code:`buysafe` to your :code:`INSTALLED_APPS` setting:

::

    INSTALLED_APPS = (
        ...
        'buysafe',
        ...
    )

2. If you don't use Cartridge, add :code:`BUYSAFE_FORM_VALUES_GENERATOR` in your settings to specify a custom handler. The handler should accept :code:`**kwargs`, which contains values in the :code:`request.POST` dictionary.

3. Run :code:`python manage.py migrate buysafe`.

4. Go to your admin and add some payment methods.

5. To pay for an order, use POST to submit a form to view:code:`buysafe_start` with the values to pass to the product info handler. The default handler needs an :code:`order_id` field. This brings up a view to initiate the payment process.

6. Profit!
{'fraction_non_alphanumeric': 0.0917960088691796, 'fraction_numerical': 0.005321507760532151, 'mean_word_length': 3.264650283553875, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1392070', 'n_tokens_mistral': 672, 'n_tokens_neox': 622, 'n_words': 311}