#-*- coding: utf-8 -*- #Copyright 2008 Calculate Pack, http://www.calculate-linux.ru # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import os import re import glob import cl_utils #класс для работы с видео устройствами class Video: #получить список видеокарт def getcards(self): card_names=[] g_path=cl_utils.getpathenv() s_cmd='%s lspci | grep VGA' % g_path lines=os.popen(s_cmd).readlines() if lines: for line in lines: re_res=re.search(\ '[0-9\:\.]+\sVGA compatible controller:(.+)$',line) if re_res: card_names.append(re_res.group(1)) if len(card_names)>0: return card_names else: return None #работа с блочными устройствами class block_dev: _dev_list=[] def __init__(self): self._getlist() def _getlist(self): devlist=[] for dev in ('sd','hd'): devlist+=glob.glob('/sys/block/%s*'%dev) for dev in devlist: self._dev_list.append(dev.split('/')[-1]) #получить список устройств def get_listdev(self): return self._dev_list #проверить на извлекаемое устройство def isremovable(self, dev): if dev in self.get_listdev(): res=int(open('/sys/block/%s/removable'%dev).read().split()[0]) return res else: return None