summaryrefslogtreecommitdiff
path: root/alot/account.py
Commit message (Collapse)AuthorAge
* Use abc module to signal abstract base classesDylan Baker2016-12-21
| | | | | | | | | | | | | The Completer class is abastract, and it's complete method is also abstract. Using ABCMeta achieve two thing, first it will cause an error if a developer doesn't overwrite the method in a subclass. And second that it tells the static analysis tools to ignore the unused arguments in the signature, since this is the definition of a signature, not an actual function. By the same logic addressbook.AddressBook, and account.Account have been extended to use ABCMeta as their metaclass and have had their abstract methods decorated with the abstract method attribute.
* Replace unused arguments with _Dylan Baker2016-12-21
| | | | | | | | | | This patch replaces a large number (but not all) unused arguments with the standard ``_`` placeholder. This has the advantage of signaling that these values are unused. There are a number of places that I've chosen not to apply this, largely in methods that have publicly define signatures that they inherit (usually from urwid).
* Turn methods with no `self` usage into staticmethodsLucas Hoffmann2016-12-18
|
* Replace mutable keyword argumentsDylan Baker2016-12-13
| | | | | | | | | | | | | | | | | | | | | | | There are a number of cases of mutable keyword arguments (list and dict in this case). Mutable keyword arguments are rather dangerous, since any mutation of the default value is persistent, which will inevitably lead to bugs. For example, imagine this code: def func(def=[]): def.append('foo') return def >>> func() ['foo'] >>> func() ['foo', 'foo'] This is almost certainly not what was intended. This code generally uses the idiom of setting the default value to None, and then assigning with or `value = value or []` which will replace value with the empty list (or dict) when value is falsey, like None or another empty list.
* Clean up importsLucas Hoffmann2016-12-09
| | | | | | - use relative imports if possible - group imports into standard library, third party, and alot modules - sort imports alphabetically
* Use logging's native string interpolationLucas Hoffmann2016-12-09
|
* Handle deprecated option values gracefully.Lucas Hoffmann2016-03-24
|
* Add deprecation warning for old format.Lucas Hoffmann2016-03-24
|
* Encrypt on reply to encrypted email and add 'encrypt_by_default' configRuben Pollan2015-12-16
|
* add account option alias_regexpvrs2015-12-16
|
* refactor addressbook codePatrick Totzke2015-04-15
|
* dont use trace as notification stringPatrick Totzke2013-06-29
| | | | closes #589
* Fix long line in previous commitBenjamin2012-10-04
|
* Include STDERR from sendmail_command in SendmailAccount error messageBenjamin2012-10-04
|
* doc: docstringsPatrick Totzke2012-09-05
|
* catch exceptions raised by account.store_mailPatrick Totzke2012-08-21
| | | | | | be more error concious when storing mails to a maildir and propagate Maildir errors to error notifications in the UI. cf issue #502
* cleanup: split widgets.py and pep8/pyflakes fixesPatrick Totzke2012-08-10
|
* Fix PGP/MIME attachmentsMichael Stapelberg2012-07-22
| | | | | This actually is a workaround for a Python bug as mentioned in alot/crypto.py
* add copyright statements to all source filesPatrick Totzke2012-06-14
| | | | cf issue #472
* add helper split_commandstringPatrick Totzke2012-06-03
| | | | | | | | that splits a command string into a list of strings to pass on to subprocess.Popen and the like. This helper is now used throughout the application instead of calling shlex.split directly as this is a potential source for errors because shlex is not yet able to properly deal with unicode bytestrings.
* add sign_by_default account setting to enable GPG signatures by default, use ↵Michael Stapelberg2012-05-11
| | | | existing gpg_key setting
* remove custom passphrase cb, eliminate code duplicationMichael Stapelberg2012-04-23
|
* Implement signing outgoing messages (PoC)Michael Stapelberg2012-04-15
|
* pep8 fixesPatrick Totzke2012-03-11
|
* cleanup: imports in account.pyPatrick Totzke2012-03-11
|
* cleanup: moved addressbooks into separate filePatrick Totzke2012-03-11
|
* group settings into a submodulePatrick Totzke2012-03-11
|
* cleanup Account.__init__ wrt. sent/draft boxesPatrick Totzke2012-03-11
| | | | | | sent_box and draft_box are already provided as Mailbox objects so don't have to be interpreted/instanciated here
* safer globbing in Account.store_mailPatrick Totzke2012-03-10
| | | | | | | | | | we use glob to find the path to a newly stored message file. This makes us use glob.glob1 instead of glob.glob to make sure the mailbox path is taken as is - and not interpreted as as regular expression, e.g. if it contains square brackets. This further ensures we don't access a possibly empty list out of index closes #401
* fix issue with abook formatPatrick Totzke2012-02-27
| | | | closes #369
* introduce AbookAddressbookPatrick Totzke2012-02-25
| | | | a direct parser for abook's contact files.
* Made default abook_regexp to better comply with the formatDaniel2012-02-24
| | | | | | | | | The default regexp now ignores a third field (only caring for the first email and name). Tabs are not transformed to spaces before matching is done. "goobook query" now works with the default regexp like it should; both it and abook were made to output a mutt query_command compatible format. Docs are updated accordingly. The example for nottoomuch-addresses still works.
* ignore superflous config lines in accountsPatrick Totzke2012-02-19
|
* remove unused AccountManager classPatrick Totzke2012-02-19
|
* parse accounts in SettingsManagerPatrick Totzke2012-02-19
|
* remove unused reference to dbman in AccountsPatrick Totzke2012-02-09
| | | | | | This has been introduced previously to enable Account.store_mail to index newly created message files. This functionality has been moved to SendCommand and SaveCommand that use FlushCommand to write out to the index (that deals with DatabaseErrors correctly).
* don't flush write-queue from the accountsPatrick Totzke2012-02-08
| | | | | | | this is done using FlushCommand from the individual accounts: FlushCommand will ensure that upon a locked index, the changes will be caried out later. moreover, this deals with Exceptions, the account doesn't.
* DBManager.add_message rewritePatrick Totzke2012-02-08
| | | | | | | | only queue requested changes to internal write queue, let the lifting be done later in `flush`. This refactors add_message to also accept a `tags` parameter, a list of tagstrings that the message gets tagged with initially. The new interface is used in account
* raise NotImplementedError instead of returningPatrick Totzke2012-02-03
| | | | | string 'not implemented' cf 864025133045708b699970c21618a73
* adjust docstring for Account.send_mailPatrick Totzke2012-02-03
| | | | mention the returned Deferred
* use asyncronous call to sendmailPatrick Totzke2012-02-02
| | | | | in account.send_mail and use call/errbacks in envelope accordingly
* introduce getter for an accounts addressesPatrick Totzke2012-01-25
| | | | that returns the default address and all aliases
* adjusted default abook_regexpPatrick Totzke2012-01-24
| | | | | as discussed in issue #284 closes #284
* fix: contact completion for contacts w/o namePatrick Totzke2012-01-23
| | | | | | If the a contact (a pair of strings name, address) has no name, then propose the address only instead of some strange `"" <address>`. Moreover, don't strip the namestring but use as is.
* added account option 'signature_as_attachment'Patrick Totzke2011-12-30
| | | | | that causes the content of the signature file to be appended to the initial body text of an envelope instead of attached
* pep8 fixesPatrick Totzke2011-12-27
|
* fix account.store_mailPatrick Totzke2011-12-26
| | | | this fixes an unsuccessful previous merge
* fix c/p error in Account.store_draft_mailPatrick Totzke2011-12-25
|
* logging in Account.store_mailPatrick Totzke2011-12-25
|
* return values for Account.store_mailPatrick Totzke2011-12-25
| | | | | this also fixes the issue of not using the created msg object, cf. issue #198