| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It had been removed in
revno: 473.1.43
committer: W. Trevor King <wking@drexel.edu>
branch nick: be.restructure
timestamp: Mon 2009-12-14 07:37:51 -0500
message:
Transitioned comment to Command format
when we pushed unicode encoding/decoding back to the Storage backend.
However, with the addition of libbe.util.id.short_to_long_text(),
we need it again.
Also add a Doctest showing a non-text/* comment, so utilities dealing
with them can see what they'll be working with.
|
|
|
|
|
|
|
| |
By adding command_names option to libbe.command.commands. Previous
versions of `be --complete` printed "import_xml", not "import-xml".
Also fixed libbe.command.base's doctests, so test.py can run them.
|
|
|
|
|
|
|
| |
Before, anything matching libbe.util.id.REGEXP was convert-or-die.
Now it's convert-or-no-op. Much safer ;). The new
_long_to_linked_user doctest would have failed with the old
implementation.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
The Python Web Server Gateway Interface (WSGI) is a simple and
universal interface between web servers and web applications or
frameworks. See PEP 333 for details.
http://www.python.org/dev/peps/pep-0333/
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
$ python test.py libbe.command.init
Doctest: libbe.command.init.Init ... FAIL
...
-----------------------
File ".../libbe/command/init.py", line 47, in libbe.command.init.Init
Failed example:
ui.run(cmd)
Exception raised:
Traceback (most recent call last):
...
File "/tmp/be.wtk/libbe/command/init.py", line 97, in _run
bd = libbe.bugdir.BugDir(storage, from_storage=False)
File "/tmp/be.wtk/libbe/bugdir.py", line 185, in __init__
self.save()
File "/tmp/be.wtk/libbe/bugdir.py", line 228, in save
self.save_settings()
File "/tmp/be.wtk/libbe/bugdir.py", line 204, in save_settings
mf = mapfile.generate(self._get_saved_settings())
File "/tmp/be.wtk/libbe/storage/util/settings_object.py", line 230, in _get_saved_settings
self, self._setting_name_to_attr_name(k))
File "/tmp/be.wtk/libbe/storage/util/properties.py", line 194, in _fget
value = fget(self)
File "/tmp/be.wtk/libbe/storage/util/properties.py", line 329, in _fget
primer(self)
File "/tmp/be.wtk/libbe/storage/util/settings_object.py", line 69, in prop_load_settings
self.load_settings()
File "/tmp/be.wtk/libbe/bugdir.py", line 194, in load_settings
self.settings = mapfile.parse(settings_mapfile)
File "/tmp/be.wtk/libbe/storage/util/mapfile.py", line 123, in parse
c = yaml.load(contents)
...
File "/usr/lib/python2.6/site-packages/yaml/reader.py", line 213, in update_raw
data = self.stream.read(size)
AttributeError: 'NoneType' object has no attribute 'read'
...
|
| |
|
| |
|
|
|
|
|
| |
Added creator field to bugs without creator information. Mostly this
is due to the recent lack of creator-setting in `be new`.
|
|
|
|
|
|
|
|
| |
Fixed up be-xml-to-mbox following the recent libbe restructuring.
Moved stdout manipulation in be-mail-to-xml into the if __name__ ==
'__main__' block, in case some other module wants to recycle some of
its functions/methods.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current test output
$ python test.py libbe
...
FAILED (failures=1, errors=3)
All failures and errors due to unimplemented functionality
Errors:
* Darcs._vcs_isdir() not implemented (for Darcs <= 2.3.1)
* Arch._vcs_path() not implemented
* Arch._vcs_changed() not implemented
Failures:
* command.serve.Serve tests not implemented
|
|
|
|
| |
Also work around urlparse.parse_qs location in Python <= 2.5.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Before there wasn't a good way to tell if the handler had experienced
an error, or just didn't want to return anything.
|
| |
|
|
|
|
|
|
|
|
| |
kwargs make things easier to maintain.
Also make sure the .handle_*() methods return two items
(content,ctype)
even when both are None.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
POST handling:
Drop the cgi.FieldStorage() in favor of the old urlparse.parse_qs().
We need a dictionary, which FieldStorage is not. However, I added
.read_post_data() since my old self.rfile.read() was hanging. The
read_post_data() implementation comes from the
FieldStorage.__init__().
Error handling:
wrap .handle_*() blocks in try/except to handle Storage errors
|
|
|
|
|
| |
POST parsing via cgi.FieldStorage from Doug Hellmann's
http://blog.doughellmann.com/2007/12/pymotw-basehttpserver.html
|
|
|
|
|
|
|
|
|
|
| |
Now the following works:
some-BE-dir$ ./be serve
$ ./be --repo http://localhost:8000 list
I haven't come up with a clean idea for testing this yet, so other
commands may be broken, but once we get the testing working, it
shouldn't be too hard to get everything working over HTTP :).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added a bunch of classes to make the commands, user interfaces, and
storage backends more abstract and distinct. This should make it much
easier to extend and maintain BE.
Features:
* Directory restructured:
becommands/ -> libbe/commands
submods sorted by functionality.
* Lots of new classes:
Option, Argument, Command
InputOutput, StorageCallbacks, UserInterface
Storage
* Consolidated ID handling in libbe.util.id
* Transitioned VCS backends for Python-based VCSs from subprocess
calss to internal python calls.
Plus the user-visible changes:
* New bugdir/bug/comment ID format replaces old bug:comment format.
* Deprecated support for `be diff` on Arch and Darcs <= 2.3.1. A new
backend abstraction (Storage) makes the former implementation
ungainly.
* Improved command completion.
* Removed commands close, open, email_bugs,
* Flipped some arguments
`be assign BUG-ID [ASSIGNEE]` -> `be status ASSIGNED BUG-ID ...`
`be severity BUG-ID SEVERITY` -> `be severity SEVERITY BUG-ID ...`
`be status BUG-ID STATUS` -> `be status STATUS BUG-ID ...`
In the merge:
* Added 'commit' to list of pagerless commands.
* Updated doc/README.dev
See
#bea86499-824e-4e77-b085-2d581fa9ccab/1100c966-9671-4bc6-8b68-6d408a910da1#
for a discussion of why the changes were made and some of the
difficulties en-route.
|
| |
|
| |
|