62 líneas
1.6 KiB
Python
62 líneas
1.6 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import pdb
|
|
import getpass
|
|
import fileinput,re
|
|
import os
|
|
import sys
|
|
|
|
def create_dir():
|
|
if not os.path.exists('secrets'):
|
|
os.makedirs('secrets')
|
|
|
|
def create_file():
|
|
if not os.path.exists('secrets/apikey.txt'):
|
|
with open('secrets/apikey.txt', 'w'): pass
|
|
print(secrets_filepath + " created!")
|
|
|
|
def write_params():
|
|
with open(secrets_filepath, 'a') as the_file:
|
|
print("Writing api key parameter to " + secrets_filepath)
|
|
the_file.write('api_key: \n')
|
|
|
|
def modify_file(file_name,pattern,value=""):
|
|
fh=fileinput.input(file_name,inplace=True)
|
|
for line in fh:
|
|
replacement=pattern + value
|
|
line=re.sub(pattern,replacement,line)
|
|
sys.stdout.write(line)
|
|
fh.close()
|
|
|
|
def get_parameter( parameter, file_path ):
|
|
|
|
# Check if secrets file exists
|
|
if not os.path.isfile(file_path):
|
|
print("File %s not found, creating it."%file_path)
|
|
create_dir()
|
|
create_file()
|
|
write_params()
|
|
api_key = input('Enter your API key: ')
|
|
modify_file(file_path, "api_key: ", value=api_key)
|
|
|
|
# Find parameter in file
|
|
with open( file_path ) as f:
|
|
for line in f:
|
|
if line.startswith( parameter ):
|
|
return line.replace(parameter + ":", "").strip()
|
|
|
|
# Cannot find parameter, exit
|
|
print(file_path + " Missing parameter %s "%parameter)
|
|
sys.exit(0)
|
|
|
|
# main
|
|
|
|
if __name__ == '__main__':
|
|
|
|
|
|
# Load secrets from secrets file
|
|
secrets_filepath = "secrets/apikey.txt"
|
|
api_key = get_parameter("api_key", secrets_filepath)
|
|
|