Added blue support to the auth

This commit is contained in:
Raynaldo Rivera
2014-11-02 21:53:26 -07:00
parent f0e62f7f83
commit 48373c285a
19 changed files with 354 additions and 53 deletions

View File

@@ -2,6 +2,8 @@ import evelink.api
import evelink.char
import evelink.eve
from django.conf import settings
class EveApiManager():
def __init__(self):
@@ -105,7 +107,7 @@ class EveApiManager():
try:
api = evelink.api.API(api_key=(api_id, api_key))
account = evelink.account.Account(api=api)
info = account.status()
info = account.key_info()
return True
except evelink.api.APIError as error:
return False
@@ -122,4 +124,58 @@ class EveApiManager():
except evelink.api.APIError as error:
return False
return False
@staticmethod
def check_if_id_is_corp(corp_id):
try:
api = evelink.api.API()
corp = evelink.corp.Corp(api=api)
corpinfo = corp.corporation_sheet(corp_id=int(corp_id))
results = corpinfo[0]
return True
except evelink.api.APIError as error:
return False
return False
@staticmethod
def get_alliance_standings():
if settings.ALLIANCE_EXEC_CORP_ID != "":
try:
api = evelink.api.API(api_key=(settings.ALLIANCE_EXEC_CORP_ID, settings.ALLIANCE_EXEC_CORP_VCODE))
corp = evelink.corp.Corp(api=api)
corpinfo = corp.contacts()
results = corpinfo[0]
return results
except evelink.api.APIError as error:
pass
return {}
@staticmethod
def check_if_id_is_alliance(alliance_id):
try:
api = evelink.api.API()
eve = evelink.eve.EVE(api=api)
alliance = eve.alliances()
results = alliance[0][int(alliance_id)]
if results:
return True
except evelink.api.APIError as error:
return False
return False
@staticmethod
def check_if_id_is_character(character_id):
try:
api = evelink.api.API()
eve = evelink.eve.EVE(api=api)
results = eve.character_info_from_id(character_id)
if results:
return True
except evelink.api.APIError as error:
return False
return False

View File

@@ -56,6 +56,10 @@ class MumbleManager:
def __generate_username(username, corp_ticker):
return "[" + corp_ticker + "]" + username
@staticmethod
def __generate_username_blue(username, corp_ticker):
return "[BLUE][" + corp_ticker + "]" + username
@staticmethod
def _gen_pwhash(password):
return hashlib.sha1(password).hexdigest()
@@ -133,6 +137,26 @@ class MumbleManager:
return "", ""
@staticmethod
def create_blue_user(corp_ticker, username):
dbcursor = connections['mumble'].cursor()
username_clean = MumbleManager.__generate_username_blue(MumbleManager.__santatize_username(username),
corp_ticker)
password = MumbleManager.__generate_random_pass()
pwhash = MumbleManager._gen_pwhash(password)
try:
dbcursor.execute(MumbleManager.SQL_SELECT_USER_MAX_ID)
user_id = dbcursor.fetchone()[0]
dbcursor.execute(MumbleManager.SQL_CREATE_USER,
[settings.MUMBLE_SERVER_ID, user_id, username_clean, pwhash])
return username_clean, password
except:
return "", ""
@staticmethod
def check_user_exist(username):
dbcursor = connections['mumble'].cursor()