| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
| |
Also move unitsuite definition to the end of the file so it picks up
GenerateGlobalTagsTestCase.
|
|
|
|
| |
Also removed some references to the old XML interface.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes Message.subscriber_emails() much cleaner.
Also fix libbe.diff.Diff._sub_report() to handle missing
'bugdir/settings'.
Added libbe.diff.SubscriptionType.__cmp__ so that
SubscriptionType('all') == SubscriptionType('all')
This is important when comparing the types returned by
becommands.subscribe.get_bugdir_subscribers()
with the libbe.diff.*_TYPE_* types.
|
| |
|
| |
|
|
|
|
|
|
|
| |
+ associated adjustments in other files.
See cmdutil.restrict_file_access.__doc__ for an explanation of the
security hole this closes.
|
|
|
|
|
| |
Now it will automatically apply and commit emails from
be email-bugs ...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
You used to get:
Uncaught exception:
'NoneType' object has no attribute 'decode'
File "./be-handle-mail", line 857, in main
m.run()
File "./be-handle-mail", line 591, in run
command.run()
File "./be-handle-mail", line 244, in run
manipulate_encodings=False)
File "/tmp/be.email-bugs/interfaces/email/interactive/libbe/cmdutil.py", line 82, in execute
ret = cmd.execute([a.decode(enc) for a in args],
A `print args' in Message.parse_comment() revealed
[..., u'--alt-id', None,...]
|
|
|
|
|
| |
If an exception is raised during command exection, self.ret may be
left at None.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allowed values for both are "yes" or "no", case insensitive.
Setting Confirm:no disables the confirmation email letting you know
your new bug was successfully submitted.
Setting Subscribe:yes automatically subscribes you to the new bug
you're submitting immediately, without reqiring an extra control
email.
In the case where both Confirm:yes and Subscribe:yes, the submitter
will only recieve the subscription email (which shows the "be show"
view of the new bug) and not the submission email (which shows the
output of all the executed submission commands).
Both of these pseudoheaders were in response to a
Would you like a direct response concerning your comments?
checkbox on the web frontend that generates emails for a BE repo.
When the checkbox is set, we set Confirm:yes Subscribe:yes, and the
submitter gets a nice pretty confirmation email and will be
automatically notified of any future action on their bug. When the
checkbox is not set, they get no response or submission emails.
Also fixed up some bugs in in the subscriber_emails() parsing. We now
use ordered_subscriptions to ensure that we parse the "DIR"
subscription first, since we don't want to include the same
information twice, and the user might be subscribed to DIR:all and a
particular bug (which would be wierd, but is easily avoidable). This
also ensures that the more central DIR level changes appear first in
the email.
We also check that there is an entry for a particular bug in bug_index
before attempting to grab it, which could raise KeyErrors otherwise.
Finally, we check to make sure we don't double-include bugs for which
the user is subscribed to both that bug's new and DIR:new.
A final minor correction is the capitalization of the first word of
our log entries. The logs are pretty cluttered, and the
capitalization helps the lines I care about stand out. A better
solution would be to come up with a cleaner idea of what to write to
the logs...
|
|
|
|
|
| |
Because subscribe.get_bugdir_subscribers() only looks for subscribers
in bugs that are already in memory.
|
|
|
|
|
|
| |
It had been eating the last line of the message (which wasn't a
problem when I had a blank line before the footer, but was when I had
neither footer nor trailing blank line).
|
|
|
|
|
| |
To conform with Python convention for "hiding" class attributes only
intended for internal use.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Switched from cStringIO to StringIO in be-handle-mail because:
(from http://docs.python.org/library/stringio.html)
"Unlike the memory files implemented by the StringIO module, those
provided by this [cStringIO] module are not able to accept Unicode
strings that cannot be encoded as plain ASCII strings."
I'm not sure what all the fuss with sys.__stdin__ had been about in
Command.run(), but I took it out and everything still seems to work
;).
Also fix Makefail (again!) to install under $HOME by default.
|
| |
|
| |
|
|
|
|
| |
Also fleshed out the be-handle-mail docstring.
|
|
|
|
|
| |
It had been mailing out the empty MIMEMultipart root returned by
diff_tree.report().
|
|
|
|
|
|
| |
"[" is a special character.
Also a few minor cleanups in be-handle-mail.
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, every node in the DiffTree created it's own attachment.
Now they're consolidated into a single attachment per bug. higher
level nodes are still one attachment per node.
Also:
* added send_pgp_mime.append_text()
* pulled guess_encoding() out of send_pgp_mime.encodedMIMEText().
* renamed data_string -> data_part in libbe.diff, since it needn't be a string.
|
| |
|
| |
|
| |
|
|
|
|
| |
Marked outstanding email interface bugs as fixed.
|
| |
|
|
|
|
|
| |
This still needs a lot of cleaning up, but it worked for an "all"
subscription to "DIR", so I thought I'd lock in the current status ;).
|
|
|
|
| |
Split arguments following POSIX rather than at all whitespace.
|
|
|
|
|
|
|
|
| |
Many psuedo-headers had been ignored. Now they are all implemented.
Getting this working exposed a few bugs in error message generation
for Commands with IDs in their argument list. These bugs should now
be fixed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The README should give enough info to install and use the interface.
While I was writing it, I thought that be-handle-mail could use the
--be-dir, --tag-base, and --test options. generate_global_tags()
helps implement the --tag-base option.
I set up a unittest framework since checking is currently a
pipe-in-emails-by-hand sort of arrangement, which can be slow ;).
Currently only generate_global_tags() is tested.
I also restored "show" to ALLOWED_COMMANDS, since it seems to have
wandered off ;).
|
| |
|
|
|
|
| |
For example, it's helpful to actually run the autocommit command ;).
|
| |
|
|
|
|
|
|
|
|
| |
Now the final commit will run whether or not the preceding commands
raise any exceptions.
Note that since we've added the "--allow-empty" to "be commit", we
don't need to worry about empty commits after read-only actions.
|
| |
|
|
|
|
|
| |
I hadn't attached the mutipart body to the .response_header, which
meant that the reply lacked target email addresses, etc.
|
|
|
|
| |
Also restored repsonse-message logging to help track down bugs.
|
|
|
|
|
|
|
|
|
| |
Caveats:
It will produce blank commits after emails that make no changes.
Todo: --fail-on-null option to "be commit"
It will not commit changes due to emails that are partly successful.
Todo: add "be revert"
|
|
|
|
| |
The new pseudo-headers are currently ignored.
|
| |
|
|
|
|
|
| |
Changed all the example emails over to the new format.
Now it's time to try them all out and fix all the bugs ;).
|
|
|
|
|
| |
Waiting for a response so you can get the bug ID for your initial
comment is silly. Now you don't have to :)
|
| |
|
|
|
|
|
| |
Added Command and Message classes, and use new flexibility in
send_pgp_mime.py.
|
|
|
|
|
| |
The goal being to make handling commands differently easier, rather
than just passing off the whole interface to becommands.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also removed "commit after every message" from be-handle-mail,
because
a) not implemented yet
b) don't want to commit spam, since we'd have to find a way to
remove it later.
Suggested future workflow:
* "bzr diff" to poll for activity, blank output = no activity.
* on activity:
1) look at changes
2) remove whatever
3) commit email-interface repo.
4) merge changes into your private repo
* on private repo changes:
* if activity in email-interface repo:
1) deal with email activity as above
* push your private repo onto the email-interface repo
(and update the email repos' working tree, if required)
|
|
|
|
|
|
|
|
|
|
|
|
| |
This required replacing both the codec-wrapped sys.stdin _and_ the raw
sys.__stdin__ with StringIO(stdin). becommands/comment will use only
one or the other depending on the comment's content type.
Caveat: Get_body_type only grabs the body and type of the first
non-mulitpart section, which may not be what the user expects.
Todo: Add multiple comments for each part of a multipart message, like
we do in interfaces/xml/be-mbox-to-xml.
|