Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/PIL/PaletteFile.py: 19%

23 statements  

« prev     ^ index     » next       coverage.py v6.4.4, created at 2023-07-17 14:22 -0600

1# 

2# Python Imaging Library 

3# $Id$ 

4# 

5# stuff to read simple, teragon-style palette files 

6# 

7# History: 

8# 97-08-23 fl Created 

9# 

10# Copyright (c) Secret Labs AB 1997. 

11# Copyright (c) Fredrik Lundh 1997. 

12# 

13# See the README file for information on usage and redistribution. 

14# 

15 

16from ._binary import o8 

17 

18 

19class PaletteFile: 

20 """File handler for Teragon-style palette files.""" 

21 

22 rawmode = "RGB" 

23 

24 def __init__(self, fp): 

25 

26 self.palette = [(i, i, i) for i in range(256)] 

27 

28 while True: 

29 

30 s = fp.readline() 

31 

32 if not s: 

33 break 

34 if s[:1] == b"#": 

35 continue 

36 if len(s) > 100: 

37 raise SyntaxError("bad palette file") 

38 

39 v = [int(x) for x in s.split()] 

40 try: 

41 [i, r, g, b] = v 

42 except ValueError: 

43 [i, r] = v 

44 g = b = r 

45 

46 if 0 <= i <= 255: 

47 self.palette[i] = o8(r) + o8(g) + o8(b) 

48 

49 self.palette = b"".join(self.palette) 

50 

51 def getpalette(self): 

52 

53 return self.palette, self.rawmode