aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Added tracebacks to be-handle-mail's "uncaught exceptions".W. Trevor King2009-07-181-1/+2
|
* Added an email interface example requesting unicode comment output.W. Trevor King2009-07-171-0/+9
| | | | Indeed, be-handle-mail chokes... :(
* Added "be-handle-mail --logfile LOGFILE" for sane logfile handling.W. Trevor King2009-07-171-13/+43
| | | | | The previous setup had been pretty wimpy; now there's a degree of flexibility.
* Added symlinks to libbe and becommands in interfaces/email/interactive.W. Trevor King2009-07-172-0/+2
| | | | | With this set-up, be-handle-mail run from its own directory will load your working-state BE setup, not your system-wide BE installation.
* Setup be-handle-mail.BE_DIR to point to the BE repo by default.W. Trevor King2009-07-171-1/+1
| | | | | | | At least, it points to the directory where be-handle-mail lives. If you haven't moved it, that will be somewhere inside the BE repository. This removes my hardcoded BE_DIR.
* "be-handle-mail --output" added to support easy testing.W. Trevor King2009-07-171-2/+14
|
* Removed debugging reply-address adjustment from be-handle-mail.W. Trevor King2009-07-161-1/+0
| | | | Everything seems to be working now. On to the remote tests ;).
* be-hand-mail now catches errors and sends appropriate responses.W. Trevor King2009-07-161-27/+94
|
* Now be-handle-mail successfully catches stdout/stderr.W. Trevor King2009-07-161-1/+2
|
* Renamed test->manipulate_encodings in becommands.*.execute.W. Trevor King2009-07-1619-92/+113
| | | | | | | | | | | | | | Reminder from my initial libbe/encoding.py commit: Because of the stdout replacement, the doctests executes now need an optional 'test' argument to turn off replacement during the doctests, otherwise doctest flips out (since it had set up stdout to catch output, and then we clobbered it's setup). I'm also trying to catch stdout/stderr from be-handle-mail, and I ran into the same problem. It took me a bit to remember exactly what "test" was supposed to do, so I thought I'd make the argument name more specific. If you need other changes when running in "test" mode, you'll have to add other kwargs.
* Oops again, removed some old debugging loggingW. Trevor King2009-07-151-8/+0
|
* Oops, the header keys in be-handle-mail should all be unicode.W. Trevor King2009-07-151-4/+4
| | | | | Even though I convert to ascii in send_pgp_mime.Mail.__init__(), it's still good to be consistent inside each module ;).
* be-handle-mail succesfully sends replies.W. Trevor King2009-07-151-16/+49
| | | | | | | | | | | | | | | Although I'm not catching stdout/stderr yet, so the replies aren't very useful ;). Still it the send_pgp_mime.py interface is working :). I've added rudimentary logging (via LOGFILE) to keep track of what be-handle-mail is up to. There's also BE_DIR, which sets the directory that BE lives in (important ;). The author handling got more consistent, thanks to send_pgp_mime.source_email (using the new return_realname option) and email.utils.formataddr(). Now author_addr should look the same regardless of which phrasing you use to set it (e.g. "NAME <ADDR>" vs "ADDR (NAME)", and possibly others.)
* Adjusted _procmailrc to not match reply emails.W. Trevor King2009-07-151-2/+3
| | | | You might want to keep the output to read later ;).
* Add unicode-header handling to send_pgp_mime.pyW. Trevor King2009-07-151-11/+26
| | | | | | | | | | | | | | | | | | | | | | | | Also: Switched email.message_from_string() to email.parser.Parser().parsestr() for parsing the header, for access to the headersonly option. Adjusted module import order to alphebetize non-mime email modules. Added return_realname to source_email(), which makes it more useful to be-handle-mail (currently uncommitted). Added a doctest for the plain() output and removed redundant Content-Type line from the doctests (which we'd removed from the output with the last commit). Note that many doctests _will_fail_ unless me@big.edu and you@big.edu are in your gpg keyring. At some point I should make those addresses options to --test...
* Minor tweaks in send_pgp_mime.pyW. Trevor King2009-07-151-3/+1
| | | | | * No reason to set maxheaderlen to something other than the default. * MIMEText sets content-type and charset automatically.
* Added --mode=plain option to send_pgp_mime.W. Trevor King2009-07-152-10/+21
| | | | | | | | | | | | | | | Also a few more tweaks to get things working. I think be-handle-mail is parsing the incoming messages correctly now, but I'm not getting replies back for some reason. Some of the adjustments: * Moved send_pgp_mime -> send_pgp_mime.py, otherwise Python doesn't recognize it as an importable module. * I use postfix now instead of msmtp, so send_pgp_mime.sendmail now points to postfix's sendmail-compatable frontend. * Added "--mode=plain" option to send_pgp_mime.py, so I can test my procmail rules and send_pgp_mime itself without worrying about be-handle-mail. * Fixed some typos in be-handle-mail.
* First attempt at real response email.W. Trevor King2009-07-151-15/+42
|
* Added some comments to send_pgp_mimeW. Trevor King2009-07-151-1/+6
|
* Incorperated send_pgp_mime into be-handle-mail.W. Trevor King2009-07-151-3/+16
| | | | | Todo: generate a real response email to replace the current dummy email.
* Ran update_copyright.sh on be-handle-mail and send_pgp_mime.W. Trevor King2009-07-152-2/+30
|
* Added my send_pgp_mime module to the project.W. Trevor King2009-07-152-0/+547
| | | | | | | | | This is a bit of a shameless plug, since there's not much motivation for encrypting bug emails. However, I've already written it, and it does send emails, so I'm using it ;). Perhaps some company will want to keep the bug submitter's contact information securely in a BE database. Anyhow, there's very little reason to _not_ use PGP, and the module certainly doesn't force you to encrypt anything. ;)
* Don't install xml tools (e.g. be-xml-to-mbox, cattmutt, ...).W. Trevor King2009-07-151-2/+2
| | | | | | There are lots of interfaces. They should each have seperate installation targets, to allow the user to pick only the interfaces they expect to use.
* Added be-handle-mail and some example emails.W. Trevor King2009-07-149-0/+146
| | | | | | So far, it parses the emails and executes the specified task. Todo: email the sender back with the output/errors/exit-status/etc.
* Added --author and --alt-id to "be comment".W. Trevor King2009-07-141-0/+8
| | | | | You could already add this info via the --xml input, now you can do it from the command line too.
* Removed xml.sax cruft from be-mbox-to-xmlW. Trevor King2009-07-141-3/+0
|
* Added _procmailrc file for interactive email handling.W. Trevor King2009-07-141-0/+19
| | | | | | | | | | | The beginnings of an interactive email interface to BE. With a working procmail setup, copying _procmailrc to ~/.procmailrc should sort through incoming email to that user, passing all messages with subjects starting with [be-mail] on to the script be-handle-mail and deleting the rest. Now I just need to write be-handle-mail ;).
* Merged directory reorganizationW. Trevor King2009-07-1486-9/+15
|\
| * Updated Makefile to match new organizationW. Trevor King2009-07-141-1/+2
| |
| * Reorganized directory structure, mostly to put all the interfaces inW. Trevor King2009-07-1483-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | one place and make things clearer to the uninitiated. Here's my current understanding: . |-- libbe (the guts of BE) |-- becommands (plugins for all "be *" commands) |-- doc (documentation, currently just the man page) |-- interfaces (non-commandline interface implementations) | |-- web | | |-- Bugs-Everywhere-Web (in Turbogears) | |-- gui | | |-- beg (in Tkinter) | | `-- wxbe (in WX) | |-- email | `-- xml (xml <-> whatever conversion) `-- misc (random odds and ends) `-- completion (shell completion scripts) Note that I haven't attempted to use the web or gui interfaces in a while, so I'm not sure how well they're holding vs the core development.
| * Updated README to match current status.W. Trevor King2009-07-142-7/+12
| | | | | | | | | | | | Mostly updated the list of supported VCSs. Also corrected spacing inconsistency in README.dev.
* | libbe/_version.py made PHONY in Makefile.W. Trevor King2009-07-141-0/+1
|/ | | | | It should be updated after bzr commits, but Makefile doesn't understand bzr, so just update every time.
* Updated GPLv2 to current GPLv2.W. Trevor King2009-07-1448-493/+560
| | | | | | | | | | | | | | | | | | | | | | | | Fixes Ben's bug 00f26f04-9202-4288-8744-b29abc2342d6. I also tweaked update_copyright.sh to make possible future copyright-blurb revision easier. The new algorithm is greedier, overwriting _all_ consecutive comments after a '^# Copyright' line, so do # Copyright # GPL ... GPL ... GPL # Your comment here... not # Copyright # GPL ... GPL ... GPL # # Your comment here... Without the blank line, your comment would get overwritten by the next run of update_copyright.sh. Note that catmutt is ignored by update_copyright.sh because Moritz Barsnick has only licensed his grepm code under the GPLv2 (not GPLv>=2). See the initial catmutt commit for details.
* Updated setup.py url and switched to rolling version names.W. Trevor King2009-07-141-2/+6
|
* Merged Alex Miller's git-config-not-found patchAlex Miller2009-07-141-2/+2
|
* Fixed "be --dir --complete"W. Trevor King2009-07-132-0/+15
|
* Added --dir option to "be"W. Trevor King2009-07-131-1/+6
|
* Use CmdOptionParser in "be".W. Trevor King2009-07-132-38/+59
| | | | | | All the becommands have been using cmdutil CmdOptionParser for a long time, but "be" parsed its options by hand. Now it used CmdOptionParser, which makes adding new options much easier.
* Added (commented out) /usr/local PREFIX to Makefile.W. Trevor King2009-07-121-0/+1
| | | | | | | | I got a bit confused and installed be into "/usr/local " instead of "/usr/local" with PREFIX = /usr/local # ${HOME} With the alternate PREFIX line right there, there should be less temptation to do again :p.
* Added "be comment --xml --ignore-missing-references ID COMMENT".W. Trevor King2009-07-123-5/+31
| | | | Now you don't have to edit them out by hand.
* be-mbox-to-xml passes attributes on to each part of multipart messages.W. Trevor King2009-07-122-15/+44
| | | | | | | | | | | | | | | | | | | | | | Previously "message[<some-attr>]" just returned None if it wasn't set for that message part, which overwrote anything passed in through fields. "from" and "date" added to list of attributes passed along. For be-xml-to-mbox, "alt-id" was added to Comment._attrs, and Comment.print_to_mbox was adjusted to handle the case where we have no information about the parent bug. With all of this, I can complete the loop be-mbox-to-xml example.mbox | be-xml-to-mbox > example2.mbox without errors :p. Finally, be-xml-to-mbox has been adjusted to also work on files (it had previously only handled data via stdin). We can't add stdin handling to be-mbox-to-xml though, because the mailbox package needs an actual file to work on, and I haven't setup a tmpfile workaround yet...
* Altered be-xml-to-mbox to work with non-ASCII input.W. Trevor King2009-07-122-73/+60
| | | | | | Now it runs off xml.etree instead of xml.sax. Removed "No matching bugs found" from "be list --xml" output.
* Added timezone handling to libbe.utility.str_to_time.W. Trevor King2009-07-121-2/+20
|
* Not escaping whitespace (e.g. endlines) outside the XML document root.W. Trevor King2009-07-121-1/+1
| | | | | | ElementTree.XML was choking on them. I should unescape all whitespace (e.g. tabs, etc.), but I'm lazy and don't have any XML that's strange enough to need it ;).
* Minor fixes to get unittests working again.W. Trevor King2009-07-121-2/+1
|
* Added be-mbox-to-xml.W. Trevor King2009-07-1221-57/+227
| | | | | | | | | | | | | | | | | | | | | | | Reworked to allow "be comment" to handle unicode strings (see bug e4ed63f6-9000-4d0b-98c3-487269140141). The solution was to escape all the unicode to produce and ASCII string before calling ElementTree.XML, and then converting back to unicode afterwards. Added a unicode-containing comment to the end of bug f7ccd916-b5c7-4890-a2e3-8c8ace17ae3a so that there's a handy unicode comment for testing. XML headers (e.g. '<?xml version="1.0" encoding="UTF-8" ?>') are now added to all xml output from be. Switched non-text/* encoding library to base64 instead of email.encoders, which makes that code in libbe/comment.py simpler. Changed libbe/mapfile.py error encoding from string_escape to unicode_escape so it can handle unicode. Everything's still untested, and be-xml-to-mbox doesn't handle unicode yet, but I felt this commit was getting a bit unwieldy ;).
* Went through "closed" bugs looking for miss-categorized bugs.W. Trevor King2009-07-1113-93/+36
| | | | | | Found a few that were actually "fixed" and one that I reopened. Perhaps we should add a "merged" status to the default, so that the merged bugs don't clutter up the closed bugs category...
* Updating "be set --help" and "be status --help".W. Trevor King2009-07-114-24/+61
| | | | | | | | | I don't really like the "defaults to None" for the settings that have funky initialization procedures (most of them :p), but I'm not sure how to handle that cleanly yet. Perhaps be set --current I also need to find a method of adding complicated settings like the nested lists for severities, etc from the "be set" commandline.
* Removed <abentley@panoramicfeedback.com> from copyright blurbs.W. Trevor King2009-07-1128-28/+0
| | | | | | | | | | | These didn't work with my update_copyright.sh. I went with Aaron Bentley and Panometrics, Inc. instead of Aaron Bentley <abentley@panoramicfeedback.com> and Panometrics, Inc. just because of line length, but I'm open to convincing if people prefer the latter...
* "be comment --xml" now translates comment uuids to alt_ids.W. Trevor King2009-07-112-6/+12
|