aboutsummaryrefslogtreecommitdiffstats
path: root/libbe
Commit message (Collapse)AuthorAgeFilesLines
* Incorrect accquiring bugdir command line argumentMatěj Cepl2013-10-313-3/+3
| | | | | The calling below seems like a typo to me. How can we index with a variable which has not been initialized yet?
* Make BE working with non-ASCII username.Matěj Cepl2013-07-222-1/+5
| | | | Signed-off-by: Matěj Cepl <mcepl@redhat.com>
* command:target: Print full ID (bugdir/bug) on --resolveW. Trevor King2013-07-101-1/+1
| | | | | | | | | | | | The old implementation just printed the bug UUID (without the bugdir/ prefix). This lead to the command we suggest in `be target --help`: $ be depend --status -closed,fixed,wontfix --severity -target \ $(be target --resolve) failing with an invalid ID. Reported-by: Michael Sperber <sperber@deinprogramm.de>
* command:html: Rework comment <div> closingW. Trevor King2013-03-121-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Comment nesting wasn't working properly before, where you could get things like: <div class="comment root" id="a"> </div> <!-- close a --> <div class="comment" id="a/b"> <div class="comment" id="a/b/c"> <div class="comment root" id="d"> </div> <!-- close d --> </div> <!-- close a/b/c --> </div> <!-- close a/b --> from a comment tree (using fake ids) of: . |-- a | `-- a/b | `-- a/b/c `-- d The new handling pushes the `div_close(depth)` call to the front of the comment block, because a comment's depth tells us how many of the already-rendered comments we need to close. Closing comments at the top of the block means that we'll always have at least one unclosed comment to close after the comment loop completes. With the new handling, we'll get a more appropriate: <div class="comment root" id="a"> <div class="comment" id="a/b"> <div class="comment" id="a/b/c"> </div> <!-- close a/b/c --> </div> <!-- close a/b --> </div> <!-- close a --> <div class="comment root" id="C29a03522-ed6e-4a9a-8823-23a1c513865f"> </div> <!-- close d --> Reported-by: Owen Jacobson <owen.jacobson@grimoire.ca>
* util:wsgi: Don't clobber `handler` when clearing StreamHandlersW. Trevor King2013-01-311-2/+2
| | | | | | | | | | | | | This bug was introduced in: commit 400c9251eedbd1caa3b28135b4bc5d2bf2124ac5 Author: W. Trevor King <wking@tremily.us> Date: Thu Jan 24 02:43:53 2013 -0500 util:wsgi: If we're logging to a file, shift libbe.LOG too where the removed handlers clobbered our initial TimedRotatingFileHandler.
* util:wsgi: If we're logging to a file, shift libbe.LOG tooW. Trevor King2013-01-241-0/+5
| | | | This avoids attempts to log to stderr if we're daemonizing the server.
* Transition to libbe.LOG for loggingW. Trevor King2013-01-247-35/+41
| | | | | | | This makes it easier to tweak log verbosity and redirect logs to other handlers. For example, the WSGI servers are unstable with stderr closed, and crash with an IOError if they try to print a warning to stderr.
* storage:util:upgrade: Strip any trailing space from the versionW. Trevor King2013-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Not just '\n'. Mark Mikofski reported an error on the upgrade from 1.4 to 1.5 on MS Windows: > upgrading bugdir from "Bugs Everywhere Directory v1.4" to "Bugs Everywhere Directory v1.5" > Traceback (most recent call last): > ... > File "c:\...\libbe\storage\util\upgrade.py", line 141, in check_initial_version > assert version == self.initial_version, '%s: %s' % (path, version) > AssertionError: c:\...\.be\version: Bugs Everywhere Directory v1.4 > > **notes:** I set a breakpoint and it does seem that they are not the same > (Pdb) self.initial_version > 'Bugs Everywhere Directory v1.4' > (Pdb) version > u'Bugs Everywhere Directory v1.4\r' We don't need to convert to Unicode, because on Python 2.7: $ python2.7 -c "print('a' == u'a')" True Strange, but true ;). One day we'll migrate BE to Python 3...
* libbe:command:util: fix bugdir access for complete_status and complete_severityW. Trevor King2012-12-131-2/+2
| | | | | | | | | | | | Fix a bug introduced by: 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. Reported-by: James Spencer <james.s.spencer@gmail.com>
* ui:util:pager: cleanup pager implementationW. Trevor King2012-11-291-28/+45
| | | | | | | | | | | | | Changes: * Import libraries with an underscore prefix to avoid polluting the module's public namespace. * Use a copy `env` to avoid messing with the child process' environment. * Pass the tweaked environment on to the PAGER (e.g. for PATH). * Handle PAGER='' (by not paging). * Use shlex.split to handle cases like PAGER='less -FRSX' (thanks to Da_Blitz from pocketnix.org for the bug report and shlex idea).
* ui:util:pager: document Nathan Weizenbaum as author of Ruby inspirationW. Trevor King2012-11-291-1/+2
| | | | | | | | | | Nathan's post is released under CC BY-SA 3.0 Unported. According the the FSF, the CC BY-SA 2.0 Generic was not compatible with BE's GPLv2+ [1]. I expect my Python implementation is sufficiently different from Nathan's original notes to be classified as "fair use" and not an "adaptation". [1]: http://www.gnu.org/licenses/license-list.html#ccbysa
* storage:base: convert to Python 3.3 compatibilityW. Trevor King2012-11-121-6/+8
|
* storage: convert to Python 3 compatibilityW. Trevor King2012-11-121-9/+9
|
* version: convert to Python 3 compatibilityW. Trevor King2012-11-121-10/+12
|
* util:wsgi: handle all dispatch() exceptions in BEExceptionAppW. Trevor King2012-10-281-9/+15
| | | | | | 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.
* util:http: special handling for HTTP_USER_ERROR in get_post_url().W. Trevor King2012-10-281-4/+5
|
* Use libbe.util.http.HTTP_USER_ERROR everywhere instead of hardcoding 418W. Trevor King2012-10-284-9/+7
|
* util:wsgi: catch NoIDMatches in BEExceptionAppW. Trevor King2012-10-281-0/+4
|
* util:wsgi: add --daemon, --pidfile, and --logfileW. Trevor King2012-10-281-25/+151
| | | | | | | | | | | | | | | | | | | | 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.
* util:wsgi: fix From -> from typo in pyOpenSSL commentW. Trevor King2012-10-271-1/+1
|
* util:wsgi: fix get_cert_filenames -> _get_cert_filenames typoW. Trevor King2012-10-271-1/+1
| | | | | | | | | | | 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.
* util:wsgi: import os.path for _get_cert_filenames()W. Trevor King2012-10-271-0/+1
| | | | | | | | | | | 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.
* util:wsgi: fix Clossing -> Closing typo.W. Trevor King2012-10-271-1/+1
|
* util:wsgi: remove %default from option help stringsW. Trevor King2012-10-271-2/+2
|
* command:html: remove %default from option help stringsW. Trevor King2012-10-271-6/+5
|
* storage:util:upgrade: use YAML parser to get BE Tree 1 0 settingsW. Trevor King2012-10-271-1/+1
| | | | | | | | | | | 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.
* storage:vcs:git: don't accept pygit2 version 0.17.3.W. Trevor King2012-10-271-2/+2
| | | | | | | | | | | | | | | | 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.
* command:serve_*: remove wordy "with, for example" from help messageW. Trevor King2012-10-272-4/+2
|
* command:serve_commands: fix --repo -> --server in help messageW. Trevor King2012-10-271-1/+1
|
* storage:util:upgrade: make yaml import optional (unless it isn't)W. Trevor King2012-10-261-1/+9
| | | | | | 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.
* command: use mapfiles (JSON) instead of YAML for the command serverW. Trevor King2012-10-262-8/+7
|
* storage:util:mapfile: add `context` argument to generate()W. Trevor King2012-10-261-23/+19
|
* doc: clean up top level module docstringsW. Trevor King2012-10-265-10/+11
|
* libbe:bugdir: avoid SimpleBugDir is not a item nameW. Trevor King2012-10-261-1/+1
| | | | | This happens because SimpleBugDir is not defined if libbe.TESTING is not set before importing libbe.bugdir.
* doc: update :attr: to :py:attr: for modern Sphinx.W. Trevor King2012-10-261-1/+1
|
* doc: update :data: to :py:data: for modern Sphinx.W. Trevor King2012-10-263-10/+10
|
* doc: update :meth: to :py:meth: for modern Sphinx.W. Trevor King2012-10-265-11/+11
|
* doc: update :class: to :py:class: for modern Sphinx.W. Trevor King2012-10-2621-49/+49
|
* storage:vcs:base: avoid `is not a item name` Sphinx error.W. Trevor King2012-10-261-1/+1
|
* doc: update :mod: to :py:mod: for modern Sphinx.W. Trevor King2012-10-269-25/+25
|
* doc: update :func: to :py:func: for modern Sphinx.W. Trevor King2012-10-264-9/+9
|
* storage:util:config: path() now defaults to ~/.config/bugs-everywhereW. Trevor King2012-10-261-2/+13
| | | | | Add a documentation section discussing the config file, respect XDG_CONFIG_HOME, and add BE_CONFIG_PATH.
* version: use abbreviated SHA instead of explicit _VERSION in master branchW. Trevor King2012-10-251-2/+2
| | | | | | 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.
* bugdir|bug|comment: update default settings string to be value JSON.W. Trevor King2012-10-253-3/+3
|
* storage:util:mapfile: fix YAML -> JSON in docstrings.W. Trevor King2012-10-251-2/+4
| | | | | | | | | | | | 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.
* Ran update-copyright.py.W. Trevor King2012-10-1664-65/+105
|
* storage:vcs:git: check for existence of pygit2.__version__.W. Trevor King2012-09-171-0/+5
| | | | | | | | | | 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
* command:html: convert -moz-border-radius to border-radius.W. Trevor King2012-09-171-9/+9
| | | | | | border-radius and friends are standard CSS3 [1]. [1]: http://www.w3.org/TR/css3-background/#the-border-radius
* command.html: display "Target:" detail for bugs with targets.W. Trevor King2012-09-171-0/+10
|
* command:html: fix two auto% -> auto typos in CSS.W. Trevor King2012-09-171-2/+2
| | | | | | | | | | | | | | | | | | 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.