aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Adjustments to new versioned_property behavior.W. Trevor King2009-07-117-29/+50
| | | | | Also adjusted libbe/comment.py to move to user-specified alt_ids, rather than uuids.
* Fixed versioned_property(default=None, generator=None) defaults.W. Trevor King2009-07-111-10/+10
| | | | | | Now the behavior conforms to the docstring: If both default and generator are None, then the property will be a defaulting property which defaults to None.
* Fixed minor doctest failure in cmdutil.pyW. Trevor King2009-07-111-1/+1
|
* Merged "be comment --xml" code from home.W. Trevor King2009-07-116-48/+137
|\
| * seems to work ;)W. Trevor King2009-07-104-27/+116
| |
| * Save whole bugdir in becommands/tag.py.W. Trevor King2009-07-101-1/+1
| | | | | | | | | | | | | | It doesn't matter now, but at some point Bugdir might implement some sort of repo-wide caching which would need to be saved. The BugDir.save() method should be intelligent enough to not save things that have not changed, so efficiency should not be effected either.
| * Simplified error handling in ./beW. Trevor King2009-07-102-21/+21
|/ | | | | | | | | | Removed superfluous nesting in ./be's error catching. Also replaced KeyErrors due to unknown commands with the more specific cmdutil.UnknownCommand, since all sorts of programming errors can raise KeyErrors. Untested, since my working tree is a mess at the moment, but what could go wrong? ;)
* Added new-bug-from-stdin to mirror comments-from-stdin.W. Trevor King2009-07-071-3/+8
|
* Added "be show --only-raw-body COMMENT-ID".W. Trevor King2009-07-061-1/+7
|
* Added ability to show individual comments with "be show".W. Trevor King2009-07-062-12/+42
|
* "be init [ROOTDIR]" -> "be init [--root ROOTDIR]"W. Trevor King2009-07-011-15/+16
| | | | Following Ben's Wed, 01 Jul 2009 11:31:51 +1000 suggestion.