Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/openpyxl/comments/comments.py: 47%
30 statements
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
1# Copyright (c) 2010-2022 openpyxl
4class Comment(object):
6 _parent = None
8 def __init__(self, text, author, height=79, width=144):
9 self.content = text
10 self.author = author
11 self.height = height
12 self.width = width
15 @property
16 def parent(self):
17 return self._parent
20 def __eq__(self, other):
21 return (
22 self.content == other.content
23 and self.author == other.author
24 )
26 def __repr__(self):
27 return "Comment: {0} by {1}".format(self.content, self.author)
30 def __copy__(self):
31 """Create a detached copy of this comment."""
32 clone = self.__class__(self.content, self.author, self.height, self.width)
33 return clone
36 def bind(self, cell):
37 """
38 Bind comment to a particular cell
39 """
40 if cell is not None and self._parent is not None and self._parent != cell:
41 fmt = "Comment already assigned to {0} in worksheet {1}. Cannot assign a comment to more than one cell"
42 raise AttributeError(fmt.format(cell.coordinate, cell.parent.title))
43 self._parent = cell
46 def unbind(self):
47 """
48 Unbind a comment from a cell
49 """
50 self._parent = None
53 @property
54 def text(self):
55 """
56 Any comment text stripped of all formatting.
57 """
58 return self.content
60 @text.setter
61 def text(self, value):
62 self.content = value