~muelnet/heybuddy/pulltimes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
'''
this is a part of the heybuddy project
copyright 2010 jezra lickter http://www.jezra.net
'''
import ConfigParser
import os.path
import pickle
class Configuration:
	def __init__(self,app_name):
		self._name = ""
		self._password = ""
		self._service = "identi.ca" #default to identi.ca FUCK YEA!
		self._textlimit=140
		self.config = ConfigParser.RawConfigParser()
		config_file = ".%s" % (app_name)
		self.file = os.path.join( os.path.expanduser("~"),config_file )
		if os.path.exists( self.file ):
			try:
				self.config.read(self.file)
				self._name = self.config.get('access','name')
				self._password = self.config.get('access','password')
				self._service = self.config.get('access','service')
				self._status_length = self.config.get('access','status_length')
			except:
				self.set('access', 'name', self._name)
				self.set('access', 'password', self._password)
				self.set('access', 'service', self._service)
				self.set('access', 'textlimit', self._textlimit)
				pass #bummer
				
	def save(self):
		f = open(self.file,"w")
		self.config.write(f)
		f.close()
	
	def name(self,value=None):
		if value!=None:
			self._name = value
			self.set('access', 'name', self._name)
		return self._name
		
	def password(self,value=None):
		if value!=None:
			self._password = value
			self.set('access', 'password', self._password)
		return self._password
	
	def service(self,value=None):
		if value!=None:
			self._service = value
			self.set('access', 'service', self._service)
		return self._service
	
	def textlimit(self,value=None):
		if value!=None:
			self._textlimit = value
			self.set('access', 'textlimit', self._textlimit)
		return self._textlimit
	
	def set(self,section,key,value,pickled = False):
		if not self.config.has_section(section) :
			self.config.add_section(section)
		if pickled:
			value = pickle.dumps(value)
		self.config.set(section,key,value)	
		
	def get(self,section,key,pickled=False,default=False):
		try:
			if pickled:
				val = pickle.loads( self.config.get(section,key) )
			else:
				val = self.config.get(section,key)	
		except :
			print "key exceptions %s : %s" % (section,key)
			val = default
		return val
	
	def get_bool(self,section, option):
		try:
			val = self.config.get(section,option)
		except:
			val=False
		if val == 'True':
			val=True
		else:
			val=False
		return val
		
	def get_bool_option(self,option):
		return self.get_bool('options',option)