aboutsummaryrefslogtreecommitdiffstats
path: root/libbe/command
Commit message (Collapse)AuthorAgeFilesLines
* Don't accidentally spawn VISUAL in Comment doctests.W. Trevor King2010-01-281-0/+3
|
* `be html` links (<a href="...) #-delimited references in text/* bodies.W. Trevor King2010-01-271-5/+34
|
* Streamlined libbe.command.serve, adding --auth option, #/bea/c1b#, and testing.W. Trevor King2010-01-271-176/+735
|
* Added --ssl to `be serve` using cherrypy.wsgiserver.W. Trevor King2010-01-251-61/+211
|
* Convert libbe.command.serve to WSGI for increased flexibility.W. Trevor King2010-01-251-256/+271
| | | | | | | 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/
* Fixed List --severity handling, added --importantW. Trevor King2010-01-231-2/+3
|
* Fix vars call for `be target --help`W. Trevor King2010-01-231-1/+1
|
* Update --subscriber option help string for SubscribeW. Trevor King2010-01-231-1/+1
|
* Modern ID format in `be list` _long_helpW. Trevor King2010-01-231-5/+5
|
* Fix broken handling of non-text/plain commentsW. Trevor King2010-01-231-1/+1
|
* Added "Created comment..." output to `be comment`W. Trevor King2010-01-231-0/+9
|
* Fix typos in untested parts of List and Import_XML for test_usage.pyW. Trevor King2010-01-232-4/+4
|
* Added `be list --mine`W. Trevor King2010-01-231-6/+10
|
* Init should tell the UI about its connected storage and bugdir.W. Trevor King2010-01-231-0/+2
|
* Minor cleanups + remove debuging line in Init doctestW. Trevor King2010-01-221-1/+0
|
* Reworked settings_object module, but command.init tests still fail:W. Trevor King2010-01-221-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | $ 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 tests to Init to check for empty settings fileW. Trevor King2010-01-221-1/+8
|
* Ajdust Target tests for cached BugDir.uuids() implementationW. Trevor King2010-01-211-0/+1
|
* Use _get_user_id() in New, remove unused 'user-id' prop. from Commit.W. Trevor King2010-01-212-1/+7
| | | | | Added creator field to bugs without creator information. Mostly this is due to the recent lack of creator-setting in `be new`.
* Converted `be list --xml` to <be-xml> format.W. Trevor King2010-01-211-2/+2
| | | | | | | | 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.
* Improve `be import-xml` handling of root comments + tests.W. Trevor King2010-01-201-7/+105
|
* Add entry points for functionality needed by CFBE (and probably other UIs)W. Trevor King2010-01-203-26/+48
|
* Fixed `be help` (used to raise NotImplementedError)W. Trevor King2010-01-201-1/+1
|
* Added shortname (.id.user()) data to `be html`s comment dataW. Trevor King2010-01-191-2/+3
|
* Adjust command.serve.Serve doctest to clarify remaining test failures.W. Trevor King2010-01-191-1/+4
| | | | | | | | | | | | | | | | | 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
* Add .changed support to HTTP storage backend.W. Trevor King2010-01-181-1/+20
| | | | Also work around urlparse.parse_qs location in Python <= 2.5.
* Add ancestors support to HTTP storageW. Trevor King2010-01-181-1/+18
|
* Use RevisionedBugDir, not .duplicate_bugdir() in libbe.command.diffW. Trevor King2010-01-181-3/+4
|
* Changed `be list --uuids` to `be list --ids`W. Trevor King2010-01-031-5/+5
|
* Fixed update_copyright.py's subproc import and updated copyrightsW. Trevor King2010-01-011-4/+1
|
* Serve.handle_*() now raise _HandlerError so the .do_*() methods know.W. Trevor King2010-01-011-8/+17
| | | | | Before there wasn't a good way to tell if the handler had experienced an error, or just didn't want to return anything.
* Fixed commit handling in commands.serve and storage.httpW. Trevor King2010-01-011-3/+7
|
* Use more kwargs in libbe.command.serveW. Trevor King2010-01-011-11/+10
| | | | | | | | kwargs make things easier to maintain. Also make sure the .handle_*() methods return two items (content,ctype) even when both are None.
* Improved POST and error handling in `be serve`W. Trevor King2010-01-011-22/+43
| | | | | | | | | | | | | | 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
* Improved POST parsing, fixed Serve._long_help(), added --read-only.W. Trevor King2010-01-011-49/+40
| | | | | POST parsing via cgi.FieldStorage from Doug Hellmann's http://blog.doughellmann.com/2007/12/pymotw-basehttpserver.html
* Added libbe.command.serve and libbe.storage.http for HTTP backend.W. Trevor King2010-01-011-0/+346
| | | | | | | | | | 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 :).
* Updated copyright informationW. Trevor King2010-01-0124-27/+55
|
* Merged be.restructure, major internal reorganization.W. Trevor King2009-12-313-0/+363
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Use fragment in base command completion + command io fixups.W. Trevor King2009-12-311-5/+11
|
* Added UserInterface and other improved abstractions for command handlingW. Trevor King2009-12-3123-214/+390
|
* Don't chdir() in libbe/command/html.py doctests.W. Trevor King2009-12-291-10/+7
|
* Remove libbe.ui.util.cmdutilW. Trevor King2009-12-291-11/+4
| | | | All of its functionality has moved off into more focused modules.
* Restored post-colon spaces in doctestsW. Trevor King2009-12-292-6/+6
|
* Fixed up the completion helpers in libbe.command.utilW. Trevor King2009-12-292-5/+80
| | | | | | | | | | This entailed a fairly thorough cleanup of libbe.util.id. Remaining unimplemented completion helpers: * complete_assigned() * complete_extra_strings() Since these would require scanning all (active?) bugs to compile lists, and I was feeling lazy...
* Allow external use of Command.usage() and use CmdOptionParser.set_usage()W. Trevor King2009-12-282-3/+3
| | | | | | | | | | | | | This fixes $ python be diff -2 Usage: be [options] be: error: no such option: -2 and we now get the correct output $ python be diff -2 Usage: be diff [options] [REVISION] be: error: no such option: -2
* Moved InvalidStorageVersion from libbe.command to libbe.storageW. Trevor King2009-12-272-14/+2
| | | | | | Also added ConnectionError pretty-print to ui.command_line, storage version checking to BugDir.duplicate_bugdir(), and optional revision argument to Storage.storage_version().
* Added storage.Storage.storage_version() and command.InvalidStorageVersion.W. Trevor King2009-12-272-1/+16
| | | | Now commands automatically check for storage version compatibility.
* Fixed libbe.command.diff + ugly BugDir.duplicate_bugdir implementationW. Trevor King2009-12-1515-65/+46
| | | | | | | | | | | | | | | | | | | | | duplicate_bugdir() works, but for the vcs backends, it could require shelling out for _every_ file read. This could, and probably will, be horribly slow. Still it works ;). I'm not sure what a better implementation would be. The old implementation checked out the entire earlier state into a temporary directory pros: single shell out, simple upgrade implementation cons: wouldn't work well for HTTP backens I think a good solution would run along the lines of the currently commented out code in duplicate_bugdir(), where a VersionedStorage.changed_since(revision) call would give you a list of changed files. diff could work off of that directly, without the need to generate a whole duplicate bugdir. I'm stuck on how to handle upgrades though... Also removed trailing whitespace from all python files.
* Fixed libbe.command.subscribeW. Trevor King2009-12-152-11/+12
|
* Transition to Command-format complete.W. Trevor King2009-12-156-29/+31
| | | | | | | | Well, except for going through and updating the _long_help() strings. $ python test.py libbe.command succeeds for everything except Diff and Subscribe, which is expected since I haven't fixed up libbe.diff yet.