2010-01-18 20:08:38 +01:00
import os
import ConfigParser
class _Configuration ( object ) :
def __init__ ( self ) :
self . filename = os . path . join ( os . path . join ( os . getenv ( " HOME " ) , " .4grab " ) , " config.cfg " )
self . configparser = ConfigParser . RawConfigParser ( )
if not os . path . exists ( self . filename ) :
self . create_new ( )
else :
self . configparser . read ( self . filename )
def create_new ( self ) :
self . configparser . add_section ( " settings " )
2010-02-09 01:32:42 +01:00
self . set_category ( self . raw_input_with_default ( " w " , " Please enter which category you would like to download from: " ) )
2010-01-18 20:08:38 +01:00
self . configparser . add_section ( " locations " )
self . configparser . set ( " locations " , " download " , self . raw_input_with_default ( os . path . join ( os . getenv ( " HOME " ) , " Pictures " ) , " Please enter where you would like the downloads to go: " ) )
2010-02-09 01:32:42 +01:00
self . save ( )
2010-01-18 20:08:38 +01:00
def raw_input_with_default ( self , default , prompt ) :
inp = raw_input ( " %s (default= %s ): " % ( prompt , default ) )
if inp == " " :
return default
return inp
def get_download_location ( self ) :
return self . configparser . get ( " locations " , " download " )
def get_category ( self ) :
return self . configparser . get ( " settings " , " category " )
2010-02-09 01:32:42 +01:00
def set_category ( self , value ) :
self . configparser . set ( " settings " , " category " , value )
def option_exists ( self , option ) :
for section in self . configparser . sections ( ) :
if self . configparser . has_option ( section , option ) :
return True
return False
def save ( self ) :
dirname = os . path . dirname ( self . filename )
if not os . path . exists ( dirname ) :
os . mkdir ( dirname )
configfile = open ( self . filename , " w " )
self . configparser . write ( configfile )
2010-01-18 20:08:38 +01:00
_configuration = _Configuration ( )
def Configuration ( ) : return _configuration