Maraschino (formerly HTPC Frontend) - a summary web interface for your XBMC HTPC - Printable Version +- Kodi Community Forum (https://forum.kodi.tv) +-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33) +--- Forum: Supplementary Tools for Kodi (https://forum.kodi.tv/forumdisplay.php?fid=116) +--- Thread: Maraschino (formerly HTPC Frontend) - a summary web interface for your XBMC HTPC (/showthread.php?tid=113136) Pages:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
- mrkipling - 2011-11-10 niietzshe Wrote:Thanks. Yeah I think only XBMC and Sabnzbd is in there. But I haven't updated for a day or two DejaVu added a whole bunch of new icons which you can see in the repository here, so if you update the repo then you should be good to go. - mrkipling - 2011-11-10 Archigos Wrote:I tried doing that and not sure exactly why, but I assume it's a Windows issue, but when you run the CherryPy version it throws errors and refuses to run, that's why I wrote those that way since it worked without a problem. If you'd like, I can try running the CherryPy version again and screenshot the error for you. If you wouldn't mind then that would be great, I'd like to have a look at it. I'm hesitant to add a method which uses Flask's dev server to the "official" list of methods because it's pretty unstable. Even so, it might be worth linking to from the site (with a warning) so that Windows users at least have some way of testing it out... - mrkipling - 2011-11-10 gugahoi Wrote:Dude, this project seems to be advancing really quickly! I gotta go get me the latest version to see how it performs!! Thanks! I've had some spare time these past three weeks so have spent a lot of time getting this project underway good and proper. I'm starting a new job on Monday so won't be able to put in 8 hour days any more :p but will still find time on weekends and some evenings, I'm sure. - Archigos - 2011-11-10 I edited the above post with the error for you. I think I may know why it's having an issue with wsgi (at least on my system) so I'm running some tests and will let you know shortly. --EDIT-- I managed to fix the issue and updated the instructions to match those. For those curious, the issue wasn't because of Maraschino, it was because I use both Python 2.6 and Python 2.7 on the same system due to compatibility for some other things I use. So initially when I tried to run the CherryPy version it was accidentally running Python 2.6 instead of 2.7, so I just installed CherryPy to that one as well and it's all good no matter which it decided to do now. If others encounter this issue, just run ONLY the 'easy_install cherrypy' command to Python 2.6 and leave everything else connected to 2.7. - mrkipling - 2011-11-10 Archigos Wrote:I edited the above post with the error for you. I think I may know why it's having an issue with wsgi (at least on my system) so I'm running some tests and will let you know shortly. From the above, it looks CherryPy isn't installed, at least as far as Python is concerned. I need to install a VM anyway so that I can use Photoshop again (the only reason I don't have one at the moment is because I reinstalled my entire system a few weeks ago) - I'll probably do that this afternoon and have a go at getting Maraschino running too. - snoopy1492 - 2011-11-10 mrkipling Wrote:Excellent! I was planning on implementing click-to-seek on the progress bar, but if you're thinking of giving it a go then I'll focus on other things for now I'll see what I can do this weekend but I wanted to do something precise (not just a random click but more like holding the click while moving left or right and setting by releasing ) and I may have problem with the refresh every 5 seconds... Any idea? - mrkipling - 2011-11-10 snoopy1492 Wrote:I'll see what I can do this weekend but I wanted to do something precise (not just a random click but more like holding the click while moving left or right and setting by releasing ) and I may have problem with the refresh every 5 seconds... That's a nice idea. I'll have a think and get back to you. - gugahoi - 2011-11-10 It's running with the single downside that I'm still using Dharma.... but WOW! This looks so polished! I love how you implemented configurations as well... I guess I'm going to have to learn a lot of python to start making some new modules for this...! Thanks for your work! It is highly appreciated. - Mar2zz - 2011-11-10 @ gugahoi and dejavu: since you both are going to dev in this is mediafrontpage slowed down or abandoned by that? - gugahoi - 2011-11-10 Mar2zz Wrote:@ gugahoi and dejavu: I still want to do some modifications in MFP, light ones tho, while this is developing. MFP will probably still be my main Web Interface until this is a bit more advanced (the way it is progressing, it seems like it won't take long) but to be honest I haven't coded much in the past couple of months since I have been so busy. I believe Deja is the one who should answer this... Anyone knows a good place to start learning intermediate python stuff? - mrkipling - 2011-11-10 I've just pushed a fun little addition (nothing major) - the option to choose a random background on page load. You can also add your own custom backgrounds. From the updated FAQ: How do I add my own custom backgrounds? First of all, enter settings mode and make sure that "Use a random background when not watching media" is set to "Yes". When this setting is enabled, a random background will be selected when you first load the page. If you also have "Show fanart background when watching media" enabled then the fanart of whatever you're currently watching will replace it, provided that you're actually watching something. Now, add whatever JPG and PNG files you like to "static/images/backgrounds/custom". This directory is in the gitignore file, which means that anything that you put in here will not be replaced when updating to a new version of Maraschino. Special thanks to uribaani for providing the lovely Glowen background! - mrkipling - 2011-11-10 gugahoi Wrote:It's running with the single downside that I'm still using Dharma.... but WOW! Thanks for the support - to be honest I'm surprised and a little taken aback that so many people are using it already, it just started out as little thing I made one day when I was bored to list recently added episodes and link to my various applications gugahoi Wrote:Anyone knows a good place to start learning intermediate python stuff? If you've done any programming at all in the past then clone the repository and have a poke around. Python is very intuitive, it's kind of like natural English - it quite often just "makes sense". When I started my previous web development job a couple of years ago I had never used Python at all (I'm primarily a front-end developer) but Python is so intuitive that I was able to jump in and start writing stuff pretty much from the get go. So yeah, don't underestimate learning by looking at existing code! Dive Into Python is a pretty good ebook, so you might want to have a look at that to get an overview of the language. Maraschino uses Flask, which is a beautiful, minimal framework. There's a nice quickstart guide here. Again, very intuitive - I used it for the first time three weeks ago when I started development on Maraschino. Part of the reason that I created Maraschino was because I wanted an excuse to learn Flask Flask (and therefore Maraschino) uses Jinja2, which is a template engine. Again, it just "makes sense" - you might want to take a look here. - gugahoi - 2011-11-10 mrkipling Wrote:Thanks for the support - to be honest I'm surprised and a little taken aback that so many people are using it already, it just started out as little thing I made one day when I was bored to list recently added episodes and link to my various applications Most programming I know came from need. So hopefully I'll be able to learn this too. One thing I'm trying to figure out tho. In the add_edit_application_dialog.html template, what kind of variables are accessible to me? If I want to create another variable, how should I pass it to this template? Is it through the render_template function you have already created? And if so, I presume I'd have to modify it to accomodate other variables right? This is what I'm doing by the way. But instead of these options, I have a variable with the contents of the application icons folder. I think you understand what I'm trying to accomplish right? Cheers - dannycorker - 2011-11-10 Archigos Wrote:Instructions for installing on Windows 7 or Windows Server 2008 R2 For the setup tools, should I download the Windows exe version? I have tried it with that, using the easy_install.exe provided, and everything seemed to go fine, but I get an error when I run setup: Code: You need to specify DATABASE in settings.py, and ensure that Flask-SQLalchemy is installed. This is the database section of settings.py: Quote:DATABASE = 'C:/Users/Danny/.maraschino/maraschino.db' So I assume something must have gone wrong with the easy installs, although I didn't see anything to suggest it did. Interestingly, if I run the easy install the way you did, I get this error message: Code: SyntaxError: Non-ASCII character '\x90' in file easy_install on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details The easy installs seemed to work fine by adding the scripts folder to my PATH and using the exe file :S Any help would be great! - mrkipling - 2011-11-10 @gugahoi: I can see that you're trying to make the icons list a dropdown. Neat! Let me give you a little background on how the modules system is set up. Hopefully it will help others, too, and the more people that understand the system and want to develop, the better render_template is a part of Flask - you pass it the file name of the template and whatever variables/objects/whatever you want and it (as you may have guessed) renders the template. Modules are defined in modules.py, in the array AVAILABLE_MODULES. * name is the internal name of the module - basically its ID - and must be unique. * label is the title that is displayed in the module when it's on the page. * description is the descriptive text used in the "add module" dialog. * static defines whether module is static or not. If set to True then it is included on the page on page load, like the applications dialog for example. If a module is static then the poll and delay values are ignored, as it's static, and they won't be exposed to the user in the settings dialog. If a module is not static then it is lazily-loaded after page load using AJAX; this is a good thing as it means that the page will load faster. * poll is how frequently the module should be polled (in seconds), and delay will delay loading of the module. It's quite important to know that these are just the default values for the module - once a user adds the module to the page, we add an entry to the "modules" table which contains information about the module (column, position, poll, delay) and the settings in the database are now used. * Finally, we have settings. This describes extra settings that are added as key/value pairs to the "settings" table. An example of extra settings are the API key / username / password fields in the trakt module. This system allows for most modules to use the same basic code to store settings, edit settings, etc. and makes development a lot easier. Now, some modules are a bit different because they don't lend themselves very well to key/value settings - Applications is one of these modules because you can have lots of applications added, and creating settings like "application1_name", "application2_name" etc. would gross. To get round this we store applications in their own table, "applications". Okay, so that's the basics of the module system. I'll split this up into two posts so that this one isn't too long, and will explain how I'd go about making the icon field a dropdown in the next post. |