#!/usr/bin/python # # scan system for harddrives and output device name/size # # Copyright (C) 2007 Red Hat, Inc. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # import os import sys # for testing if (os.path.exists('isys')): sys.path.append('isys') sys.path.append('/usr/lib/anaconda') import anaconda_log import parted import partedUtils import isys drives = isys.hardDriveDict() driveList = drives.keys() driveList.sort() for drive in driveList: if not isys.mediaPresent(drive): continue # try to open and get size skip = 0 deviceFile = "/dev/%s" % (drive,) try: dev = parted.PedDevice.get(deviceFile) except: skip = 1 if skip: continue sizeMB = (float(dev.heads * dev.cylinders * dev.sectors) / (1024 * 1024) * dev.sector_size) print drive, sizeMB