Closed coolboymew2 closed 5 years ago
Taiga uses a community-run relations list that has all the IDs of the shows that do this, and which IDs they should be redirected to. It's pretty much the only clean way it can be done. Thankfully this list is released as public domain and it can be used by Trackma. In fact I'm implementing support for it in the relations
branch and it's almost ready.
Wow, I didn't expect a response this fast, thanks!
And I was completely unaware of that list, that do explain why some entries didn't work at the utmost beginning of a season and then mysteriously works the next week. I once wondered if it worked like this and ... well, it does!
Once again, thanks!
Taiga-style relations file support implemented. Please pull the latest commit.
For now you must download the anime-relations.txt file manually and put it in Trackma's configuration directory. Example:
cd ~/.config/trackma
wget https://raw.githubusercontent.com/erengy/anime-relations/master/anime-relations.txt
Then, after starting Trackma you should see the following in the console:
Engine: Parsing redirection file (anime-relations.txt)...
Then, for example, when playing the file Golden Kamuy - 15.mp4
the tracker should redirect it accordingly:
- Tracker status -
State: Ignored
Filename: Golden Kamuy - 15.mp4
Timer: N/A
Show: Golden Kamuy 2
Episode: 3
Note that both shows must be in your list (in my case, Golden Kamuy and Golden Kamuy 2) for the redirection to work.
Tell me if it works, if it doesn't, or if you have any suggestions. Cheers.
anime-relations.txt is now a dependency and it should be automatically pulled by git. Please try pulling the latest commit; it should display Engine: Parsing redirection file (anime-relations.txt)...
in the console and the episodes should get redirected properly.
Hmm, unfortunately, it doesn't seem to work properly
I checked the anime relation files and it does indeed have the following line, so it should work for that anime
# Aikatsu Friends! -> ~ Kagayaki no Jewel
- 37204|41015|101043:51-? -> 39078|42169|107447:1-?
However it doesn't work, and it doesn't show said line either. Also, where would the anime-relations file would be downloaded to? Can't see to see it in the folder either
Did something break in the subsequent commits?
Thanks
Thanks for reporting. The file is now a dependency and it should get downloaded automatically. Note that this isn't pushed to a stable version yet, you need to use the latest git.
Could you tell me which filenames are you trying this with, and do you get this message in the console when starting Trackma?
EDIT: Sorry I misread. The anime-relations.txt file should be in trackma/data/anime-relations/anime-relations.txt
. What steps/method are you using to download, install and use Trackma?
Hmm, very strange
To install it, I simply follow the main page command: git clone https://github.com/z411/trackma.git cd trackma sudo python3 setup.py install
I even tried to download a zip of the latest commit. Nothing
However, what is weird is the following ~/.config/trackma ^ Does not exist
However ~/.trackma Exists, but it doesn't have a data folder
Doing a search, I found the following relevant folders: ~/.local/lib/python2.7/site-packages/trackma ~/trackma/build/lib/trackma /usr/local/lib/python3.5/dist-packages/Trackma-0.7.6-py3.5.egg/trackma (This one, clearly outdated) All of which has the data folder, but no anime-relations/anime-relations.txt, just a bunch of jpg
Manually creating the anime-relations folder, then doing the wget command to put anime-relations.txt both of these locations doesn't give results
I even tried creating the folder structure in ~/.trackma/ ~/.config/trackma/
No luck
What I get when I start trackma-qt from the terminal:
$ trackma-qt Trackma-qt v0.8.1 Engine: Trackma v0.8.1 - using account coolboymew(anilist). Engine: Reading config files... Data: Initializing... libanilist: Initializing... Data: Using libanilist (anime) Engine: Scanning local library... Tracker (polling): Initializing... Tracker (polling): pyinotify not available; using polling (slow). Ready. Engine: Scanning local library... Ready.
I'm clearly doing something wrong or misunderstanding something. The version 0.8.1 is installed if that can help
Thanks
Hi @coolboymew2 - thanks again. It was an issue on my end since I forgot to update the README.
$ git clone --recursive https://github.com/z411/trackma.git
OR if you don't want to clone again, you can go into the repository directory and issue:
$ git submodule update --init
trackma/data/anime-relations/anime-relations.txt
$ sudo python3 setup.py install
Tell me if it works.
When using the git command with the --recursive line, I got this in the command:
Submodule 'trackma/data/anime-relations' (https://github.com/erengy/anime-relations) registered for path 'trackma/data/anime-relations'
Submodule path 'trackma/data/anime-relations': checked out '5fe5efbd5a21e1512bfe2d45cb9239d04dc9f56f'
After installing, with the command, in the git folder, there's trackma > data > anime-relations > anime-relations.txt (Along with LICENSE and README.md)
It didn't work, but I did some troubleshooting of my own
I have had a few issue with the software being installed by the two methods (did when trying to troubleshoot previously). Apparently the pip command understand the uninstall command and it removed it's version
After that, I got the right version, as when I try to run trackma-qt from the command line I got: Engine: Parsing redirection file (anime-relations.txt)...
However, Aikatsu Friends: Kagayaki no Jewel eps are still not recognized, hmm, strange
It seems to be working fine for me:
- Tracker status -
State: Playing
Filename: [Mezashite] Aikatsu Friends! - 054 [6444DB92].mkv
Timer: 118
Show: Aikatsu Friends!: Kagayaki no Jewel
Episode: 4
Do you have both shows in your list? Could you run Trackma with the debug switch (trackma-qt -d
), try to play the episode, and post the full contents of the console?
Whoa, now that's weird
So, it simply acts as if the files didn't exist if I try playing it through Trackma, it doesn't find it
However, it recognize it if opened manually
Engine: Getting Aikatsu Friends!: Kagayaki no Jewel 3 from library... Error: Show not in library. Engine: Getting Aikatsu Friends!: Kagayaki no Jewel 3 from library... Error: Show not in library. Engine: Getting Aikatsu Friends!: Kagayaki no Jewel 3 from library... Error: Show not in library. [D] Tracker (polling): Guessing filename: [Mezashite] Aikatsu Friends! - 053 [B75C53F1].mkv Tracker (polling): Will update Aikatsu Friends!: Kagayaki no Jewel 3 [D] Tracker (polling): Guessing filename: [Mezashite] Aikatsu Friends! - 053 [B75C53F1].mkv Tracker (polling): Player was closed before update. Engine: Getting Aikatsu Friends!: Kagayaki no Jewel 3 from library... Error: Show not in library. Engine: Getting Aikatsu Friends!: Kagayaki no Jewel 2 from library... Error: Show not in library. Engine: Getting Aikatsu Friends!: Kagayaki no Jewel 1 from library... Error: Show not in library.
I also have a stupid amount of anime in my single anime folder, so I wonder if this screws up trackma one way or another. The files are also on an NTFS drive, but everything else works no issue
It seems to me the wrong files got cached in your library. I just pushed an update to the Qt interface so it overrides the cache when clicking Rescan Library (as it always should have).
So please try repulling the latest changes, reinstalling and going to List -> Rescan Library... in the Qt interface (or just press CTRL+L). The episodes should get recognized from now on. Please tell me if it works.
P.S.: You should see something like this in the console when doing the rescan:
Engine: Scanning local library (overriding cache)...
[D] Engine: Scanning for Watching
[D] Engine: Scanning for Rewatching
[D] Engine: Scanning for Paused
[D] Engine: Scanning for Plan to Watch
[D] Engine: Directory: /home/z411/test
[D] Engine: Adding to library: /home/z411/test/[Mezashite] Aikatsu Friends! - 054 [6444DB92].mkv
[D] Engine: Redirected to Aikatsu Friends!: Kagayaki no Jewel 4
[D] Engine: Time: 0.045357704162597656
Ready.
Perfect! That's exactly where the problem was
It scanned for like 3 mins and then it finally appeared in the library. Thanks!
Since it's so long due to my library size, it could be a good idea to include the overriding cache as a separate command, or option, or being able to turn it off
In the last few versions, I imagine it's because of the cache, my library scan on the QT interface was lightning fast (like, pretty much instant) compared to the 30ish secs I used to have to wait so that could be a suggestion
I also have another in regard to this completed feature request. Maybe have trackma check automatically at startup, timed, and/or manual updates to the anime-relations file.
If you want I can make new suggestions threads for these
Thanks a lot for implementing this and troubleshooting it with me =D
Yes, there are 2 types of scan, a quick scan (done at startup, only checks for new files) and a full scan (done when pressing Rescan Library, rescans everything again). 30 seconds is a lot for the quick scan; unless you mean 30 seconds for the full scan? 3 minutes is also a lot, of course. Could you clarify when are you getting these times? Are you using the Scan through whole list
option?
Maybe have trackma check automatically a startup, timed, and/or manual updates to the anime-relations file.
Do you mean redownloading anime-relations.txt whenever it gets changes upstream?
Thanks a lot for implementing this and troubleshooting it with me =D
Thank you for your patience and for your help making the program better.
Ah yeah, I'm using the scan through whole list option, I also have a ridiculous number of file and like 600 entries, so it definitely might not help
Do you mean redownloading anime-relations.txt whenever it gets changes upstream?
Yeah, that would be a great idea, if it doesn't do it already
Thank you for your patience and for your help making the program better
Thank you for Trackma and helping me troubleshoot!
I'll be sure to let you know if I find something or think of something
Thanks!
I'm using the scan through whole list option
Just want to ask, what's the reason for enabling it? The library scanner got recently updated to scan the Watching, Rewatching, Plan to Watch and On Hold statuses (previously it only scanned Watching). Do you need to scan the Finished and Dropped statuses? If not, it's safe to disable it and it should speed up your scan considerably.
Personally, I enabled the whole scan because some OVAs or specials can trip up the scanner and confuse stuff with the actual season (or vice versa, as I noted on a different issue). I keep my media directory fairly clean because I don't have that much space on my local hdd and move stuff I finshed watching to a mounted drive periodically, so considering that my whole list doesn't really have much of an impact. Also, once you cached a scan for the whole list, it really doesn't take a noticable time to do the quick scan on start and I don't exactly need to do a rescan either because everything should have already been considered. Unless I added a new show, of course.
Just want to ask, what's the reason for enabling it?
I dunno, just used to it doing that on Taiga. I suppose it is not needed, but I do use it occasionally
Also BTW, the program seems to be completely crapping itself while it's scanning, it's rather unresponsive, which could be normal (for now... or not?), but I was trying to do something and it completely broke my profile. I had to completely delete my data (in the .trackma folder) for it to work again. Unfortunately I forgot to save the logs. If the program being unresponsive is somewhat of an intended effect while scanning, it could be a good idea to deactivate the interface while it's doing it?
Personally, I enabled the whole scan because some OVAs or specials can trip up the scanner and confuse stuff with the actual season
Ah, that makes sense. I guess one workaround for this would be to increase the ratio threshold (currently at 70% similarity). I was planning to make this value configurable either way.
Also, once you cached a scan for the whole list, it really doesn't take a noticable time to do the quick scan on start and I don't exactly need to do a rescan either
Yes. Either way I'll still include both the options to do a quick and full scan as @coolboymew2 suggested.
BTW, the program seems to be completely crapping itself while it's scanning, it's rather unresponsive, which could be normal
It's definitely not intended (the engine runs in a separate thread exactly for this reason) but I've seen it happen. It could be due to the Python's GIL since I'm not sure if PyQt releases the GIL when using QThread. If it doesn't, spawning the engine in a separate process using Python's multiprocess functionality should help or fix the issue. I'll look into it.
Added the option for both types of scans. Either way the issue at hand (anime relations) has been fixed so I'm closing this issue. Any problems related to the library should go into a new issue.
Sorry for the mess of a title
Here's the issue:
Taiga was able to handle this no problems, no clue how they handled it however. This is annoying because that means that the tracker cannot find the episode, thus cannot play it and has to be done manually, also to then have to update it manually, that or rewrite the episode's name every time which makes it super inconvenient
Plus, this is far from the rare releases that does this. Lots of sequels, and especially from HorribleSubs IIRC, does this
Meanwhile, any already existing features exists where I could get around this?
Thanks!
Edit: Otherwise good work, been using Trackma ever since I switched from Windows to Linux and haven't had any other issues. Thank you