Coverage for sources / mimeogram / parts.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-02-18 17:27 +0000

1# vim: set filetype=python fileencoding=utf-8: 

2# -*- coding: utf-8 -*- 

3 

4#============================================================================# 

5# # 

6# Licensed under the Apache License, Version 2.0 (the "License"); # 

7# you may not use this file except in compliance with the License. # 

8# You may obtain a copy of the License at # 

9# # 

10# http://www.apache.org/licenses/LICENSE-2.0 # 

11# # 

12# Unless required by applicable law or agreed to in writing, software # 

13# distributed under the License is distributed on an "AS IS" BASIS, # 

14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # 

15# See the License for the specific language governing permissions and # 

16# limitations under the License. # 

17# # 

18#============================================================================# 

19 

20 

21''' Mimeogram parts. ''' 

22 

23 

24from . import __ 

25from . import fsprotect as _fsprotect 

26 

27 

28class Resolutions( __.enum.Enum ): 

29 ''' Available resolutions for each part. ''' 

30 

31 Apply = 'apply' 

32 Ignore = 'ignore' 

33 

34 

35class Part( __.immut.DataclassObject ): 

36 ''' Part of mimeogram. ''' 

37 location: str # TODO? 'Url' class 

38 mimetype: str 

39 charset: str 

40 linesep: __.detextive.LineSeparators 

41 content: str 

42 

43 # TODO? 'format' method 

44 # TODO? 'parse' method 

45 

46 

47class Target( __.immut.DataclassObject ): 

48 ''' Target information for mimeogram part. ''' 

49 part: Part 

50 destination: __.Path 

51 protection: _fsprotect.Status