From 10135f6d1563ccd01c9afc90613f7dd16ca4c541 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sat, 30 Jan 2021 16:42:23 +0100 Subject: db/attachment: move to mail/ It has nothing whatsoever to do with the database. --- alot/db/attachment.py | 56 --------------------------------------------------- alot/db/message.py | 2 +- 2 files changed, 1 insertion(+), 57 deletions(-) delete mode 100644 alot/db/attachment.py (limited to 'alot/db') 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 -# 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 -- cgit v1.2.3