Skip to main content

Mercurial File Finder Plugin for Setuptools

Project description

A simple setuptools plugin to support creating distributions from a mercurial-based package checkout.

Detailed Documentation

Mercurial File Finder Plugin for Setuptools

This package provides a simple, command-based file finder plugin for setuptools. Once installed, one can create distributions using a pacakge that has been checked out with Mercurial.

So let’s create a workspace:

>>> import tempfile
>>> ws = tempfile.mkdtemp()

Since the workspace is not a mercurial repository, the finder returns an empty list and leaves an error message in the logs:

>>> from z3c.setuptools_mercurial import finder
>>> finder.find_files(ws)
abort: There is no Mercurial repository here (.hg not found)! (code 255)
<BLANKLINE>
[]

Also, if the directory does not exist, we get an error message, but an empty result set:

>>> finder.find_files('/foo')
[Errno 2] No such file or directory: '/foo'
[]

Let’s now create a new repository:

>>> import os
>>> repos = os.path.join(ws, 'test')
>>> cmd('hg init ' + repos)

The finder still fails with error code 1, since no file is yet added in the repository:

>>> finder.find_files(repos)
(code 1)
[]

Let’s now add soem directories and files and the finder should be happy.

>>> cmd('touch ' + os.path.join(repos, 'data.txt'))
>>> cmd('hg add ' + os.path.join(repos, 'data.txt'))
>>> cmd('mkdir ' + os.path.join(repos, 'dir1'))
>>> cmd('touch ' + os.path.join(repos, 'dir1', 'data1.txt'))
>>> cmd('hg add ' + os.path.join(repos, 'dir1', 'data1.txt'))
>>> cmd('mkdir ' + os.path.join(repos, 'dir1', 'dir11'))
>>> cmd('touch ' + os.path.join(repos, 'dir1', 'dir11', 'data1.txt'))
>>> cmd('hg add ' + os.path.join(repos, 'dir1', 'dir11', 'data1.txt'))
>>> finder.find_files(repos)
['data.txt',
 'dir1/data1.txt',
 'dir1/dir11/data1.txt']

Note that the result of the finder is always a list of relative locations based on the input directory.

>>> finder.find_files(os.path.join(repos, 'dir1'))
['data1.txt',
 'dir11/data1.txt']

CHANGES

1.0.1 (2009-12-16)

  • Feature: Add a test for getting the file list within a sub-directory of the repository.
  • Bug: It turns out that setuptools does not like “./<path>” notation but only “<path>”. Fixed the problem.

1.0.0 (2009-12-15)

  • Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for z3c.setuptools_mercurial, version 1.0.1
Filename, size File type Python version Upload date Hashes
Filename, size z3c.setuptools_mercurial-1.0.1.tar.gz (4.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page