Sproglet / oversight

Oversight Jukebox for Popcorn Hour 1 and 2 series. Original code by Lordy.
1 stars 0 forks source link

[GUI] Allow movie boxsets, custom boxsets, items in multiple box sets. #398

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
The dboverview code needs to be re-written to account for different types of
sets:

1. tv box sets determined by item name, type (tv) , and season (inc all seasons)
2. movie box sets based on list of imdb titles.
3. custom sets based on presence of a specified tag. This tag should also be 
stored in the database when custom tags are implemented. And the scan function 
must preserver the tag when rescanning the items.

Original issue reported on code.google.com by lordylo...@gmail.com on 8 Jun 2010 at 11:10

GoogleCodeExporter commented 9 years ago
Also see Issue 396, Issue 397

Original comment by lordylo...@gmail.com on 8 Jun 2010 at 11:11

GoogleCodeExporter commented 9 years ago
For movie box sets:
For each movie scanned the scanner will also get the imdb follows/followed by 
information. and IF there are two or more ids, populate boxset.db with an 
ordered list of imdb ids.
eg.
tt1234,tt5678,tt8334 etc. Each row is an automatic box set.
Note creating this list will have to allow ids in more than one set. eg. AvP 
will be in Aliens and Predator. but people may not want to see Predator appear 
in Aliens trilogy.

Oversight gui will read the list and create a structure to allow fast lookup of 
an id (binary chop) to see which box sets it is in.
This can be done at start up Or only if there are two or more movies in the 
intial query. This should be fairly fast however if there is a performance 
issue then the structure can be written to and re-read from a temporary file.

Original comment by lordylo...@gmail.com on 8 Jun 2010 at 11:23

GoogleCodeExporter commented 9 years ago

Original comment by lordylo...@gmail.com on 8 Jun 2010 at 11:29

GoogleCodeExporter commented 9 years ago
The box set will be a seperate file.
Movie box sets will have a name , then a list of id's. 
The name will initialled be the first movie. User will be able to edit, when 
the editor is ready.

The scanner will store the information initially against the movie. (This could 
be a bad design decision, we shall see..)
After the scanner runs, the movie links will then be 'abstracted out' into 
boxset.db OR
oversight can just build this is real time based on selected movies. (It should 
take any longer than having to scan a new file. May even be quicker due to IO 
being from a single file - index.db)

The tt9999999 syntax may increase size of index db so they will also be stored 
as base 128 (using ascii 129-256). But the users can still manually enter 
tt9999999 if updating the files.

Original comment by lordylo...@gmail.com on 11 Jun 2010 at 3:36

GoogleCodeExporter commented 9 years ago
Need to create box set icons.
Will probably use ones from
http://www.networkedmediatank.com/showthread.php?tid=19572&pid=166413 

These are ong (for transparency) so need to build the png netpbm tools.

Original comment by lordylo...@gmail.com on 12 Jun 2010 at 11:30

GoogleCodeExporter commented 9 years ago
Box set icons created.

TODO: Movie boxsets must always be sort by Year - For Matrix may even need 
release date.

Original comment by lordylo...@gmail.com on 14 Jun 2010 at 9:46

GoogleCodeExporter commented 9 years ago
All box sets will be ordered by release date regardless of main menu sort 
order. I think this makes more sense? I've hardcoded this, as there are already 
too many options. Series with releases in the same year may fail, so I need to 
fine tune this for 
1. end of one series and start of another in the same year. (I think this will 
be OK as the cmp funtion looks at title and season)
2. movie sets with two releases in the same year. (Matrix)  

Original comment by lordylo...@gmail.com on 17 Jun 2010 at 1:28

GoogleCodeExporter commented 9 years ago
Thoughts... 
for movie box sets
 - maybe an override poster for the top menu?
 - maybe boxsets maybe NOT always by year.. See Star Wars by year 3,4,5,1,2,3
 - a boxset def that contains the top poster and list of things in the box set, in order to be displayed? (see Star Wars)

Original comment by rpaul2...@gmail.com on 17 Jun 2010 at 3:12

GoogleCodeExporter commented 9 years ago
There will be custom box sets that the user can define name and order. Probably 
posters too.

Original comment by lordylo...@gmail.com on 17 Jun 2010 at 3:26

GoogleCodeExporter commented 9 years ago
Director scraping added (allows nm00000 or base 128 format). need to re-write 
DIRECTOR macro to do a lookup on db/directors.db. This is a sorted file, and 
lookups can be done using fseek/binary chop.

Code should be written so it can be re-used for actors.

Original comment by lordylo...@gmail.com on 18 Jun 2010 at 1:28

GoogleCodeExporter commented 9 years ago
Need to change db scan function to allow generic queries.
So instead of a new scan function for person=nm12345

add query=_A~eq~nm1234~a~_Y~eq~2003

This will make other filters easier to implement.

Could be a good time to think about sqllite etc. but
- not sure what performance is like on 100 series...
- Do like having editable db

Regardless of backend db still need to pass queries via GET url. as that is how 
oversight works.

Not too many movies with ~ in title. And where it occurs it is usually followed 
by 
space or capital so we can have operators...

~c~ = contains
~s~ = starts with
~eq~,~lt~,~le~,~gt~,~ge~ 
~a~ and
~o~ or
(  - bracket open - assume dont deed to be url encoded
)  - braclet close - assume dont deed to be url encoded

Later if required ...

~re~ = regex eq ie ^reg$
~rs~ = regex starts ^reg
~rc~ = regex contains 

So write 
query parse function then use for person links.

Original comment by lordylo...@gmail.com on 14 Jul 2010 at 12:46

GoogleCodeExporter commented 9 years ago
Parser and expression evaluation for url based db queries added.
[Very limited functionality so no need to over sanitize inputs from security 
POV]

Todo:
Add expression evaluation to live db scan.
eg http:/.....&query=_A~f~~c~'Leonardo'
_A ACTOR
~f~ field
~c~ contains
'Leonardo'

Test parser against live Db.
Create 

Original comment by lordylo...@gmail.com on 15 Jul 2010 at 2:02

GoogleCodeExporter commented 9 years ago
Added query filter to dbscan  eg.

Year field = 2008
http://pch-c200:8883/oversight/oversight.cgi?q=%27_Y%27~f~~eq~2008

Title field contains 'oo'
http://pch-c200:8883/oversight/oversight.cgi?q=%27_T%27~f~~c~%27oo%27

TODO:
Make quotes optional for non-numeric values.
eg
http://pch-c200:8883/oversight/oversight.cgi?q=_T~f~~c~oo

Make String functions case insensitive.

Make Starts with - ignore "The"

Work on merging existing filters into new generic query.
eg. 
?_tf=M  Movies
_wf=U Watched

now should add clauses to existing query string
_C~f~~eq~M    
_w~f~~eq~0

Original comment by lordylo...@gmail.com on 15 Jul 2010 at 3:38

GoogleCodeExporter commented 9 years ago
Also implement Person links now url filtering is coded.

Original comment by lordylo...@gmail.com on 15 Jul 2010 at 3:40

GoogleCodeExporter commented 9 years ago
Add some Actor Pictures or name for first testing release.

Original comment by lordylo...@gmail.com on 17 Jul 2010 at 3:15

GoogleCodeExporter commented 9 years ago
Dear all,

Can I already make custom box sets? If yes, how should I do that? I like to put 
the info in .nfo files that override the automatic box sets. Is that possible. 
And the last question is: Where do I place the .nfo file. I have organised the 
avi's in subdirectories of the directorie with the custom box set name.

Mest regards,
Micrin

Original comment by Familie....@gmail.com on 18 Jan 2011 at 12:38

GoogleCodeExporter commented 9 years ago
not yet!

Original comment by a...@lordy.org.uk on 12 Jun 2011 at 11:59