summaryrefslogtreecommitdiff
path: root/alot/db
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2021-01-30 16:42:23 +0100
committerAnton Khirnov <anton@khirnov.net>2021-01-30 16:42:23 +0100
commit10135f6d1563ccd01c9afc90613f7dd16ca4c541 (patch)
treeedc64134cb6d5f1414033368226fb81c0a1580a9 /alot/db
parent309fb25e9b089618c37f1a741fa6009cce54ac9e (diff)
db/attachment: move to mail/
It has nothing whatsoever to do with the database.
Diffstat (limited to 'alot/db')
-rw-r--r--alot/db/attachment.py56
-rw-r--r--alot/db/message.py2
2 files changed, 1 insertions, 57 deletions
diff --git a/alot/db/attachment.py b/alot/db/attachment.py
deleted file mode 100644
index 5c993a68..00000000
--- a/alot/db/attachment.py
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright (C) 2011-2012 Patrick Totzke <patricktotzke@gmail.com>
-# Copyright © 2018 Dylan Baker
-# This file is released under the GNU GPL, version 3 or a later revision.
-# For further details see the COPYING file
-
-import os.path
-
-def _humanize_size(size):
- """Create a nice human readable representation of the given number
- (understood as bytes) using the "KiB" and "MiB" suffixes to indicate
- kibibytes and mebibytes. A kibibyte is defined as 1024 bytes (as opposed to
- a kilobyte which is 1000 bytes) and a mibibyte is 1024**2 bytes (as opposed
- to a megabyte which is 1000**2 bytes).
-
- :param size: the number to convert
- :type size: int
- :returns: the human readable representation of size
- :rtype: str
- """
- for factor, format_string in ((1, '%i'),
- (1024, '%iKiB'),
- (1024 * 1024, '%.1fMiB')):
- if size / factor < 1024:
- return format_string % (size / factor)
- return format_string % (size / factor)
-
-
-
-class Attachment:
- """represents a mail attachment"""
-
- data = None
- content_type = None
- filename = None
- params = None
-
- def __init__(self, data, ctype, filename, params):
- self.data = data
- self.content_type = ctype
- self.params = params
-
- # make sure the filename is a relative path
- # that does not go upwards
- filename = os.path.normpath(filename)
- if filename.startswith('/') or filename.startswith('..'):
- raise ValueError('Dangerous attachment filename: %s' % filename)
-
- self.filename = filename
-
- def __str__(self):
- ret = self.content_type
- if self.filename:
- ret += ':' + self.filename
- ret += ' (%s)' % _humanize_size(len(self.data))
-
- return ret
diff --git a/alot/db/message.py b/alot/db/message.py
index 5db42c0a..29ca11dc 100644
--- a/alot/db/message.py
+++ b/alot/db/message.py
@@ -13,7 +13,7 @@ from datetime import datetime
from urwid.util import detected_encoding
-from .attachment import Attachment
+from ..mail.attachment import Attachment
from .. import crypto
from .. import helper
from ..errors import GPGProblem