Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- addons/source-python/simpleauth/simpleauth.py
- """
- # =============================================================================
- # >> IMPORTS
- # =============================================================================
- # Python Imports
- import re
- from os.path import join
- # SP Imports
- # C++ Imports
- from Source import Player
- # Auth
- from auth.provider import Register
- from auth.provider import Unregister
- from auth.provider import AuthProvider
- # Paths
- from paths import CFG_PATH
- # =============================================================================
- # >> LOAD & UNLOAD
- # =============================================================================
- def load():
- global s
- s = SimpleAuthProvider()
- Register(s)
- def unload():
- Unregister(s)
- # =============================================================================
- # >> CLASSES
- # =============================================================================
- class SimpleAuthProvider(AuthProvider):
- def __init__(self):
- self._AddAuthMethod(self.GetSteamIDAuth, 'steamid')
- self._ParseAdmins()
- def _ParseAdmins(self):
- with open(join(CFG_PATH, 'auth_providers', 'simple.txt'), 'r') as f:
- self.steamids = []
- for line in f.readlines():
- match = re.match('(^STEAM_[0,1]{1}:[0,1]{1}:[0-9]+)', line)
- if match:
- self.steamids.append(match.group(0)[8:])
- def GetSteamIDAuth(self, userid):
- steamid = Player.PlayerOfUserid(userid)
- if steamid.startswith('STEAM_'):
- steamid = steamid[8:]
- if steamid not in self.steamids:
- return None
- p = auth.Player()
- p.flags.append(auth.flags['root'])
- p.groups.append(auth.groups['root'])
- return p
- def Refresh(self):
- self._ParseAdmins()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement