Added html argument to gam add sendas/update sendas/signature to control newline (NL) processing when signature is read from a file. (#331)

This commit is contained in:
Ross Scroggs
2016-11-13 12:27:15 -08:00
committed by Jay Lee
parent d5538a79da
commit 17660220fe
2 changed files with 28 additions and 15 deletions

View File

@@ -792,14 +792,14 @@ gam <UserTypeEntity> show imap|imap4
gam <UserTypeEntity> pop|pop3 <Boolean> [for allmail|newmail|mailfromnowon|fromnowown] [action keep|leaveininbox|archive|delete|trash|markread] gam <UserTypeEntity> pop|pop3 <Boolean> [for allmail|newmail|mailfromnowon|fromnowown] [action keep|leaveininbox|archive|delete|trash|markread]
gam <UserTypeEntity> show pop|pop3 gam <UserTypeEntity> show pop|pop3
gam <UserTypeEntity> [add] sendas <EmailAddress> <Name> [signature|sig <String>|(file <FileName> [charset <CharSet>]) (replace <Tag> <String>)*] [replyto <EmailAddress>] [default] [treatasalias <Boolean>] gam <UserTypeEntity> [add] sendas <EmailAddress> <Name> [signature|sig <String>|(file <FileName> [charset <CharSet>]) (replace <Tag> <String>)*] [html] [replyto <EmailAddress>] [default] [treatasalias <Boolean>]
gam <UserTypeEntity> update sendas <EmailAddress> [name <Name>] [signature|sig <String>|(file <FileName> [charset <CharSet>]) (replace <Tag> <String>)*] [replyto <EmailAddress>] [default] [treatasalias <Boolean>] gam <UserTypeEntity> update sendas <EmailAddress> [name <Name>] [signature|sig <String>|(file <FileName> [charset <CharSet>]) (replace <Tag> <String>)*] [html] [replyto <EmailAddress>] [default] [treatasalias <Boolean>]
gam <UserTypeEntity> delete sendas <EmailAddress> gam <UserTypeEntity> delete sendas <EmailAddress>
gam <UserTypeEntity> show sendas [format] gam <UserTypeEntity> show sendas [format]
gam <UserTypeEntity> info sendas <EmailAddress> [format] gam <UserTypeEntity> info sendas <EmailAddress> [format]
gam <UserTypeEntity> print sendas [todrive] gam <UserTypeEntity> print sendas [todrive]
gam <UserTypeEntity> signature|sig <String>|(file <FileName> [charset <Charset>]) (replace <Tag> <String>)* [name <String>] [replyto <EmailAddress>] [default] [treatasalias <Boolean>] gam <UserTypeEntity> signature|sig <String>|(file <FileName> [charset <Charset>]) (replace <Tag> <String>)* [html] [name <String>] [replyto <EmailAddress>] [default] [treatasalias <Boolean>]
gam <UserTypeEntity> show signature|sig [format] gam <UserTypeEntity> show signature|sig [format]
gam <UserTypeEntity> vacation <FalseValues> gam <UserTypeEntity> vacation <FalseValues>

View File

@@ -5061,6 +5061,7 @@ def addUpdateSendAs(users, i, addCmd):
body = {} body = {}
signature = None signature = None
tagReplacements = {} tagReplacements = {}
html = False
while i < len(sys.argv): while i < len(sys.argv):
myarg = sys.argv[i].lower() myarg = sys.argv[i].lower()
if myarg in [u'signature', u'sig']: if myarg in [u'signature', u'sig']:
@@ -5069,15 +5070,20 @@ def addUpdateSendAs(users, i, addCmd):
if signature == u'file': if signature == u'file':
filename = sys.argv[i] filename = sys.argv[i]
i, encoding = getCharSet(i+1) i, encoding = getCharSet(i+1)
signature = readFile(filename, encoding=encoding) signature = readFile(filename, encoding=encoding).replace(u'\\n', u'<br/>')
else:
signature = signature.replace(u'\\n', u'<br/>')
elif myarg == u'html':
html = True
i += 1
else: else:
i = getSendAsAttributes(i, myarg, body, tagReplacements, command) i = getSendAsAttributes(i, myarg, body, tagReplacements, command)
if signature is not None: if signature is not None:
if not signature: if signature:
body[u'signature'] = None if tagReplacements:
elif tagReplacements: signature = _processTags(tagReplacements, signature)
body[u'signature'] = _processTags(tagReplacements, signature) if not html:
else: signature = signature.replace(u'\n', u'<br/>')
body[u'signature'] = signature body[u'signature'] = signature
kwargs = {u'body': body} kwargs = {u'body': body}
if not addCmd: if not addCmd:
@@ -6107,12 +6113,19 @@ def doSignature(users):
signature = getString(i, u'String', emptyOK=True).replace(u'\\n', u'<br/>') signature = getString(i, u'String', emptyOK=True).replace(u'\\n', u'<br/>')
i += 1 i += 1
body = {} body = {}
html = False
while i < len(sys.argv): while i < len(sys.argv):
myarg = sys.argv[i].lower() myarg = sys.argv[i].lower()
i = getSendAsAttributes(i, myarg, body, tagReplacements, u'signature') if myarg == u'html':
if tagReplacements: html = True
body[u'signature'] = _processTags(tagReplacements, signature) i += 1
else: else:
i = getSendAsAttributes(i, myarg, body, tagReplacements, u'signature')
if signature:
if tagReplacements:
signature = _processTags(tagReplacements, signature)
if not html:
signature = signature.replace(u'\n', u'<br/>')
body[u'signature'] = signature body[u'signature'] = signature
i = 0 i = 0
count = len(users) count = len(users)