Package platformids ::
Package dist ::
Module darwin
1
2 """Darwin / OS-X / macOS - "happy marketing" naming releases - map u' all.
3 """
4 from __future__ import absolute_import
5
6 import os
7 import sys
8 import re
9 import platform
10
11
12 from pythonids import PYV35Plus
13 from platformids import RTE_OSX10, RTE_OSX, 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.29'
22 __uuid__ = "7add5ded-c39b-4b6e-8c87-1b3a1c150ee9"
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 RTE_OSX105 = RTE_OSX10 + 0x000028a0
47 RTE_OSX1050 = RTE_OSX105 + 0x000028a0
48 RTE_OSX1058 = RTE_OSX105 + 0x000028a8
49
50
51 RTE_OSX106 = RTE_OSX10 + 0x000028c0
52 RTE_OSX1060 = RTE_OSX106 + 0x000028c6
53 RTE_OSX1068 = RTE_OSX106 + 0x000028c8
54
55
56 RTE_OSX107 = RTE_OSX10 + 0x000028e0
57 RTE_OSX1070 = RTE_OSX107 + 0x000028e0
58 RTE_OSX1075 = RTE_OSX107 + 0x000028e2
59
60
61 RTE_OSX108 = RTE_OSX10 + 0x00002900
62 RTE_OSX1080 = RTE_OSX108 + 0x00002900
63 RTE_OSX1085 = RTE_OSX108 + 0x00002905
64
65
66 RTE_OSX109 = RTE_OSX10 + 0x00002920
67 RTE_OSX1090 = RTE_OSX109 + 0x00002920
68 RTE_OSX1095 = RTE_OSX109 + 0x00002925
69
70
71 RTE_OSX1010 = RTE_OSX10 + 0x00002940
72 RTE_OSX10100 = RTE_OSX1010 + 0x00002940
73 RTE_OSX10105 = RTE_OSX1010 + 0x00002945
74
75
76 RTE_OSX1011 = RTE_OSX10 + 0x00002960
77 RTE_OSX10110 = RTE_OSX1011 + 0x00002960
78 RTE_OSX10116 = RTE_OSX1011 + 0x00002966
79
80
81 RTE_OSX1012 = RTE_OSX10 + 0x00002980
82 RTE_OSX10124 = RTE_OSX1012 + 0x00002984
83 RTE_OSX10126 = RTE_OSX1012 + 0x00002986
84
85
86 RTE_OSX1013 = RTE_OSX10 + 0x000029a0
87 RTE_OSX10130 = RTE_OSX1013 + 0x000029a0
88 RTE_OSX10131 = RTE_OSX1013 + 0x000029a1
89 RTE_OSX10132 = RTE_OSX1013 + 0x000029a2
90 RTE_OSX10133 = RTE_OSX1013 + 0x000029a3
91 RTE_OSX10134 = RTE_OSX1013 + 0x000029a4
92 RTE_OSX10135 = RTE_OSX1013 + 0x000029a5
93 RTE_OSX10136 = RTE_OSX1013 + 0x000029a6
94
95
96 RTE_OSX1014 = RTE_OSX10 + 0x000029c0
97 RTE_OSX10140 = RTE_OSX1014 + 0x000029c0
98 RTE_OSX10141 = RTE_OSX1014 + 0x000029c1
99
100
101
102 rte2num.update(
103 {
104 'osx': RTE_OSX,
105 'osx105': RTE_OSX105,
106 'osx106': RTE_OSX106,
107 'osx1060': RTE_OSX1060,
108 'osx10105': RTE_OSX10105,
109 'osx1068': RTE_OSX1068,
110 'osx107': RTE_OSX107,
111 'osx108': RTE_OSX108,
112 'osx1080': RTE_OSX1080,
113 'osx1085': RTE_OSX1085,
114 'osx109': RTE_OSX109,
115 'osx1010': RTE_OSX1010,
116 'osx1011': RTE_OSX1011,
117 'osx1012': RTE_OSX1012,
118 'osx1013': RTE_OSX1013,
119 'osx1014': RTE_OSX1014,
120 'ElCapitan': RTE_OSX1011,
121 'HighSierra': RTE_OSX1013,
122 'Leopard': RTE_OSX105,
123 'Lion': RTE_OSX107,
124 'Mavericks': RTE_OSX109,
125 'Mojave': RTE_OSX1014,
126 'MountainLion': RTE_OSX108,
127 'Sierra': RTE_OSX1012,
128 'SnowLeopard': RTE_OSX106,
129 'Yosemite': RTE_OSX1010,
130
131
132
133 RTE_OSX: RTE_OSX,
134 RTE_OSX105: RTE_OSX105,
135 RTE_OSX106: RTE_OSX106,
136 RTE_OSX1060: RTE_OSX1060,
137 RTE_OSX10105: RTE_OSX10105,
138 RTE_OSX1068: RTE_OSX1068,
139 RTE_OSX107: RTE_OSX107,
140 RTE_OSX108: RTE_OSX108,
141 RTE_OSX1080: RTE_OSX1080,
142 RTE_OSX1085: RTE_OSX1085,
143 RTE_OSX109: RTE_OSX109,
144 RTE_OSX1010: RTE_OSX1010,
145 RTE_OSX1011: RTE_OSX1011,
146 RTE_OSX1012: RTE_OSX1012,
147 RTE_OSX1013: RTE_OSX1013,
148 RTE_OSX1014: RTE_OSX1014,
149 RTE_OSX1011: RTE_OSX1011,
150 RTE_OSX1013: RTE_OSX1013,
151 RTE_OSX105: RTE_OSX105,
152 RTE_OSX107: RTE_OSX107,
153 RTE_OSX109: RTE_OSX109,
154 RTE_OSX1014: RTE_OSX1014,
155 RTE_OSX108: RTE_OSX108,
156 RTE_OSX1012: RTE_OSX1012,
157 RTE_OSX106: RTE_OSX106,
158 RTE_OSX1010: RTE_OSX1010,
159
160 }
161 )
162
163
164
165 num2rte.update(
166 {
167 RTE_OSX: 'osx',
168 RTE_OSX1050: 'osx1050',
169 RTE_OSX1058: 'osx1058',
170 RTE_OSX106: 'osx106',
171 RTE_OSX1060: 'osx1060',
172 RTE_OSX1068: 'osx1068',
173 RTE_OSX1070: 'osx1070',
174 RTE_OSX1075: 'osx1075',
175 RTE_OSX108: 'osx108',
176 RTE_OSX1080: 'osx1080',
177 RTE_OSX1085: 'osx1085',
178 RTE_OSX1090: 'osx1090',
179 RTE_OSX1095: 'osx1095',
180 RTE_OSX10100: 'osx10100',
181 RTE_OSX10105: 'osx10105',
182 RTE_OSX10110: 'osx10110',
183 RTE_OSX10116: 'osx10116',
184 RTE_OSX10124: 'osx10124',
185 RTE_OSX10126: 'osx10126',
186 RTE_OSX10130: 'osx10130',
187 RTE_OSX10134: 'osx10134',
188 RTE_OSX10135: 'osx10135',
189 RTE_OSX10136: 'osx10136',
190 RTE_OSX10140: 'osx10140',
191 RTE_OSX10140: 'osx10141',
192 }
193 )
194
195
196 num2pretty.update(
197 {
198 RTE_OSX: 'OS-X',
199 RTE_OSX105: 'Leopard',
200 RTE_OSX1058: 'Leopard',
201 RTE_OSX106: 'SnowLeopard',
202 RTE_OSX1060: 'SnowLeopard',
203 RTE_OSX1068: 'SnowLeopard',
204 RTE_OSX107: 'Lion',
205 RTE_OSX1070: 'Lion',
206 RTE_OSX1075: 'Lion',
207 RTE_OSX108: 'MountainLion',
208 RTE_OSX1080: 'MountainLion',
209 RTE_OSX1085: 'MountainLion',
210 RTE_OSX109: 'Mavericks',
211 RTE_OSX1090: 'Mavericks',
212 RTE_OSX1095: 'Mavericks',
213 RTE_OSX1010: 'Yosemite',
214 RTE_OSX10100: 'Yosemite',
215 RTE_OSX10105: 'Yosemite',
216 RTE_OSX1011: 'ElCapitan',
217 RTE_OSX10110: 'ElCapitan',
218 RTE_OSX10116: 'ElCapitan',
219 RTE_OSX1012: 'Sierra',
220 RTE_OSX10124: 'Sierra',
221 RTE_OSX10126: 'Sierra',
222 RTE_OSX1013: 'HighSierra',
223 RTE_OSX10130: 'HighSierra',
224 RTE_OSX10134: 'HighSierra',
225 RTE_OSX10136: 'HighSierra',
226 RTE_OSX1014: 'Mojave',
227 RTE_OSX10140: 'Mojave',
228 }
229 )
230
231
232 versions = {
233 RTE_OSX1050: '10.5.0',
234 RTE_OSX1058: '10.5.8',
235 RTE_OSX1060: '10.6.0',
236 RTE_OSX1068: '10.6.8',
237 RTE_OSX1070: '10.7.0',
238 RTE_OSX1075: '10.7.5',
239 RTE_OSX1080: '10.8.0',
240 RTE_OSX1085: '10.8.5',
241 RTE_OSX1090: '10.9.0',
242 RTE_OSX1095: '10.9.5',
243 RTE_OSX10100: '10.10.0',
244 RTE_OSX10105: '10.10.5',
245 RTE_OSX10110: '10.11.0',
246 RTE_OSX10116: '10.11.6',
247 RTE_OSX10124: '10.12.4',
248 RTE_OSX10126: '10.12.6',
249 RTE_OSX10130: '10.13.0',
250 RTE_OSX10134: '10.13.4',
251 RTE_OSX10135: '10.13.5',
252 RTE_OSX10136: '10.13.6',
253 RTE_OSX10140: '10.14.0',
254 RTE_OSX10140: '10.14.1',
255 }
256
257
258
259 dist = ['', '', 'OS-X-', 'OS-X', '', '']
260
261 try:
262
263 if sys.platform.startswith('darwin'):
264
265 dist[1] = platform.release()
266 dist[5] = 'osx'
267
268 elif os.path.exists('/System/Library/Components/AppleScript.component'):
269
270 x = os.popen("sysctl kern.ostype kern.osrelease", mode='r')
271 if x.readline().endswith("Darwin\n") :
272 dist[1] = re.sub(r'[^=]*=([0-9.]*).*$', r'\1', x.readline())
273 dist[5] = 'osx'
274 x.close()
275
276 if dist[5] == 'osx':
277 dist[4] = decode_version_str_to_segments(dist[1])
278 dist[0] = 'osx%d%d%d' % (dist[4][0], dist[4][1], dist[4][2])
279 dist[2] += str(dist[1])
280
281
282 except PlatformIDsFileCheck:
283
284 pass
285
286
287 if dist[5] != 'osx':
288
289 dist = ['osx', '0.0.0', 'OS-X-0.0.0', 'OS-X', (0, 0, 0,), 'osx']
290