Skip to main content

tha.tagfinder

tha.tagfinder is a library for finding trunks and tags in an svn hierarchy. Including options for not descending into specific directories and so.

Made by Reinout van Rees at The Health Agency.

More details in src/tha/tagfinder/USAGE.txt .

Usage of tha.tagfinder

The goal of tha.tagfinder is to traverse though an svn structure and return tags and trunks.

Three imports are needed:

>>> from tha.tagfinder import extracter
>>> from tha.tagfinder import finder
>>> from tha.tagfinder import lister

You need a startpoint, which is either an svn url or a directory name. Our test fixture provides an svn repository:

>>> repo_url
'file://.../repo'

Give your startpoint to a lister, in this case an SvnLister, with an optional list of directory names that should be ignored:

>>> startpoint = lister.SvnLister(repo_url, ignore=['sandbox'])

Choose an extractor. Normally the BaseExtracter, but you can subclass it:

>>> info_extracter = extracter.BaseExtracter

Lastly, set up a finder with the startpoint and the extractor. Optionally pass in stop_indicators that, when found in a directory, will stop the finder from recursing in that directory:

>>> info = finder.Finder(startpoint, info_extracter,
...                      stop_indicators=[])

The main usage is to query this info object for the projects it has found:

>>> print(info.projects)
[<tha.tagfinder.extracter.BaseExtracter object at ...,
 <tha.tagfinder.extracter.BaseExtracter object at ...]

Every project object has attributes that are provided by the extracter. So subclass the extracter if you need extra attributes of your own:

>>> project = info.projects[1]
>>> project.name
'project1'
>>> project.location
'file://.../repo/project1'
>>> project.tags
['0.1', '0.2', '0.3-bugfix']
>>> project.tag_location('0.2')
'file://.../repo/project1/tags/0.2'

TODO

  • Nothing at the moment.

Changelog of tha.tagfinder

1.2 (2009-12-18)

  • Nothing changed yet.

1.1 (2009-12-18)

  • Updated test setup to use compattest. [reinout]

  • Documentation cleanup. [reinout]

1.0 (2009-10-06)

  • Working around a difference when running the test from an svn checkout and when running them from a released egg. [reinout]

0.4 (2009-10-06)

  • Fixed test-all setup. [reinout]

  • Added small files to currently-empty directories in the test fixture to prevent them from being omitted in the egg. [reinout]

0.3 (2009-10-05)

  • Preparing for pypi release by removing some internal The Health Agency development tools. [reinout]

0.2 (2009-10-05)

  • Updated documentation with a basic example in USAGE.txt. [reinout]

0.1 (2009-10-05)

  • Copied most of the original tha.taglist code, but cleaned up and tested. [reinout]

  • Initial library skeleton created by thaskel. [reinout]

Release files for tha.tagfinder 1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tha.tagfinder 1.2
File Size Uploaded
tha.tagfinder-1.2.tar.gz 13.4 kB Details

Release files / tha.tagfinder-1.2.tar.gz

Download URL tha.tagfinder-1.2.tar.gz
Size 13.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b84f8182dab3ee913c25bf26a2c5c34946d5eec0f4d1696504a93a1e5a1f85bc
BLAKE2b-256 checksum
How to use checksums
3df6c573ab0e0eb533056332fcd74a6af3c4e520a9565ce350cd47fa56cdcad3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.2 This release

1 release file

1.1

1 release file

1.0

1 release file

0.4

1 release file

0.3

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page