Репозитории ALT
S: | 2.7.18-alt11 |
5.1: | 2.5.5-alt0.M51.1 |
4.1: | 2.5.4-alt0.M41.1 |
4.0: | 2.4.5-alt0.M40.1 |
3.0: | 2.4.1-alt5 |
Группа :: Разработка/Python
Пакет: python
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: python2-platform-osrelease.patch
Скачать
Скачать
--- Python/Lib/platform.py 2018-05-30 11:24:55.513320721 +0300
+++ Python/Lib/new_platform.py 2018-05-30 11:47:30.576195369 +0300
@@ -290,6 +290,24 @@
id = l[1]
return '', version, id
+def _prase_os_release(os_release_file):
+ params = ['NAME', 'VERSION_ID', 'ID']
+ vars_ = []
+ for line in os_release_file:
+ for param in params:
+ get_name = re.search(r'^' + param + '.*', line)
+ index = params.index(param)
+ if get_name is not None:
+ params[index] = get_name.group(0)
+ for param in params:
+ param_split = param.split('=')
+ if len(param_split) > 1:
+ clean_sym = re.findall('[\w,.:;()]+', param_split[1])
+ vars_.append(clean_sym[0])
+ else:
+ vars_.append('')
+ return vars_[0], vars_[1], vars_[2]
+
def linux_distribution(distname='', version='', id='',
supported_dists=_supported_dists,
@@ -314,35 +332,43 @@
args given as parameters.
"""
+ def linux_dist_origin(distname, version, id):
+ try:
+ etc = os.listdir('/etc')
+ except os.error:
+ # Probably not a Unix system
+ return distname,version,id
+ etc.sort()
+ for file in etc:
+ m = _release_filename.match(file)
+ if m is not None:
+ _distname,dummy = m.groups()
+ if _distname in supported_dists:
+ distname = _distname
+ break
+ else:
+ return _dist_try_harder(distname,version,id)
+
+ # Read the first line
+ f = open('/etc/'+file, 'r')
+ firstline = f.readline()
+ f.close()
+ _distname, _version, _id = _parse_release_file(firstline)
+
+ if _distname and full_distribution_name:
+ distname = _distname
+ if _version:
+ version = _version
+ if _id:
+ id = _id
+ return distname, version, id
+
try:
- etc = os.listdir('/etc')
- except os.error:
- # Probably not a Unix system
- return distname,version,id
- etc.sort()
- for file in etc:
- m = _release_filename.match(file)
- if m is not None:
- _distname,dummy = m.groups()
- if _distname in supported_dists:
- distname = _distname
- break
- else:
- return _dist_try_harder(distname,version,id)
-
- # Read the first line
- f = open('/etc/'+file, 'r')
- firstline = f.readline()
- f.close()
- _distname, _version, _id = _parse_release_file(firstline)
-
- if _distname and full_distribution_name:
- distname = _distname
- if _version:
- version = _version
- if _id:
- id = _id
- return distname, version, id
+ os_release_path = '/etc/os-release'
+ with open(os_release_path, 'r') as os_release:
+ return _prase_os_release(os_release)
+ except IOError:
+ return linux_dist_origin(distname, version, id)
# To maintain backwards compatibility: