1
0
mirror of https://github.com/moparisthebest/SickRage synced 2024-08-13 16:53:54 -04:00

Fixed issue with login url

This commit is contained in:
echel0n 2014-12-12 22:19:49 -08:00
parent 269bf2333b
commit ac70dd38c2
3 changed files with 16 additions and 12 deletions

View File

@ -1849,7 +1849,7 @@ def launchBrowser(protocol='http', startPort=None, web_root='/'):
if not startPort: if not startPort:
startPort = WEB_PORT startPort = WEB_PORT
browserURL = '%s://localhost:%d%s' % (protocol, startPort, web_root) browserURL = '%s://localhost:%d%s/home/' % (protocol, startPort, web_root)
try: try:
webbrowser.open(browserURL, 2, 1) webbrowser.open(browserURL, 2, 1)

View File

@ -167,7 +167,10 @@ class BaseHandler(RequestHandler):
trace_info, request_info)) trace_info, request_info))
def redirect(self, url, permanent=True, status=None): def redirect(self, url, permanent=True, status=None):
super(BaseHandler, self).redirect(sickbeard.WEB_ROOT + url, permanent, status) if not url.startswith(sickbeard.WEB_ROOT):
url = sickbeard.WEB_ROOT + url
super(BaseHandler, self).redirect(url, permanent, status)
def get_current_user(self, *args, **kwargs): def get_current_user(self, *args, **kwargs):
if not isinstance(self, UI) and sickbeard.WEB_USERNAME and sickbeard.WEB_PASSWORD: if not isinstance(self, UI) and sickbeard.WEB_USERNAME and sickbeard.WEB_PASSWORD:
@ -267,12 +270,11 @@ class WebHandler(BaseHandler):
class LoginHandler(BaseHandler): class LoginHandler(BaseHandler):
def get(self, *args, **kwargs): def get(self, *args, **kwargs):
if self.get_current_user(): if self.get_current_user():
return self.redirect('/home/') self.redirect('/home/')
else: else:
t = PageTemplate(rh=self, file="login.tmpl") t = PageTemplate(rh=self, file="login.tmpl")
self.write(ek.ss(t).encode('utf-8', 'xmlcharrefreplace')) self.finish(ek.ss(t))
def post(self, *args, **kwargs): def post(self, *args, **kwargs):
@ -289,14 +291,13 @@ class LoginHandler(BaseHandler):
remember_me = int(self.get_argument('remember_me', default=0) or 0) remember_me = int(self.get_argument('remember_me', default=0) or 0)
self.set_secure_cookie('user', api_key, expires_days=30 if remember_me > 0 else None) self.set_secure_cookie('user', api_key, expires_days=30 if remember_me > 0 else None)
return self.redirect('/home/') self.redirect('/home/')
class LogoutHandler(BaseHandler): class LogoutHandler(BaseHandler):
def get(self, *args, **kwargs): def get(self, *args, **kwargs):
self.clear_cookie("user") self.clear_cookie("user")
return self.redirect('/login/') self.redirect('/login/')
class KeyHandler(RequestHandler): class KeyHandler(RequestHandler):
def get(self, *args, **kwargs): def get(self, *args, **kwargs):
@ -310,13 +311,13 @@ class KeyHandler(RequestHandler):
and (self.get_argument('p', None) == password or not password): and (self.get_argument('p', None) == password or not password):
api_key = sickbeard.API_KEY api_key = sickbeard.API_KEY
self.write({ self.finish({
'success': api_key is not None, 'success': api_key is not None,
'api_key': api_key 'api_key': api_key
}) })
except: except:
logger.log('Failed doing key request: %s' % (traceback.format_exc()), logger.ERROR) logger.log('Failed doing key request: %s' % (traceback.format_exc()), logger.ERROR)
self.write({'success': False, 'error': 'Failed returning results'}) self.finish({'success': False, 'error': 'Failed returning results'})
@route('(.*)(/?)') @route('(.*)(/?)')

View File

@ -72,7 +72,7 @@ class SRWebServer(threading.Thread):
gzip=True, gzip=True,
xheaders=sickbeard.HANDLE_REVERSE_PROXY, xheaders=sickbeard.HANDLE_REVERSE_PROXY,
cookie_secret='61oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/Vo=', cookie_secret='61oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/Vo=',
login_url=r'%s/login' % self.options['web_root'], login_url='/login/',
) )
# Main Handlers # Main Handlers
@ -84,12 +84,15 @@ class SRWebServer(threading.Thread):
(r'%s/getkey(/?)' % self.options['web_root'], KeyHandler), (r'%s/getkey(/?)' % self.options['web_root'], KeyHandler),
# webapi builder redirect # webapi builder redirect
(r'%s/api/builder' % self.options['web_root'], RedirectHandler, {"url": self.options['web_root'] + '/apibuilder'}), (r'%s/api/builder' % self.options['web_root'], RedirectHandler, {"url": self.options['web_root'] + '/apibuilder/'}),
# webui login/logout handlers # webui login/logout handlers
(r'%s/login(/?)' % self.options['web_root'], LoginHandler), (r'%s/login(/?)' % self.options['web_root'], LoginHandler),
(r'%s/logout(/?)' % self.options['web_root'], LogoutHandler), (r'%s/logout(/?)' % self.options['web_root'], LogoutHandler),
# webui redirect
(r'/', RedirectHandler, {"url": self.options['web_root'] + '/home/'}),
# webui handlers # webui handlers
] + route.get_routes(self.options['web_root'])) ] + route.get_routes(self.options['web_root']))