diff --git a/.gitignore b/.gitignore index f0b65c5..5c69b78 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ +*~ +*.pyc +dist/ tailbone_nationbuilder.egg-info/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c4cedf..dc3b3b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,18 @@ All notable changes to tailbone-nationbuilder will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## v0.2.1 (2024-11-22) + +### Fix + +- allow download of NB donation records + +## v0.2.0 (2024-06-11) + +### Feat + +- switch from setup.cfg to pyproject.toml + hatchling + ## [0.1.3] - 2023-09-16 ### Changed - Add grid totals support for NB donations. diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..f2a377a --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,45 @@ + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + + +[project] +name = "tailbone-nationbuilder" +version = "0.2.1" +description = "Tailbone integration package for NationBuilder" +readme = "README.md" +authors = [{name = "Lance Edgar", email = "lance@edbob.org"}] +license = {text = "GNU GPL v3+"} +classifiers = [ + "Development Status :: 4 - Beta", + "Environment :: Web Environment", + "Framework :: Pyramid", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", + "Natural Language :: English", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Topic :: Office/Business", + "Topic :: Software Development :: Libraries :: Python Modules", +] +dependencies = [ + "Tailbone", +] + + +[project.entry-points."tailbone.providers"] +tailbone_nationbuilder = "tailbone_nationbuilder.provider:TailboneNationBuilderProvider" + + +[project.urls] +Homepage = "https://rattailproject.org" +Repository = "https://forgejo.wuttaproject.org/rattail/tailbone-nationbuilder.git" +Changelog = "https://forgejo.wuttaproject.org/rattail/tailbone-nationbuilder/src/branch/master/CHANGELOG.md" + + +[tool.commitizen] +version_provider = "pep621" +tag_format = "v$version" +update_changelog_on_bump = true diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 163e971..0000000 --- a/setup.cfg +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8; -*- - -[metadata] -name = tailbone-nationbuilder -version = attr: tailbone_nationbuilder.__version__ -author = Lance Edgar -author_email = lance@edbob.org -url = https://rattailproject.org/ -license = GNU GPL v3 -description = Tailbone integration package for NationBuilder -long_description = file: README.md -classifiers = - Development Status :: 4 - Beta - Environment :: Web Environment - Framework :: Pyramid - Intended Audience :: Developers - License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+) - Natural Language :: English - Operating System :: OS Independent - Programming Language :: Python - Programming Language :: Python :: 3 - Topic :: Office/Business - Topic :: Software Development :: Libraries :: Python Modules - - -[options] -install_requires = - Tailbone - -packages = find: -include_package_data = True - - -[options.entry_points] - -tailbone.providers = - tailbone_nationbuilder = tailbone_nationbuilder.provider:TailboneNationBuilderProvider diff --git a/setup.py b/setup.py deleted file mode 100644 index cd3f6a5..0000000 --- a/setup.py +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding: utf-8; -*- -################################################################################ -# -# Rattail -- Retail Software Framework -# Copyright © 2010-2023 Lance Edgar -# -# This file is part of Rattail. -# -# Rattail is free software: you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation, either version 3 of the License, or (at your option) any later -# version. -# -# Rattail is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# Rattail. If not, see . -# -################################################################################ -""" -tailbone-nationbuilder setup script -""" - -from setuptools import setup - -setup() diff --git a/tailbone_nationbuilder/_version.py b/tailbone_nationbuilder/_version.py index d60824a..24e03ba 100644 --- a/tailbone_nationbuilder/_version.py +++ b/tailbone_nationbuilder/_version.py @@ -1,3 +1,6 @@ # -*- coding: utf-8; -*- -__version__ = '0.1.3' +from importlib.metadata import version + + +__version__ = version('tailbone-nationbuilder') diff --git a/tailbone_nationbuilder/views/nationbuilder/donations.py b/tailbone_nationbuilder/views/nationbuilder/donations.py index 3187b85..d179ca3 100644 --- a/tailbone_nationbuilder/views/nationbuilder/donations.py +++ b/tailbone_nationbuilder/views/nationbuilder/donations.py @@ -2,7 +2,7 @@ ################################################################################ # # Rattail -- Retail Software Framework -# Copyright © 2010-2023 Lance Edgar +# Copyright © 2010-2024 Lance Edgar # # This file is part of Rattail. # @@ -38,6 +38,7 @@ class NationBuilderCacheDonationView(NationBuilderMasterView): route_prefix = 'nationbuilder.cache.donations' supports_grid_totals = True has_versions = True + results_downloadable = True labels = { 'id': "ID", diff --git a/tasks.py b/tasks.py index 168ca4a..5f5436d 100644 --- a/tasks.py +++ b/tasks.py @@ -2,7 +2,7 @@ ################################################################################ # # Rattail -- Retail Software Framework -# Copyright © 2010-2023 Lance Edgar +# Copyright © 2010-2024 Lance Edgar # # This file is part of Rattail. # @@ -30,22 +30,17 @@ import shutil from invoke import task -here = os.path.abspath(os.path.dirname(__file__)) -exec(open(os.path.join(here, 'tailbone_nationbuilder', '_version.py')).read()) - - @task def release(c): """ Release a new version of tailbone-nationbuilder """ - # rebuild local tar.gz file for distribution + # rebuild package + if os.path.exists('dist'): + shutil.rmtree('dist') if os.path.exists('tailbone_nationbuilder.egg-info'): shutil.rmtree('tailbone_nationbuilder.egg-info') c.run('python -m build --sdist') - # filename of built package - filename = f'tailbone-nationbuilder-{__version__}.tar.gz' - # upload to PyPI - c.run(f'twine upload dist/{filename}') + c.run('twine upload dist/*')