Compare commits
	
		
			13 commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 62b72600fe | |||
| a27f9c46ad | |||
|   | e0b8797046 | ||
|   | 69ce07a778 | ||
|   | df324159ba | ||
|   | 9687c85529 | ||
|   | 0521f5e38c | ||
|   | ff202415e3 | ||
|   | d419bc1854 | ||
|   | ffe33b20bc | ||
|   | 70f496893b | ||
|   | 5ae7db78a5 | ||
|   | 1cfd30a211 | 
					 12 changed files with 124 additions and 109 deletions
				
			
		
							
								
								
									
										3
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1 +1,4 @@ | |||
| *~ | ||||
| *.pyc | ||||
| dist/ | ||||
| rattail_harvest.egg-info/ | ||||
|  |  | |||
							
								
								
									
										28
									
								
								CHANGELOG.md
									
										
									
									
									
								
							
							
						
						
									
										28
									
								
								CHANGELOG.md
									
										
									
									
									
								
							|  | @ -5,6 +5,34 @@ All notable changes to rattail-harvest 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.3.3 (2025-09-20) | ||||
| 
 | ||||
| ### Fix | ||||
| 
 | ||||
| - fix config extension entry point | ||||
| 
 | ||||
| ## v0.3.2 (2024-08-18) | ||||
| 
 | ||||
| ### Fix | ||||
| 
 | ||||
| - avoid deprecated base class for config extension | ||||
| 
 | ||||
| ## v0.3.1 (2024-07-01) | ||||
| 
 | ||||
| ### Fix | ||||
| 
 | ||||
| - remove legacy command definitions | ||||
| 
 | ||||
| ## v0.3.0 (2024-06-10) | ||||
| 
 | ||||
| ### Feat | ||||
| 
 | ||||
| - switch from setup.cfg to pyproject.toml + hatchling | ||||
| 
 | ||||
| ## [0.2.1] - 2024-06-06 | ||||
| ### Changed | ||||
| - Add alembic scripts to project manifest. | ||||
| 
 | ||||
| ## [0.2.0] - 2024-06-06 | ||||
| ### Changed | ||||
| - Add typer equivalents for `rattail` commands. | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| include *.md | ||||
| include *.rst | ||||
| 
 | ||||
| recursive-include rattail_harvest/db/alembic *.mako | ||||
| recursive-include rattail_harvest/db/alembic *.py | ||||
|  |  | |||
							
								
								
									
										11
									
								
								README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								README.md
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| 
 | ||||
| # rattail-harvest | ||||
| 
 | ||||
| Rattail is a retail software framework, released under the GNU General | ||||
| Public License. | ||||
| 
 | ||||
| This package contains software interfaces for | ||||
| [Harvest](https://www.getharvest.com/). | ||||
| 
 | ||||
| Please see the [Rattail Project](https://rattailproject.org/) for more | ||||
| information. | ||||
							
								
								
									
										14
									
								
								README.rst
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								README.rst
									
										
									
									
									
								
							|  | @ -1,14 +0,0 @@ | |||
| 
 | ||||
| rattail-harvest | ||||
| =============== | ||||
| 
 | ||||
| Rattail is a retail software framework, released under the GNU General | ||||
| Public License. | ||||
| 
 | ||||
| This package contains software interfaces for `Harvest`_. | ||||
| 
 | ||||
| .. _`Harvest`: https://www.getharvest.com/ | ||||
| 
 | ||||
| Please see the `Rattail Project`_ for more information. | ||||
| 
 | ||||
| .. _`Rattail Project`: https://rattailproject.org/ | ||||
							
								
								
									
										53
									
								
								pyproject.toml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								pyproject.toml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,53 @@ | |||
| 
 | ||||
| [build-system] | ||||
| requires = ["hatchling"] | ||||
| build-backend = "hatchling.build" | ||||
| 
 | ||||
| 
 | ||||
| [project] | ||||
| name = "rattail-harvest" | ||||
| version = "0.3.3" | ||||
| description = "Rattail integration package for Harvest" | ||||
| readme = "README.md" | ||||
| authors = [{name = "Lance Edgar", email = "lance@edbob.org"}] | ||||
| license = {text = "GNU GPL v3+"} | ||||
| classifiers = [ | ||||
|         "Development Status :: 3 - Alpha", | ||||
|         "Environment :: Console", | ||||
|         "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 = [ | ||||
|         "invoke", | ||||
|         "rattail[db]", | ||||
| ] | ||||
| 
 | ||||
| 
 | ||||
| [project.urls] | ||||
| Homepage = "https://rattailproject.org" | ||||
| Repository = "https://forgejo.wuttaproject.org/rattail/rattail-harvest" | ||||
| Changelog = "https://forgejo.wuttaproject.org/rattail/rattail-harvest/src/branch/master/CHANGELOG.md" | ||||
| 
 | ||||
| 
 | ||||
| [project.entry-points."rattail.typer_imports"] | ||||
| rattail_harvest = "rattail_harvest.commands" | ||||
| 
 | ||||
| 
 | ||||
| [project.entry-points."wutta.config.extensions"] | ||||
| rattail_harvest = "rattail_harvest.config:RattailHarvestExtension" | ||||
| 
 | ||||
| 
 | ||||
| [project.entry-points."rattail.importing"] | ||||
| "to_rattail.from_harvest.import" = "rattail_harvest.importing.harvest:FromHarvestToRattail" | ||||
| 
 | ||||
| 
 | ||||
| [tool.commitizen] | ||||
| version_provider = "pep621" | ||||
| tag_format = "v$version" | ||||
| update_changelog_on_bump = true | ||||
|  | @ -1,3 +1,6 @@ | |||
| # -*- coding: utf-8; -*- | ||||
| 
 | ||||
| __version__ = '0.2.0' | ||||
| from importlib.metadata import version | ||||
| 
 | ||||
| 
 | ||||
| __version__ = version('rattail-harvest') | ||||
|  |  | |||
|  | @ -26,7 +26,7 @@ rattail-harvest commands | |||
| 
 | ||||
| import typer | ||||
| 
 | ||||
| from rattail.commands import rattail_typer, ImportSubcommand | ||||
| from rattail.commands import rattail_typer | ||||
| from rattail.commands.typer import importer_command, typer_get_runas_user | ||||
| from rattail.commands.importing import ImportCommandHandler | ||||
| 
 | ||||
|  | @ -46,12 +46,3 @@ def import_harvest( | |||
|         config, import_handler_key='to_rattail.from_harvest.import') | ||||
|     kwargs['user'] = typer_get_runas_user(ctx) | ||||
|     handler.run(kwargs, progress=progress) | ||||
| 
 | ||||
| 
 | ||||
| class ImportHarvest(ImportSubcommand): | ||||
|     """ | ||||
|     Import data to Rattail, from Harvest API | ||||
|     """ | ||||
|     name = 'import-harvest' | ||||
|     description = __doc__.strip() | ||||
|     handler_key = 'to_rattail.from_harvest.import' | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| ################################################################################ | ||||
| # | ||||
| #  Rattail -- Retail Software Framework | ||||
| #  Copyright © 2010-2022 Lance Edgar | ||||
| #  Copyright © 2010-2024 Lance Edgar | ||||
| # | ||||
| #  This file is part of Rattail. | ||||
| # | ||||
|  | @ -24,10 +24,10 @@ | |||
| Config Extension | ||||
| """ | ||||
| 
 | ||||
| from rattail.config import ConfigExtension | ||||
| from wuttjamaican.conf import WuttaConfigExtension | ||||
| 
 | ||||
| 
 | ||||
| class RattailHarvestExtension(ConfigExtension): | ||||
| class RattailHarvestExtension(WuttaConfigExtension): | ||||
|     """ | ||||
|     Config extension for rattail-harvest. | ||||
|     """ | ||||
|  |  | |||
							
								
								
									
										45
									
								
								setup.cfg
									
										
									
									
									
								
							
							
						
						
									
										45
									
								
								setup.cfg
									
										
									
									
									
								
							|  | @ -1,45 +0,0 @@ | |||
| # -*- coding: utf-8; -*- | ||||
| 
 | ||||
| [metadata] | ||||
| name = rattail-harvest | ||||
| version = attr: rattail_harvest.__version__ | ||||
| author = Lance Edgar | ||||
| author_email = lance@edbob.org | ||||
| url = https://rattailproject.org/ | ||||
| description = Rattail integration package for Harvest | ||||
| long_description = file: README.rst | ||||
| classifiers = | ||||
|         Development Status :: 3 - Alpha | ||||
|         Environment :: Console | ||||
|         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 = | ||||
|         invoke | ||||
|         rattail[db] | ||||
| 
 | ||||
| packages = find: | ||||
| include_package_data = True | ||||
| 
 | ||||
| 
 | ||||
| [options.entry_points] | ||||
| 
 | ||||
| rattail.subcommands = | ||||
|         import-harvest = rattail_harvest.commands:ImportHarvest | ||||
| 
 | ||||
| rattail.typer_imports = | ||||
|         rattail_harvest = rattail_harvest.commands | ||||
| 
 | ||||
| rattail.config.extensions = | ||||
|         rattail_harvest = rattail_harvest.config:RattailHarvestExtension | ||||
| 
 | ||||
| rattail.importing = | ||||
|         to_rattail.from_harvest.import = rattail_harvest.importing.harvest:FromHarvestToRattail | ||||
							
								
								
									
										29
									
								
								setup.py
									
										
									
									
									
								
							
							
						
						
									
										29
									
								
								setup.py
									
										
									
									
									
								
							|  | @ -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 <http://www.gnu.org/licenses/>. | ||||
| # | ||||
| ################################################################################ | ||||
| """ | ||||
| rattail-harvest setup script | ||||
| """ | ||||
| 
 | ||||
| from setuptools import setup | ||||
| 
 | ||||
| setup() | ||||
							
								
								
									
										26
									
								
								tasks.py
									
										
									
									
									
								
							
							
						
						
									
										26
									
								
								tasks.py
									
										
									
									
									
								
							|  | @ -2,7 +2,7 @@ | |||
| ################################################################################ | ||||
| # | ||||
| #  Rattail -- Retail Software Framework | ||||
| #  Copyright © 2010-2022 Lance Edgar | ||||
| #  Copyright © 2010-2024 Lance Edgar | ||||
| # | ||||
| #  This file is part of Rattail. | ||||
| # | ||||
|  | @ -25,24 +25,36 @@ Tasks for rattail-harvest | |||
| """ | ||||
| 
 | ||||
| import os | ||||
| import re | ||||
| import shutil | ||||
| 
 | ||||
| from invoke import task | ||||
| 
 | ||||
| 
 | ||||
| here = os.path.abspath(os.path.dirname(__file__)) | ||||
| exec(open(os.path.join(here, 'rattail_harvest', '_version.py')).read()) | ||||
| __version__ = None | ||||
| pattern = re.compile(r'^version = "(\d+\.\d+\.\d+)"$') | ||||
| with open(os.path.join(here, 'pyproject.toml'), 'rt') as f: | ||||
|     for line in f: | ||||
|         line = line.rstrip('\n') | ||||
|         match = pattern.match(line) | ||||
|         if match: | ||||
|             __version__ = match.group(1) | ||||
|             break | ||||
| if not __version__: | ||||
|     raise RuntimeError("could not parse version!") | ||||
| 
 | ||||
| 
 | ||||
| @task | ||||
| def release(ctx): | ||||
| def release(c): | ||||
|     """ | ||||
|     Release a new version of rattail-harvest | ||||
|     """ | ||||
|     # rebuild local tar.gz file for distribution | ||||
|     shutil.rmtree('rattail_harvest.egg-info') | ||||
|     ctx.run('python setup.py sdist --formats=gztar') | ||||
|     if os.path.exists('rattail_harvest.egg-info'): | ||||
|         shutil.rmtree('rattail_harvest.egg-info') | ||||
|     c.run('python -m build --sdist') | ||||
| 
 | ||||
|     # upload to public PyPI | ||||
|     filename = 'rattail-harvest-{}.tar.gz'.format(__version__) | ||||
|     ctx.run('twine upload dist/{}'.format(filename)) | ||||
|     filename = f'rattail_harvest-{__version__}.tar.gz' | ||||
|     c.run(f'twine upload dist/{filename}') | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue