be.git
11 years agoBumped to version 1.1.1 v1.1.x 1.1.1
W. Trevor King [Sat, 17 Nov 2012 13:46:38 +0000 (08:46 -0500)]
Bumped to version 1.1.1

11 years agoMerge branch 'python2.6' into v1.1.x (explicit format specifiers)
W. Trevor King [Sat, 17 Nov 2012 13:43:27 +0000 (08:43 -0500)]
Merge branch 'python2.6' into v1.1.x (explicit format specifiers)

11 years agoAdd explicit positional argument specifiers to .format() strings python2.6
W. Trevor King [Sat, 17 Nov 2012 13:16:54 +0000 (08:16 -0500)]
Add explicit positional argument specifiers to .format() strings

This fixes issues with Python 2.6 (before the implicit specifiers
introduced by Python 2.7).

  On Fri, Nov 16, 2012 at 09:04:56AM -0600, Daniel Heater wrote:
  > ...
  > Traceback (most recent call last):
  >   File "setup.py", line 22, in <module>
  >     version='{}'.format(version.version()),
  > ValueError: zero length field name in format
  > ...

11 years agoBumped to version 1.1.0 1.1.0
W. Trevor King [Mon, 12 Nov 2012 18:10:36 +0000 (13:10 -0500)]
Bumped to version 1.1.0

11 years agorelease.py: use Python 2.7 for sphinx-build
W. Trevor King [Mon, 12 Nov 2012 18:07:44 +0000 (13:07 -0500)]
release.py: use Python 2.7 for sphinx-build

11 years agodoc:Makefile: use Python 2.7 for generate-libbe-txt.py
W. Trevor King [Mon, 12 Nov 2012 17:20:40 +0000 (12:20 -0500)]
doc:Makefile: use Python 2.7 for generate-libbe-txt.py

11 years agostorage:base: convert to Python 3.3 compatibility
W. Trevor King [Mon, 12 Nov 2012 17:18:50 +0000 (12:18 -0500)]
storage:base: convert to Python 3.3 compatibility

11 years agostorage: convert to Python 3 compatibility
W. Trevor King [Mon, 12 Nov 2012 17:18:43 +0000 (12:18 -0500)]
storage: convert to Python 3 compatibility

11 years agoversion: convert to Python 3 compatibility
W. Trevor King [Mon, 12 Nov 2012 17:18:32 +0000 (12:18 -0500)]
version: convert to Python 3 compatibility

11 years agotest: convert to Python 3 compatibility
W. Trevor King [Mon, 12 Nov 2012 17:18:23 +0000 (12:18 -0500)]
test: convert to Python 3 compatibility

11 years agorelease.py: build HTML docs when cutting releases
W. Trevor King [Mon, 12 Nov 2012 16:54:47 +0000 (11:54 -0500)]
release.py: build HTML docs when cutting releases

11 years agoutil:wsgi: handle all dispatch() exceptions in BEExceptionApp
W. Trevor King [Mon, 29 Oct 2012 00:20:27 +0000 (20:20 -0400)]
util:wsgi: handle all dispatch() exceptions in BEExceptionApp

This brings BEExceptionApp into closer agreement with
libbe.ui.command_line.dispatch(), and avoids having the server go down
when a user submits a silly command.

11 years agoutil:http: special handling for HTTP_USER_ERROR in get_post_url().
W. Trevor King [Mon, 29 Oct 2012 00:08:30 +0000 (20:08 -0400)]
util:http: special handling for HTTP_USER_ERROR in get_post_url().

11 years agoUse libbe.util.http.HTTP_USER_ERROR everywhere instead of hardcoding 418
W. Trevor King [Sun, 28 Oct 2012 23:59:41 +0000 (19:59 -0400)]
Use libbe.util.http.HTTP_USER_ERROR everywhere instead of hardcoding 418

11 years agoutil:wsgi: catch NoIDMatches in BEExceptionApp
W. Trevor King [Sun, 28 Oct 2012 23:00:32 +0000 (19:00 -0400)]
util:wsgi: catch NoIDMatches in BEExceptionApp

11 years agoutil:wsgi: add --daemon, --pidfile, and --logfile
W. Trevor King [Sat, 27 Oct 2012 23:46:41 +0000 (19:46 -0400)]
util:wsgi: add --daemon, --pidfile, and --logfile

This allows you to manage BE servers from inetd scripts, etc.
Shortcomings of the current implementation:

* ServerCommand._daemonize() currently only sets a SIGTERM handler and
  double forks.  If you want to do this right, see PEP 3143.
  Unfortunately, the PEP seems to have stalled, python-daemon appears
  unmaintained, and I don't care enough at the moment to do this
  right.

* ServerCommand._get_pidfile() races between checking for an existing
  PID file and claiming the file itself.  It is possible that two
  processes would check around the same time, and both see no existing
  file.  Then they would both open the PID file and write their pid,
  without noticing that the other process was contending for the file.
  Solving this requires file locking, which is difficult to do
  portably.  This shouldn't be an issue in normal operation, where
  each server will be using its own PID file path.

11 years agoutil:wsgi: fix From -> from typo in pyOpenSSL comment
W. Trevor King [Sat, 27 Oct 2012 20:16:50 +0000 (16:16 -0400)]
util:wsgi: fix From -> from typo in pyOpenSSL comment

11 years agoutil:wsgi: fix get_cert_filenames -> _get_cert_filenames typo
W. Trevor King [Sat, 27 Oct 2012 20:14:45 +0000 (16:14 -0400)]
util:wsgi: fix get_cert_filenames -> _get_cert_filenames typo

This was broken in the creation of libbe.util.wsgi from
libbe.command.serve:

  commit 0fa17f6bf6a809df14ae1930542059a9e62066b0
  Author: W. Trevor King <wking@tremily.us>
  Date:   Mon Aug 27 13:37:58 2012 -0400

    libbe:util:wsgi: extract WSGI utilities into a separate module.

11 years agoutil:wsgi: import os.path for _get_cert_filenames()
W. Trevor King [Sat, 27 Oct 2012 20:11:57 +0000 (16:11 -0400)]
util:wsgi: import os.path for _get_cert_filenames()

This was lost in the creation of libbe.util.wsgi from
libbe.command.serve:

  commit 0fa17f6bf6a809df14ae1930542059a9e62066b0
  Author: W. Trevor King <wking@tremily.us>
  Date:   Mon Aug 27 13:37:58 2012 -0400

    libbe:util:wsgi: extract WSGI utilities into a separate module.

11 years agodoc:install: CherryPy is *not* used for HTTP, only for HTTPS.
W. Trevor King [Sat, 27 Oct 2012 20:01:01 +0000 (16:01 -0400)]
doc:install: CherryPy is *not* used for HTTP, only for HTTPS.

For plain HTTP, we use wsgiref.simple_server from the stdlib.

Also include the `html` command as a WSGI-based command.

11 years agoutil:wsgi: fix Clossing -> Closing typo.
W. Trevor King [Sat, 27 Oct 2012 19:41:08 +0000 (15:41 -0400)]
util:wsgi: fix Clossing -> Closing typo.

11 years agoutil:wsgi: remove %default from option help strings
W. Trevor King [Sat, 27 Oct 2012 19:29:12 +0000 (15:29 -0400)]
util:wsgi: remove %default from option help strings

11 years agocommand:html: remove %default from option help strings
W. Trevor King [Sat, 27 Oct 2012 19:29:00 +0000 (15:29 -0400)]
command:html: remove %default from option help strings

11 years agoREADME: Update NumPy/SciPy doc link
W. Trevor King [Sat, 27 Oct 2012 16:39:47 +0000 (12:39 -0400)]
README: Update NumPy/SciPy doc link

11 years agoREADME: wrap doc/index.txt reference in backticks
W. Trevor King [Sat, 27 Oct 2012 16:38:55 +0000 (12:38 -0400)]
README: wrap doc/index.txt reference in backticks

File names, code, etc., should have special markup so they aren't
confused with regular text.

11 years agostorage:util:upgrade: use YAML parser to get BE Tree 1 0 settings
W. Trevor King [Sat, 27 Oct 2012 16:27:16 +0000 (12:27 -0400)]
storage:util:upgrade: use YAML parser to get BE Tree 1 0 settings

This fixes the "Bugs Everywhere Tree 1 0" -> "Bugs Everywhere
Directory v1.1" upgrade broken by the switch to JSON in:

  commit a95915c6c7d6a4e29c1e5547580e0c1fed2467e1
  Author: W. Trevor King <wking@tremily.us>
  Date:   Mon Sep 17 08:14:21 2012 -0400

    storage:util:mapfile: convert YAML settings to JSON.

11 years agomisc:completion:be.zsh: update import-xml --comment-root -> --root
W. Trevor King [Sat, 27 Oct 2012 15:51:05 +0000 (11:51 -0400)]
misc:completion:be.zsh: update import-xml --comment-root -> --root

This catches the script up with:

  commit 4db1a045a0606bead191a563abc54dfa8352efe0
  Author: W. Trevor King <wking@tremily.us>
  Date:   Wed Aug 29 23:26:17 2012 -0400

    Rewrite commands to use bugdirs instead of a single bugdir.

11 years agotest_usage.sh: update import-xml --comment-root -> --root
W. Trevor King [Sat, 27 Oct 2012 15:49:19 +0000 (11:49 -0400)]
test_usage.sh: update import-xml --comment-root -> --root

This catches the tests up with:

  commit 4db1a045a0606bead191a563abc54dfa8352efe0
  Author: W. Trevor King <wking@tremily.us>
  Date:   Wed Aug 29 23:26:17 2012 -0400

    Rewrite commands to use bugdirs instead of a single bugdir.

11 years agostorage:vcs:git: don't accept pygit2 version 0.17.3.
W. Trevor King [Sat, 27 Oct 2012 15:38:20 +0000 (11:38 -0400)]
storage:vcs:git: don't accept pygit2 version 0.17.3.

My Repository.revparse_single() series was merged into pygit2 with:

  Merge: 3e9daa4 0238fb7
  Author: J. David Ibáñez <jdavid.ibp@gmail.com>
  Date:   Tue Sep 25 15:10:55 2012 +0200

    Merge remote-tracking branch 'wking/revparse'

But this happened after the 0.17.3 release.  The next pygit2 release
should contain the .revparse_single() code.

The getattr() hackery works because versions of pygit2 before 0.17.3
lacked a __version__ attribute.

11 years agodoc:power: add Zsh completion location and update Bash install location
W. Trevor King [Sat, 27 Oct 2012 11:47:29 +0000 (07:47 -0400)]
doc:power: add Zsh completion location and update Bash install location

This puts both scripts in the right spot on Gentoo, and shows the
suggested installed filename (not just the suggested directory).

11 years agocommand:serve_*: remove wordy "with, for example" from help message
W. Trevor King [Sat, 27 Oct 2012 10:56:52 +0000 (06:56 -0400)]
command:serve_*: remove wordy "with, for example" from help message

11 years agocommand:serve_commands: fix --repo -> --server in help message
W. Trevor King [Sat, 27 Oct 2012 10:55:46 +0000 (06:55 -0400)]
command:serve_commands: fix --repo -> --server in help message

11 years agodoc:tutorial: use a Git tag for the `be diff` example
W. Trevor King [Fri, 26 Oct 2012 18:17:21 +0000 (14:17 -0400)]
doc:tutorial: use a Git tag for the `be diff` example

I haven't tagged 1.1.0 yet, but earlier tags do not use Bugs
Everywhere Directory v1.5, and we don't have on-the-fly storage
updates yet.

11 years agodoc:tutorial: fix ReST formatting for `be show --xml` example
W. Trevor King [Fri, 26 Oct 2012 17:52:53 +0000 (13:52 -0400)]
doc:tutorial: fix ReST formatting for `be show --xml` example

11 years agodoc:tutorial: move "you think" before quote in initialization section
W. Trevor King [Fri, 26 Oct 2012 17:46:11 +0000 (13:46 -0400)]
doc:tutorial: move "you think" before quote in initialization section

11 years agodoc:tutorial: fix ReST formatting for first `be comment` example
W. Trevor King [Fri, 26 Oct 2012 17:28:56 +0000 (13:28 -0400)]
doc:tutorial: fix ReST formatting for first `be comment` example

11 years agodoc:install: mention that we *do* post releases now
W. Trevor King [Fri, 26 Oct 2012 17:26:55 +0000 (13:26 -0400)]
doc:install: mention that we *do* post releases now

11 years agodoc:install: mention that PyYAML is now optional
W. Trevor King [Fri, 26 Oct 2012 17:26:18 +0000 (13:26 -0400)]
doc:install: mention that PyYAML is now optional

11 years agostorage:util:upgrade: make yaml import optional (unless it isn't)
W. Trevor King [Fri, 26 Oct 2012 17:18:21 +0000 (13:18 -0400)]
storage:util:upgrade: make yaml import optional (unless it isn't)

Importing `yaml` may fail (if the user doesn't have PyYAML installed),
but don't die until we need to use it.  This way users without the old
YAML formats on disk can run BE without installing PyYAML.

11 years agocommand: use mapfiles (JSON) instead of YAML for the command server
W. Trevor King [Fri, 26 Oct 2012 17:09:21 +0000 (13:09 -0400)]
command: use mapfiles (JSON) instead of YAML for the command server

11 years agostorage:util:mapfile: add `context` argument to generate()
W. Trevor King [Fri, 26 Oct 2012 17:08:54 +0000 (13:08 -0400)]
storage:util:mapfile: add `context` argument to generate()

11 years agodoc/install: fix paragraph indentation in man page installation discussion
W. Trevor King [Fri, 26 Oct 2012 16:52:29 +0000 (12:52 -0400)]
doc/install: fix paragraph indentation in man page installation discussion

11 years agodoc/install: point out relevant Debian bugs in a comment
W. Trevor King [Fri, 26 Oct 2012 16:50:27 +0000 (12:50 -0400)]
doc/install: point out relevant Debian bugs in a comment

11 years agodoc:install: fix dependency table ReST formatting
W. Trevor King [Fri, 26 Oct 2012 16:39:32 +0000 (12:39 -0400)]
doc:install: fix dependency table ReST formatting

The header had been broken by

  commit f174d8943c2edea25306ab522c27f69bbebd0be3
  Author: W. Trevor King <wking@tremily.us>
  Date:   Thu May 10 08:56:02 2012 -0400

    Update CherryPy dependency package to python-cherrypy3 on Debian.

11 years agodoc:index: mention that in-branch-bugs are not the only way
W. Trevor King [Fri, 26 Oct 2012 16:36:36 +0000 (12:36 -0400)]
doc:index: mention that in-branch-bugs are not the only way

11 years agodoc: clean up top level module docstrings
W. Trevor King [Fri, 26 Oct 2012 12:55:42 +0000 (08:55 -0400)]
doc: clean up top level module docstrings

11 years agolibbe:bugdir: avoid SimpleBugDir is not a item name
W. Trevor King [Fri, 26 Oct 2012 12:48:30 +0000 (08:48 -0400)]
libbe:bugdir: avoid SimpleBugDir is not a item name

This happens because SimpleBugDir is not defined if libbe.TESTING is
not set before importing libbe.bugdir.

11 years agodoc: update :attr: to :py:attr: for modern Sphinx.
W. Trevor King [Fri, 26 Oct 2012 12:43:04 +0000 (08:43 -0400)]
doc: update :attr: to :py:attr: for modern Sphinx.

11 years agodoc: update :data: to :py:data: for modern Sphinx.
W. Trevor King [Fri, 26 Oct 2012 12:42:14 +0000 (08:42 -0400)]
doc: update :data: to :py:data: for modern Sphinx.

11 years agodoc: update :meth: to :py:meth: for modern Sphinx.
W. Trevor King [Fri, 26 Oct 2012 12:41:21 +0000 (08:41 -0400)]
doc: update :meth: to :py:meth: for modern Sphinx.

11 years agodoc:config: use :file: to markup filenames.
W. Trevor King [Fri, 26 Oct 2012 12:40:09 +0000 (08:40 -0400)]
doc:config: use :file: to markup filenames.

11 years agodoc: update :class: to :py:class: for modern Sphinx.
W. Trevor King [Fri, 26 Oct 2012 12:37:54 +0000 (08:37 -0400)]
doc: update :class: to :py:class: for modern Sphinx.

11 years agostorage:vcs:base: avoid `is not a item name` Sphinx error.
W. Trevor King [Fri, 26 Oct 2012 12:36:09 +0000 (08:36 -0400)]
storage:vcs:base: avoid `is not a item name` Sphinx error.

11 years agodoc:conf: use `version (date)` in Sphinx docs
W. Trevor King [Fri, 26 Oct 2012 12:22:32 +0000 (08:22 -0400)]
doc:conf: use `version (date)` in Sphinx docs

Since

  commit bed7587fe4910f8e4b892a09675279c5a4ab5484
  Author: W. Trevor King <wking@tremily.us>
  Date:   Thu Oct 25 19:07:09 2012 -0400

    version: use abbreviated SHA instead of  explicit _VERSION in master branch

the version SHA will either be explicit in version(), or version()
will return a release tag.  This makes the long SHA in the Sphinx docs
unnecessary, so we can replace it with the more interesting commit
date.

11 years agodoc: update :mod: to :py:mod: for modern Sphinx.
W. Trevor King [Fri, 26 Oct 2012 12:13:13 +0000 (08:13 -0400)]
doc: update :mod: to :py:mod: for modern Sphinx.

11 years agodoc: update :func: to :py:func: for modern Sphinx.
W. Trevor King [Fri, 26 Oct 2012 12:12:08 +0000 (08:12 -0400)]
doc: update :func: to :py:func: for modern Sphinx.

11 years agostorage:util:config: path() now defaults to ~/.config/bugs-everywhere
W. Trevor King [Fri, 26 Oct 2012 12:00:31 +0000 (08:00 -0400)]
storage:util:config: path() now defaults to ~/.config/bugs-everywhere

Add a documentation section discussing the config file, respect
XDG_CONFIG_HOME, and add BE_CONFIG_PATH.

11 years agorelease.py: strip trailing whitespace from ChangeLog.
W. Trevor King [Fri, 26 Oct 2012 02:40:49 +0000 (22:40 -0400)]
release.py: strip trailing whitespace from ChangeLog.

11 years agorelease.py: sign tags when cutting releases.
W. Trevor King [Thu, 25 Oct 2012 23:46:13 +0000 (19:46 -0400)]
release.py: sign tags when cutting releases.

11 years agorelease.py: use current Python executable for ./be invocation
W. Trevor King [Thu, 25 Oct 2012 23:37:37 +0000 (19:37 -0400)]
release.py: use current Python executable for ./be invocation

This allow you to cut a release where your system Python is not
compatible with be.  For example:

  $ python --version
  Python 3.2.3
  $ python2.7 ./release.py 1.1.0

11 years agosetup.py: flesh out setup in preparation for PyPI posting
W. Trevor King [Thu, 25 Oct 2012 23:34:06 +0000 (19:34 -0400)]
setup.py: flesh out setup in preparation for PyPI posting

11 years agosetup.py: change setup.py name to something more PyPI friendly.
W. Trevor King [Thu, 25 Oct 2012 23:13:47 +0000 (19:13 -0400)]
setup.py: change setup.py name to something more PyPI friendly.

11 years agosetup.py: don't put the date in the setup.py version (PyPI gets mad).
W. Trevor King [Thu, 25 Oct 2012 23:11:19 +0000 (19:11 -0400)]
setup.py: don't put the date in the setup.py version (PyPI gets mad).

11 years agoversion: use abbreviated SHA instead of explicit _VERSION in master branch
W. Trevor King [Thu, 25 Oct 2012 23:07:09 +0000 (19:07 -0400)]
version: use abbreviated SHA instead of  explicit _VERSION in master branch

Only official releases get a version number, which should help avoid
confusion.  If you're running a live checkout, you shouldn't be scared
off by SHAs.

11 years agorelease.py: pull main code into main().
W. Trevor King [Thu, 25 Oct 2012 22:44:22 +0000 (18:44 -0400)]
release.py: pull main code into main().

11 years agoupdate-copyright: update to the python3 branch.
W. Trevor King [Thu, 25 Oct 2012 21:57:39 +0000 (17:57 -0400)]
update-copyright: update to the python3 branch.

11 years agorelease.py: remove dependency on deprecated libbe.subproc.Pipe
W. Trevor King [Thu, 25 Oct 2012 20:56:03 +0000 (16:56 -0400)]
release.py: remove dependency on deprecated libbe.subproc.Pipe

Pipe has been gone since:

  commit f1ae4b7f3fea6fb78a54ee5073aee648a3d73179
  Author: W. Trevor King <wking@drexel.edu>
  Date:   Sat Feb 25 11:16:01 2012 -0500

    Remove util.subproc.Pipe, as we no longer use it in BE.

11 years agointerfaces:web:web: use bugdir_bug_comment_from_user_id() in CFBE.
W. Trevor King [Thu, 25 Oct 2012 12:19:42 +0000 (08:19 -0400)]
interfaces:web:web: use bugdir_bug_comment_from_user_id() in CFBE.

This gets CFBE working with:

  commit 4db1a045a0606bead191a563abc54dfa8352efe0
  Author: W. Trevor King <wking@tremily.us>
  Date:   Wed Aug 29 23:26:17 2012 -0400

    Rewrite commands to use bugdirs instead of a single bugdir.

I'm not sure how much work it would take to rewrite CFBE to use
multiple bugdirs.

11 years agobugdir|bug|comment: update default settings string to be value JSON.
W. Trevor King [Thu, 25 Oct 2012 12:12:59 +0000 (08:12 -0400)]
bugdir|bug|comment: update default settings string to be value JSON.

11 years agostorage:util:mapfile: fix YAML -> JSON in docstrings.
W. Trevor King [Thu, 25 Oct 2012 12:03:30 +0000 (08:03 -0400)]
storage:util:mapfile: fix YAML -> JSON in docstrings.

This should have been done back in:

  commit a95915c6c7d6a4e29c1e5547580e0c1fed2467e1
  Author: W. Trevor King <wking@tremily.us>
  Date:   Mon Sep 17 08:14:21 2012 -0400

    storage:util:mapfile: convert YAML settings to JSON.

I also add an empty-settings generation as a sanity check.

11 years agosetup.py: make libbe._version optional.
W. Trevor King [Thu, 25 Oct 2012 11:00:42 +0000 (07:00 -0400)]
setup.py: make libbe._version optional.

Thanks to Timmie for pointing this out:

From: Timmie <timmichelsen@gmx-topmail.de>
Date: Thu, 25 Oct 2012 09:42:23 +0000 (UTC)
Subject: Re: [Be-devel] NotImplementedError with Bazaar

...
I notices the following glichtes during the install:

D:\be-be-master\be-be>python setup.py install
WARNING:root:unable to import libbe._version: No module named _version
Traceback (most recent call last):
  File "setup.py", line 6, in <module>
    from libbe import _version, version
ImportError: cannot import name _version
...

11 years ago.update-copyright.conf: update to pipe separators.
W. Trevor King [Sat, 20 Oct 2012 11:18:40 +0000 (07:18 -0400)]
.update-copyright.conf: update to pipe separators.

This brings the config file up to speed with the following
update-copyright commit:

  commit 3c68a1a48419d8b2bbc2ce0e7f1700b996ec30e9
  Author: W. Trevor King <wking@tremily.us>
  Date:   Fri Oct 19 21:52:48 2012 -0400

    project: for consistency, also separate ignored paths with pipes

11 years agoRan update-copyright.py.
W. Trevor King [Tue, 16 Oct 2012 14:58:37 +0000 (10:58 -0400)]
Ran update-copyright.py.

11 years ago.mailmap: consilidate Niall Douglas' addresses.
W. Trevor King [Tue, 16 Oct 2012 14:54:58 +0000 (10:54 -0400)]
.mailmap: consilidate Niall Douglas' addresses.

11 years agoupdate-copyright: update to current update-copyright (v0.4+).
W. Trevor King [Tue, 16 Oct 2012 14:36:53 +0000 (10:36 -0400)]
update-copyright: update to current update-copyright (v0.4+).

11 years agodoc:tutorial: fix typos in the attachment examples.
Nicolas Bigaouette [Wed, 19 Sep 2012 15:12:37 +0000 (11:12 -0400)]
doc:tutorial: fix typos in the attachment examples.

I wrote the actual patch, but Nicolas gave pretty unambiguous
directions, so I'm making him the author.

On Wed, Sep 19, 2012 at 11:03:39AM -0400, Nicolas Bigaouette wrote:
> Hi all,
>
> I'm trying out Bugs Everywhere, pretty neat!
>
> Reading the documentation, I see it's possible to add attachment to the bug
> report. The "commenting on bugs" section of the tutorial[1] gives the
> command for the attachment:
>
> > $ cat screenshot.png | be comment --content-type image/png bea/28f
> >
> or the following to reply to a specific comment:
>
> > $ be comment bea/28f “Whosit dissapears when you mouse-over whatsit.”
> > $ cat screenshot.png | be comment --content-type image/png bea/28f/41d
> >
>
> Both these commands fail as they will try to open the editor for entering
> the comment.
>
> The fix is simply to append a single dash "-" at the end of the attachment
> command to tell "be comment" to read the comment from stdin (see "be help
> comment").
>
> Also, the second example has not the same formatting as the first one. The
> first one seems to have a "code" formatting, while the second is just
> indented without any line breaks.
>
> Thanks!
>
> Nicolas
>
> [1] http://docs.bugseverywhere.org/tutorial.html#commenting-on-bugs

11 years agostorage:vcs:git: check for existence of pygit2.__version__.
W. Trevor King [Mon, 17 Sep 2012 15:13:36 +0000 (11:13 -0400)]
storage:vcs:git: check for existence of pygit2.__version__.

Now that my pull request has been accepted, we can be fairly confident
that future releases of pygit2 will expose this attribute.  The
accepted patch was a bit different from the original submission:

Add 'pygit2.__version__' for easy access from client software.
  https://github.com/libgit2/pygit2/pull/128
  commit f10d2b7b3f0c67d81b175326035e4813420156bd

11 years agocommand:html: convert -moz-border-radius to border-radius.
W. Trevor King [Mon, 17 Sep 2012 13:35:10 +0000 (09:35 -0400)]
command:html: convert -moz-border-radius to border-radius.

border-radius and friends are standard CSS3 [1].

[1]: http://www.w3.org/TR/css3-background/#the-border-radius

11 years agocommand.html: display "Target:" detail for bugs with targets.
W. Trevor King [Mon, 17 Sep 2012 13:25:07 +0000 (09:25 -0400)]
command.html: display "Target:" detail for bugs with targets.

11 years agocommand:html: fix two auto% -> auto typos in CSS.
W. Trevor King [Mon, 17 Sep 2012 13:21:18 +0000 (09:21 -0400)]
command:html: fix two auto% -> auto typos in CSS.

These were introduced in

  commit d61d54ce33022f0613c5e19e2f52be4ab77c4664
  Author: Gianluca Montecchi <gian@grys.it>
  Date:   Mon Jan 24 22:47:32 2011 +0100

    New html output for html command

and propogated in

  commit 5b6be7a511670cdf1961d13040cddcb34e70b8a1
  Author: W. Trevor King <wking@drexel.edu>
  Date:   Sun Apr 17 02:41:07 2011 -0400

    Rework `be html` to use Jinja2 templates.

11 years agobea864: upgrade to Bugs Everywhere Directory v1.5 (YAML -> JSON).
W. Trevor King [Mon, 17 Sep 2012 13:01:20 +0000 (09:01 -0400)]
bea864: upgrade to Bugs Everywhere Directory v1.5 (YAML -> JSON).

11 years agostorage:util:mapfile: convert YAML settings to JSON.
W. Trevor King [Mon, 17 Sep 2012 12:14:21 +0000 (08:14 -0400)]
storage:util:mapfile: convert YAML settings to JSON.

This is faster and still readable.  I also add an upgrader to convert
bug directories from:
  Bugs Everywhere Directory v1.4
to:
  Bugs Everywhere Directory v1.5
but I haven't upgraded the local bugdir yet.

11 years agostorage:vcs:git: move Git to ExecGit and add PygitGit using pygit2.
W. Trevor King [Thu, 13 Sep 2012 23:07:59 +0000 (19:07 -0400)]
storage:vcs:git: move Git to ExecGit and add PygitGit using pygit2.

If `pygit2` is installed, use it (via PygitGit) rather than calling
the stand-alone `git` executable for all the Git (via ExecGit) for all
the Git storage stuff.  This saves one serializing/deserializing and
process setup/teardown.  I timed each test suite by commenting out one
of the `make_vcs_testcase_subclasses()` calls at the end of `git.py`
and running

  $ time python test.py libbe.storage.vcs.git

The ExecGit tests ran in 13.7s and the PygitGit tests ran in 3.6s for
a 3.8x speedup.

I had to stretch pygit2 a bit to get a clean fit, so if you want to
test this, you'll need to build pygit2 with the following merge
requests:

  Add 'pygit2.__version__' for easy access from client software.
    https://github.com/libgit2/pygit2/pull/128
    commit 0238fb72dfdf2a2308f2da347717cbaafddc4b83
  signature: Add keyword argument parsing to Signature().
    https://github.com/libgit2/pygit2/pull/129
    commit c934858b629f40221406f34166dd77e881b9d5fd
  repository: add Repository.revparse_single()
    https://github.com/libgit2/pygit2/pull/131
    commit 3afdc8b2f59ed137531671fedde36f3a39cbcc9d

11 years agostorage:vcs:base: fix _gets_ -> _get_ typo in test_gets_existing_user_id.
W. Trevor King [Thu, 13 Sep 2012 16:08:10 +0000 (12:08 -0400)]
storage:vcs:base: fix _gets_ -> _get_ typo in test_gets_existing_user_id.

VCS_get_user_id_TestCase.test_gets_existing_user_id is now
VCS_get_user_id_TestCase.test_get_existing_user_id

11 years agostorage:vcs:base: fix realtive -> relative typo in _u_abspath docstring.
W. Trevor King [Thu, 13 Sep 2012 15:47:51 +0000 (11:47 -0400)]
storage:vcs:base: fix realtive -> relative typo in _u_abspath docstring.

11 years agocommand:html: add --strip-email option.
W. Trevor King [Mon, 3 Sep 2012 20:37:17 +0000 (16:37 -0400)]
command:html: add --strip-email option.

11 years agocommand:html: oops, use default arguments for 'notify' and 'auth'.
W. Trevor King [Mon, 3 Sep 2012 20:17:14 +0000 (16:17 -0400)]
command:html: oops, use default arguments for 'notify' and 'auth'.

11 years agocommand:html: fix super(HTML. self) -> super(HTML, self).
W. Trevor King [Mon, 3 Sep 2012 20:14:39 +0000 (16:14 -0400)]
command:html: fix super(HTML. self) -> super(HTML, self).

11 years agoui:command_line: use `be help server` for help with `--server`.
W. Trevor King [Mon, 3 Sep 2012 19:18:36 +0000 (15:18 -0400)]
ui:command_line: use `be help server` for help with `--server`.

Use the recently created topic, which provides more details than the
`serve-commands` help message.

11 years agoui:command_line: display help.TOPICS during `be help`.
W. Trevor King [Mon, 3 Sep 2012 19:18:22 +0000 (15:18 -0400)]
ui:command_line: display help.TOPICS during `be help`.

11 years agocommand:help: add `repo` and `server` topics.
W. Trevor King [Mon, 3 Sep 2012 19:15:38 +0000 (15:15 -0400)]
command:help: add `repo` and `server` topics.

11 years agocommand:help: match against command names (not module names).
W. Trevor King [Mon, 3 Sep 2012 19:15:03 +0000 (15:15 -0400)]
command:help: match against command names (not module names).

11 years agoui:command_line: use command names in command-list help message.
W. Trevor King [Mon, 3 Sep 2012 18:26:36 +0000 (14:26 -0400)]
ui:command_line: use command names in command-list help message.

The old implementation used module names.  For example:
  command name: import-xml
  module name:  import_xml

11 years agoui:command_line: add 'html' command to no-pager commands.
W. Trevor King [Mon, 3 Sep 2012 18:21:56 +0000 (14:21 -0400)]
ui:command_line: add 'html' command to no-pager commands.

Also rename 'serve' -> 'serve-storaage'.

This catches the server version up with:

  commit 0336db8d4052a319f1d959a33fc847814551e3f8
  Author: W. Trevor King <wking@tremily.us>
  Date:   Wed Aug 29 23:55:37 2012 -0400

    command:serve-storage: rename `be serve` -> `be serve-storage`.

11 years agoutil:wsgi: WSGITestCase should not subclass WSGICaller.
W. Trevor King [Mon, 3 Sep 2012 17:54:07 +0000 (13:54 -0400)]
util:wsgi: WSGITestCase should not subclass WSGICaller.

The old implementation caused a number of unittest errors.

This commit adds a WSGICaller instance as WSGITestCase.caller, and
provides a wrapper .getURL method which copies the
status/headers/etc. from the caller back into the WSGITestCase.

11 years agocommand:html: rewrite as a libbe.util.wsgi.ServerCommand.
W. Trevor King [Mon, 3 Sep 2012 17:10:04 +0000 (13:10 -0400)]
command:html: rewrite as a libbe.util.wsgi.ServerCommand.

Now `be html` defaults to serving the BE repo live.  With the
`--export-html` option, it reverts to the earlier static dump
behaviour.

This will make it easier for others to embed a read-only HTML server
in their own app (e.g. as a gitorious issue tracker).

11 years agoutil:wsgi: Pull WSGICaller out of WSGITestCase.
W. Trevor King [Mon, 3 Sep 2012 17:09:06 +0000 (13:09 -0400)]
util:wsgi: Pull WSGICaller out of WSGITestCase.

11 years agobea/c283cb: move 'wishlist' severity from bug summary to .severity attribute.
W. Trevor King [Mon, 3 Sep 2012 15:53:32 +0000 (11:53 -0400)]
bea/c283cb: move 'wishlist' severity from bug summary to .severity attribute.

11 years agocommand:serve-storage: rename server_version to BE-storage-server/<VERSION>.
W. Trevor King [Mon, 3 Sep 2012 14:01:32 +0000 (10:01 -0400)]
command:serve-storage: rename server_version to BE-storage-server/<VERSION>.

This catches the server version up with:

  commit 0336db8d4052a319f1d959a33fc847814551e3f8
  Author: W. Trevor King <wking@tremily.us>
  Date:   Wed Aug 29 23:55:37 2012 -0400

    command:serve-storage: rename `be serve` -> `be serve-storage`.

11 years agocommand:serve_commands: allow unspecified parameters (use defaults).
W. Trevor King [Mon, 3 Sep 2012 13:36:56 +0000 (09:36 -0400)]
command:serve_commands: allow unspecified parameters (use defaults).

Also raise UnknownCommand if there is no `command` key in the posted
dict (malformed request).

With the new code, you can run commands with:

  $ wget --post-data='command: list' http://localhost:8000/run/

instead of having to go through and specify all the parameters
explicitly.  This will make the command server more robust for use
with older clients (who may not know about all the parameters that the
server knows about).  Parameters sent by the client that the server
does not know about are silently ignored.