Page 1 of 8

Glitter - A new modern template

Posted: May 4th, 2015, 4:26 am
by safihre
Glitter: the mobile friendly interface for SABnzbd!
Inspired and helped by the code of Knockstrap and Shiny.

Fresh new design that also works great on your tablet or phone. Includes (almost) all features of Plush and more!
All information in 1 page, including the new status window.
Drag-and-drop your files directly in the browser to start the download.
Graphical display of the recent download-speed.
Easy slider to determine the download speed limit.
See the live updated download status of single files in a job and re-order them by dragging!



Glitter is integrated into the SABnzbd's 0.8.0 Beta build's:
http://sourceforge.net/projects/sabnzbd ... plus-beta/

Or on Github as part of the SABnzbd project:
https://github.com/sabnzbd/sabnzbd/
https://github.com/sabnzbd/sabnzbd/tree ... /templates


Desktop:
Image

Tablet:
Image

Phone:
Image

Re: Glitter - A new modern template

Posted: May 4th, 2015, 6:50 am
by shypike
If you're serious about Glitter's further development, I will try to support you as much as possible.
We really need a more modern UI.
I'm open about improvements to the back-end code as well, because I know it's far from optimal now.

Re: Glitter - A new modern template

Posted: May 5th, 2015, 4:22 am
by safihre
Hi, I really enjoy working on it! Hobby project after work ;D
Already made some improvements since yesterday on the code to lower CPU usage, will add some more features and fix bugs and put a new version on soon hopefully!

Re: Glitter - A new modern template

Posted: May 5th, 2015, 2:42 pm
by sander
I installed glitter, and it works. However, after deleting a download, I got an error, with the main part:

Code: Select all

OSError: [Errno 2] No such file or directory: '.../sabnzbd/interfaces/glitter/templates/status.tmpl'
And indeed that file does not exist:

Code: Select all

$ ll glitter/templates/
total 36
drwx------ 3 sander sander  4096 mei  5 21:29 ./
drwx------ 3 sander sander  4096 mei  5 21:29 ../
-rw-rw-r-- 1 sander sander   764 mei  4 10:58 include_head.tmpl
-rw-rw-r-- 1 sander sander  2474 mei  4 10:53 include_modals.tmpl
-rw-rw-r-- 1 sander sander 13900 mei  4 10:55 main.tmpl
drwx------ 6 sander sander  4096 mei  5 21:29 static/

Full stderr / stdout:

Code: Select all

2015-05-05 21:35:50,874::INFO::[_cplogging:201] [05/May/2015:21:35:50] HTTP 
Request Headers:
  REFERER: http://localhost:8080/sabnzbd/m/
  HOST: localhost:8080
  CONNECTION: keep-alive
  Remote-Addr: 127.0.0.1
  ACCEPT: */*
  USER-AGENT: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/41.0.2272.76 Chrome/41.0.2272.76 Safari/537.36
  X-REQUESTED-WITH: XMLHttpRequest
  ACCEPT-LANGUAGE: en-US,en;q=0.8,nl;q=0.6,de;q=0.4
  ACCEPT-ENCODING: gzip, deflate, sdch
  COOKIE: historyPaginationLimit=5; plushContainerWidth=100%25; plushMultiOps=1; plushNoTopMenu=0; plushContainerWidth=100%25; plushMultiOps=1; plushNoTopMenu=0
2015-05-05 21:35:50,917::ERROR::[_cplogging:201] [05/May/2015:21:35:50] HTTP Traceback (most recent call last):
  File "/media/sander/d4076033-31fd-412b-80c6-06f9304eac251/git/sabnzbd/cherrypy/_cprequest.py", line 656, in respond
    response.body = self.handler()
  File "/media/sander/d4076033-31fd-412b-80c6-06f9304eac251/git/sabnzbd/cherrypy/lib/encoding.py", line 188, in __call__
    self.body = self.oldhandler(*args, **kwargs)
  File "/media/sander/d4076033-31fd-412b-80c6-06f9304eac251/git/sabnzbd/cherrypy/_cpdispatch.py", line 34, in __call__
    return self.callable(*self.args, **self.kwargs)
  File "/media/sander/d4076033-31fd-412b-80c6-06f9304eac251/git/sabnzbd/sabnzbd/interface.py", line 2341, in index
    filter=FILTER, searchList=[header], compilerSettings=DIRECTIVES)
  File "/usr/lib/python2.7/dist-packages/Cheetah/Template.py", line 1259, in __init__
    self._compile(source, file, compilerSettings=compilerSettings)
  File "/usr/lib/python2.7/dist-packages/Cheetah/Template.py", line 1546, in _compile
    self._fileMtime = os.path.getmtime(file)
  File "/usr/lib/python2.7/genericpath.py", line 62, in getmtime
    return os.stat(filename).st_mtime
OSError: [Errno 2] No such file or directory: '/media/sander/d4076033-31fd-412b-80c6-06f9304eac251/git/sabnzbd/interfaces/glitter/templates/status.tmpl'
I use SABnzbd pre-0.8.x, but I don't think that matters for this case.

Re: Glitter - A new modern template

Posted: May 5th, 2015, 3:42 pm
by safihre
That's weird.. Because all I do is call the API:
/tapi?mode=queue&name=delete&del_files=1&value=SABnzbd_nzo_2mvwm9&output=json&apikey=KEY
Which will return: {"status":true}

So this is a problem with the back-end?

To add to this I noted something similar for the command to clear the warnings. Which I found from Plush and Knockstrap to be to send an request to:
/sabnzbd/status/clearwarnings
Which always responds with a 500 error :-\ but the warnings are still cleared.. why is that?
Should I just make an empty status.tmpl file to counteract these errors?

EDIT: I see now that Knockstrap template has indeed empty status.tmpl for this purpose, maybe something should be fixed in back-end? :)

Re: Glitter - A new modern template

Posted: May 5th, 2015, 4:26 pm
by sander
I know nothing about templates; I'm just a template user.

And indeed status.tmpl is empty for Knockstrap:

Code: Select all

$ ll `find . -name status.tmpl -print`
-rw-rw-r-- 1 sander sander    0 nov 27 11:43 ./interfaces/Knockstrap/templates/status.tmpl
-rw-rw-r-- 1 sander sander 4966 mrt 23 23:02 ./interfaces/Plush/templates/status.tmpl
-rw-rw-r-- 1 sander sander 3013 mrt 23 23:02 ./interfaces/smpl/templates/status.tmpl

Re: Glitter - A new modern template

Posted: May 7th, 2015, 4:35 am
by safihre
I updated the template.
Fixed bugs and minor upgrades, added new features (on queue completion and see files in item).

Comments are welcome!

Re: Glitter - A new modern template

Posted: May 7th, 2015, 4:51 am
by shypike
safihre wrote: Which always responds with a 500 error :-\ but the warnings are still cleared.. why is that?
Should I just make an empty status.tmpl file to counteract these errors?
EDIT: I see now that Knockstrap template has indeed empty status.tmpl for this purpose, maybe something should be fixed in back-end? :)
I'll dive into this after I have release 0.8.0Alpha1 ready (so after this week).

Re: Glitter - A new modern template

Posted: May 7th, 2015, 2:04 pm
by sander
I downloaded the new version, installed it, and was wondering: where is the button to add a NZB?

Image

I tried in both Chromium and Firefox, but I can't find it.

Re: Glitter - A new modern template

Posted: May 8th, 2015, 7:38 am
by safihre
That's still a work in progress, see the start post ;-)

Re: Glitter - A new modern template

Posted: May 9th, 2015, 2:32 am
by derkens
This is a really nice template, thanks for making this. I really hope you keep developing it :)
minor issue: On my mobile device (nexus 4) i'm getting the desktop layout?

Re: Glitter - A new modern template

Posted: May 11th, 2015, 3:46 am
by safihre
Still working on it, hope to provide a fuller version soon!
With Add-NZB, history-details and reduced CPU usage.

Re: Glitter - A new modern template

Posted: May 18th, 2015, 7:06 am
by safihre
Almost done, just don't use the Add-NZB myself so kept adding/tweaking other features before that one ;-) But Add-NZB is a necessary one for the next update!

Re: Glitter - A new modern template

Posted: May 19th, 2015, 6:45 am
by safihre
http://bit.ly/1EZwk83

New update!

- Add NZB with upload/url or drag-and-drop (thanks Knockstrap ;D )
- History information
- Set password for encrypted RAR's
- NZB rating integration (for now only display, working on submitting scores)
- Reduced CPU usage due to some code optimizations
- More layout optimizations for smaller screens

Re: Glitter - A new modern template

Posted: May 19th, 2015, 7:01 am
by shypike
SABnzbd doesn't provide the password trough the API.
It does show it in the queue page and the details page.
Are you using the API instead of the data coming from the queue and details URLs?

I haven't had time to look to the details of your skin, I will soon.
Possibly that will answer my question.

I will add job passwords to the API.
That is, for 0.8.0Alpha2. Are you working based on 0.8.0 or 0.7.x?