--- a/buildframework/helium/tools/preparation/freedisk.py Fri Feb 05 11:59:41 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-#============================================================================
-#Name : freedisk.py
-#Part of : Helium
-
-#Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-#All rights reserved.
-#This component and the accompanying materials are made available
-#under the terms of the License "Eclipse Public License v1.0"
-#which accompanies this distribution, and is available
-#at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-#Initial Contributors:
-#Nokia Corporation - initial contribution.
-#
-#Contributors:
-#
-#Description:
-#===============================================================================
-
-""" Checks free space on the disk before the build starts.
-
-The script is being called from the preparation.ant.xml file
-
-"""
-
-import getopt, sys
-
-
-help_string = """
- -h or --help : Displays help
-
- -d or --drive : Requires a drive letter to be checked.
- : E.g. -d C: (case insensitive; ':' is optional)
-
- -s or --space : Required space to compare with the drive for the free space"
- : E.g. -s 2658 (an integer value in MB)
-"""
-
-
-
-def print_space_report(drive, space_required):
- """
- compares the required space with current free space on the provided drive
- """
- try:
- if sys.platform == "win32":
- import win32file
- free_bytes = win32file.GetDiskFreeSpaceEx(drive)[0]
- elif 'java' in sys.platform:
- import java.io
- free_bytes = java.io.File(drive).getFreeSpace()
- else:
- import os
- import statvfs
- # pylint: disable-msg=E1101
- stats = os.statvfs(drive)
- free_bytes = stats[statvfs.F_BSIZE] * stats[statvfs.F_BAVAIL]
-
- except Exception, e:
- print "ERROR: Either specified drive doesn't exist or an unknown error"
- print str(e)
- print help_string
- sys.exit(-2)
-
- free_space = free_bytes / (1024 * 1024)
-
- print "drive:", drive
- print "Required Space:", space_required
- print "Free Space:", free_space
-
- if space_required < free_space:
- print "Enough free space"
- else:
- print "Not enough free space, exiting"
- sys.exit(-1)
-
-
-def main():
- """
- Gets and parse options and verifies the option values
- """
- try:
- opts = getopt.getopt(sys.argv[1:], "hs:d:", \
- ["space=", "drive=", "help"])[0]
- except getopt.GetoptError:
- # print help information and exit:
- print "ERROR: Couldn't parse the command line parameters."
- print help_string
- sys.exit(2)
-
- drive = None
- required_space = None
-
- for opt, attr in opts:
-
- if opt in ("-s", "--space"):
- required_space = int(attr)
-
- if opt in ("-d", "--drive"):
- drive = attr
-
- if opt in ("-h", "--help"):
- print help_string
- sys.exit()
-
- if required_space == None and drive == None:
- print "ERROR: No parameters are defined"
- print help_string
- sys.exit (-3)
-
- if required_space == None:
- print "ERROR: Required Disk Space parameter is not defined to" \
- "check space on the disk"
- print help_string
- sys.exit (-3)
-
- if drive == None:
- print "ERROR: Drive parameter is missing"
- print help_string
- sys.exit (-3)
- else:
- if sys.platform == "win32":
- if not ":" in drive:
- drive = drive + ":"
-
- print_space_report(drive, required_space)
-
-
-
-
-if __name__ == '__main__':
- sys.exit(main())