Package platformids ::
Package dist ::
Module fedora
1
2 """Fedora releases.
3
4 See Fedora - Release Name process ended [FEDORARELNAMES]_.
5
6 """
7 from __future__ import absolute_import
8
9 import re
10
11
12 from pythonids import PYV35Plus
13 from platformids import RTE_FEDORA, rte2num, num2rte, num2pretty, decode_version_str_to_segments, \
14 PlatformIDsFileCheck
15
16
17 __author__ = 'Arno-Can Uestuensoez'
18 __license__ = "Artistic-License-2.0 + Forced-Fairplay-Constraints"
19 __copyright__ = "Copyright (C) 2010-2018 Arno-Can Uestuensoez" \
20 " @Ingenieurbuero Arno-Can Uestuensoez"
21 __version__ = '0.1.35'
22 __uuid__ = "7add5ded-c39b-4b6e-8c87-1b3a1c150ee9"
23
24
25 RTE_FEDORA19 = RTE_FEDORA + 0x00004c00
26 RTE_FEDORA20 = RTE_FEDORA + 0x00005000
27 RTE_FEDORA21 = RTE_FEDORA + 0x00005400
28 RTE_FEDORA25 = RTE_FEDORA + 0x00064000
29
30 RTE_FEDORA27 = RTE_FEDORA + 0x00006c00
31 RTE_FEDORA28 = RTE_FEDORA + 0x00007000
32 RTE_FEDORA29 = RTE_FEDORA + 0x00007400
33 RTE_FEDORA30 = RTE_FEDORA + 0x00007800
34 RTE_FEDORA31 = RTE_FEDORA + 0x00007e00
35 RTE_FEDORA32 = RTE_FEDORA + 0x00008000
36 RTE_FEDORA33 = RTE_FEDORA + 0x00008400
37
38
39
40 rte2num.update(
41 {
42 "Schroedinger's Cat": RTE_FEDORA19,
43 'Heisenbug': RTE_FEDORA20,
44 'fedora27': RTE_FEDORA27,
45 'fedora28': RTE_FEDORA28,
46 'fedora29': RTE_FEDORA29,
47 'fedora30': RTE_FEDORA30,
48 'fedora31': RTE_FEDORA31,
49 'fedora32': RTE_FEDORA32,
50 'fedora33': RTE_FEDORA33,
51 RTE_FEDORA19: RTE_FEDORA19,
52 RTE_FEDORA20: RTE_FEDORA20,
53 RTE_FEDORA21: RTE_FEDORA21,
54 RTE_FEDORA25: RTE_FEDORA25,
55 RTE_FEDORA27: RTE_FEDORA27,
56 RTE_FEDORA28: RTE_FEDORA28,
57 RTE_FEDORA29: RTE_FEDORA29,
58 RTE_FEDORA30: RTE_FEDORA30,
59 RTE_FEDORA31: RTE_FEDORA31,
60 RTE_FEDORA32: RTE_FEDORA32,
61 RTE_FEDORA33: RTE_FEDORA33,
62 }
63 )
64
65
66
67 num2rte.update({
68 RTE_FEDORA19: 'fedora19',
69 RTE_FEDORA20: 'fedora20',
70 RTE_FEDORA27: 'fedora27',
71 RTE_FEDORA28: 'fedora28',
72 RTE_FEDORA29: 'fedora29',
73 RTE_FEDORA30: 'fedora30',
74 RTE_FEDORA31: 'fedora31',
75 RTE_FEDORA32: 'fedora32',
76 RTE_FEDORA33: 'fedora33',
77 }
78 )
79
80
81 num2pretty.update({
82 RTE_FEDORA: 'Fedora Linux',
83 RTE_FEDORA19: "Schroedinger's Cat",
84 RTE_FEDORA20: 'Heisenbug',
85 RTE_FEDORA27: 'Fedora27',
86 RTE_FEDORA28: 'Fedora28',
87 RTE_FEDORA29: 'Fedora29',
88 RTE_FEDORA30: 'Fedora30',
89 RTE_FEDORA31: 'Fedora31',
90 RTE_FEDORA32: 'Fedora32',
91 RTE_FEDORA33: 'Fedora33',
92 }
93 )
94
95
96
97 dist = ['', '', 'Fedora-', 'Fedora', '', '']
98
99 try:
100 with open("/etc/redhat-release", 'r') as f:
101 for l in f:
102 _d = re.split(r'(?s)^([^0-9]*) release *([0-9.]*[^ ]*) [^(]*[(]([^)]*)[)][\n\t ]*$', l)
103
104 if _d[1] == 'Fedora':
105 dist[0] = 'fedora' + _d[2]
106 dist[4] = decode_version_str_to_segments(_d[2])
107 dist[1] = _d[2]
108 dist[3] = 'Fedora'
109 dist[5] = 'fedora'
110
111 if dist[4][0] > 21:
112 dist[2] = "Fedora-%d" % (dist[4][0])
113 else:
114 dist[2] = _d[1]
115
116
117 except PlatformIDsFileCheck:
118
119 pass
120
121
122 if dist[5] != 'fedora':
123
124 dist = ['fedora', '0.0.0', 'Fedora-0.0.0', 'Fedora00', (0, 0, 0,), 'fedora']
125