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

1# Copyright (c) 2010-2022 openpyxl 

2 

3 

4class Comment(object): 

5 

6 _parent = None 

7 

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 

13 

14 

15 @property 

16 def parent(self): 

17 return self._parent 

18 

19 

20 def __eq__(self, other): 

21 return ( 

22 self.content == other.content 

23 and self.author == other.author 

24 ) 

25 

26 def __repr__(self): 

27 return "Comment: {0} by {1}".format(self.content, self.author) 

28 

29 

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 

34 

35 

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 

44 

45 

46 def unbind(self): 

47 """ 

48 Unbind a comment from a cell 

49 """ 

50 self._parent = None 

51 

52 

53 @property 

54 def text(self): 

55 """ 

56 Any comment text stripped of all formatting. 

57 """ 

58 return self.content 

59 

60 @text.setter 

61 def text(self, value): 

62 self.content = value