|
Phoenix This forum is for discussing the user-created Phoenix custom interface for SageTV. |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
VFS Error and other newb questions
I am certainly not a newb to Sage, but absolutely to Phoenix. I currently use Gemstone, but it always seemed "heavy" to me. It's slow on my HD200 and not great on my FireTV either. So...
I never seemed to have the time to wrap my head around Phoenix, but always wanted to. I am now finally diving in, since I see Bialio back and talking about V3. Got my attention First, I have created a View (or at least attempted), but I am getting an error when I load Sage. So I went into BMT and loaded it, found a couple of missing " but that didn't seem to fix it. I get: Code:
Element type "view" must be followed by either attribute specifications, ">" or "/>" Code:
<!DOCTYPE vfs SYSTEM "vfs.dtd"> <vfs> <views> <view name="movies_by_path" label="Movies by Path" flat="false" visible="false"> <description>All of our Movies</description> <option name="root" value="/Movies/"/> <view-source name="allinportedvideo"/> </view> <view name="sg_movies" label="Movies" flat="true" visible="true"> <description>Movies</description> <tag value="movies"/> <view-source name="movies_by_path"/> <presentation> <sort by="title"> <option name="sort-order" value="asc"/> <option name="ignore-all" value="true"/> </sort> </presentation> </view> </views> </vfs> What I am trying to build is based on my video import folders. Like so: \\Server\Drive\Video - as the import folder - with the following subfolders, all as separate views which will then have separate menu items. \Movies \Shorts \Trailers \Videos \TV Library etc. So where am I going wrong in the view above? I think if I can get that, I should be able to work through the rest. |
#2
|
|||
|
|||
I noticed the view-source line has a spelling error for "allinportedvideo"
k
__________________
If you wish to see what I am up to and support my efforts visit my Patreon page |
#3
|
|||
|
|||
I don't know how many times I looked at that and didn't see it.
Unfortunately, it didn't fix it. I have tried a couple of variations and both are giving me the following error (expect for line number): Code:
2016-06-20 01:05:41,770 [AWT-EventQueue-0] WARN sagex.phoenix.vfs.VFSManager - VFS FILE: .\userdata\Phoenix\vfs\SG Movies.xml HAS Validataion Errors and will not be included. org.dom4j.DocumentException: Error on line 8 of document : The content of element type "view" must match "(option*,description?,tag*,source*,view-source*,filter*,presentation*)". Nested exception: The content of element type "view" must match "(option*,description?,tag*,source*,view-source*,filter*,presentation*)". Code:
<!DOCTYPE vfs SYSTEM "vfs.dtd"> <vfs> <views> <view name="movies_by_path" label="Movies by Path" flat="false" visible="false"> <description>All of our Movies</description> <option name="root" value="/Movies/"/> <view-source name="phoenix.view.default.videofolders"/> </view> <view name="sg_movies" label="SG Movies" flat="true" visible="true"> <description>Movies</description> <tag value="movies"/> <view-source name="movies_by_path"/> <presentation> <sort by="title"> <option name="sort-order" value="asc"/> <option name="ignore-all" value="true"/> </sort> </presentation> </view> </views> Code:
<!DOCTYPE vfs SYSTEM "vfs.dtd"> <vfs> <views> <view name="SG_Movies" label="SG Movies" flat="false"> <filter by="filepath"> <option name="use-regex-matching" value="true"/> <option name="value" value="Movies\\"/> </filter> <description>Movies</description> <tag value="video"/> <view-source name="phoenix.view.default.videofolders"/> <presentation> <sort by="title"> <option name="sort-order" value="asc"/> <option name="folders-first" value="false"/> </sort> </presentation> </view> </views> </vfs> |
#4
|
|||
|
|||
And this one just drops me into the root import folder and does not put me in the Movies folder. So it's basically the by Folder nav.
Code:
<!DOCTYPE vfs SYSTEM "vfs.dtd"> <vfs> <views> <view name="SG_Movies" label="SG Movies by Path" flat="false"> <option name="root" value="/Movies/"/> <description>Movies</description> <tag value="video"/> <view-source name="phoenix.view.default.videofolders"/> <presentation> <sort by="title"> <option name="folders-first" value="true"/> </sort> </presentation> </view> </views> </vfs> |
#5
|
||||
|
||||
The error (option*,description?,tag*,source*,view-source*,filter*,presentation*) lists the elements in order that they must appear in the xml file. In your case, your View, listed <description> then <option> but option should be the first child. Xml with DTD can be very picky...
In another file I see you have <filter> before description, and filter must be second last element right before <presentation>. something like option* means that it can exist 0 or more times...but if it does exist, then it must exist in the order that that is specified in the dtd file (which the error dumps out)
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#6
|
|||
|
|||
Thanks Sean. I did not realize that order was an issue. That explains quite a lot.
But let's take the last one I posted. It basically gives me a Sage Imports by Folder view. But I am trying to get it to drop me into a subfolder of the main import folder. Movies. And I have other subfolders I will end up creating views for. So why doesn't the last view I posted drop me into the Movies folder? If I can get my head around that, I can duplicate it for the rest of the folders and I'm done. |
#7
|
||||
|
||||
Quote:
Try, Code:
<option name="root" value="/SG Movies by Path/Movies/"/>
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#8
|
|||
|
|||
Thanks again Sean.
But nope, that didn't do it either. Would the filter by filepath be a better choice? |
#9
|
||||
|
||||
Quote:
I looked in the code and the "root" appears to be implemented correctly... ie, using "/Movies" should work (no trailing forward slash). But, also, is your folder name "Movies" or "movies"... ie, case matters. So when you load up this view... what do you see as the child folders? I have used "root" in the past, but it's been awhile.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#10
|
|||
|
|||
Where I end up is "Sage Video Imports by Folder" which shows my all of the folders under the main import folder. But quite oddly, it seems to be pulling one movie into the list. So it is like this:
Import folder: \\Server\Video Subfolders: \Movies \Shorts \Trailers \Some seemingly random movie \Home Videos |
#11
|
|||
|
|||
I am inching closer. I have the list I am looking for using the following:
Code:
<!DOCTYPE vfs SYSTEM "vfs.dtd"> <vfs> <views> <view name="SG_Movies" label="SG Movies by Path" flat="false"> <option name="root" value="/Movies"/> <option name="children-only" value="true"/> <description>Movies</description> <tag value="video"/> <view-source name="phoenix.view.default.videofolders" > </view-source> <presentation> <sort by="title"> <option name="sort-order" value="asc"/> <option name="ignore-all" value="true"/> </sort> </presentation> </view> </views> </vfs> \\ImportFolder\Movies\Back to the Future \\ImportFolder\Movies\Back to the Future II \\ImportFolder\Movies\Back to the Future III and so on. So when I am scrolling through the list, I get just the name, without any metadata in the banner. If I select the banner, it goes one level down and I get the same banner WITH the metadata. I hope that makes sense. Can I get the view to show JUST the "second level"? Last edited by samgreco; 06-21-2016 at 08:28 PM. |
#12
|
||||
|
||||
Quote:
But, if you are doing that.. .then why not just use one of the Movie views, since they are already flat A folder structure view like you are using for a source is expensive to create... and then, in the end, you are "flattening" it.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#13
|
|||
|
|||
The reason I was trying this is that I have things like shorts, trailers and intros that are separated in folders. And when I use one of the existing views it pulls everything in. In Gemstone, I was always able to just filter by folder.
I get the feeling I'm missing something that should be obvious |
#14
|
||||
|
||||
Quote:
You can also build a view using the allmovies (needs the full name of the view) then filter by filepath. The filepath filter can be a starts with or regular expression. Code:
<filter by="filepath" use-regex-matching="false" value="C:\Media\Movies\" /> Code:
<filter by="filepath" use-regex-matching="true" value=".*\\Moves\\.*" />
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#15
|
|||
|
|||
Any issue using UNC?
|
#16
|
|||
|
|||
Every time I try to use filters I get errors. I am seeing:
2016-06-22 10:56:55,307 [AWT-EventQueue-0] WARN sagex.phoenix.vfs.VFSManager - VFS FILE: .\userdata\Phoenix\vfs\movies-filtered-by-path.xml HAS Validataion Errors and will not be included. org.dom4j.DocumentException: Error on line 12 of document : Attribute "use-regex-matching" must be declared for element type "filter". Nested exception: Attribute "use-regex-matching" must be declared for element type "filter". The view I am using is: Code:
<!DOCTYPE vfs SYSTEM "vfs.dtd"> <vfs> <views> <view name="AllMoviesFiltered" label="SG Movies Filtered by Path" flat="true"> <description>Movies from all sources filtered by path</description> <tag value="video"/> <tag value="movie"/> <tag value="movie"/> <tag value="default"/> <view-source name="phoenix.view.primary.importedmovies"/> <filter by="filepath" use-regex-matching="true" value=".*\\Movies\\.*" /> <presentation> <sort by="title"> <option name="ignore-all" value="true"/> </sort> </presentation> </view> </views> </vfs> |
#17
|
||||
|
||||
Quote:
Try this... Code:
<!DOCTYPE vfs SYSTEM "vfs.dtd"> <vfs> <views> <view name="AllMoviesFiltered" label="SG Movies Filtered by Path" flat="true"> <description>Movies from all sources filtered by path</description> <tag value="video"/> <tag value="movie"/> <tag value="movie"/> <tag value="default"/> <view-source name="phoenix.view.primary.importedmovies"/> <filter by="filepath" value=".*\\Movies\\.*"> <option name="use-regex-matching" value="true"/> </filter> <presentation> <sort by="title"> <option name="ignore-all" value="true"/> </sort> </presentation> </view> </views> </vfs>
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#18
|
|||
|
|||
Same error.
2016-06-22 11:58:41,384 [AWT-EventQueue-0] WARN sagex.phoenix.vfs.VFSManager - VFS FILE: .\userdata\Phoenix\vfs\movies-filtered-by-path.xml HAS Validataion Errors and will not be included. org.dom4j.DocumentException: Error on line 11 of document : Attribute "use-regex-matching" must be declared for element type "filter". Nested exception: Attribute "use-regex-matching" must be declared for element type "filter". |
#19
|
|||
|
|||
I think I take it back. This seemed to work:
Code:
<!DOCTYPE vfs SYSTEM "vfs.dtd"> <vfs> <views> <view name="AllMoviesFiltered" label="SG Movies Filtered by Path" flat="true"> <description>Movies from all sources filtered by path</description> <tag value="video"/> <tag value="movie"/> <tag value="movie"/> <tag value="default"/> <view-source name="phoenix.view.primary.importedmovies"/> <filter by="filepath" use-regex-matching="true" value=".*\\Movies\\.*" /> <presentation> <sort by="title"> <option name="ignore-all" value="true"/> </sort> </presentation> </view> </views> </vfs> |
#20
|
|||
|
|||
Quote:
k
__________________
If you wish to see what I am up to and support my efforts visit my Patreon page |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
A few Newb Questions Before I Buy | epictetus | Hardware Support | 16 | 06-01-2011 05:43 AM |
3 questions from a NewB | taylormade | General Discussion | 9 | 09-11-2008 12:09 PM |
Several NewB Questions, Help Please! | acegolfer | SageTV Software | 2 | 12-17-2006 10:05 AM |
Some newb questions | jersiq | General Discussion | 7 | 07-27-2006 09:38 PM |
Newb Questions | deliverer | General Discussion | 5 | 11-27-2005 01:33 AM |