Skip to main content

Wiki page uploading command plugin for setuptools

Project description

NEW in 1.1:

The --changed-file or -f option now lets you specify a single file to upload. (See Command-Line Usage below for details.)

The WikiUp project defines a setuptools extension to allow uploading Wiki pages from source documentation. It’s primarily intended to be useful for PEAK projects to update the PEAK Wiki, but other projects could make use of the same basic framework.

Installing this project adds a wikiup command to setuptools-based packages. By default, this command will read a file called wikiup.cfg in the project directory containing content like this:

[wikiname]
pagename = filename

In other words, a file with a section for each wiki, and a pagename + filename on each line. (The filename is actually optional; if you just list a pagename without an =, the filename will be assumed to be the same as the page name.) Filenames must be relative to the setup directory, and use / as a separator, as they will be converted to an OS path using the distutils convert_path() function.

To configure a Wiki, you need to add it to a distutils config file (usually your $HOME/pydistutils.cfg or ~/.pydistutils.cfg file) like so:

[wikiup-wikiname]
url = base url here
type = plugin name here
... other settings, if any

In other words, for each wiki, you need a [wikiup-foo] section, where foo is the name of the wiki as it will appear in some project’s wikiup.cfg file.

The url is the Wiki’s base URL, and type is the name of the plugin to be used to do the uploading. Currently, the only supported value for type is OldMoin, which works with the old MoinMoin wiki used by the PEAK projects.

Command-Line Usage

The setup.py wikiup command optionally takes a --comment or -c option to specify an update comment to apply when editing. It can also be given --config-file or -C to specify an alternate config file in place of the local wikiup.cfg file.

Also, if you have many wiki pages, you can specify just a single filename to update, using --changed-file or -f. The file will be uploaded to all the matching pages in the project’s wikiup.cfg. (Note: this option is case-sensitive and must exactly match one or more filenames in wikiup.cfg, or nothing will be uploaded.)

The OldMoin Plugin

The OldMoin plugin takes two optional arguments in its configuration section, in addition to the required type and url:

[wikiup-foo]

type = OldMoin
url = something

uid = login.id.goes.here
page_format = {{{ %s }}}

The uid allows you to specify a MoinMoin login ID to use; if specified, the plugin will use the userform Wiki action to log in as that ID before uploading any pages.

The page_format is a format string (defaulting to "#format rst\n%s") that will be used to convert the raw upload file into the page text that will be posted to the wiki. The string is interpreted using the string_escape codec, so you will need to double-up on backslashes to keep them from being treated as character escapes.

Adding Plugins

You can implement alternative plugins for other wiki types, by subclassing wikiup.Wiki and registering the resulting class in the wikiup.plugins entry point group. See the source code for details of what the plugin must be able to do.

Support

Questions, comments, and bug reports for this package should be directed to the PEAK mailing list.

Project details


Download files

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

Source Distribution

WikiUp-1.1.zip (9.9 kB view details)

Uploaded Source

File details

Details for the file WikiUp-1.1.zip.

File metadata

  • Download URL: WikiUp-1.1.zip
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for WikiUp-1.1.zip
Algorithm Hash digest
SHA256 f470bfb44be440f3309a1c09be7399870d8f995d1230a07401c77bdd0d8daf7a
MD5 c08bda275bb5423fabde10b55bc5bae0
BLAKE2b-256 08582cc71b2b32730f954f8d06ef80b9a1c9ef65449d065627ef062c31da4532

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page