You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					25 lines
				
				618 B
			
		
		
			
		
	
	
					25 lines
				
				618 B
			| 
								 
											6 years ago
										 
									 | 
							
								import json
							 | 
						||
| 
								 | 
							
								import os
							 | 
						||
| 
								 | 
							
								from common.file_helpers import mkdirs_exists_ok
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class MissingAuthConfigError(Exception):
							 | 
						||
| 
								 | 
							
								  pass
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								CONFIG_DIR = os.path.expanduser('~/.comma')
							 | 
						||
| 
								 | 
							
								mkdirs_exists_ok(CONFIG_DIR)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def get_token():
							 | 
						||
| 
								 | 
							
								  try:
							 | 
						||
| 
								 | 
							
								    with open(os.path.join(CONFIG_DIR, 'auth.json')) as f:
							 | 
						||
| 
								 | 
							
								      auth = json.load(f)
							 | 
						||
| 
								 | 
							
								      return auth['access_token']
							 | 
						||
| 
								 | 
							
								  except:
							 | 
						||
| 
								 | 
							
								    raise MissingAuthConfigError('Authenticate with tools/lib/auth.py')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def set_token(token):
							 | 
						||
| 
								 | 
							
								  with open(os.path.join(CONFIG_DIR, 'auth.json'), 'w') as f:
							 | 
						||
| 
								 | 
							
								    json.dump({'access_token': token}, f)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def clear_token():
							 | 
						||
| 
								 | 
							
								  os.unlink(os.path.join(CONFIG_DIR, 'auth.json'))
							 |