コード例 #1
0
ファイル: accountdialog.py プロジェクト: trinajstica/mailnag
	def run(self):
		self._fill_account_type_cmb()
		
		self._entry_account_name.set_text(self._acc.name)
		self._entry_account_user.set_text(self._acc.user)
		self._entry_account_password.set_text(self._acc.password)
		self._entry_account_server.set_text(self._acc.server)
		self._entry_account_port.set_text(self._acc.port)
		self._entry_account_folders.set_text(', '.join(self._acc.folders))
		self._chk_account_push.set_active(self._acc.idle)
		self._chk_account_ssl.set_active(self._acc.ssl)
			
		res = self._window.run()
		
		if res == 1:
			acctype = self._cmb_account_type.get_active()
			if (acctype == IDX_POP3) or (acctype == IDX_IMAP):
				self._acc.name = self._entry_account_name.get_text()
				self._acc.user = self._entry_account_user.get_text()
				self._acc.password = self._entry_account_password.get_text()
				self._acc.server = self._entry_account_server.get_text()
				self._acc.port = self._entry_account_port.get_text()
				self._acc.ssl = self._chk_account_ssl.get_active()
			
				if acctype == IDX_POP3:
					self._acc.imap = False
					self._acc.folders = []
					self._acc.idle = False
				elif acctype == IDX_IMAP:
					self._acc.imap = True
					self._acc.folders = splitstr(self._entry_account_folders.get_text(), ',')
					self._acc.idle = self._chk_account_push.get_active()
					
			else: # known provider (imap only)
				self._acc.name = self._entry_account_user.get_text()
				self._acc.user = self._entry_account_user.get_text()
				self._acc.password = self._entry_account_password.get_text()
				self._acc.ssl = True
				self._acc.imap = True
				self._acc.folders = splitstr(self._entry_account_folders.get_text(), ',')
				self._acc.idle = not self._has_multiple_folders()
				
				if acctype < len(PROVIDER_CONFIGS):
					p = PROVIDER_CONFIGS[acctype]
					if not (p[0].lower() in self._acc.name.lower()): self._acc.name += (' (%s)' % p[0])
					self._acc.server = p[1]
					self._acc.port = p[2]
				else:
					raise Exception('Unknown account type')
				
		self._window.destroy()
		return res
コード例 #2
0
ファイル: accounts.py プロジェクト: trinajstica/mailnag
	def load_from_cfg(self, cfg, enabled_only = False):
		del self._accounts[:]
		del self._removed[:]
		
		i = 1
		section_name = "account" + str(i)
		
		while cfg.has_section(section_name):
			enabled		= bool(int(	self._get_account_cfg(cfg, section_name, 'enabled')	))
			
			if (not enabled_only) or (enabled_only and enabled):
				name		=			self._get_account_cfg(cfg, section_name, 'name')
				user		=			self._get_account_cfg(cfg, section_name, 'user')
				password	=			self._get_account_cfg(cfg, section_name, 'password')
				server		=			self._get_account_cfg(cfg, section_name, 'server')
				port		=			self._get_account_cfg(cfg, section_name, 'port')
				ssl			= bool(int(	self._get_account_cfg(cfg, section_name, 'ssl')		))
				imap		= bool(int(	self._get_account_cfg(cfg, section_name, 'imap')	))
				idle		= bool(int(	self._get_account_cfg(cfg, section_name, 'idle')	))
				folders		= splitstr(self._get_account_cfg(cfg, section_name, 'folder'), ',')

				if self._credentialstore != None:
					protocol = 'imap' if imap else 'pop'
					password = self._credentialstore.get(CREDENTIAL_KEY % (protocol, user, server))
				
				acc = Account(enabled, name, user, password, '', server, port, ssl, imap, idle, folders)
				self._accounts.append(acc)

			i = i + 1
			section_name = "account" + str(i)
コード例 #3
0
ファイル: accounts.py プロジェクト: wodole/mailnag
	def load_from_cfg(self, cfg, enabled_only = False):
		del self._accounts[:]
		del self._removed[:]
		
		i = 1
		section_name = "account" + str(i)
		
		while cfg.has_section(section_name):
			enabled		= bool(int(	self._get_account_cfg(cfg, section_name, 'enabled')	))
			
			if (not enabled_only) or (enabled_only and enabled):
				name		=			self._get_account_cfg(cfg, section_name, 'name')
				user		=			self._get_account_cfg(cfg, section_name, 'user')
				password	=			self._get_account_cfg(cfg, section_name, 'password')
				server		=			self._get_account_cfg(cfg, section_name, 'server')
				port		=			self._get_account_cfg(cfg, section_name, 'port')
				ssl			= bool(int(	self._get_account_cfg(cfg, section_name, 'ssl')		))
				imap		= bool(int(	self._get_account_cfg(cfg, section_name, 'imap')	))
				idle		= bool(int(	self._get_account_cfg(cfg, section_name, 'idle')	))
				folders		= splitstr(self._get_account_cfg(cfg, section_name, 'folder'), ',')

				if self._credentialstore != None:
					protocol = 'imap' if imap else 'pop'
					password = self._credentialstore.get(CREDENTIAL_KEY % (protocol, user, server))
				
				acc = Account(enabled, name, user, password, '', server, port, ssl, imap, idle, folders)
				self._accounts.append(acc)

			i = i + 1
			section_name = "account" + str(i)
コード例 #4
0
ファイル: __init__.py プロジェクト: pulb/mailnag
def _str_to_folders(folders_str):
	if re.match(r'^\[.*\]$', folders_str):
		folders	= json.loads(folders_str)
	else:
		folders	= splitstr(folders_str, ',')
	return folders
コード例 #5
0
ファイル: __init__.py プロジェクト: dcolascione/mailnag
def _str_to_folders(folders_str):
	if re.match(r'^\[.*\]$', folders_str):
		folders	= json.loads(folders_str)
	else:
		folders	= splitstr(folders_str, ',')
	return folders