예제 #1
0
파일: tasks.py 프로젝트: jldugger/Goblin
def sync_email_delete2_task(login):
	log = logging.getLogger()
	log.info('sync_email_delete2_task(): running sync_email_delete2_task(' + login + ')')
	psu_sys = PSUSys()
	result = psu_sys.sync_email_delete2(login)
	log.info('sync_email_task(): finished running sync_email_delete2_task(' + login + ')')
	return(result)
예제 #2
0
파일: tasks.py 프로젝트: jldugger/Goblin
def presync_email_task(login):
	log = logging.getLogger()
	log.info('presync_email_task(): running presync_email_task(' + login + ')')
	psu_sys = PSUSys()
	result = psu_sys.presync_email_task(login)
	log.info('presync_email_task(): finished running presync_email_task(' + login + ')')
	return(result)
예제 #3
0
파일: tasks.py 프로젝트: jldugger/Goblin
def recover_copy_email_task(login):
	log = logging.getLogger()
	log.info('copy_email_task(): running recover_copy_email_task(' + login + ')')
	psu_sys = PSUSys()
	result = psu_sys.recover_copy_email_task(login) 
	log.info('copy_email_task(): finished running recover_copy_email_task(' + login + ')')
	return(result)
예제 #4
0
파일: views.py 프로젝트: jldugger/Goblin
def status(request):
	if 'REMOTE_USER' in request.META:
		login = request.META['REMOTE_USER'] 
		log.info('views.status() login found in META: ' + login )
	else:
		if 'login' in request.POST:
			login = request.POST['login']
			log.info('views.status() login found in POST: ' + login )
		else:
			if 'login' in request.session:
				login = request.session['login']
				log.info('views.status() login found in session: ' + login )
			else: 
				login = '******'
				log.info('views.status() login not found, defaulting to : ' + login)		
			
	log.info('views.status() META: ' + str(request.META) )
	login = login.encode('latin-1')
	
	
	#key = 'email_copy_progress.' + login
	#if ( cache.get(key) == None ):
	#	log.info('views.status() cache.get(key): None')

	psu_sys = PSUSys()
	if psu_sys.is_processing(login):
		pass
	else:
		log.info('views.status() called celery task for user: '******'optin')
		
	return render_to_response('ghoul/status.html', 
		{ 'login': login, },
		context_instance=RequestContext(request))
예제 #5
0
파일: views.py 프로젝트: jldugger/Goblin
def confirm(request):
	psu_sys = PSUSys()
	if 'REMOTE_USER' in request.META:
		login = request.META['REMOTE_USER'] 
		log.info('views.confirm() login found in META: ' + login )
	else:
		if 'login' in request.POST:
			login = request.POST['login']
			log.info('views.confirm() login found in POST: ' + login )
		else: 
			if 'login' in request.session:
				login = request.session['login']
				log.info('views.status() login found in session: ' + login )
			else:
				login = psu_sys.get_user(request.META)
				log.info('views.confirm() login not found, defaulting to : ' + login)		
	
	#log.info('views.confirm(), META = ' + str(request.META))
	
	large_emails = psu_sys.large_emails(login)
	
	return render_to_response('ghoul/confirm.html', 
		{ 'login': login,
		  'large_emails': large_emails,
		  },
		context_instance=RequestContext(request))
예제 #6
0
파일: tasks.py 프로젝트: osuosl/Goblin
def copy_email_task(login, sync, forward, fwd_email):
	log = logging.getLogger()
	log.info('copy_email_task(): running copy_email_task(' + login + ')')
	psu_sys = PSUSys()
	result = psu_sys.copy_email_task(login, sync, forward, fwd_email)
	log.info('copy_email_task(): finished running copy_email_task(' + login + ')')
	return(result)
예제 #7
0
파일: views.py 프로젝트: jldugger/Goblin
def copy_progress(request):
	psu_sys = PSUSys()
	login = request.GET.get('login', '')
	login = login.encode('latin-1')
	if not login:
		log.info('views.copy_progress() login name not found')
		login = '******'

	log.info('views.copy_progress() using login: ' + login)
	return HttpResponse(psu_sys.copy_progress(login))
예제 #8
0
파일: views.py 프로젝트: jldugger/Goblin
def select(request):
	if 'REMOTE_USER' in request.META:
		login = lower(request.META['REMOTE_USER']) 
		request.session['login'] = login
		log.info('views.select() found user in META: ' + login )
	else:
		if 'login' in request.POST:
			login = lower(request.POST['login'])
			request.session['login'] = login
			log.info('views.select() login found in POST: ' + login )
		else: 
			if 'login' in request.session:
				login = request.session['login']
				log.info('views.select() login found in session: ' + login )
			else:
				login = '******'
				log.info('views.select() login not found, defaulting to : ' + login)		

	log.info('views.select() using login: '******'ghoul/closed.html', { 'login': login },
								context_instance=RequestContext(request),)

	# Go to the confirmation page if the user has already opt'd-in
		
	if psu_sys.opt_in_already(login):
		return render_to_response('ghoul/confirm.html', { 'login': login },
								context_instance=RequestContext(request),)
	
	if psu_sys.is_processing(login):
		return render_to_response('ghoul/status.html', { 'login': login} )

	# Go to suspended page if site is not available
	
	if psu_sys.is_web_suspended(login):
		return render_to_response('ghoul/suspended.html', { 'login': login },
								context_instance=RequestContext(request),)
	try:
		large_emails = psu_sys.large_emails(login)
	except:
		return render_to_response('ghoul/folderbomb.html', { 'login': login },
								context_instance=RequestContext(request),)
		
	
	return render_to_response('ghoul/select.html', 
		{ 'login': login,
		  'large_emails': large_emails,
		  },
		context_instance=RequestContext(request),
	)
예제 #9
0
파일: TestAll.py 프로젝트: osuosl/Goblin
	def setUp(self):
		self.psusys = PSUSys()
		logging.config.fileConfig('/etc/goblin/logging.conf')
		log = logging.getLogger('goblin.psusys')
		self.psusys.setLogger(log)
예제 #10
0
파일: TestAll.py 프로젝트: osuosl/Goblin
class TestAll(unittest.TestCase):
	def setUp(self):
		self.psusys = PSUSys()
		logging.config.fileConfig('/etc/goblin/logging.conf')
		log = logging.getLogger('goblin.psusys')
		self.psusys.setLogger(log)

	def test_opt_in_already(self):
		self.assertTrue(self.psusys.opt_in_already('dennis'))
		self.assertFalse(self.psusys.opt_in_already('buono'))
		
	def test_large_emails(self):
		emailen = self.psusys.large_emails('weekse')
		self.assertTrue(len(emailen) == 2)

	def test_routing(self):
		self.psusys.route_to_google('a2sj')
		self.assertTrue(self.psusys.opt_in_already('a2sj'))
		self.psusys.route_to_psu('a2sj')
		self.assertFalse(self.psusys.opt_in_already('a2sj'))

	def test_gmail_enable(self):
		if self.psusys.is_gmail_enabled('pdx00800'):
			self.psusys.disable_gmail('pdx00800')
			self.assertFalse(self.psusys.is_gmail_enabled('pdx00800'))
		else:
			self.psusys.enable_gmail('pdx00800')
			self.assertTrue(self.psusys.is_gmail_enabled('pdx00800'))
			self.psusys.disable_gmail('pdx00800')
			self.assertFalse(self.psusys.is_gmail_enabled('pdx00800'))
			
	def test_google_account_status(self):
		self.assertEqual(
			self.psusys.google_account_status('dennis')
			,{"enabled": True, "exists": True}
		)
		self.assertEqual(
			self.psusys.google_account_status('pdx00800')
			,{"enabled": False, "exists": True}
		)
		self.assertEqual(
			self.psusys.google_account_status('pdx008')
			,{"enabled": False, "exists": False}
		)

	def test_enable_google_account(self):
		if self.psusys.google_account_status('pdx00800') == {"enabled": True, "exists": True}:
			self.psusys.disable_google_account('pdx00800')
			self.assertEqual(
				self.psusys.google_account_status('pdx00800')
				,{"enabled": False, "exists": True}
			)
		else:
			self.psusys.enable_google_account('pdx00800')
			self.assertEqual(
				self.psusys.google_account_status('pdx00800')
				,{"enabled": True, "exists": True}
			)
			self.psusys.disable_google_account('pdx00800')
			self.assertEqual(
				self.psusys.google_account_status('pdx00800')
				,{"enabled": False, "exists": True}
			)

	def test_is_oamed(self):
		self.assertFalse(self.psusys.is_oamed('a2sj'))
		self.assertTrue(self.psusys.is_oamed('staplej'))
		self.assertFalse(self.psusys.is_oamed('askclas'))
		self.assertFalse(self.psusys.is_oamed('pdx00800'))
		self.assertTrue(self.psusys.is_oamed('dennis'))
		
	def test_is_allowed(self):
		self.assertTrue(self.psusys.is_allowed('dennis'))
		self.assertFalse(self.psusys.is_allowed('pdx00800'))
		
	def test_is_web_suspended(self):
		self.assertFalse(self.psusys.is_web_suspended('pdx00800'))