George Notaras avatar George Notaras committed b6bf39c

Upgraded distribution package files

Comments (0)

Files changed (21)

-django-recaptcha-works Authors
-------------------------------
+django-recaptcha-works Authors and Contributors
+------------------------------------------------------------------------
+django-recaptcha-works has been developed by:
+
 Chris Beaven (SmileyChris), http://smileychris.com/
   * author of the original code as published on djangosnippets.org:
     - http://djangosnippets.org/snippets/1644/
   * extension of the available app settings
   * addition of a decorator that adds the remote IP to the submitted form
   * Fixed recaptcha options and key overrides
-  
+ 
+django-recaptcha-works Bugs
+========================================================================
+
+In case you encounter any problems, while using django-recaptcha-works,
+or have a feature request, feel free to submit a new issue report in our
+issue tracking system at:
+
+    http://www.codetrax.org/projects/django-recaptcha-works/issues/new
+
+Bugs or feature requests reported by means other than the issue tracking system
+are silently ignored.
+
+You can view/search existing issues at the following location:
+
+    http://www.codetrax.org/projects/django-recaptcha-works/issues
+
+More information about how to use our issue tracking system can be found at:
+
+    http://www.codetrax.org/NewIssueGuidelines
+django-recaptcha-works Help
+========================================================================
+This file contains detailed information on how to configure and use
+``django-recaptcha-works``.
+
+django-recaptcha-works
+======================
+django-recaptcha-works provides a Django form field that integrates the
+reCaptcha service. It is released under the terms of the BSD License.
+
+This reCaptcha implementation has no extra requirements other than Django.
+
+The app is based on the code snippet #1644 as published by Chris Beaven
+(aka SmileyChris) on:
+  - http://djangosnippets.org/snippets/1644/
+
+The original code has been further modified by George Notaras in order to
+implement the following:
+
+- transform the snippet to a Django application release
+- add SSL support for both the captcha presentation and the communication
+  with the reCaptcha servers 
+- migration to the Google-hosted reCaptcha API
+- extension of the available application settings
+- addition of a decorator that adds the remote IP to the submitted form
+ 
+Development Web Site and Issue Tracker:
+  - http://www.codetrax.org/projects/django-recaptcha-works
+
+Public Source Code Repository:
+  - https://source.codetrax.org/hgroot/django-recaptcha-works
+
+
+reCaptcha Service
+=================
+In order to use this app you need a valid reCaptcha key pair, which can
+be obtained for free from:
+
+  http://www.google.com/recaptcha
+
+ 
+Installation
+============
+
+Add it to the INSTALLED_APPS in settings.py:
+
+INSTALLED_APPS = (
+    ...
+    'recaptchaworks',
+)
+
+
+Configuration
+=============
+The recaptchaworks app accepts the following configuration options:
+
+RECAPTCHA_PUBLIC_KEY: The public key as obtained from google.com/recaptcha
+
+RECAPTCHA_PRIVATE_KEY: The private key as obtained from google.com/recaptcha
+
+RECAPTCHA_USE_SSL: True/False -- Enables/disables secure communication with
+the recaptcha servers.
+
+RECAPTCHA_OPTIONS: A dictionary with the recaptcha customization options.
+Read the following page for more information:
+  - http://code.google.com/apis/recaptcha/docs/customization.html
+
+Example configuration:
+
+RECAPTCHA_PUBLIC_KEY  = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
+RECAPTCHA_PRIVATE_KEY = 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY'
+RECAPTCHA_USE_SSL = True
+RECAPTCHA_OPTIONS = {
+    'theme': 'white',
+    'lang': 'en',
+    'tabindex': 0,
+}
+
+
+Usage
+=====
+recaptchaworks provides a form field which can be attached to your forms.
+Implementing a reCaptcha protected form is a two step process.
+
+Step 1: Create the reCaptcha protected form:
+
+    from django import forms
+    from recaptchaworks.fields import RecaptchaField
+    
+    class RecaptchaProtectedForm(forms.Form):
+        # ... other form fields
+        recaptcha = RecaptchaField(label='Human test', required=True)
+
+Step 2: Use the ``fix_recaptcha_remote_ip`` decorator around the view that
+processes the form data. This is required because the remote IP is a mandatory
+argument for the verification of the information the user has submitted in the
+reCaptcha field, but it cannot be added to the form field automatically due to
+limitations of the Django framework.
+
+    from recaptchaworks.decorators import fix_recaptcha_remote_ip
+    
+    @fix_recaptcha_remote_ip
+    def view(request, *args, **kwargs):
+        if request.method == 'POST':
+            # ... process the form data here
+
+
+License
+=======
+
+Copyright (c) 2009-2010 Chris Beaven (SmileyChris), http://smileychris.com/
+Copyright (c) 2010 George Notaras <gnot@g-loaded.eu>, http://www.g-loaded.eu/
+
+Licensed under the BSD License.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+    1. Redistributions of source code must retain the above copyright notice, 
+       this list of conditions and the following disclaimer.
+      
+    2. Redistributions in binary form must reproduce the above copyright 
+       notice, this list of conditions and the following disclaimer in the
+       documentation and/or other materials provided with the distribution.
+
+    3. Neither the name of Django nor the names of its contributors may be used
+       to endorse or promote products derived from this software without
+       specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+django-recaptcha-works Installation Instructions
+========================================================================
+This file contains information on how to download and install
+django-recaptcha-works in your system.
+
+
+Requirements
+------------
+This application requires Python 2.3 or later, and a functional installation
+of Django. You can obtain Python from http://www.python.org/ and Django from
+http://www.djangoproject.com/.
+
+Detailed information about the minimum supported Django version and other
+Python modules that may be required in order to run this software are
+available in the `requirements.txt` file.
+
+
+Download
+--------
+You can download the latest django-recaptcha-works releases either from the
+project page at the Python Package Index (PyPI):
+
+  * http://pypi.python.org/pypi/django-recaptcha-works
+
+Or you can clone the project's public source code repository and then
+check-out any stable release, all of which are tagged:
+
+    hg clone https://source.codetrax.org/hgroot/django-recaptcha-works
+    hg tags
+    hg update 0.1.1
+
+
+Install
+-------
+To install django-recaptcha-works, use the provided installation script:
+
+    python setup.py install
+
+If you have the Python `easy_install` utility available, you can
+also type the following to download and install in one step:
+
+   easy_install -Z django-recaptcha-works
+
+(the `-Z` flag is required to force `easy_install` to do a normal
+source install rather than a zipped egg; django-recaptcha-works cannot be
+used from a zipped egg install)
+
+Or if you're using `pip`:
+
+    pip install django-recaptcha-works
+
+Or if you'd prefer you can simply place the `recaptcha_works` directory,
+which exists under `src`, somewhere on your Python path, or symlink to it
+from somewhere on your Python path.
+
-Copyright (c) Django Software Foundation and individual contributors.
-All rights reserved.
-
 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:
 
 include AUTHORS
+include BUGS
+include HELP
 include INSTALL
 include LICENSE
+include NOTICE
+include README
+include SUPPORT
 include MANIFEST.in
-include README
+include requirements.txt
 include setup.cfg
 include setup.py
-recursive-include src/recaptchaworks *.py
+recursive-include src/recaptcha_works *.py
+This product includes software developed at:
+  * CodeTRAX (http://www.codetrax.org/)
+  * G-Loaded Journal (http://www.g-loaded.eu/)
+
+Copyright 2010 George Notaras <gnot [at] g-loaded.eu>
+
+Brand names include, but are not limited to:
+
+  * django-recaptcha-works
+  * recaptcha_works
+  * CodeTRAX
+  * G-Loaded Journal
+
+The aforementioned names must not appear in the names of products derived from
+this software without prior written permission of George Notaras.
+
+For license information, please read the LICENSE file.
+
+Django is a registered trademark of the Django Software Foundation.
-django-recaptcha-works
-======================
-django-recaptcha-works provides a Django form field that integrates the
-reCaptcha service. It is released under the terms of the BSD License.
+django-recaptcha-works README
+========================================================================
+django-recaptcha-works is a ...
 
-This reCaptcha implementation has no extra requirements other than Django.
+TODO: ...
 
-The app is based on the code snippet #1644 as published by Chris Beaven
-(aka SmileyChris) on:
-  - http://djangosnippets.org/snippets/1644/
-
-The original code has been further modified by George Notaras in order to
-implement the following:
-
-- transform the snippet to a Django application release
-- add SSL support for both the captcha presentation and the communication
-  with the reCaptcha servers 
-- migration to the Google-hosted reCaptcha API
-- extension of the available application settings
-- addition of a decorator that adds the remote IP to the submitted form
- 
-Development Web Site and Issue Tracker:
-  - http://www.codetrax.org/projects/django-recaptcha-works
+Project Development Web Site:
+ * https://www.codetrax.org/projects/django-recaptcha-works
 
 Public Source Code Repository:
-  - https://source.codetrax.org/hgroot/django-recaptcha-works
+ * https://source.codetrax.org/hgroot/django-recaptcha-works
 
 
-reCaptcha Service
-=================
-In order to use this app you need a valid reCaptcha key pair, which can
-be obtained for free from:
+How this distribution package is organized
+========================================================================
+The following list outlines the kind of information each of the files of this
+distribution package contains:
 
-  http://www.google.com/recaptcha
+ * AUTHORS  : List of all authors and contributors.
+ * BUGS     : Information about how to file bug reports or ask for new features.
+ * HELP     : Instructions on how to use this software.
+ * INSTALL  : Information on how to install this application.
+ * LICENSE  : The terms of the license that governs your use of this software.
+ * NOTICE   : Copyright, trademark, attribution and sponsorship information.
+ * SUPPORT  : Information on how to get support for this software.
+ * README   : This file.
 
- 
-Installation
-============
 
-Add it to the INSTALLED_APPS in settings.py:
+How to read the HELP document
+========================================================================
+The HELP document is written in reStructuredText (rst). Although
+reStructuredText is an easy-to-read plain text markup format, it is
+recommended to convert it to HTML for a better reading experience.
 
-INSTALLED_APPS = (
-    ...
-    'recaptchaworks',
-)
+In order to convert this document to HTML you need `docutils`, which
+you can install in your system using `pip`::
 
+    pip install docutils
 
-Configuration
-=============
-The recaptchaworks app accepts the following configuration options:
+Or `easy_install`:
 
-RECAPTCHA_PUBLIC_KEY: The public key as obtained from google.com/recaptcha
+    easy_install docutils
 
-RECAPTCHA_PRIVATE_KEY: The private key as obtained from google.com/recaptcha
+Once `docutils` is installed, you can use the `rst2html.py` utility to
+perform the conversion:
 
-RECAPTCHA_USE_SSL: True/False -- Enables/disables secure communication with
-the recaptcha servers.
+    rst2html.py HELP help.html
 
-RECAPTCHA_OPTIONS: A dictionary with the recaptcha customization options.
-Read the following page for more information:
-  - http://code.google.com/apis/recaptcha/docs/customization.html
-
-Example configuration:
-
-RECAPTCHA_PUBLIC_KEY  = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
-RECAPTCHA_PRIVATE_KEY = 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY'
-RECAPTCHA_USE_SSL = True
-RECAPTCHA_OPTIONS = {
-    'theme': 'white',
-    'lang': 'en',
-    'tabindex': 0,
-}
-
-
-Usage
-=====
-recaptchaworks provides a form field which can be attached to your forms.
-Implementing a reCaptcha protected form is a two step process.
-
-Step 1: Create the reCaptcha protected form:
-
-    from django import forms
-    from recaptchaworks.fields import RecaptchaField
-    
-    class RecaptchaProtectedForm(forms.Form):
-        # ... other form fields
-        recaptcha = RecaptchaField(label='Human test', required=True)
-
-Step 2: Use the ``fix_recaptcha_remote_ip`` decorator around the view that
-processes the form data. This is required because the remote IP is a mandatory
-argument for the verification of the information the user has submitted in the
-reCaptcha field, but it cannot be added to the form field automatically due to
-limitations of the Django framework.
-
-    from recaptchaworks.decorators import fix_recaptcha_remote_ip
-    
-    @fix_recaptcha_remote_ip
-    def view(request, *args, **kwargs):
-        if request.method == 'POST':
-            # ... process the form data here
+Then use any web browser to view the exported `help.html` file.
 
 
 License
-=======
-
-Copyright (c) 2009-2010 Chris Beaven (SmileyChris), http://smileychris.com/
-Copyright (c) 2010 George Notaras <gnot@g-loaded.eu>, http://www.g-loaded.eu/
-
-Licensed under the BSD License.
-
+========================================================================
 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:
 
     1. Redistributions of source code must retain the above copyright notice, 
        this list of conditions and the following disclaimer.
-      
+    
     2. Redistributions in binary form must reproduce the above copyright 
        notice, this list of conditions and the following disclaimer in the
        documentation and/or other materials provided with the distribution.
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
+django-recaptcha-works Support
+========================================================================
+
+CodeTRAX does not provide support for django-recaptcha-works.
+
+You can still get community support at the Community Support Forums:
+
+    http://www.codetrax.org/projects/django-recaptcha-works/boards
 optimize = 1
 
 [bdist_rpm]
-doc_files = AUTHORS INSTALL LICENSE NOTICE README
+doc_files = AUTHORS BUGS HELP LICENSE NOTICE README SUPPORT
 group = Development/Libraries
 #  django-recaptcha-works provides a Django form field that integrates the
 #  reCaptcha service.
 #
+#  Development Web Site:
+#    - http://www.codetrax.org/projects/django-recaptcha-works
+#  Public Source Code Repository:
+#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#
+#  Copyright 2010 George Notaras <gnot [at] g-loaded.eu>
+#
 #  Based on the code snippet #1644 as published on:
 #    - http://djangosnippets.org/snippets/1644/
 #
-#  Copyright (c) 2009-2010 Chris Beaven (SmileyChris), http://smileychris.com/
-#  Copyright (c) 2010 George Notaras <gnot@g-loaded.eu>, http://www.g-loaded.eu/
-#
-#  Development Web Site:
-#    - http://www.codetrax.org/projects/django-recaptcha-works
-#
-#  Public Source Code Repository:
-#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#  Copyright (c) 2009-2010 Chris Beaven, http://smileychris.com/
 #
 #  Licensed under the BSD License.
 #
 import os
 sys.path.insert(0, os.path.abspath('src'))
 
-from distutils.core import setup
+from setuptools import setup
 
-from recaptchaworks import get_version, long_description
-
+from recaptcha_works import get_version, long_description
 
 if __name__=='__main__':
     setup(
         name = 'django-recaptcha-works',
         version = get_version(),
+        license = 'BSD License',
         author = 'George Notaras',
-        author_email = 'gnot@g-loaded.eu',
+        author_email = 'gnot [at] g-loaded.eu',
         maintainer = 'George Notaras',
-        maintainer_email = 'gnot@g-loaded.eu',
+        maintainer_email = 'gnot [at] g-loaded.eu',
         url = 'http://www.codetrax.org/projects/django-recaptcha-works',
         description = 'django-recaptcha-works provides a Django form field that integrates the reCaptcha service.',
         long_description = long_description,
             'Natural Language :: English',
             'Operating System :: OS Independent',
             'Programming Language :: Python',
+            'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
             'Topic :: Software Development :: Libraries :: Application Frameworks',
             'Topic :: Software Development :: Libraries :: Python Modules',
         ],
-        license = 'BSD License (3 clause)',
         package_dir = {'': 'src'},
-        packages = ['recaptchaworks',],
+        packages = ['recaptcha_works'],
+        include_package_data = True,
+        #zip_safe = False,
     )
 

src/recaptchaworks/__init__.py

 #  django-recaptcha-works provides a Django form field that integrates the
 #  reCaptcha service.
 #
+#  Development Web Site:
+#    - http://www.codetrax.org/projects/django-recaptcha-works
+#  Public Source Code Repository:
+#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#
+#  Copyright 2010 George Notaras <gnot [at] g-loaded.eu>
+#
 #  Based on the code snippet #1644 as published on:
 #    - http://djangosnippets.org/snippets/1644/
 #
-#  Copyright (c) 2009-2010 Chris Beaven (SmileyChris), http://smileychris.com/
-#  Copyright (c) 2010 George Notaras <gnot@g-loaded.eu>, http://www.g-loaded.eu/
-#
-#  Development Web Site:
-#    - http://www.codetrax.org/projects/django-recaptcha-works
-#
-#  Public Source Code Repository:
-#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#  Copyright (c) 2009-2010 Chris Beaven, http://smileychris.com/
 #
 #  Licensed under the BSD License.
 #

src/recaptchaworks/decorators.py

 #  django-recaptcha-works provides a Django form field that integrates the
 #  reCaptcha service.
 #
+#  Development Web Site:
+#    - http://www.codetrax.org/projects/django-recaptcha-works
+#  Public Source Code Repository:
+#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#
+#  Copyright 2010 George Notaras <gnot [at] g-loaded.eu>
+#
 #  Based on the code snippet #1644 as published on:
 #    - http://djangosnippets.org/snippets/1644/
 #
-#  Copyright (c) 2009-2010 Chris Beaven (SmileyChris), http://smileychris.com/
-#  Copyright (c) 2010 George Notaras <gnot@g-loaded.eu>, http://www.g-loaded.eu/
-#
-#  Development Web Site:
-#    - http://www.codetrax.org/projects/django-recaptcha-works
-#
-#  Public Source Code Repository:
-#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#  Copyright (c) 2009-2010 Chris Beaven, http://smileychris.com/
 #
 #  Licensed under the BSD License.
 #

src/recaptchaworks/exceptions.py

 #  django-recaptcha-works provides a Django form field that integrates the
 #  reCaptcha service.
 #
+#  Development Web Site:
+#    - http://www.codetrax.org/projects/django-recaptcha-works
+#  Public Source Code Repository:
+#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#
+#  Copyright 2010 George Notaras <gnot [at] g-loaded.eu>
+#
 #  Based on the code snippet #1644 as published on:
 #    - http://djangosnippets.org/snippets/1644/
 #
-#  Copyright (c) 2009-2010 Chris Beaven (SmileyChris), http://smileychris.com/
-#  Copyright (c) 2010 George Notaras <gnot@g-loaded.eu>, http://www.g-loaded.eu/
-#
-#  Development Web Site:
-#    - http://www.codetrax.org/projects/django-recaptcha-works
-#
-#  Public Source Code Repository:
-#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#  Copyright (c) 2009-2010 Chris Beaven, http://smileychris.com/
 #
 #  Licensed under the BSD License.
 #

src/recaptchaworks/fields.py

 #  django-recaptcha-works provides a Django form field that integrates the
 #  reCaptcha service.
 #
+#  Development Web Site:
+#    - http://www.codetrax.org/projects/django-recaptcha-works
+#  Public Source Code Repository:
+#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#
+#  Copyright 2010 George Notaras <gnot [at] g-loaded.eu>
+#
 #  Based on the code snippet #1644 as published on:
 #    - http://djangosnippets.org/snippets/1644/
 #
-#  Copyright (c) 2009-2010 Chris Beaven (SmileyChris), http://smileychris.com/
-#  Copyright (c) 2010 George Notaras <gnot@g-loaded.eu>, http://www.g-loaded.eu/
-#
-#  Development Web Site:
-#    - http://www.codetrax.org/projects/django-recaptcha-works
-#
-#  Public Source Code Repository:
-#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#  Copyright (c) 2009-2010 Chris Beaven, http://smileychris.com/
 #
 #  Licensed under the BSD License.
 #

src/recaptchaworks/models.py

 #  django-recaptcha-works provides a Django form field that integrates the
 #  reCaptcha service.
 #
+#  Development Web Site:
+#    - http://www.codetrax.org/projects/django-recaptcha-works
+#  Public Source Code Repository:
+#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#
+#  Copyright 2010 George Notaras <gnot [at] g-loaded.eu>
+#
 #  Based on the code snippet #1644 as published on:
 #    - http://djangosnippets.org/snippets/1644/
 #
-#  Copyright (c) 2009-2010 Chris Beaven (SmileyChris), http://smileychris.com/
-#  Copyright (c) 2010 George Notaras <gnot@g-loaded.eu>, http://www.g-loaded.eu/
-#
-#  Development Web Site:
-#    - http://www.codetrax.org/projects/django-recaptcha-works
-#
-#  Public Source Code Repository:
-#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#  Copyright (c) 2009-2010 Chris Beaven, http://smileychris.com/
 #
 #  Licensed under the BSD License.
 #

src/recaptchaworks/settings.py

 #  django-recaptcha-works provides a Django form field that integrates the
 #  reCaptcha service.
 #
+#  Development Web Site:
+#    - http://www.codetrax.org/projects/django-recaptcha-works
+#  Public Source Code Repository:
+#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#
+#  Copyright 2010 George Notaras <gnot [at] g-loaded.eu>
+#
 #  Based on the code snippet #1644 as published on:
 #    - http://djangosnippets.org/snippets/1644/
 #
-#  Copyright (c) 2009-2010 Chris Beaven (SmileyChris), http://smileychris.com/
-#  Copyright (c) 2010 George Notaras <gnot@g-loaded.eu>, http://www.g-loaded.eu/
-#
-#  Development Web Site:
-#    - http://www.codetrax.org/projects/django-recaptcha-works
-#
-#  Public Source Code Repository:
-#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#  Copyright (c) 2009-2010 Chris Beaven, http://smileychris.com/
 #
 #  Licensed under the BSD License.
 #

src/recaptchaworks/tests.py

 #  django-recaptcha-works provides a Django form field that integrates the
 #  reCaptcha service.
 #
+#  Development Web Site:
+#    - http://www.codetrax.org/projects/django-recaptcha-works
+#  Public Source Code Repository:
+#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#
+#  Copyright 2010 George Notaras <gnot [at] g-loaded.eu>
+#
 #  Based on the code snippet #1644 as published on:
 #    - http://djangosnippets.org/snippets/1644/
 #
-#  Copyright (c) 2009-2010 Chris Beaven (SmileyChris), http://smileychris.com/
-#  Copyright (c) 2010 George Notaras <gnot@g-loaded.eu>, http://www.g-loaded.eu/
-#
-#  Development Web Site:
-#    - http://www.codetrax.org/projects/django-recaptcha-works
-#
-#  Public Source Code Repository:
-#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#  Copyright (c) 2009-2010 Chris Beaven, http://smileychris.com/
 #
 #  Licensed under the BSD License.
 #

src/recaptchaworks/utils.py

 #  django-recaptcha-works provides a Django form field that integrates the
 #  reCaptcha service.
 #
+#  Development Web Site:
+#    - http://www.codetrax.org/projects/django-recaptcha-works
+#  Public Source Code Repository:
+#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#
+#  Copyright 2010 George Notaras <gnot [at] g-loaded.eu>
+#
 #  Based on the code snippet #1644 as published on:
 #    - http://djangosnippets.org/snippets/1644/
 #
-#  Copyright (c) 2009-2010 Chris Beaven (SmileyChris), http://smileychris.com/
-#  Copyright (c) 2010 George Notaras <gnot@g-loaded.eu>, http://www.g-loaded.eu/
-#
-#  Development Web Site:
-#    - http://www.codetrax.org/projects/django-recaptcha-works
-#
-#  Public Source Code Repository:
-#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#  Copyright (c) 2009-2010 Chris Beaven, http://smileychris.com/
 #
 #  Licensed under the BSD License.
 #

src/recaptchaworks/views.py

 #  django-recaptcha-works provides a Django form field that integrates the
 #  reCaptcha service.
 #
+#  Development Web Site:
+#    - http://www.codetrax.org/projects/django-recaptcha-works
+#  Public Source Code Repository:
+#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#
+#  Copyright 2010 George Notaras <gnot [at] g-loaded.eu>
+#
 #  Based on the code snippet #1644 as published on:
 #    - http://djangosnippets.org/snippets/1644/
 #
-#  Copyright (c) 2009-2010 Chris Beaven (SmileyChris), http://smileychris.com/
-#  Copyright (c) 2010 George Notaras <gnot@g-loaded.eu>, http://www.g-loaded.eu/
-#
-#  Development Web Site:
-#    - http://www.codetrax.org/projects/django-recaptcha-works
-#
-#  Public Source Code Repository:
-#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#  Copyright (c) 2009-2010 Chris Beaven, http://smileychris.com/
 #
 #  Licensed under the BSD License.
 #

src/recaptchaworks/widgets.py

 #  django-recaptcha-works provides a Django form field that integrates the
 #  reCaptcha service.
 #
+#  Development Web Site:
+#    - http://www.codetrax.org/projects/django-recaptcha-works
+#  Public Source Code Repository:
+#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#
+#  Copyright 2010 George Notaras <gnot [at] g-loaded.eu>
+#
 #  Based on the code snippet #1644 as published on:
 #    - http://djangosnippets.org/snippets/1644/
 #
-#  Copyright (c) 2009-2010 Chris Beaven (SmileyChris), http://smileychris.com/
-#  Copyright (c) 2010 George Notaras <gnot@g-loaded.eu>, http://www.g-loaded.eu/
-#
-#  Development Web Site:
-#    - http://www.codetrax.org/projects/django-recaptcha-works
-#
-#  Public Source Code Repository:
-#    - https://source.codetrax.org/hgroot/django-recaptcha-works
+#  Copyright (c) 2009-2010 Chris Beaven, http://smileychris.com/
 #
 #  Licensed under the BSD License.
 #
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.