ó ËîSc@sddlZddlZddlmZddlmZddlmZddlmZddl m Z dZ dZ d Z d Zd d gZd Zed d d e ƒZed d e ƒZdd„Zdd„Zd„Zd„Zd„Zd„Zd„Zdejfd„ƒYZdS(iÿÿÿÿN(t in_any_group(tHTTPUnauthorized(t structure(tcustom(tgettings-This page is restricted to GMs and observers.sOnly GMs can make edits.s3You don't have access to this page; try logging in?s*You must be logged in to access this page.uGMuNPCtmsgcCs(|dkrtjj}ntj|ƒS(N(tNonetpylonstrequesttenviront EDITOR_PREDtis_met(R ((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/gameki/restricted.pyt is_editors cCs tj|ƒS(N(Rt is_omniscient(R ((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/gameki/restricted.pyR scCs"tjjrtjjdSdSdS(Ntelement(ttgRtidentityR(((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/gameki/restricted.pytlogged_in_user!s cCs%tƒ}|r|djƒSdSdS(Nuusername(RtrenderR(tuser((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/gameki/restricted.pytlogged_in_username&s cCstjtƒtƒS(N(RtflashtOMNISCIENT_ONLYR(((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/gameki/restricted.pytomniscient_only-s cCstjtƒtƒS(N(RRtNOT_YOUR(((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/gameki/restricted.pytnot_you0s cCstjtƒtƒS(N(RRtLOG_INR(((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/gameki/restricted.pytlog_in3s t RestrictedcBs#eZeZejƒd„ƒZRS(cCstj|dtj|ƒƒS(Nthtml(RtgetRt get_element(tselftename((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/gameki/restricted.pyt_default:s(t__name__t __module__tPREDt allow_onlyRtexposeR"(((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/gameki/restricted.pyR7s(RRtrepoze.what.predicatesRt webob.excRtbazbaseRRtbazkiRRtGMS_ONLYRRtGROUPStEDITOR_ANCESTORR%R RR R RRRRRt TGControllerR(((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/gameki/restricted.pyts,