While you're in there :) I was seeing a few more spam points than i liked, and a coupe of them were easy fixes:
def mail_headers(self, group, params):
from email import Utils
subject = self.make_subject(group, params)
try:
subject.encode('ascii')
except UnicodeError:
from email.Header import Header
subject = Header(subject, 'utf-8').encode()
hdrs = 'From: %s\n' \
'To: %s\n' \
'Subject: %s\n' \
'Date: %s\n' \
'Message-ID: %s\n' \
'MIME-Version: 1.0\n' \
'Content-Type: text/plain; charset=UTF-8\n' \
'Content-Transfer-Encoding: 8bit\n' \
'X-Svn-Commit-Project: %s\n' \
'X-Svn-Commit-Author: %s\n' \
'X-Svn-Commit-Revision: %d\n' \
'X-Svn-Commit-Repository: %s\n' \
% (self.from_addr, ', '.join(self.to_addrs), subject,
Utils.formatdate(), Utils.make_msgid("r" + str(self.repos.rev)),
group, self.repos.author or 'no_author', self.repos.rev,
os.path.basename(self.repos.repos_dir))
if self.reply_to:
hdrs = '%sReply-To: %s\n' % (hdrs, self.reply_to)
return hdrs + '\n'
Adds a Date header and a Message-ID with the revision property embedded at the
end. I also have a tweak with a new config line to allow you to ignore the
directory inclusion on the subject line entirely (leaving only the revision
(eg. r4939)), but unless you're interested, I'm willing to fight that battle
another day.
-nick
--
Peelman, Nick
[email protected]
On Feb 18, 2013, at 16:36, Daniel Shahaf <[email protected]> wrote:
> Agreed. This was introduced in r1439592. You can use r1439591 for now;
> I'll commit your fix shortly. Thanks!
>
> Peelman, Nick wrote on Mon, Feb 18, 2013 at 15:55:40 -0500:
>> Using mailer.py fetched from:
>> http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/mailer/
>>
>> Running:
>>
>>> root@svn:/home/svn/agsync/hooks# ./mailer.py commit /home/svn/agsync/ 8160
>>> ../conf/mailer.conf
>>> Traceback (most recent call last):
>>> File "./mailer.py", line 1444, in <module>
>>> sys.argv[3:3+expected_args])
>>> File "/usr/lib/python2.7/dist-packages/svn/core.py", line 281, in run_app
>>> return func(application_pool, *args, **kw)
>>> File "./mailer.py", line 102, in main
>>> {'author': author,
>>> UnboundLocalError: local variable 'author' referenced before assignment
>>
>>
>> Fix:
>>
>> ~ Line 102:
>>
>>> if cmd == 'commit':
>>> revision = int(cmd_args[0])
>>> repos = Repository(repos_dir, revision, pool)
>>> cfg = Config(config_fname, repos,
>>> {'author': repos.author,
>>> 'repos_basename': os.path.basename(repos.repos_dir)
>>> })
>>> messenger = Commit(pool, cfg, repos)
>>
>> Use repos.author instead of just 'author'.
>>
>> -nick
>>
>> --
>> Peelman, Nick
>> [email protected]
>>
>>
>>
>>
>
>
smime.p7s
Description: S/MIME cryptographic signature

