self.disk_space is not guaranteed to be in units of "GB". If you read the docstring for get_free_space() [1] it states that it returns freespace in Human readable form. This could be Bytes, KB, MB, GB, TB, etc... depending on the size of the space and is automatically decided by format_size() function [2] which decides which units to use depending on increments of 1024. So it seems like your if statement will not catch disk space in units other than GB which could potentially happen due to format_size().

[1] https://github.com/Freeseer/freeseer/blob/master/src/freeseer/framework/util.py#L39
[2] https://github.com/Freeseer/freeseer/blob/master/src/freeseer/framework/util.py#L32