[Release] MyAnimeList.net Metadata Agent

I have a weird issue, synopsis metadata isn't acquiring for episodes that actually have metadata, and garbage metadata is taking its place. Newest agent, BABS.

MAL

http://myanimelist.net/anime/22199/Akame_ga_Kill%21/episode/1

Plex

http://i1292.photobucket.com/albums/b568/FireFreak111/Screenshot%20360_zpsuicjh9dx.png~original

Also, to solve the empty season images problem, is it possibly that the cover art could by used for the season art too? If it ends up acquiring 2x the files, it wouldn't be worth it, but if the same images could be used for both, it would definitely help the look.

I am asking on the forums if its possible to help contribute episode metadata to help out, if it works out I might spend a decent amount of time focusing on the most popular/top anime and adding episode information to them. If it doesn't, I'll live with what MAL currently has as they likely add it at their own pace :).

Update:

Redid the library/wiped bundles, cache etc for myanimelist and its all sorted. There is no synopsis for any of the anime, and no episode descriptions, even if MyAnimeList has one. Is this intended?

Hello,

I receive Episode Data from TheTvDB not myanimelist because a few weeks ago myanimelist didn't support Episode Data. The second reason for it is that with every additional Information from myanimelist I need to do a separate request which will be endless the more episodes are available and there is no way to shorten it. So no Episode Description, Sorry.

I noticed that there won't be any synopsis since they updated their page. It seems the date aren't parsed correctly or isn't found.

I will look into it, also I thought about a major re-factoring of the API. Need to think about a way to get the episode data only from myanimelist without making a bunch of requests for each anime.

The way it works now:

1 request for search

1 request for detailed data

If I get all data just from myanimelist:

1 request for search

1 request for detailed data

1 request for additional pictures (no banner, no background just cover pictures)

1 request for every 100 episodes

In the case of Bleach I would need 7 requests just to get all information.

I hope you understand why I am reluctant to implement this, there are just to many request which would end in the same result I had before I implemented the cache.

I will look into the problem with the synopsis. I can't promise anything else.

Hello,

I receive Episode Data from TheTvDB not myanimelist because a few weeks ago myanimelist didn't support Episode Data. The second reason for it is that with every additional Information from myanimelist I need to do a separate request which will be endless the more episodes are available and there is no way to shorten it. So no Episode Description, Sorry.

I noticed that there won't be any synopsis since they updated their page. It seems the date aren't parsed correctly or isn't found.

I will look into it, also I thought about a major re-factoring of the API. Need to think about a way to get the episode data only from myanimelist without making a bunch of requests for each anime.

The way it works now:

1 request for search

1 request for detailed data

If I get all data just from myanimelist:

1 request for search

1 request for detailed data

1 request for additional pictures (no banner, no background just cover pictures)

1 request for every 100 episodes

In the case of Bleach I would need 7 requests just to get all information.

I hope you understand why I am reluctant to implement this, there are just to many request which would end in the same result I had before I implemented the cache.

I will look into the problem with the synopsis. I can't promise anything else.

It's good to hear the synopsis isn't a fundamental issue or anything like that. Episode list's aren't a rush, because a huge amount of anime still don't have a list on MyAnimeList (as you said, its new).

Is there a reason garbage metadata like that gets inserted if I select TheTVDB alongside MyAnimeList in the Agents section? All the episodes in my anime have Fire and Water metadata from National Geographic when I add it, and only deleting the library and cleaning the bundles/cache removes it once its there. In the past, I have had this issue with The Inbetweeners taking Fire and Water's place.

You've done great work so far, allowing larger anime collections with less popular anime to have metadata. Thanks. :)

It's good to hear the synopsis isn't a fundamental issue or anything like that. Episode list's aren't a rush, because a huge amount of anime still don't have a list on MyAnimeList (as you said, its new).

Is there a reason garbage metadata like that gets inserted if I select TheTVDB alongside MyAnimeList in the Agents section? All the episodes in my anime have Fire and Water metadata from National Geographic when I add it, and only deleting the library and cleaning the bundles/cache removes it once its there. In the past, I have had this issue with The Inbetweeners taking Fire and Water's place.

You've done great work so far, allowing larger anime collections with less popular anime to have metadata. Thanks. :)

Don't activate TVDB alongside the myanimelist agent. It does weird stuff so just deactivate the contribution.

To get back to the Episode list ... As long as I don't have an option to receive all Episodes with just one request I wont implement a function to get the episodes from myanimelist.

Hey Daraku, first off all THANK YOU for this incredible work.

My generall question is more into the classic database. I really would like to know, is it possible to see somewhere, what for PLEX the season list of each show is? Because PLEX and my Dragon Ball list is so diffrent. I really try to understand what for PLEX Season 2 as an example is and from which episode to which episode it is going. In generell the anime world is hard to find out what season it is. I am already so happy that my One Piece list is perfect to the one that PLEX is using. So again, is it possible to see where PLEX is using Dragon Ball in there metadata for every each season?

Hey Daraku, first off all THANK YOU for this incredible work.

My generall question is more into the classic database. I really would like to know, is it possible to see somewhere, what for PLEX the season list of each show is? Because PLEX and my Dragon Ball list is so diffrent. I really try to understand what for PLEX Season 2 as an example is and from which episode to which episode it is going. In generell the anime world is hard to find out what season it is. I am already so happy that my One Piece list is perfect to the one that PLEX is using. So again, is it possible to see where PLEX is using Dragon Ball in there metadata for every each season?

Here is the way how plex is requesting Metadata for a Anime with my agent:

  1. Plex scans the Folder which contains movie files
  2. the files will be parsed for the Name
  3. the name will then be searched in my agent which returns a list of results
  4. if the match score is above 80% the first entry will be used
  5. with the first entry saved ID (which is the anime ID) detailed information are requested

the data itself are saved here

Windows:
%LOCALAPPDATA%\Plex Media Server\

OSX:

~/Library/Application Support/Plex Media Server/

Linux:

$PLEX_HOME/Library/Application Support/Plex Media Server/

I hope this helps you

Hmmm I am trying to find it, and I thought it would be much easier to see what database or source Plex is using to say "This is Season 01, from Episode ... - ..."

I always do it with Wikipedia. There it is simple to say Season 01 from One Piece and which episodes are there included. But somehow it is not really for Dragon Ball.

But there has to be an offical source that even Plex uses, that would be much easier to understand. So I can do it directly from my computer over the files.

Oh by the way, I name the files always on my computer myself and that is the way I use Plex.

Dragon Ball -> Season 01 -> Dragon Ball S01E01

All my files are always listed like that. But I just need the offical Plex source to know how many episodes are in each season -.-

Hmmm I am trying to find it, and I thought it would be much easier to see what database or source Plex is using to say "This is Season 01, from Episode ... - ..."

I always do it with Wikipedia. There it is simple to say Season 01 from One Piece and which episodes are there included. But somehow it is not really for Dragon Ball.

But there has to be an offical source that even Plex uses, that would be much easier to understand. So I can do it directly from my computer over the files.

Oh by the way, I name the files always on my computer myself and that is the way I use Plex.

Dragon Ball -> Season 01 -> Dragon Ball S01E01

All my files are always listed like that. But I just need the offical Plex source to know how many episodes are in each season -.-

What you do with your files on your filesystem is something completely different on what plex is saving in their database. Plex does not know how many episodes are in one season. That is what the agents are for BUT they have limits too. Like my Agent for example, I get all episode but the next week there could be another one. The Scanner tells plex how many files are to be listed under the specific title and season (this will be achieved with the naming convention).

Hi

Encountered two issues which I hope you can help to fix.

1. I am unable to do a match for the anime "To LOVE-Ru" (http://myanimelist.net/anime/3455/To_LOVE-Ru). From the log, it says that the web service did not return any result.

http://daraku-mal-api.net/services/v2/search/To+Love+Ru

2.For another anime "To LOVE-Ru OVA" (http://myanimelist.net/anime/5667/To_LOVE-Ru_OVA), when it tries to fetch the metadata, there is a 500 error at

http://daraku-mal-api.net/services/v2/anime/5667

The full log for this error is as below.

2015-05-22 19:32:20,785 (201c) :Ā  DEBUG (runtime:717) - Handling request GET /:/plugins/net.devvsbugs.coding.plex.myanimelist/messaging/function/X0FnZW50S2l0OlVwZGF0ZU1ldGFkYXRh/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMTAKczIKZW5zNApsYW5nYjFzNQpmb3JjZWIwczgKcGVyaW9kaWNzNQo3MTcyNnM0CmRiaWRpMApzNwp2ZXJzaW9ubnMxMApwYXJlbnRHVUlEbnM4CnBhcmVudElEczcKVFZfU2hvd3MxMAptZWRpYV90eXBlczUyCm5ldC5kZXZ2c2J1Z3MuY29kaW5nLnBsZXgubXlhbmltZWxpc3Q6Ly81NjY3P2xhbmc9ZW5zNApndWlkczQKNTY2N3MyCmlkcjAK
2015-05-22 19:32:20,785 (201c) :Ā  DEBUG (runtime:49) - Received packed state data (564 bytes)
2015-05-22 19:32:20,785 (201c) :Ā  DEBUG (runtime:814) - Found route matching /:/plugins/net.devvsbugs.coding.plex.myanimelist/messaging/function/X0FnZW50S2l0OlVwZGF0ZU1ldGFkYXRh/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMTAKczIKZW5zNApsYW5nYjFzNQpmb3JjZWIwczgKcGVyaW9kaWNzNQo3MTcyNnM0CmRiaWRpMApzNwp2ZXJzaW9ubnMxMApwYXJlbnRHVUlEbnM4CnBhcmVudElEczcKVFZfU2hvd3MxMAptZWRpYV90eXBlczUyCm5ldC5kZXZ2c2J1Z3MuY29kaW5nLnBsZXgubXlhbmltZWxpc3Q6Ly81NjY3P2xhbmc9ZW5zNApndWlkczQKNTY2N3MyCmlkcjAK
2015-05-22 19:32:20,785 (201c) :Ā  DEBUG (model:32) - Loading model with GUID net.devvsbugs.coding.plex.myanimelist://5667?lang=en
2015-05-22 19:32:20,785 (201c) :Ā  DEBUG (model:230) - Deserializing from C:\Users\Server\AppData\Local\Plex Media Server\Metadata\TV Shows\3\326a0bcedd343029ce0469bb08330bc66c11a08.bundle\Contents et.devvsbugs.coding.plex.myanimelist\Info.xml
2015-05-22 19:32:20,785 (201c) :Ā  DEBUG (networking:172) - Requesting 'http://127.0.0.1:32400/library/metadata/71726/tree'
2015-05-22 19:32:20,785 (201c) :Ā  INFO (logkit:16) - [MyAnimeList]: Entered doUpdateTVShow
2015-05-22 19:32:20,785 (201c) :Ā  INFO (logkit:16) - [MyAnimeList]: Requesting Data for Anime: 5667
2015-05-22 19:32:20,799 (201c) :Ā  INFO (logkit:16) - [MyAnimeList]: Request Results from: http://daraku-mal-api.net/services/v2/anime/5667
2015-05-22 19:32:20,799 (201c) :Ā  DEBUG (networking:172) - Requesting 'http://daraku-mal-api.net/services/v2/anime/5667'
2015-05-22 19:32:23,160 (201c) :Ā  ERROR (networking:223) - Error opening URL 'http://daraku-mal-api.net/services/v2/anime/5667'
2015-05-22 19:32:23,160 (201c) :Ā  CRITICAL (core:572) - Exception in the update function of agent named 'MyAnimeList.net', called with guid 'net.devvsbugs.coding.plex.myanimelist://5667?lang=en' (most recent call last):
Ā  File "C:\Users\Server\AppData\Local\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\api\agentkit.py", line 1052, in _update
Ā Ā Ā  agent.update(obj, media, lang, **kwargs)
Ā  File "C:\Users\Server\AppData\Local\Plex Media Server\Plug-ins\MyAnimeList.bundle\Contents\Code\__init__.py", line 455, in update
Ā Ā Ā  doUpdateTVShow(metadata, media, lang)
Ā  File "C:\Users\Server\AppData\Local\Plex Media Server\Plug-ins\MyAnimeList.bundle\Contents\Code\__init__.py", line 106, in doUpdateTVShow
Ā Ā Ā  xmlResults = XML.ObjectFromURL(detailURL)
Ā  File "C:\Users\Server\AppData\Local\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\api\parsekit.py", line 404, in ObjectFromURL
Ā Ā Ā  opener = self._opener).content, max_size=max_size)
Ā  File "C:\Users\Server\AppData\Local\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\api etworkkit.py", line 67, in _http_request
Ā Ā Ā  req = self._core.networking.http_request(url, *args, **kwargs)
Ā  File "C:\Users\Server\AppData\Local\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components etworking.py", line 376, in http_request
Ā Ā Ā  return HTTPRequest(self._core, url, data, h, url_cache, encoding, errors, timeout, immediate, sleep, opener, follow_redirects, method)
Ā  File "C:\Users\Server\AppData\Local\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components etworking.py", line 147, in __init__
Ā Ā Ā  self.load()
Ā  File "C:\Users\Server\AppData\Local\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components etworking.py", line 187, in load
Ā Ā Ā  f = self._opener.open(req, timeout=self._timeout)
Ā  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\urllib2.py", line 410, in open
Ā Ā Ā  response = meth(req, response)
Ā  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\urllib2.py", line 523, in http_response
Ā Ā Ā  'http', request, response, code, msg, hdrs)
Ā  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\urllib2.py", line 448, in error
Ā Ā Ā  return self._call_chain(*args)
Ā  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\urllib2.py", line 382, in _call_chain
Ā Ā Ā  result = func(*args)
Ā  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\urllib2.py", line 531, in http_error_default
Ā Ā Ā  raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 500: Internal Server Error

Can you assist to see what could be wrong. Thanks!

Regards.

Hi

Encountered two issues which I hope you can help to fix.

1. I am unable to do a match for the anime "To LOVE-Ru" (http://myanimelist.net/anime/3455/To_LOVE-Ru). From the log, it says that the web service did not return any result.

http://daraku-mal-api.net/services/v2/search/To+Love+Ru

2.For another anime "To LOVE-Ru OVA" (http://myanimelist.net/anime/5667/To_LOVE-Ru_OVA), when it tries to fetch the metadata, there is a 500 error at

http://daraku-mal-api.net/services/v2/anime/5667

The full log for this error is as below.

2015-05-22 19:32:20,785 (201c) :  DEBUG (runtime:717) - Handling request GET /:/plugins/net.devvsbugs.coding.plex.myanimelist/messaging/function/X0FnZW50S2l0OlVwZGF0ZU1ldGFkYXRh/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMTAKczIKZW5zNApsYW5nYjFzNQpmb3JjZWIwczgKcGVyaW9kaWNzNQo3MTcyNnM0CmRiaWRpMApzNwp2ZXJzaW9ubnMxMApwYXJlbnRHVUlEbnM4CnBhcmVudElEczcKVFZfU2hvd3MxMAptZWRpYV90eXBlczUyCm5ldC5kZXZ2c2J1Z3MuY29kaW5nLnBsZXgubXlhbmltZWxpc3Q6Ly81NjY3P2xhbmc9ZW5zNApndWlkczQKNTY2N3MyCmlkcjAK
2015-05-22 19:32:20,785 (201c) :  DEBUG (runtime:49) - Received packed state data (564 bytes)
2015-05-22 19:32:20,785 (201c) :  DEBUG (runtime:814) - Found route matching /:/plugins/net.devvsbugs.coding.plex.myanimelist/messaging/function/X0FnZW50S2l0OlVwZGF0ZU1ldGFkYXRh/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMTAKczIKZW5zNApsYW5nYjFzNQpmb3JjZWIwczgKcGVyaW9kaWNzNQo3MTcyNnM0CmRiaWRpMApzNwp2ZXJzaW9ubnMxMApwYXJlbnRHVUlEbnM4CnBhcmVudElEczcKVFZfU2hvd3MxMAptZWRpYV90eXBlczUyCm5ldC5kZXZ2c2J1Z3MuY29kaW5nLnBsZXgubXlhbmltZWxpc3Q6Ly81NjY3P2xhbmc9ZW5zNApndWlkczQKNTY2N3MyCmlkcjAK
2015-05-22 19:32:20,785 (201c) :  DEBUG (model:32) - Loading model with GUID net.devvsbugs.coding.plex.myanimelist://5667?lang=en
2015-05-22 19:32:20,785 (201c) :  DEBUG (model:230) - Deserializing from C:\Users\Server\AppData\Local\Plex Media Server\Metadata\TV Shows\3\326a0bcedd343029ce0469bb08330bc66c11a08.bundle\Contents et.devvsbugs.coding.plex.myanimelist\Info.xml
2015-05-22 19:32:20,785 (201c) :  DEBUG (networking:172) - Requesting 'http://127.0.0.1:32400/library/metadata/71726/tree'
2015-05-22 19:32:20,785 (201c) :  INFO (logkit:16) - [MyAnimeList]: Entered doUpdateTVShow
2015-05-22 19:32:20,785 (201c) :  INFO (logkit:16) - [MyAnimeList]: Requesting Data for Anime: 5667
2015-05-22 19:32:20,799 (201c) :  INFO (logkit:16) - [MyAnimeList]: Request Results from: http://daraku-mal-api.net/services/v2/anime/5667
2015-05-22 19:32:20,799 (201c) :  DEBUG (networking:172) - Requesting 'http://daraku-mal-api.net/services/v2/anime/5667'
2015-05-22 19:32:23,160 (201c) :  ERROR (networking:223) - Error opening URL 'http://daraku-mal-api.net/services/v2/anime/5667'
2015-05-22 19:32:23,160 (201c) :  CRITICAL (core:572) - Exception in the update function of agent named 'MyAnimeList.net', called with guid 'net.devvsbugs.coding.plex.myanimelist://5667?lang=en' (most recent call last):
  File "C:\Users\Server\AppData\Local\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\api\agentkit.py", line 1052, in _update
    agent.update(obj, media, lang, **kwargs)
  File "C:\Users\Server\AppData\Local\Plex Media Server\Plug-ins\MyAnimeList.bundle\Contents\Code\__init__.py", line 455, in update
    doUpdateTVShow(metadata, media, lang)
  File "C:\Users\Server\AppData\Local\Plex Media Server\Plug-ins\MyAnimeList.bundle\Contents\Code\__init__.py", line 106, in doUpdateTVShow
    xmlResults = XML.ObjectFromURL(detailURL)
  File "C:\Users\Server\AppData\Local\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\api\parsekit.py", line 404, in ObjectFromURL
    opener = self._opener).content, max_size=max_size)
  File "C:\Users\Server\AppData\Local\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\api etworkkit.py", line 67, in _http_request
    req = self._core.networking.http_request(url, *args, **kwargs)
  File "C:\Users\Server\AppData\Local\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components etworking.py", line 376, in http_request
    return HTTPRequest(self._core, url, data, h, url_cache, encoding, errors, timeout, immediate, sleep, opener, follow_redirects, method)
  File "C:\Users\Server\AppData\Local\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components etworking.py", line 147, in __init__
    self.load()
  File "C:\Users\Server\AppData\Local\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components etworking.py", line 187, in load
    f = self._opener.open(req, timeout=self._timeout)
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\urllib2.py", line 410, in open
    response = meth(req, response)
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\urllib2.py", line 523, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\urllib2.py", line 448, in error
    return self._call_chain(*args)
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\urllib2.py", line 382, in _call_chain
    result = func(*args)
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\urllib2.py", line 531, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 500: Internal Server Error

Can you assist to see what could be wrong. Thanks!

Regards.

It seems that there are, since the last update to the myanimelist website, changes to the location of the HTML tags which I use to parse.

I actually started just now on a refactoring and update to the API so the Error you got wont get fixed right away but thank you for submitting this.

Okay guys/girls sad news. I just wrecked my project. On my testing system it runs fine and everything works again but when I try to deploy it on my productive system it can't be started and I don't know why yet because I don't have access to the log files (yet). I already contacted the provider so lets hope they reply quick.

In the meantime i halted the major re-factoring and fixed the synopsis bug.

Hi

Encountered two issues which I hope you can help to fix.

1. I am unable to do a match for the anime "To LOVE-Ru" (http://myanimelist.net/anime/3455/To_LOVE-Ru). From the log, it says that the web service did not return any result.

http://daraku-mal-api.net/services/v2/search/To+Love+Ru

2.For another anime "To LOVE-Ru OVA" (http://myanimelist.net/anime/5667/To_LOVE-Ru_OVA), when it tries to fetch the metadata, there is a 500 error at

http://daraku-mal-api.net/services/v2/anime/5667

Can you assist to see what could be wrong. Thanks!

Regards.

I took a look at this behaviour but it worked fine on my end to bad I somehow broke my API. please be a little bit patient.

EDIT:

okay its back online now woho


I took a look at this behaviour but it worked fine on my end to bad I somehow broke my API. please be a little bit patient.

EDIT:

okay its back online now woho

Thanks for the quick fix. Yes the 2 links which I reported are working fine now.

I still encounter a 500 error at this url though.

http://daraku-mal-api.net/services/v2/anime/3455

Thanks for the quick fix. Yes the 2 links which I reported are working fine now.

I still encounter a 500 error at this url though.

http://daraku-mal-api.net/services/v2/anime/3455

fixed, was a cache problem. Some wrong data were written into the database. Should work now

fixed, was a cache problem. Some wrong data were written into the database. Should work now

Thanks! Yes it works fine now.

Installed the latest plugin.

copied the folder into my plugin folder. restarted plex. it doesnt show in my list of agents anymore.

any ideas guys? yes i am sure i copied it right.

The path its in:Ā C:\Users\User\AppData\Local\Plex Media Server\Plug-ins\MyAnimeList.bundle

Installed the latest plugin.

copied the folder into my plugin folder. restarted plex. it doesnt show in my list of agents anymore.

any ideas guys? yes i am sure i copied it right.

The path its in: C:\Users\User\AppData\Local\Plex Media Server\Plug-ins\MyAnimeList.bundle

If you are sure you copied it to the right place try to stop the server wait a few minutes and start plex again and look in the options if it is shown in TV Shows and Movies. If not get the server log file and attach it to your next post

I am having multiple series showing up not found when I use the MyAnimeList bundle.

Ushio to Tora is just one of them, for simplicity sake (and to keep a easy to read reply) I just attached my most recent log

Looking at the url is it searching with, it receives a 500 error… http://daraku-mal-api.net/services/v2/search/Ushio

Another question, where should we be pulling the bundle from? SF.net or GitHub? They are on both sites

@EZarnosky said:
I am having multiple series showing up not found when I use the MyAnimeList bundle.

Ushio to Tora is just one of them, for simplicity sake (and to keep a easy to read reply) I just attached my most recent log

Looking at the url is it searching with, it receives a 500 error… http://daraku-mal-api.net/services/v2/search/Ushio

Another question, where should we be pulling the bundle from? SF.net or GitHub? They are on both sites

okay myanimelist added another value that my parser does not recognize … I wish they would do a baseline on what will be shown when nothing is available. but thats how myanimelist just works right now. I will fix that in some time.

I try to keep both up to date but for the end user, which wants to have it as easy as possible, I think sourceforge will be better because all my other releases are there too. I got on github because someone asked me to implement it into the unofficial plugin store, which I did but required to have an github account and pulling the project, WHICH isn’t accessible anymore (at least the last time I checked).

Stop here if you don’t want to read my complaints just read the last section to get the summary :slight_smile:

and while i’m at it let me tell you whats on my mind lately. Since my serving time in the military is getting to an end at the end of this year and while getting into Unity 3d development Im short on time. I really wanted to do a whole rework (again) of the API to make it way more readable and do some code improvements because I noticed that I could use code snippets which were way shorter, like switch case instead of tons of if cases (and im a bit ashamed that i didn’t noticed that sooner). Additionally to that all, myanimelist is changing their website right know, which is, to put it bluntly, still a mess in parsing perspective. Values of information are not consistent over the whole website (for example the N/A and ? in everything they got) Its annoying and as far as I’m concerned, to put a String value in an float value because its not available is really bad coding. Either do N/A on everything even if its not 100% correct or let every value has his own default value. As I already mentioned that it is a mess, almost no layer like divs don’t even have an ID which would make my work way easier. To tell something positive right now, they included Episodes, I got excited because then I didn’t needed the TheTVDBParser anymore. Okay I had to drop banner and more Artworks because of that but I had a 100% MAL api again. And what did they do? instead of using javascript to cycle the pages of episodes they made you click on an link which fired an additional request to the server.

Okay I’m stopping complaining now.

Summary:

  • I will fix the bugs as they pop up
  • Don’t know If I will do a complete rework of the API with some improvements like integrated DB, statistics and better code that is less vulnerable to exceptions
  • MAL Website is a mess

okay that’s all for know, again sorry for the complaining

Well to start off, i appreciate the FREE work you do on the MAL plugin. I fully undersand about the limits of time. I’m working in the middle east (and have been for several years now), pulling 72-84 hour work weeks. I have a bunch of projects that are in various stages of completion.

I guess this happened to be the worst possbile time on all accounts, I ecide to rebuild my plex collections and MAL changes their API which ā€˜breaks’ your plugin

Just out of curiosity have you talked to the webmaster at MAL about the API? I would hope that they recognize that the plex commnity does use your plugin to get infor from their site, it would benifit them to update developers about API changes.

I do know there is a unofficial-unofficial app store. someone posted it on their dropbox and it can be loaded on a plex system (I just recently did that myself). Maybe someone with more time can pick up the torch of the unoffical app store… or Plex would actually build an app store that people can register their apps at and make it easy for download.

@EZarnosky said:
Well to start off, i appreciate the FREE work you do on the MAL plugin. I fully undersand about the limits of time. I’m working in the middle east (and have been for several years now), pulling 72-84 hour work weeks. I have a bunch of projects that are in various stages of completion.

I guess this happened to be the worst possbile time on all accounts, I ecide to rebuild my plex collections and MAL changes their API which ā€˜breaks’ your plugin

Just out of curiosity have you talked to the webmaster at MAL about the API? I would hope that they recognize that the plex commnity does use your plugin to get infor from their site, it would benifit them to update developers about API changes.

I do know there is a unofficial-unofficial app store. someone posted it on their dropbox and it can be loaded on a plex system (I just recently did that myself). Maybe someone with more time can pick up the torch of the unoffical app store… or Plex would actually build an app store that people can register their apps at and make it easy for download.

I actually did not talked about that with them yet for two reasons, first of all if they would accept my API I would get into the position to deliver something that is working well and so far the API is working yes but not well enough to deliver it into such a huge community there is just so many things that can break because I was just to lazy to implement them because I wanted it to be finally finished :slight_smile:
The other thing is that there was an pretty good API for a long time which I used in some of my versions and it worked really well (but ended on being unavailable) and he got some recognition from the community but not from the devs which was sad. So I’m thinking that they just want to do their own stuff.

But hey that’s a good suggestion for me to keep on working on the rework of my API to get it on a better code quality level. Even so I would need to develope a whole new API for them because mine is just parsing stuff from their website :slight_smile:

You probobly know, but I just did a search and MAL has an API. It allows searching and even the add/removal of an anime series from a registered users anime list on MAL. It would mean less work for you on a website and just managing the plug in should they tweak the API.

Eric