Database: Refactor MP1 database for multi seat usage (1 Viewer)

ajs

Development Group
  • Team MediaPortal
  • February 29, 2008
    16,059
    11,141
    Kyiv
    Home Country
    Ukraine Ukraine
    @Anthony Vaughan
    Now getting information about the film goes something like this:
    • A new file appears in the movie directory.
    • Scan everything with the installed grabber based on the file name.
    • We get a list from all the grabbers.
    • If Fuzzy match is on, look for matches, if there is a match, begin to get information about the movie.
    • If Fuzzy match is off or there is no match, display the list of available grabbers to the user.
    • We get information about the movie, load the fanart, cover art, and get a list of actors and their roles.
    • If set to get information about the actors, we get information about each actor.
    After that the movie is added to the database.

    When viewing the movie information, we immediately see all the data, including the list of actors and their roles. When selecting any actor, if the information about him in the database, we show it, if not, we try to find it on the Internet using the grabber. As soon as the information is shown to the user, the list of movies in which the actor was involved is updated.
     

    ajs

    Development Group
  • Team MediaPortal
  • February 29, 2008
    16,059
    11,141
    Kyiv
    Home Country
    Ukraine Ukraine
    That's fine. As I've already said. I'm offering the option. If you aren't interested, then so be-it.

    I think there may be other users who disagree with you.

    I'm not going to push this; I'm just keeping everyone informed.
    Why isn't it interesting? I'm interested, but if it gives me one opportunity, but I lose 5, it's not a fact that I'll choose your solution. But if I don't lose anything and get an extra feature that you implement, then I will gladly use it, and I will be the first to shout that it should be added to the next release.
    One thing I won't do is waste my time arguing about everything.
    We are not arguing, we are having a discussion. And I use MP1 every day on 3 HTPCs, and I use the MyVideo plugin specifically, and I've put a lot of effort into making it functional. And I'm happy with the current features, it's better than MovingPictures in some ways, it's easier than MovingPictures in some ways. But for me and my family and many others, it is fully functional and installing MovingPictures loses all meaning.
     

    Anthony Vaughan

    MP Donator
  • Premium Supporter
  • June 25, 2015
    584
    292
    Home Country
    United Kingdom United Kingdom
    We are not arguing, we are having a discussion. And I use MP1 every day on 3 HTPCs, and I use the MyVideo plugin specifically, and I've put a lot of effort into making it functional. And I'm happy with the current features, it's better than MovingPictures in some ways, it's easier than MovingPictures in some ways. But for me and my family and many others, it is fully functional and installing MovingPictures loses all meaning.
    But I have already said I will make sure that any important extensions are upgraded to work with the new version, if I'm asked to.
     

    ajs

    Development Group
  • Team MediaPortal
  • February 29, 2008
    16,059
    11,141
    Kyiv
    Home Country
    Ukraine Ukraine
    This can be done if the source code is available, we have many plugins that work great, but there is no source code. :(
     

    Anthony Vaughan

    MP Donator
  • Premium Supporter
  • June 25, 2015
    584
    292
    Home Country
    United Kingdom United Kingdom
    I've had a go at making refresh work from the existing movie info and getting the IMDBUrl data used to get that data in the first place. Now, when doing a refresh, I can refresh my entire movie database, with or without fetching actors, and only having to click once to do the entire job.

    All of the non actor stuff is processed in the time-honored fashion, only getting actors is optional because it takes so long to do and is the aspect of the scan that is not used by some.

    I think I have provided a workable and flexible solution. I'll post it to the first entry in this thread when I have thoroughly tested everything.
     

    ajs

    Development Group
  • Team MediaPortal
  • February 29, 2008
    16,059
    11,141
    Kyiv
    Home Country
    Ukraine Ukraine
    I've had a go at making refresh work from the existing movie info and getting the IMDBUrl data used to get that data in the first place. Now, when doing a refresh
    Not quite sure where you get the IMDBUrl from, and are you sure it's compatible with all grabbers?
    It used to be that if my memory serves me right, there's an IMDBID, we get information from it and don't ask for anything. No IMDBID, we get a list and ask the user since we are not 100% sure that we found what we need.
     

    ajs

    Development Group
  • Team MediaPortal
  • February 29, 2008
    16,059
    11,141
    Kyiv
    Home Country
    Ukraine Ukraine
    All of the non actor stuff is processed in the time-honored fashion, only getting actors is optional because it takes so long to do and is the aspect of the scan that is not used by some.
    Getting information about the actors, at the time of adding a movie, updating information about the movie, users have requested, so this feature was added.
     

    Anthony Vaughan

    MP Donator
  • Premium Supporter
  • June 25, 2015
    584
    292
    Home Country
    United Kingdom United Kingdom
    Not quite sure where you get the IMDBUrl from, and are you sure it's compatible with all grabbers?
    I explained this in a previous thread, today. When you do the first scan, when the movies are not in movie info yet, I store the IMDBUrl data in the database in a new table linked to movieinfo. Then, when you do a refresh, the process is able to use the IMDBUrl data to refresh the data.

    The job is done and it works and it's really fast - and you can choose whether to download actors or not. The download actors option is available every time you do a scan so if you decide not to do that now you can do it later.

    Time from posting the idea (08:32) to now (11:41). It's quick to do because I've set up an object driven database and I've rationalized the code to make it easier to modify. The benefit of all that work is that things are now doable.

    I didn't start making actor downloads optional until yesterday. Now scanning can be managed more easily, quickly and with fewer clicks. Just what, as a user, I would want and expect.
     

    ajs

    Development Group
  • Team MediaPortal
  • February 29, 2008
    16,059
    11,141
    Kyiv
    Home Country
    Ukraine Ukraine
    I store the IMDBUrl data in the database in a new table linked to movieinfo
    This is not a good approach, I will explain why.
    At the moment we are not tied to a specific server with information. There are not many servers, but they can be added.
    And so we accept this scenario:
    • I use the Kinopoisk grabber
    • I get information about the movie, save IMDBUrl
    • Time passes
    • I update the information, but IMDBUrl no longer works, the site has changed structure, and I get either an error or a redirect to the home screen of the site. But in my country now this site is banned at all, i.e. I get warning from ISP, and as a result I can't update information.

    Another scenario, at the moment of initial receiving of information about the movie, there was a failure on site TMDB (technical works), I received information from site IMDB, but it there not complete, so I try to update the information and I expect that I will receive a choice, from TMDB or from IMDB, but since IMDBUrl is saved, I again receive information from site IMDB and in English, and not as I want, from TMDB in Russian.

    Sites that I know, and which can be used to get information about movies:
    • IMDB - English - Has IMDBID, but has changes in site structure and very rare links. But there is a good chance that saved IMDBUrl will work after some time.
    • TMDB - Multilingual - Can work with IMDBID, but has its own TMDBID, since it uses API, I'm not sure if we get real link in IMDBUrl at all. Most likely there is a temporary, technical link.
    • Kinopoisk - Russian, cannot work with IMDBID, has its own Kinopoisk ID, changes link and site structure, API is not stable, grabber sends technical link to IMDBUrl.
    And this is what I remember, there are other sites from which we get information, but I haven't analyzed them.
    Why I say that in MP1 not everything is as simple as it seems at first sight.
     

    ajs

    Development Group
  • Team MediaPortal
  • February 29, 2008
    16,059
    11,141
    Kyiv
    Home Country
    Ukraine Ukraine
    But there are also grabbers that retrieve information from several sites, these are TI_MDB - IMDB + TMDB, KTI_MDB - Kinopoisk, TMDB, IMDB.
     

    Users who are viewing this thread

    Top Bottom