[CLA] egilsster

Signing CLA

@egilsster you shouldn't need to sign this since you're part of Qlik R&D 🙂


How i add button on existing pdf run time

i want to add button on run time because i wth i want to remember user id , time etc with button.
please tell me way how i can add Submit button at the end of existing pdf document
is there any way

Duplicate of #131


Better installation

Two updates for a slightly better installation:

Don't extract boost if already extracted (slowest part of the install next to the download)
Print a warning if submodules not updated

Cheers

Thanks!


Not working in windows 10

Hi, the dll compiled is not working in windows 10. Its running fine in windows 7. Anyone have this problem?

@samuelg78 have you managed to make it work?

Closing due to inactivity.


[Feature Request] mdit-plugin-columns

Checklist

[X] I searched existing issues and no one else requests similar feature.
[X] I think that 25%+ users are positive towards this feature.

Describe the feature
Embed multiple columns in a row, evenly dividing the column width.
Additional context
Bloggers often find it convenient to arrange several images in a row.
A container with uniform column width would be of great help.
Markdown table struggles with this task due to self-adaption column width and borders.

So how should the column plugin work?

Like this

So how should the syntax be like?
Check these:

https://github.com/mdit-plugins/mdit-plugins/issues/35
https://github.com/mdit-plugins/mdit-plugins/issues/33

I need a full plan to start with.

If this would be implemented, i guess it could be forked from the tabs plugin
::: tabs

@tab apple

Apple

@tab banana

Banana

@tab orange

Orange

:::

::: columns

@column

Apple

@column

Banana

@column

Orange

:::

@Mister-Hope design draft landed in #37

I actually don't like the @ directive which I already introduced in tab, it destroys the ability of nesting.
If you are sure that column does not need nesting in all cases, we can add it.


Add support for mapping ARRAY to a java collection

You can already map a postgresql ARRAY to a java array, but using raw arrays is not exactly idiomatic in java. Would'nt it make sense to allow mapping it to a Collection instead?

Yes, it can be done. Send me a Pull Request with the implementation. Looking forward to it.

@vladmihalcea I can take it, can you assign this issue to me?

Done. Thanks for adding your contribution.

Awesome, thank indeed @nstdio

Fixed by this commit.


Add alt text for figures

Description
There is a discussion about accessibility in #133 but even if the alt text is not used yet, it would be nice to have alt text support in the syntax so that once the feature lands in the compiler, newly compiled files pick up the alt texts.
Use Case
Alt texts are essential for screen reader users and in general are a best practice.

Images already have an alt text attribute. Do you want alt text also for other kinds of figures?

Nah, silly me looked at figures not images for alt text.
I'm looking forward to when they will be used to generate accessible document like html and pdf.


Code clean up

Currently there are some pylint issues that are ignored, we should fix them and add them to the CI pipeline.

Fixed in this PR: https://github.com/inovex/illuminatio/pull/34


Crash on Windows Phone in Printing Sample app when you try to print

The app crashes when you try to print with  Printing JS Sample.
Using Microsoft Lumia 650 updated to OS Build 10.0.14393.321 Version 1607.
On debugging it looks like it crashes after the object conforming to HTMLPrintDocumentSource is returned in the then block of MSApp.getHtmlPrintDocumentSourceAsync(document).
Any ideas on what can be the problem ?

I've asked the feature team to investigate.


add stat shim for macos

Here we go. I'm apologizing in advice for the constant torture that Travis will suffer.

Maybe we should set up a docker or sth that allows ppl to build for arbitrary architectures

Maybe we should set up a docker or sth that allows ppl to build for arbitrary architectures

I'm trying something crazy to avoid abusing Travis. Let's hope it works.

What would also help for cross-paltform testing, I think, is https://github.com/rust-lang/miri/issues/1057. Then you could just cross-compile a macOS libstd on a Linux host, and run Miri in macOS target mode. At least that's my hope. ;)

I have a misalignment somewhere. These are the values in hexadecimal of the fields that I'm able to see right now:
                     current            expected
dev:<PHONE_NUMBER>000001<PHONE_NUMBER>000001
mode:<PHONE_NUMBER>032768<PHONE_NUMBER>032768
nlink:<PHONE_NUMBER>000002<PHONE_NUMBER>000002
ino:<PHONE_NUMBER>000003<PHONE_NUMBER>000003
uid:<PHONE_NUMBER>000004<PHONE_NUMBER>000004
gid:<PHONE_NUMBER>000005<PHONE_NUMBER>000005
rdev:<PHONE_NUMBER>000006<PHONE_NUMBER>000006
atime:<PHONE_NUMBER>000000    000000005e029729
atime_nsec: 5e02972900000000<PHONE_NUMBER>fb704b
mtime:<PHONE_NUMBER>000000    000000005e029729
mtime_nsec:<PHONE_NUMBER>000000<PHONE_NUMBER>443ddc
ctime:<PHONE_NUMBER>000000<PHONE_NUMBER>000007
ctime_nsec: 5e02972900000000<PHONE_NUMBER>000008
size:<PHONE_NUMBER>000000<PHONE_NUMBER>00000e
blocks:     0000000a00000000<PHONE_NUMBER>000009
blksize:<PHONE_NUMBER>00000a<PHONE_NUMBER>00000a

@RalfJung I'm very close to finishing the implementation of stat. Sadly the terminfo problem continues :(. Now the test that failed when TERM was set. Fails because it cannot close the file.
It seems I made a mistake long ago when I implemented close. There is no way call close from libstd and actually recover the os error in a single call. I thought that I had solved that by calling File::sync_all. But after checking the implementation of File::sync_all it actually calls fcntl(_, F_FULLFSYNC) which is not what we want (and apparently is not implemented in this platform).
My best guess would be to simply drop the file and then call std::io::Error::last_os_error. But even then that would only work if closing actually fails. Another option would be calling close directly but then we'd need to implement something different for windows. I'll keep excluding TERM for now and think what to do with close.

Let's ignore TERM for now and focus on stat, then.

Should I try to deduplicate the shared code between statx and stat? We could do our own "stat" structure and grow it slowly.

Should I try to deduplicate the shared code between statx and stat? We could do our own "stat" structure and grow it slowly.

That seems reasonable. Do you want to do that in this PR or a follow-up?

I have something ready in local. Let me clean it

LGTM, thanks!
@bors r+

:pushpin: Commit c8190e8de79b22843c4d0976def95aee120f0329 has been approved by RalfJung

:hourglass: Testing commit c8190e8de79b22843c4d0976def95aee120f0329 with merge 0f1dec05dde67d6def6645ba82e8e7de68776766...

:sunny: Test successful - checks-travis, status-appveyor
Approved by: RalfJung
Pushing 0f1dec05dde67d6def6645ba82e8e7de68776766 to master...


PocketCasts - App issue with skip forward back

Can I firstly say that I only discovered this project over the weekend after lots of frustration following buying a car with ID6 and discovering that if I am not on iOS, I'm a second class user as far as BMW is concerned.  They really should just buy this project and release it, although actually, maybe not because then they'll potentially just ruin it too...
I do have one issue and am not 100% certain it's not something on my setup but I have been doing some testing and I think it may be related to how the app surfaces their notifications.
I use PocketCasts extensively as it is the only one that I have found that syncs my Up Next queue across all devices as I use the Android app in the car, Alexa skill at home, and either the iPad iOS app or the Browser client when in the office (back in the mists of time....)
PocketCasts works over Bluetooth in the car and forward/back skip works without any issue but when connecting to the app over AndroidAutoIdrive the buttons don't work.  I tried this in the car but the same behaviour is also seen by opening the app on Android when a PocketCasts episode is playing and in that case, the Play/Pause button is operational but the Forward/Back are not.  I've also tested Amazon Music, Plex Amp & Spotify, and all work with no issues. I tried using both Bluetooth and USB connection and same situation.
The only difference I can see is that the RWD/FWD icons on the PocketCasts notification are different so they may be using a different function, and the skip behaviour is not quite the same.  If there was any way to capture this and make it behave in the same manner as the other apps it would be fantastic as PocketCasts doesn't actually skip back or forward to the next track, it skips a user-defined custom time in the current track (for me 15 sec back, 60 secs forward) which is very useful in a podcast as you may want to replay something without restarting the entire episode.
I've attached a screenshot of the notifications showing all four apps mentioned, along with a screen recording of the issue.
Many thanks for all your work on this project and really hopeful the behaviour in PocketCasts can be changed without much effort.
Screenshot

https://user-images.githubusercontent.com/49922975/126150404-80057cf7-e489-426c-abd5-e5204d0943f4.jpg

Video of issue

https://user-images.githubusercontent.com/49922975/126151315-c7de1ff6-a3ec-4d1b-aebd-9bf91fa4fbf7.mp4

Since I also use PocketCast, maybe I can share a bit more information:
AAI uses an Android API to get that information and controls for music/podcast apps. It seems that PocketCasts does not support the next command (at least so it seems when using Google's Media Controller tester app to debug). It supports the skip command (that also seems to be used when hardware button events are sent to the app). This skipping can also be found in AAI's Actions menu, together with the option for changing the playback speed (which is great!).
Unfortunately the "Up Next" queue works rather unreliable in my experience and currently it is not possible to browse your podcasts (I am hoping for a fix in the next update, if they follow my bug report 😉 ).
➡ For AAI it might be possible to add a logic of mapping the next and previous menu options to other actions, if the PlaybackState.getActions of a MediaController (from the Media app like PocketCasts) shows that ACTION_SKIP_TO_PREVIOUS and ACTION_SKIP_TO_NEXT are not supported.

This is correct, thank you @masteralarm ! The Actions menu contains a set of Skip actions manually added by AAI, in addition to the app-provided skip actions, and long-pressing the dashboard's back/next buttons while holding audio context will also start seeking through the track.
While it does need Notification Access to control any running music app, this is merely coincidentally the same permission to get the underlying MediaController for the music app. However, AAI maps the Back/Next screen commands or buttons to the MediaController's Back/Next commands, and PocketCasts would need to be able to handle them. The same Back/Next command would be sent by the phone's lockscreen view and by Bluetooth inputs.
My preference, of course, would be for it to behave like some audiobook players and natively handle the back/next as a skip command, which would also provide helpful support for Bluetooth headsets. The developers seem receptive, perhaps they might implement it on their side?
Adding special behavior might be possible, but I would have to consider how best to heuristically determine audiobook mode. Spotify at least sets a flag when it is playing an audiobook, but other apps would be trickier. Lack of back/next, but also has a valid maximum duration to ignore radio apps? And how much to skip by, should it be configurable?
I'll most likely consider it for the next version, but hopefully the above workarounds will be helpful until then!
Thank you so much for the kind feedback!

@masteralarm @hufman
Many thanks both. I did suspect it was something to do with it not being a Next-Previous track skip.  It does work from the lock screen or when playing directly through Bluetooth to the car, or actually even from a Huawei band so it must be embedded in BT and know which context to use.  I'm happy to open a bug with PocketCasts so will do that (they recently announced they have been sold through so might have other things to focus on...)
I actually couldn't get the 'hold to seek' working either so will play around a bit more with that.  Not 100% sure what 'while holding audio context' means but will play around with it.  I'm getting the iDrive software in the car updated later this week so will test again at that point.
Browsing the Up Next queue is not a huge issue for me.  I generally have enough 'stuff' in the queue to listen to and just take them in order, although it would be nice to be able to view what is coming next.
On the Action button, I found the Skip actions but for some reason when it is pressed iDrive then reverts back to an earlier menu so if you want to skip back multiples of the set time it gets a bit fiddly.  I tried to set the skip backward on one of the hardware radio buttons but it didn't take so will try that again too.
My fallback on this is to get a small BLE button with forward/back buttons to see if that works so there are plenty of workarounds.  Once again, many thanks to you both and for all the hard work which has gone into the app.
BTW, I'm not a developer but I do have a Business Analyst/Product Owner background so if there is anything I can do to help with testing or defining logic I'm happy to help where I can.
Thanks again.

I've sent an email to PocketCasts support with a request to replicate the Skip functionality onto the MediaController Back/Next functions.  I also sent them a link to this issue so they have more context.
In terms of the audiobook mode and the flag which Spotify sets, is it reasonable to make an assumption that in the case of a Podcast app, all items should be treated as an audiobook rather than a media (song) track?

Thank you for the update!
If I force the app to send the skipToNext() command, even if the music app doesn't claim to support it, then PocketCasts does in fact jump forward. Let me know if they seem receptive to adding these flags to the PlaybackState's Actions, I'd rather not need to add special case logic to force enable it.
I pushed a change to the Actions window to not close when certain app actions are clicked (such as this app's Jump commands and Change Speed). I do see that the list doesn't redraw, so the Change Speed doesn't update until you close and go back in, so I'll figure that out next.

I've pushed up the fix to enable the Actions menu to redraw itself, which is helpful for the Change Speed action.
As another helpful tip, if you have the Actions toolbar button selected and then save a dashboard bookmark button, you can easily get back to the Actions menu at least, as a substitute for the inability to directly save a shortcut to an action.
The Now Playing queue is subject to the music app, and would need to be provided by PocketCasts. This is separate from Browsing: Browse support is definitely impossible until the app allows AAI to start it (through the MediaBrowserService onGetRoot functionality, as the keyword to use in a feature request 🙂 )
I think your question proposes that, if an app (or Spotify mode) is known to be an Audiobook or Podcast app, then any music playing through it should be treated with this seeking behavior instead of changing tracks, which I agree with. However, it's hard to guess the Audiobook or Podcast app category as the starting point (see the Radio App heuristic, for example), so I was imagining how to determine this Audiobook mode from just the current playback state.
One possible workaround is to detect an app-provided jump back/next action, and use those to provide any missing back/next functionality, which would benefit PocketCasts and any other apps that assume that Android Auto is always showing these custom actions on screen. I suspect that's the main reason that they don't declare back/next support, to hide these superfluous icons in Android Auto and only show the skip action icons.
Perhaps I could heuristically map other Custom Actions to regular Actions as well: I know of my favorite music apps has a specific Shuffle action instead of implementing the normal Shuffle API.

@hufman Really appreciate all the effort you are putting into this one..!
I got to test the Actions menu staying in focus yesterday rather than reverting to the main menu and that worked perfectly.  I was only doing a short drive so didn't get to see if it stayed like that indefinitely but it looked like it was going to.  The only issue with remaining on that screen is you can't see time elapsed or remaining on the item being played but I definitely think that's worth dealing with to have the skip function easily to hand.  I also thought about reducing the steps and saved the Actions menu to one of the hardware buttons so appreciate that as a suggestion too.
I see the issue on defining what is an Audiobook or Podcast type app as you'd end up maintaining an ever-expanding list of names as new apps are released, or even get renamed.  I was having a look there as I thought that there must be a Category somewhere to figure out what an app is but even on the Play Store it doesn't seem to supply this, never mind on the device.  Pocketcasts (and all of the other podcast apps I looked at are classified as 'News & Magazines', Audible/Libby/Borrowbox are all 'Books & Reference'.  As an aside, my code reading skills are very basic but I see that one of the Radio App heuristic keywords is "cast" so is PocketCasts actually being categorised as a Radio app?  I'm sure it makes no difference but was just interesting to see it.
Providing any custom back/next actions surfaced by the app mapped to Playbackstate.ACTION_SKIP_TO_PREVIOUS / Playbackstate.ACTION_SKIP_TO_NEXT sounds like a possible workaround but I don't want to be putting extra work on after you've made the flow a bit easier already..!!  As an update, no response yet from PocketCast support to my email so I don't think that will be a quick change on their side to declare those items.
Thanks again..!!!

I'm happy to help! These changes have been minor but still helpful! If I do the substitute action workaround, I'll probably work on that after this next release.
You read the code correctly, PocketCasts is classified as a Radio app. The only thing this changes is that it shows up on the Radio section of an ID5 car, which I think is a good place for an episodic news app. However, since it only shows up after you play the app on your phone, it probably doesn't matter too much :joy:

I just pushed up a new feature to heuristically map these skip CustomActions to provide the back/next option in the car, check it out!

Hi and apologies for the delay in responding.  I got a chance to try the new version briefly last night and it seems to be working perfectly.  Skip fwd/back button on the car are now acting similar to a BT button or the on-screen buttons in the app.  I'll give it a proper test over the weekend when I will be on a long drive but so far, all good news.  Many thanks for getting this in there.  The BT button in the car was workable but fiddly so fantastic to be able to get back to stock buttons...
Funny story though. I installed the new app version and nothing would play in PocketCasts.  I uninstalled AAiDrive, cleared cache and settings in PocketCasts and nothing.  Hitting play would show cover art in the car and then back out every time.  Was recording a video clip to raise a bug with you and then noticed that even when not connected to BT it was the same issue so traced it back to the fact that I upgraded to Android 11 last weekend and PocketCasts had lost access to the device storage.  Once I cleared all downloaded episodes and re-downloaded it was working as expected...  Lesson learned (again!!) that the obvious reason for a fault is not always the correct one......
Thanks again for your help.

Excellent! I'm glad it's working well, it feels delightfully seamless now :)
Please feel free to reach out to the app developer to allow AAIdrive to launch Pocket Casts through their MediaBrowserService! I'd love to add more supported apps to the list!


autest "list" subcommand doesn't seem to be present

The CLI documentation says that there is a "list" command to autest that will simply discover and list the tests. However, experimentally, autest always seems to execute the "run" command.
$ ./autest.sh --ats-bin=/opt/ats/bin list
Python 3.6 or newer detected!
python3-dev/devel detected!
pipenv detected!
Using the pre-existing virtual environment.
Environment config finished. Running AuTest...
usage: autest [-h] {run,list} ...
autest: error: unrecognized arguments: list

Notice the "pipenv run autest" doesn't use the "run" subcommand.
$ bash -x ./autest.sh --ats-bin=/opt/ats/bin --filter=polite_hook_wait
+ ./prepare_proxy_verifier.sh
++ dirname ./autest.sh
+ pushd .
++ pwd
+ export PYTHONPATH=/Users/jpeach/src/trafficserver/tests:
+ PYTHONPATH=/Users/jpeach/src/trafficserver/tests:
+ ./test-env-check.sh
Python 3.6 or newer detected!
python3-dev/devel detected!
pipenv detected!
Using the pre-existing virtual environment.
+ echo 'Environment config finished. Running AuTest...'
Environment config finished. Running AuTest...
+ pipenv run autest -D gold_tests --ats-bin=/opt/ats/bin --filter=polite_hook_wait
Running Test polite_hook_wait:... Passed

Generating Report: --------------
Total of 1 test
  Unknown: 0
  Exception: 0
  Failed: 0
  Warning: 0
  Skipped: 0
  Passed: 1
+ ret=0
+ popd
+ exit 0

cc @dragon512


Thanks again for this great theme. code blocks are a little awkard on desktop.

You have innovated a lot of good things with this theme, very good attention to detail. Many were used in abridge or inspiration for a similar feature.
One thing I noticed while browsing the demo site is the code blocks don't have a very good way to scroll horizontally, maybe not an issue on mobile since you can use your finger to pan the frame, but its awkward on desktop.
In abridge I have a horizontal scroll bar for code blocks, but I am also considering implementing a button to expand the view to fullscreen, I found one such example here : https://dev.to/prorishi/your-static-site-to-a-pwa-24dl (notice the button in the top right corner of code blocks)
I am thinking of implementing something similar, especially if I can accomplish it without js.
Also somebody recently suggested styling the scrollbars in chrome, with a property I had not even heard of (mostly because I use Firefox) here was the issue: https://github.com/Jieiku/abridge/issues/136 (implementing the feature was not too difficult)

Hey Jake!
Thanks for your kind comments. You already know Abridge has been a source of inspiration for this theme as well. I'm glad we can both help each other :)
You're right about the horizontal scrolling not being too obvious. It should be possible with Shift + Scroll, though. It's standard OS behaviour in Windows and macOS, but not many know about this.
I hid the scrollbars because I don't like them for codeblocks, but I think this is something that should follow user preference, so I'll add them back (and hide them for myself through the OS settings).
Regarding the button to expand codeblocks, I think it'll be hard without JavaScript, unless you use a shortcode to build the codeblock. That way you can create a switcher for it and change its display through CSS when activated (I use this toggle function for the multilingual quote, image toggler and the spoiler shortcodes).
Thanks for sharing the Chrome styling info! I will definitely look into it!

Implemented both suggestions (dark/light scrollbars & unhiding them) on commits above.
Like you, I opted not to modify the logic of the JS theme switcher to have the scrollbars instantly react to the theme changes (https://stackoverflow.com/a/66097469); it feels kind of dirty forcing a reflow and adding JS complexity (and bytes) for this minor benefit.


since 20.09, breeze-qt is broken, breaking KGPG, KMail, Kontact ...

Describe the bug
Since 20.09, when i try to use KGPG (nix-shell -p kgpg), KMail (nix-shell -p kmail) or Kontact (nix-shell -p kontact)
I get
error: Package ‘breeze-qt5-5.18.5’ in /nix/store/fvik248l0i6x4y1kln813fqhh7cdj4cq-nixos-20.09.1500.edb26126d98/nixos/pkgs/desktops/plasma-5/default.nix:96 is marked as broken, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

(use '--show-trace' to show detailed location information)

To Reproduce
Steps to reproduce the behavior:

nix-shell -p kgpg

Expected behavior
Applications should work
Additional context
I don't know if i should report in new issue (like this) or in this issue https://github.com/NixOS/nixpkgs/issues/102340
Notify maintainers

Metadata

system: "x86_64-linux"
host os: Linux 5.4.72, NixOS, 20.09.1500.edb26126d98 (Nightingale)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.7
channels(pinage404): "home-manager-20.09, nixos-20.09.1500.edb26126d98, nixos-unstable-21.03pre249162.1dc37370c48"
channels(root): "nixos-20.09.1500.edb26126d98"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:

Fixed with https://github.com/NixOS/nixpkgs/pull/101369

I made #102347 fix this issue.

This at least builds now #102347
I was able to launch kmail. But I don't have plasma running, so it was still having some issues


Code samples

Similar to https://altair-viz.github.io/gallery/simple_bar_chart.html or Observable.

Related: #182


docs: Add example with hover path and search box

point paths on hover
search box to filter by country name

Relates to #2980
TODO:

Investigate and potentially correct North Korea and South Korea data in vega_datasets' gapminder json, which appears to have swapped labels.

Thanks for contributing to Altair!
Please follow these guidelines when submitting your PR:

Describe the purpose of the changes in PR, so that it is easy to understand the implication of the suggested changes.

Here is a helpful article about writing effective PR descriptions.

Include unit tests and documentation for new features
Ensure that the title is a concise semantic commit message (e.g. "feat: Add embed_options to charts").

Append ! if the change is breaking (e.g. "fix!: Raise error when embed_options is None")

Thanks for this PR! Looks great, but a little bit big for my screen and adoption in the example page.
Can you add nearest=True within the following line?:
hover = alt.selection_point(on='mouseover', fields=['country'], empty=False)

Another thing, it is recommended to use the approach as is documented in https://github.com/vega/altair/blob/main/CONTRIBUTING.md#adding-examples, especially:

Once you have an example you would like to add there are a few guide lines to follow. Every example should:

have a arguments_syntax and methods_syntax implementation. Each implementation must be saved as a stand alone script in the tests/examples_arguments_syntax and tests/examples_methods_syntax directories.

Thanks again for this PR and hopefully you are able to improve this PR using these these suggestions.

The addition of nearest=True adds a nice visual effect of keeping one path visible at all times once the mouse enters the chart. This serves as a reminder that there is a time element that can be interacted with, not only a cross-section of countries. Without this, a user may not realize there is the option to see both panel and time-series data at the same time, unless they happen to mouse over directly on a mark.
One concern about adding nearest=True is that it somewhat alters the experience of mousing over a country and then trying to scroll through the year slider while keeping in focus that country's path over time, as the movement of the mouse toward the slider tends to trigger another country's path to become highlighted as it passes near to another country.
Any thoughts on this? One thought is to keep nearest as False but then to have one country's path shown in the chart's initial state by default. I'm not sure how to implement that, though.

Good point. Maybe like this?
hover = alt.selection_point(on='click', fields=['country'], empty=False, value='Egypt')

Its not really a hover anymore like this though..

Thanks for all the feedback @mattijn and @joelostblom. I've incorporated as best I could, while also fixing an issue with hover lines connecting out of sequential order, switched mark_line to mark_trail (which I think gives an intuitive sense of the sequential order) and made some other stylistic modifications, such as setting the country label on hover to appear above the point with the largest y-value for the country. I wasn't sure if there was a consensus about adding nearest=True but chose to leave it out as it seemed to make the hovering experience a bit too bouncy. But I'm happy to add it back in if that's the consensus. I will add the other syntax once the iteration on this vesion is complete.
@joelostblom could you check the behavior when the enter key is hit on the search box? I'm not sure what's expected but it seems to clear the visualization when I tested it in an interactive window in vscode. Also on the search box, do there happen to be any configuration options (autocomplete?) for the search box that are worth demonstrating here, since I think it'll be its first appearance in an example?

I see above "Some checks were not successful" with "lint / ruff-mypy (pull_request)" failing. Is there something I should do to fix that?

I see above "Some checks were not successful" with "lint / ruff-mypy (pull_request)" failing. Is there something I should do to fix that?

Will be fixed once https://github.com/vega/altair/pull/3463 is merged


Rephrase Clustering tutorial

Rephrase many sections of the clustering tutorial and add links and references suitably.
ping @khanteymoori

ping @bgruening


Fills (all my trades / fills for specific order)

As a user of the console I would like to see all my fills, ideally this would be for all my trades AND for a specific order.
### Dependancies:
We need to check with the data-node team if data-node has a fill by party id API? (workaround could be to get all then filter out)

MVP - a fills table and we can iterate over it in  he future

There's an initial design here which keeps it simple with just one value per cell:
https://www.figma.com/file/K49Nx7XfocShhHcwwQzQkm/Console-V2?node-id=1616%3A26466

And a slightly more complicated version here which does some multi-cell stuff, if any of that is possible yet…?
https://www.figma.com/file/K49Nx7XfocShhHcwwQzQkm/Console-V2?node-id=1562%3A28772

@PeteWilliams Definitely keeping it simple for now with a single value for cell. We have to also get the data side of things (including pagination) working.


Fix CraftBukkitFacet on 1.20.2

In 1.20.2, send(Packet) was moved from ServerGamePacketListenerImpl to its new superclass ServerCommonPacketListenerImpl.
Because getDeclaredMethods doesn't return methods defined in superclasses, CraftBukkitFacet didn't work at all.
Changed MinecraftReflection#searchMethod to use getMethods instead of getDeclaredMethods.

I don't think this is a correct fix. getMethods only return the public methods which might break other things. I think a better fix would be to change the class that is being used to find the method to the common packet listener.

I don't think this is a correct fix. getMethods only return the public methods which might break other things. I think a better fix would be to change the class that is being used to find the method to the common packet listener.

Replaced the fix with your suggested one: If ServerCommonPacketListenerImpl exists, the method is searched in that class instead.


YouTube HTTPS issue

I thought I'd mention a minor glitch I found in your javascript. I bought a site with your js in it, which lead me here.
nivo-lightbox.min.js
You had:
... if(o[1]=="youtu"){a="http://www.youtube.com/embed ...
this section of code converts the short link into an embed link. While this works, it has a minor issue of ONLY working on http sites, as the protocall is hard coded.
Changing it to:
if(o[1]=="youtu"){a="https://www.youtube.com/embed
allows it to work on both http and https sites, as https content loads correctly over http, however the inverse is not true on all browsers.
There are two instances of the issue in your javascript.

Looks like there is already a pull request for this:
https://github.com/gilbitron/Nivo-Lightbox/pull/58/commits/752fc562142fb7661b4817523fd2275e9e39de12

Yeah, I submitted that pull request a while ago. Is there anything I have to do on my end to push it through?

Although, I might have to submit it again, the fix wasn't included in the minified version of the JS.

hello the error with this is on the lines (197,201,205), this line have burned:
http://www. should be //www., for keep the https or http on site working

Yes, that is what the pull request changes.

This fix was merged in PR https://github.com/Codeinwp/Nivo-Lightbox-jQuery/pull/58.


Too many requests on whole  block of ipv6 proxies

[x] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2019.11.28
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

I have about 4 000 request per day to Youtube.com and to avoid 429 I used to ipv4 proxies but it's too expensive so that I bought 100 ipv6 proxies and after 20 minutes of using it all 100 ipv6 proxy were banned with error "429 too many requests". When I use it to connect to youtube via browser it asks for captcha(not image but "click to verify that you are not a robot"). I completed this captcha, copied cookies then I passed cookies in youtube-dl and it worked but only for 10 minutes. How can I avoid ban of my ipv6 proxies by youtube? Maybe there some cookie generators?

@remitamine Give not "duplicate" question

@remitamine


See more needs to be more visible

Hello @codervivek5 please assign this issue to me under gssoc 24


DCOS_OSS-4222: Show cosmos errors

Properly handle Cosmos errors.
Closes: DCOS_OSS-4222
Testing

Install something from the Catalog i.e. Kafka
Try editing the service
It should open the Editing form
Block /cosmos/service/describe URL in Chrome inspector
Refresh the Form
It now should show an error

Without the fix error would not appear. UI would keep showing loading bubble.

Trade-offs
I added some markup to fix the styling of the message. Otherwise it would be black on black and left-aligned.
Screenshots

@DanielMSchmidt there's one :)

:tada: This PR is included in version 2.25.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Board Review: Introducing ADP Data Management client library

Thank you for starting the process for approval of the client library for your Azure service.  Thorough review of your client library ensures that your APIs are consistent with the guidelines and the consumers of your client library have a consistently good experience when using Azure.
The Architecture Board reviews Track 2 libraries only. If your library does not meet this requirement, please reach out to Architecture Board before creating the issue.
Please reference our review process guidelines to understand what is being asked for in the issue template.
Before submitting, ensure you adjust the title of the issue appropriately.
Note that the required material must be included before a meeting can be scheduled.
Contacts and Timeline

Service team responsible for the client library:
Main contacts:
Expected stable release date for this library: NA

About the Service

Link to documentation introducing/describing the service: Architectural Overview
Link to the service REST APIs: Find the references to new ADP APIs here
Is the goal to release a Public Preview, Private Preview, or GA? Public Preview

About the client library

Name of client library: Adp.DataManagement
Link to library reference documentation:
Is there an existing SDK library? If yes, provide link: No, we do generate SDK client for csharp only using the Autorest at build time. This SDK with convenient API is used internally by the backend services and not in use outside of ADP yet.

Step 1: Champion Scenarios
Ultimately the library should be easy to use for common scenarios that developers want. Consider the following questions when thinking about champion scenarios:

Data Ingestion

Data Management (measurements, data-streams, classifications, etc.)

What is the app the developer is building that uses your client library? The client libraries will be used by partners and customers as convenient API for implementing data ingestion and data management functionality. The client libraries will also be used by UI (portal) developers.

Who is the end-user of the application (the developer's customer)? Partners and large enterprise companies

What features of the API need to be explained in the sample so that someone could use this API in real app?

How does the authentication workflow look? Default Azure authentication.

See Champion Scenario section here.
Code is appreciated but optional. Pseudocode is fine.

Champion scenario 1

Link to library’s sample folder:

Champion scenario 2

Link to library’s sample folder:

…
Champion scenario n

Link to library’s sample folder:

Step 2: Quickstart Samples (Optional)
Include samples demonstrating how to consume the client library if available:

Create a new resource
Read the resource
Modify the resource
Delete the resource
Error handling
Handling race conditions/concurrency issues

Thank you for your submission!

Review drafted for Dec 7th from 2:05PM - 4PM PST.

@imakhlin Please add any links to API Views or samples if available.

Scheduled for Dec 7th from 2:05PM - 4PM PST

@imakhlin Before the review session, the architect team will you to add some materials to this GitHub Issue. You can find a list of what materials are needed in our policies docs in the "Introductory Session" section, under "What to bring". Please let me know if you have any questions about the materials or need assistance in creating them. Thanks

Rescheduling to Jan 10th from 9:05AM - 11AM PST.

The generated JS RLC api view for ADP https://apiview.dev/Assemblies/Review/1225057b3a4043cbae9e9765fd9c6fb3

The generated CSharp SDK:

PR: https://github.com/Azure/azure-sdk-for-net-pr/pull/1806
API View: https://apiview.dev/Assemblies/Review/ab2cf057835f41bcb4663414be5a86b9

Python:

https://apiview.dev/Assemblies/Review/c17ef0d977484bc1ad7d69acb042b14a

@imakhlin Looks like the only tier 1 language were missing an API View for is Java. It would be really helpful if you could get that added to the issue ASAP so the architects can review it before the meeting. Thank you.

Java:
PR: https://github.com/Azure/azure-sdk-for-java-pr/pull/1388
API View: https://apiview.dev/Assemblies/Review/3b77bee6b3b940ad9c85df75cee51df1

Recording (MS INTERNAL ONLY)


Flight Create Order Example is broken

When executing the example there is an error during price confirmation. The result of offer search seems to be invalid as parameter for price confirmation.

Response(statusCode=400, parsed=true, result={"errors":[{"code":32171,"title":"MANDATORY DATA MISSING","detail":"type needed","source":{"pointer":"/data/flightOffers[0]/price/additionalServices[0]/type"},"status":400}]}, data=null, warnings=null, body={"errors":[{"code":32171,"title":"MANDATORY DATA MISSING","detail":"type needed","source":{"pointer":"/data/flightOffers[0]/price/additionalServices[0]/type"},"status":400}]}, request=Request(verb=POST, scheme=https, host=test.api.amadeus.com, path=/v1/shopping/flight-offers/pricing, params=null, body={"data":{"type":"flight-offers-pricing","flightOffers":[{"type":"flight-offer","id":"2","source":"GDS","instantTicketingRequired":false,"disablePricing":false,"nonHomogeneous":false,"oneWay":false,"paymentCardRequired":false,"lastTicketingDate":"2022-07-08","numberOfBookableSeats":9,"itineraries":[{"duration":"PT12H50M","segments":[{"departure":{"iataCode":"ORY","terminal":"1","at":"2022-11-01T15:20:00"},"arrival":{"iataCode":"LIS","terminal":"1","at":"2022-11-01T16:50:00"},"carrierCode":"TP","number":"439","aircraft":{"code":"32Q"},"operating":{"carrierCode":"TP"},"duration":"PT2H30M","id":"3","numberOfStops":0,"blacklistedInEU":false},{"departure":{"iataCode":"LIS","terminal":"1","at":"2022-11-01T18:50:00"},"arrival":{"iataCode":"EWR","terminal":"B","at":"2022-11-01T23:10:00"},"carrierCode":"TP","number":"203","aircraft":{"code":"32Q"},"operating":{"carrierCode":"TP"},"duration":"PT8H20M","id":"4","numberOfStops":0,"blacklistedInEU":false}]},{"duration":"PT10H30M","segments":[{"departure":{"iataCode":"JFK","terminal":"1","at":"2022-11-08T22:00:00"},"arrival":{"iataCode":"LIS","terminal":"1","at":"2022-11-09T09:40:00"},"carrierCode":"TP","number":"210","aircraft":{"code":"339"},"operating":{"carrierCode":"TP"},"duration":"PT6H40M","id":"5","numberOfStops":0,"blacklistedInEU":false},{"departure":{"iataCode":"LIS","terminal":"1","at":"2022-11-09T11:00:00"},"arrival":{"iataCode":"ORY","terminal":"1","at":"2022-11-09T14:30:00"},"carrierCode":"TP","number":"442","aircraft":{"code":"32Q"},"operating":{"carrierCode":"TP"},"duration":"PT2H30M","id":"6","numberOfStops":0,"blacklistedInEU":false}]}],"price":{"currency":"EUR","total":"381.57","base":"126.00","fees":[{"amount":"0.00","type":"SUPPLIER"},{"amount":"0.00","type":"TICKETING"}],"grandTotal":"381.57","additionalServices":[{"amount":"150.00"}]},"pricingOptions":{"includedCheckedBagsOnly":false,"fareType":["PUBLISHED"],"refundableFare":false,"noRestrictionFare":false,"noPenaltyFare":false},"validatingAirlineCodes":["TP"],"travelerPricings":[{"travelerId":"1","fareOption":"STANDARD","travelerType":"ADULT","price":{"currency":"EUR","total":"381.57","base":"126.00"},"fareDetailsBySegment":[{"segmentId":"3","cabin":"ECONOMY","fareBasis":"TFRDSI8D","class":"T","isAllotment":false,"includedCheckedBags":{"quantity":0,"weight":0}},{"segmentId":"4","cabin":"ECONOMY","fareBasis":"TFRDSI8D","brandedFare":"DISCOUNT","class":"T","isAllotment":false,"includedCheckedBags":{"quantity":0,"weight":0}},{"segmentId":"5","cabin":"ECONOMY","fareBasis":"TFRDSI8D","class":"T","isAllotment":false,"includedCheckedBags":{"quantity":0,"weight":0}},{"segmentId":"6","cabin":"ECONOMY","fareBasis":"TFRDSI8D","brandedFare":"DISCOUNT","class":"T","isAllotment":false,"includedCheckedBags":{"quantity":0,"weight":0}}]}]}]}}, bearerToken=Bearer U1nStdjPbUwXT474RGcbUAGjCtEJ, clientVersion=6.1.0, languageVersion=17.0.3, appId=null, appVersion=null, ssl=true, port=443, headers={Authorization=Bearer U1nStdjPbUwXT474RGcbUAGjCtEJ, X-HTTP-Method-Override=GET, Accept=application/json, application/vnd.amadeus+json, User-Agent=amadeus-java/6.1.0 java/17.0.3, Content-Type=application/vnd.amadeus+json}, uri=https://test.api.amadeus.com:443/v1/shopping/flight-offers/pricing?, connection=sun.net.www.protocol.https.DelegateHttpsURLConnection:https://test.api.amadeus.com:443/v1/shopping/flight-offers/pricing?))

Hello @asbachb thanks for the reporting, which Language SDK you have tried?

@minjikarin java-sdk.
It seems that it does not fail all the time. But some responses from OfferSearch seem not compatible with price search.

@asbachb , thanks! yes, it is possible that when pricing, the result from offersearch is not available so it fails. meaning we won't be able to proceed to book, need to go back to the offersearch to choose other flight to proceed pricing & booking. :)

@minjikarin I need to double check the reposne. But when I remember there as a price in that offer which produces a fail on pricing side.

@asbachb , yes the pricing step is the validation step as the result from flight offer search is Cache data. please check and let us know via discord https://discord.gg/UjXwf4F. i believe this is not a concern/issue from SDK side, so we can close the issue :)

Discord link has been updated, sorry for confusion


enable ipvs and strict arp mode in kube-proxy

Is your feature request related to a problem? Please describe.
Apparently metallb requires ipvs and strict arp mode, if several network interfaces per node are involved. See https://github.com/metallb/metallb/issues/610 . It would be very helpful if these features could be enabled in the Rancher web gui without editing the cluster.yaml file later.
Describe alternatives you've considered
It is possible to enable ipvs and strict arp mode in the editor, but this is pretty error-prone. There is a high risk to brick the cluster.
--- cluster.orig.yaml	2021-11-09 15:55:52.566219531 +0100
+++ cluster.yaml	2021-11-09 15:56:23.006464661 +0100
@@ -87,7 +87,10 @@
           /usr/lib/x86_64-linux-gnu/libopeniscsiusr.so.0.2.0:/usr/lib/libopeniscsiusr.so.0.2.0
       fail_swap_on: false
       generate_serving_certificate: false
-    kubeproxy: {}
+    kubeproxy:
+      extra_args:
+        ipvs-strict-arp: 'true'
+        proxy-mode: ipvs
     scheduler: {}
   ssh_agent_auth: false
   upgrade_strategy:

I think this would be a useful extension. Maybe it would be possible to have dedicated config pages for kubelet, kubeproxy and others to fine-tune these components in the Web GUI, without editing the cluster.yaml file.


Add support for local test-requirements.txt file

This is to allow amazon.aws jobs to function.  However, this highlights
the needs of per collection test images / global constraint files.
Something I hopefully will work on shortly.
Signed-off-by: Paul Belanger<EMAIL_ADDRESS>

recheck


test(docs): add tests for examples in website hero and repo README

This PR renames the website tests to docs tests and adds more tests for examples in docs.

Wow, it seems the new test to have suddenly discovered an error in the README example!
$ cargo run -p prqlc compile
   Compiling prql-compiler v0.8.1 (/workspaces/prql/prql-compiler)
   Compiling prqlc v0.8.1 (/workspaces/prql/prql-compiler/prqlc)
    Finished dev [unoptimized + debuginfo] target(s) in 41.87s
     Running `target/debug/prqlc compile`
Enter PRQL, then press ctrl-d to compile:

from employees
filter country == "USA"                       # Each line transforms the previous result
aggregate {                                   # `aggregate` reduces each column to a value
  max salary,
  min salary,
  count,                                      # Trailing commas are allowed
}
Error:
   ╭─[Root.prql:6:3]
   │
 6 │   count,                                      # Trailing commas are allowed
   │   ──┬──
   │     ╰──── function std.aggregate, param `columns` expected type `scalar`, but found type `array -> int`
   │
   │ Help: Have you forgotten an argument to function std.count?
   │
   │ Note: Type `scalar` expands to `int || float || bool || text || date || time || timestamp || null`
───╯

@aljazerzen Any thoughts?

Yeah, I changed count to require the non_null argument. I don't like it and it breaks a lot of queries, so I intend to revert that before release.

It seems that the default argument used to be set to *.
Is there any reason why this cannot be restored? (Just curious)
https://github.com/PRQL/prql/blob/26cd9af589e4ce21ddf9700ecfbeeabc50f0f878/prql-compiler/src/sql/std_impl.prql#L7

I needed it like that because I was changing how types work, and when a function is deemed a window function. It's an implementation thing.


Skip activation of port as its controller desired to be down/absent

The test test_create_down_linux_bridge fails randomly, the root cause is that when the controller desires to be down or absent, we should not activate the port connection again, because the activation of the port will risk making its controller activate again.

I running the test test_create_down_linux_bridge 200 times, but not found any random failure.

/retest


Backend: Write resolver function to create a new user

PR : https://github.com/HashemE1999/locus/pull/9


Links from references to citations

This will help see how and where the citation is being cited.

This is a bit of overkill. Not seeing a need.


🐛 Fix UniFi related queries

Hi team,
Based on the email chain:
From: @GordonBeeming
Date: Tuesday, 16 January 2024 at 16:36
To: @AttackOnMorty
Cc: @adamcogan, @jimmidier, @william-liebenberg
Subject: Sophie Bot - Seems to be broken at the moment
Describe the Bug

The two queries below are not working.

When asking “Who is in the Brisbane office?”, should return people working in the Brisbane office
When asking “Who is in the Brisbane office today?” (when asking time range), it should return the people connected to the WiFi today

Tasks

[x] Investigate
[x] Fix

Acceptance Criteria

[x] Meets Definition of Done

Screenshots

Figure: Should return people works in Brisbane

Figure: Should return people in the office today
Thanks!

✅ Done

For the query - "who is in the Brisbane office?", the bug is being fixed.

For the query - "who is in the Brisbane office now?", it does query the data with data range. The problem is the response message for no one is found. With "at this time", it seems to check if people are in the office now.

So I changed the response message to reduce misunderstanding.
From
I couldn't find anyone in the Brisbane office at this time.
To
I couldn't find anyone in the Brisbane office.


[Mobile]

I use latest flutter_quill in my flutter app.
When i open saved document then it show blank when any . exist between two character or number without space.
please check this using below example document
[{"insert":"2.23\n"}]  or [{"insert":"abc.efg\n"}]  or [{"insert":"abc.23\n"}]
I use this flutter_quill: ^2.4.0

Why this is closed?


What is the source for media files in Trakt menus?

Hi,
@elgatito
A question about the Trakt menus and the media files that are displayed (posters, landscape images, fanarts...)
Where are they taken from?
Because I have posters displayed that are my least favorite, and I tried to search on several websites such as Trakt, TMDB, IMDB, TVDB, Fanart.tv and none of them show these posters there. So I'm not clear on what basis they are taken?
And I didn't find a setting for it in the settings except for the option to also use Fanart.tv for images.
Thanks.

as i can see in code it uses TMDB by default and fanart.tv if you enabled it:
https://github.com/elgatito/elementum/blob/636ec924ce75d69eefd176ee81f9f5855c6ce2d3/tmdb/show.go#L43
https://github.com/elgatito/elementum/blob/636ec924ce75d69eefd176ee81f9f5855c6ce2d3/fanart/fanart.go
for TMDB you can construct URL from link 1 plus https://github.com/elgatito/elementum/blob/master/tmdb/tmdb.go#L390
it will be like https://api.themoviedb.org/3/tv/95557/images - then you need API key to see tmdb answer, so you can check what images tmdb provides via API.

@antonsoroko
Just for example: Movie - Coco 2017
This is the query results of (below):
https://api.themoviedb.org/3/movie/354912/images?api_key=.....
But Elementum choose this poster:
9cmndOTv1sOFLuN0Gtv6VZ1cGrY
Which is not event the first result under the "posters" key, so my question how does it choose which image to take?
I think you should sort it by "vote_average"
{"backdrops":[{"aspect_ratio":1.778,"height":2160,"iso_639_1":null,"file_path":"/askg3SMvhqEl4OL52YuvdtY40Yb.jpg","vote_average":5.62,"vote_count":22,"width":3840},{"aspect_ratio":1.778,"height":2160,"iso_639_1":null,"file_path":"/bnkf3C2ZMF6i7MLOemWqEHDMqfh.jpg","vote_average":5.582,"vote_count":9,"width":3840},{"aspect_ratio":1.778,"height":1843,"iso_639_1":null,"file_path":"/gKZAQ3b9yApxFunUBlS5Mp74QG4.jpg","vote_average":5.516,"vote_count":16,"width":3276},{"aspect_ratio":1.778,"height":1080,"iso_639_1":null,"file_path":"/g7CHF8gTLGooTbP4GznIGwaqAGL.jpg","vote_average":5.456,"vote_count":7,"width":1920},{"aspect_ratio":1.778,"height":1080,"iso_639_1":null,"file_path":"/gqk6fLXiJnuHRF3IC2sNAfnRJo6.jpg","vote_average":5.392,"vote_count":8,"width":1920},{"aspect_ratio":1.778,"height":2160,"iso_639_1":null,"file_path":"/pDUsu66LTidULuDQWlj3yOquNtL.jpg","vote_average":5.392,"vote_count":8,"width":3840},{"aspect_ratio":1.778,"height":2160,"iso_639_1":null,"file_path":"/lxfCCC41yC4KEHBYtB7E0YsWA9c.jpg","vote_average":5.39,"vote_count":6,"width":3840},{"aspect_ratio":1.778,"height":2160,"iso_639_1":null,"file_path":"/wSJHuSD7ojzoXifWjOAjxV7UpEL.jpg","vote_average":5.39,"vote_count":6,"width":3840},{"aspect_ratio":1.778,"height":1080,"iso_639_1":null,"file_path":"/u018zss2PloCHqXgrvKMsDDuVDd.jpg","vote_average":5.384,"vote_count":2,"width":1920},{"aspect_ratio":1.778,"height":2160,"iso_639_1":"en","file_path":"/d2dzvrP4H9CzedYTPbpJhkev66A.jpg","vote_average":5.312,"vote_count":1,"width":3840},{"aspect_ratio":1.778,"height":2160,"iso_639_1":"en","file_path":"/cy09IbbXk1gcpD1PqYLQeRVIhE6.jpg","vote_average":5.312,"vote_count":1,"width":3840},{"aspect_ratio":1.778,"height":1080,"iso_639_1":null,"file_path":"/hWGEEuYpT0KnjEVRUYmNijjQ6G8.jpg","vote_average":5.246,"vote_count":2,"width":1920},{"aspect_ratio":1.778,"height":720,"iso_639_1":"en","file_path":"/dV8LIdxBHZHfBQp1uMuzF749qiK.jpg","vote_average":5.246,"vote_count":2,"width":1280},{"aspect_ratio":1.778,"height":1080,"iso_639_1":null,"file_path":"/ekGnVD29gg7T4BMbTiBur6pO4Gz.jpg","vote_average":5.172,"vote_count":1,"width":1920},{"aspect_ratio":1.778,"height":720,"iso_639_1":null,"file_path":"/v1rUdgTXJ5Klx4WEfg3xhccUViY.jpg","vote_average":5.172,"vote_count":1,"width":1280},{"aspect_ratio":1.778,"height":1080,"iso_639_1":"es","file_path":"/jV57KgLOd68OahYgmm2MOdjxcnX.jpg","vote_average":5.172,"vote_count":1,"width":1920},{"aspect_ratio":1.778,"height":1080,"iso_639_1":"en","file_path":"/pHH20NEwIPzdWstsVosPtOQvJXx.jpg","vote_average":5.172,"vote_count":1,"width":1920},{"aspect_ratio":1.778,"height":2160,"iso_639_1":"en","file_path":"/sKRnZJ9EDH22o4OvJ7erOmQhQy4.jpg","vote_average":5.172,"vote_count":1,"width":3840},{"aspect_ratio":1.778,"height":2160,"iso_639_1":null,"file_path":"/lAbAlXWAoOQ9gOZ21P2TTwLhtS8.jpg","vote_average":5.172,"vote_count":1,"width":3840},{"aspect_ratio":1.778,"height":2160,"iso_639_1":null,"file_path":"/4AwT5SCq8Pww71Ai0FIpIDZFCMS.jpg","vote_average":5.044,"vote_count":3,"width":3840},{"aspect_ratio":1.778,"height":2160,"iso_639_1":"pt","file_path":"/6ch101aK2f2a1jY2dByhAli47Kf.jpg","vote_average":0.0,"vote_count":0,"width":3840},{"aspect_ratio":1.778,"height":1440,"iso_639_1":null,"file_path":"/q3ZlHNis5RHOVvj4iztQlDwoCzN.jpg","vote_average":0.0,"vote_count":0,"width":2560},{"aspect_ratio":1.778,"height":2160,"iso_639_1":null,"file_path":"/vtDTPH57wwE72mrJoqDEm8iVkHj.jpg","vote_average":0.0,"vote_count":0,"width":3840},{"aspect_ratio":1.778,"height":2160,"iso_639_1":null,"file_path":"/kwttsq9j7j3t0mngjgMVKq8Otuf.jpg","vote_average":0.0,"vote_count":0,"width":3840},{"aspect_ratio":1.778,"height":2160,"iso_639_1":null,"file_path":"/hEn1BZCetp0f2HJBvYGFDLWM8pC.jpg","vote_average":0.0,"vote_count":0,"width":3840},{"aspect_ratio":1.778,"height":2160,"iso_639_1":null,"file_path":"/e3BJlTasjKsqYuWhrT3ib21z0JY.jpg","vote_average":0.0,"vote_count":0,"width":3840},{"aspect_ratio":1.778,"height":2160,"iso_639_1":null,"file_path":"/6lSWFAjHBeGQFfgI1vkl5T3wvWQ.jpg","vote_average":0.0,"vote_count":0,"width":3840},{"aspect_ratio":1.778,"height":720,"iso_639_1":"en","file_path":"/5ZCxMWfIpYSkw7b3C9BkuE8e8is.jpg","vote_average":0.0,"vote_count":0,"width":1280},{"aspect_ratio":1.778,"height":1080,"iso_639_1":null,"file_path":"/mtvonzhFvR7JRTVdvYwB2dbVcQ2.jpg","vote_average":0.0,"vote_count":0,"width":1920},{"aspect_ratio":1.778,"height":1152,"iso_639_1":"en","file_path":"/9XSXRQ1wTzR5wj0bzym24j8hnSU.jpg","vote_average":0.0,"vote_count":0,"width":2048},{"aspect_ratio":1.778,"height":1080,"iso_639_1":"en","file_path":"/h7AxMv8c9SmiTIS3FRZUKdWhxMP.jpg","vote_average":0.0,"vote_count":0,"width":1920},{"aspect_ratio":1.777,"height":1330,"iso_639_1":null,"file_path":"/mvL8JXc8gq27Nn29eNNqTh3F9af.jpg","vote_average":0.0,"vote_count":0,"width":2364}],"id":354912,"logos":[{"aspect_ratio":1.647,"height":292,"iso_639_1":"pt","file_path":"/kcOfom68nnt8wbWcw6mZ9xUwRn4.png","vote_average":5.312,"vote_count":1,"width":481},{"aspect_ratio":1.341,"height":756,"iso_639_1":"pt","file_path":"/yCyIpsyG7SrRLng8pvtuDE9YIf4.png","vote_average":5.312,"vote_count":1,"width":1014},{"aspect_ratio":2.52,"height":302,"iso_639_1":"zh","file_path":"/3MxqJaUjBi4frayIPkZYktuliQX.png","vote_average":5.312,"vote_count":1,"width":761},{"aspect_ratio":1.1,"height":810,"iso_639_1":"zh","file_path":"/kZCwxXOe37BLykKy8x8bwSc2PSy.png","vote_average":5.172,"vote_count":1,"width":891},{"aspect_ratio":2.281,"height":583,"iso_639_1":"en","file_path":"/pLlaM6lXpKbwVCUdsqJ7axwb5UF.png","vote_average":0.0,"vote_count":0,"width":1330},{"aspect_ratio":1.829,"height":727,"iso_639_1":"fr","file_path":"/cTaWqsn54w83nCpX8K3tuTRa3OG.png","vote_average":0.0,"vote_count":0,"width":1330},{"aspect_ratio":3.912,"height":409,"iso_639_1":"en","file_path":"/piI1AMDUzJTZVcIjcJiJzdbzd4A.png","vote_average":0.0,"vote_count":0,"width":1600},{"aspect_ratio":1.198,"height":2112,"iso_639_1":"ar","file_path":"/7HqY4KJf5MByBzch5f4WBHtZwX.png","vote_average":0.0,"vote_count":0,"width":2531},{"aspect_ratio":1.0,"height":512,"iso_639_1":null,"file_path":"/bANps5jDHvxCjKlK9dpxtz4geW4.png","vote_average":0.0,"vote_count":0,"width":512},{"aspect_ratio":0.982,"height":2111,"iso_639_1":"he","file_path":"/tbzp6w68GyLJeEIvnd6UP5YSy7L.png","vote_average":0.0,"vote_count":0,"width":2073},{"aspect_ratio":2.266,"height":293,"iso_639_1":"en","file_path":"/7d5LmPF7CAguIeFo6mXpYkZpwZ8.png","vote_average":0.0,"vote_count":0,"width":664},{"aspect_ratio":3.825,"height":206,"iso_639_1":"en","file_path":"/fSumP3jYe3Sjsf060EHfO4wf02u.png","vote_average":0.0,"vote_count":0,"width":788},{"aspect_ratio":2.269,"height":294,"iso_639_1":"en","file_path":"/i79lVxJCDHcrRrK8soThd28NBkV.png","vote_average":0.0,"vote_count":0,"width":667},{"aspect_ratio":2.003,"height":294,"iso_639_1":"en","file_path":"/qq2hMR7Agon94g0p4lQJho6JKaJ.png","vote_average":0.0,"vote_count":0,"width":589},{"aspect_ratio":2.937,"height":252,"iso_639_1":"en","file_path":"/4NlLw0NQdoc0cef4kttV9ZUr7cZ.png","vote_average":0.0,"vote_count":0,"width":740},{"aspect_ratio":1.909,"height":408,"iso_639_1":"en","file_path":"/A5WVnUk6qcSQla6yMsPW2nQ7VB3.png","vote_average":0.0,"vote_count":0,"width":779},{"aspect_ratio":1.474,"height":312,"iso_639_1":"ar","file_path":"/dWZ7Ens735Bb3ICC1dA1BAjjqeC.png","vote_average":0.0,"vote_count":0,"width":460},{"aspect_ratio":2.281,"height":583,"iso_639_1":"en","file_path":"/Ai5jAWi6blLNEtjTm1mIOGjYXlQ.png","vote_average":0.0,"vote_count":0,"width":1330},{"aspect_ratio":1.959,"height":533,"iso_639_1":"zh","file_path":"/kTdZo0IE7nuJgZPixeDPWYBXcoi.png","vote_average":0.0,"vote_count":0,"width":1044},{"aspect_ratio":3.912,"height":409,"iso_639_1":"en","file_path":"/oZUcJdvyCbZ4OminauEVHa04D6P.png","vote_average":0.0,"vote_count":0,"width":1600},{"aspect_ratio":2.42,"height":440,"iso_639_1":"uk","file_path":"/w7zTagiePr7w2cB7zcP28mKpBxW.png","vote_average":0.0,"vote_count":0,"width":1065},{"aspect_ratio":2.404,"height":599,"iso_639_1":"cn","file_path":"/aVHE3WpaNa7HxYEazjikxOG30qT.png","vote_average":0.0,"vote_count":0,"width":1440}],"posters":[{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/gGEsBPAijhVUFoiNpgZXqRVWJt2.jpg","vote_average":5.146,"vote_count":10,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/6Ryitt95xrO8KXuqRGm1fUuNwqF.jpg","vote_average":5.768,"vote_count":25,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"uk","file_path":"/dOS5inmcyq33SHLEmsxInFBdNha.jpg","vote_average":5.522,"vote_count":4,"width":2000},{"aspect_ratio":0.667,"height":2100,"iso_639_1":"de","file_path":"/aYJ1ykLU4lQFv3yp7Nov7P1sxyf.jpg","vote_average":5.454,"vote_count":3,"width":1400},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/8AECsRLEDLoNvZ8JqrTFm0zBPqH.jpg","vote_average":5.398,"vote_count":14,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"fr","file_path":"/sZqcEV3KhDITHlUBmyj1a3RRvT9.jpg","vote_average":5.39,"vote_count":6,"width":2000},{"aspect_ratio":0.675,"height":1500,"iso_639_1":"pt","file_path":"/6oNm06TPz2vGiPc2I52oXW3JwPS.jpg","vote_average":5.388,"vote_count":4,"width":1012},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"ru","file_path":"/lk1sAbyngNwiy0CcOzLRTRiOnaB.jpg","vote_average":5.384,"vote_count":2,"width":1000},{"aspect_ratio":0.667,"height":1935,"iso_639_1":"zh","file_path":"/zRNsdArSV783sYgIcCRhJHNZWoe.jpg","vote_average":5.384,"vote_count":2,"width":1290},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"de","file_path":"/x7YxGQGItXaLzl5eQNqGo0837fs.jpg","vote_average":5.384,"vote_count":2,"width":2000},{"aspect_ratio":0.687,"height":839,"iso_639_1":"bg","file_path":"/e4PNAJK3IkO2KSfEHbksmlVVGdM.jpg","vote_average":5.384,"vote_count":2,"width":576},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/7jXRLT0QfKRxhRT0hzNmgo3ybrN.jpg","vote_average":5.384,"vote_count":2,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/qOcrEimR32uGBkMAEPFTbmrgjoR.jpg","vote_average":5.384,"vote_count":2,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/yAvisTUocxmXQZQJZ521dL9a36p.jpg","vote_average":5.342,"vote_count":15,"width":2000},{"aspect_ratio":0.667,"height":2100,"iso_639_1":"en","file_path":"/55UxVUJE3NKNfjrFt2FDdDmpNCd.jpg","vote_average":5.33,"vote_count":9,"width":1400},{"aspect_ratio":0.667,"height":2048,"iso_639_1":"zh","file_path":"/3xuoHjQXGJjfdYRhA4gNrFmfm1s.jpg","vote_average":5.33,"vote_count":9,"width":1366},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"en","file_path":"/iDstnnDc9olbYNdtMwlSNmh6be.jpg","vote_average":5.322,"vote_count":5,"width":1000},{"aspect_ratio":0.667,"height":1200,"iso_639_1":null,"file_path":"/qOqiUAw9eYFzVBEWIVemxwXC8q8.jpg","vote_average":5.318,"vote_count":3,"width":800},{"aspect_ratio":0.7,"height":1357,"iso_639_1":"pt","file_path":"/sdl31AfqivY0tryVfo9GMcAUx05.jpg","vote_average":5.318,"vote_count":3,"width":950},{"aspect_ratio":0.7,"height":1100,"iso_639_1":"pt","file_path":"/wjHyutz999RTIhswppiKlW3TuMU.jpg","vote_average":5.318,"vote_count":3,"width":770},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"zh","file_path":"/vtgPOrShQFkDm1PWY3TKrPmlS5i.jpg","vote_average":5.318,"vote_count":3,"width":2000},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"he","file_path":"/awTRgLCo21uEw3C7OLK7luYcerm.jpg","vote_average":5.312,"vote_count":1,"width":1000},{"aspect_ratio":0.667,"height":1080,"iso_639_1":"it","file_path":"/l5qUox5uroubMi8sihD9RGPbcwO.jpg","vote_average":5.312,"vote_count":1,"width":720},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/fqZEc92MAFy5mR6aSMRDx1QN73N.jpg","vote_average":5.312,"vote_count":1,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"sv","file_path":"/gzfFFRoR5GeSCtz4fi4YpLsJgVw.jpg","vote_average":5.312,"vote_count":1,"width":2000},{"aspect_ratio":0.702,"height":2296,"iso_639_1":"ko","file_path":"/pQu93NuwR90AaCULzglVD5Ge4Ml.jpg","vote_average":5.312,"vote_count":1,"width":1611},{"aspect_ratio":0.698,"height":1024,"iso_639_1":"ko","file_path":"/dqmeCBcdSjeIxjXfSswd9X6x0C6.jpg","vote_average":5.312,"vote_count":1,"width":715},{"aspect_ratio":0.667,"height":3000,"iso_639_1":null,"file_path":"/cy8tZeYawiwKLdJE69Tk5kswzY2.jpg","vote_average":5.312,"vote_count":1,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"th","file_path":"/yLu68KSW8QytYCeRNeW8RCdXFCn.jpg","vote_average":5.312,"vote_count":1,"width":2000},{"aspect_ratio":0.7,"height":1100,"iso_639_1":"cs","file_path":"/x8ZmGeB5bXJveh4HLgAhY4AYjnX.jpg","vote_average":5.312,"vote_count":1,"width":770},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"es","file_path":"/lUZZhYLLDU4g4XGQ5tvjYNVytxc.jpg","vote_average":5.312,"vote_count":1,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/ESO3UJgkCwl2spuyunMPrZRVhU.jpg","vote_average":5.312,"vote_count":1,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/c3WTO3wi6tR9kZUHZWWdRgrrDkl.jpg","vote_average":5.312,"vote_count":1,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"ja","file_path":"/iSvEPJqu1WbAaB0db9wmAifpdST.jpg","vote_average":5.312,"vote_count":1,"width":2000},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"el","file_path":"/ywkEW12j0wRy4sOBar15QEVwFMN.jpg","vote_average":5.312,"vote_count":1,"width":1000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"uk","file_path":"/bdG2qS1iOR62GCk3A3JWycfdqoO.jpg","vote_average":5.312,"vote_count":1,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"uk","file_path":"/3oGKYYAOLNpWAEIOT4Ut5NLl2Wc.jpg","vote_average":5.312,"vote_count":1,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"uk","file_path":"/v22IhPOdY3ODETUVGfTBBXbOiMP.jpg","vote_average":5.312,"vote_count":1,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"uk","file_path":"/wRtaGaA9N1BBWUbtbIQMFuUkoYt.jpg","vote_average":5.312,"vote_count":1,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"uk","file_path":"/7OI0dh7hyUvdwD7R7iMhOdkrnBS.jpg","vote_average":5.312,"vote_count":1,"width":2000},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"vi","file_path":"/dWvsTGo8NkoFVQs5A7GtwXnXUOW.jpg","vote_average":5.312,"vote_count":1,"width":1000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"zh","file_path":"/zrhUypo2z3aRX9htuzGpoVWE4jo.jpg","vote_average":5.312,"vote_count":1,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"nl","file_path":"/uKXsLidPULu1xmfMopQdir1kGZZ.jpg","vote_average":5.312,"vote_count":1,"width":2000},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"ro","file_path":"/8QBLQFXkHqukinO8VIocibxt09M.jpg","vote_average":5.312,"vote_count":1,"width":1000},{"aspect_ratio":0.699,"height":1935,"iso_639_1":"zh","file_path":"/hOfenrzZyRZc5zmcKPRsdtJknOS.jpg","vote_average":5.264,"vote_count":8,"width":1353},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/qEwkpOWgtlAQHnuo50loXkF9LKc.jpg","vote_average":5.258,"vote_count":6,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/yX5SoQdABwVAiddkkAm1T58DAYJ.jpg","vote_average":5.258,"vote_count":6,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/1FGQ8FLHVmOqN8ZjNHwCMvDBcUw.jpg","vote_average":5.252,"vote_count":4,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"fr","file_path":"/eBON4IF70LrK9YchI90Chw0Trjk.jpg","vote_average":5.252,"vote_count":4,"width":2000},{"aspect_ratio":0.681,"height":869,"iso_639_1":"pt","file_path":"/5WfUvY2ZfYTlhPtTukaFpLO1VBN.jpg","vote_average":5.252,"vote_count":4,"width":592},{"aspect_ratio":0.675,"height":1500,"iso_639_1":"en","file_path":"/26CvDUwEFj8re7avUpvfoVgS8lw.jpg","vote_average":5.246,"vote_count":2,"width":1012},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/pnPvhN2gf1DkHKb0cQyhkDhjQcs.jpg","vote_average":5.246,"vote_count":2,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/4jfKMdT6vdkpcB2EyBj2XkO2tTf.jpg","vote_average":5.246,"vote_count":2,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/n4F1Ig5pY40wibar5MV4H1opZc.jpg","vote_average":5.246,"vote_count":2,"width":2000},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"en","file_path":"/2LH64c3FsJ0WrMEBdIstsNwAJxV.jpg","vote_average":5.246,"vote_count":2,"width":1000},{"aspect_ratio":0.675,"height":1500,"iso_639_1":"en","file_path":"/lhXiY2xyEFUfJLyhSUz4bqyUmsD.jpg","vote_average":5.246,"vote_count":2,"width":1012},{"aspect_ratio":0.667,"height":1200,"iso_639_1":"en","file_path":"/48mdKcYKIVfRtoSCqhkY8xMzJlA.jpg","vote_average":5.246,"vote_count":2,"width":800},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"ar","file_path":"/llvGLco9ZEcMv9auXlM0p5wlQ5x.jpg","vote_average":5.246,"vote_count":2,"width":2000},{"aspect_ratio":0.738,"height":2000,"iso_639_1":"fr","file_path":"/yVSOxaF7CBzNRpWK9bFG4SUwOwk.jpg","vote_average":5.246,"vote_count":2,"width":1475},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/s6auPXBYxNP9EnYNBELxHhHXL1V.jpg","vote_average":5.212,"vote_count":11,"width":2000},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"en","file_path":"/obfU8AADQT9nWuG0KYF8dvzeJiw.jpg","vote_average":5.206,"vote_count":9,"width":1000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/98G7zRNJBGuJiJmWcCTv0whXltA.jpg","vote_average":5.206,"vote_count":9,"width":2000},{"aspect_ratio":0.667,"height":2667,"iso_639_1":"tr","file_path":"/f9Ro5x36UTDdHFrhnHeXqlhBVRF.jpg","vote_average":5.19,"vote_count":5,"width":1778},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/yK4zbNqLhXDy9RnJnfbGq3z6Flf.jpg","vote_average":5.19,"vote_count":5,"width":2000},{"aspect_ratio":0.7,"height":1100,"iso_639_1":"uk","file_path":"/fL5BtqRGebyRGMPe5bkZjKtWJrI.jpg","vote_average":5.18,"vote_count":3,"width":770},{"aspect_ratio":0.666,"height":1801,"iso_639_1":"bg","file_path":"/e98JGiPCJamoDcJbp2cmANEpx1.jpg","vote_average":5.18,"vote_count":3,"width":1200},{"aspect_ratio":0.707,"height":1132,"iso_639_1":"ja","file_path":"/kZrJRnuo5NP84pooPT57JEJmXbP.jpg","vote_average":5.18,"vote_count":3,"width":800},{"aspect_ratio":0.7,"height":2857,"iso_639_1":"el","file_path":"/tsIV7LXFtGg9pmxRUUejcQWd2yP.jpg","vote_average":5.18,"vote_count":3,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"pt","file_path":"/obpbBBgRLjTvTgfvQxA3dzMXOk6.jpg","vote_average":5.18,"vote_count":3,"width":2000},{"aspect_ratio":0.699,"height":1100,"iso_639_1":"pt","file_path":"/rxuT7p8dcGoZSnlcLc8l2icRkOh.jpg","vote_average":5.18,"vote_count":3,"width":769},{"aspect_ratio":0.667,"height":1100,"iso_639_1":"uk","file_path":"/xtDQ5Hbe8ivmT4Z6s5qFjWw6mJn.jpg","vote_average":5.18,"vote_count":3,"width":734},{"aspect_ratio":0.666,"height":1000,"iso_639_1":"ru","file_path":"/ikrdwjC5EMgexSPKWmYznB5MsCn.jpg","vote_average":5.172,"vote_count":1,"width":666},{"aspect_ratio":0.701,"height":1426,"iso_639_1":null,"file_path":"/9hoj5Tl9RAsAv9K7MR7rJXJslTL.jpg","vote_average":5.172,"vote_count":1,"width":1000},{"aspect_ratio":0.7,"height":2835,"iso_639_1":"lt","file_path":"/ivseVdsxh6pdt4q0Ctta0wEB1fn.jpg","vote_average":5.172,"vote_count":1,"width":1984},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"ja","file_path":"/u8CRTztD7JULMcPXDWqPTbBuIVb.jpg","vote_average":5.172,"vote_count":1,"width":1000},{"aspect_ratio":0.707,"height":960,"iso_639_1":"th","file_path":"/sWzzhLH2zoo6kiRXUDN3OkdRuB6.jpg","vote_average":5.172,"vote_count":1,"width":679},{"aspect_ratio":0.667,"height":1100,"iso_639_1":"uk","file_path":"/aAsWlZmBb5JxQNCwLncswLqY0kk.jpg","vote_average":5.172,"vote_count":1,"width":734},{"aspect_ratio":0.667,"height":750,"iso_639_1":"ar","file_path":"/oLa4MgtHOeYMehYYfjJRXfXFonO.jpg","vote_average":5.172,"vote_count":1,"width":500},{"aspect_ratio":0.667,"height":759,"iso_639_1":"el","file_path":"/1I25SBrE6DoVNnVk8O7gusgJOpH.jpg","vote_average":5.172,"vote_count":1,"width":506},{"aspect_ratio":0.714,"height":1482,"iso_639_1":"pt","file_path":"/khFcO8nmFHbZQmpPmiDBSyDzQMH.jpg","vote_average":5.172,"vote_count":1,"width":1058},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"en","file_path":"/vHRDx02Es8lo5if0Q8HAUwCjjMj.jpg","vote_average":5.128,"vote_count":6,"width":1000},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"en","file_path":"/jr6hkXYmaQo5VjgdmvB6JX8SelQ.jpg","vote_average":5.118,"vote_count":4,"width":1000},{"aspect_ratio":0.705,"height":1200,"iso_639_1":"de","file_path":"/7bT56jZxYbRSwCaznlYbUgY6B14.jpg","vote_average":5.118,"vote_count":4,"width":846},{"aspect_ratio":0.7,"height":1100,"iso_639_1":"el","file_path":"/tv92RsNglWZiUmgz6Xngi9zUPED.jpg","vote_average":5.106,"vote_count":2,"width":770},{"aspect_ratio":0.7,"height":1100,"iso_639_1":"bg","file_path":"/ngcPGv9XhnNMRHFOjGAzfNfJHSI.jpg","vote_average":5.106,"vote_count":2,"width":770},{"aspect_ratio":0.7,"height":1100,"iso_639_1":"el","file_path":"/upNKMfeFR93I0v1WswcboFpSSP1.jpg","vote_average":5.106,"vote_count":2,"width":770},{"aspect_ratio":0.707,"height":1024,"iso_639_1":"bg","file_path":"/gHt1BUs6AFsaiGlITnEonv5n67e.jpg","vote_average":5.106,"vote_count":2,"width":724},{"aspect_ratio":0.7,"height":960,"iso_639_1":"bg","file_path":"/38uPHhplyvYpMbSQ4FQHX6R6UXd.jpg","vote_average":5.106,"vote_count":2,"width":672},{"aspect_ratio":0.7,"height":1100,"iso_639_1":"el","file_path":"/p5g0puHtT9VXOhIXnMnKysrDH8Y.jpg","vote_average":5.106,"vote_count":2,"width":770},{"aspect_ratio":0.7,"height":1100,"iso_639_1":"el","file_path":"/aLhM6ZU1kUcPgmHhbSd9suvuNh6.jpg","vote_average":5.106,"vote_count":2,"width":770},{"aspect_ratio":0.698,"height":1433,"iso_639_1":"ko","file_path":"/6AANwKhjIEVyya95oW4IA6joL1Z.jpg","vote_average":5.106,"vote_count":2,"width":1000},{"aspect_ratio":0.668,"height":1616,"iso_639_1":"pt","file_path":"/5TNcgKe7wTqCpCgCEEJQQaSCNBO.jpg","vote_average":5.106,"vote_count":2,"width":1080},{"aspect_ratio":0.701,"height":885,"iso_639_1":"nl","file_path":"/dweImmydZPIE4bjym7ZzWb6BK6m.jpg","vote_average":5.106,"vote_count":2,"width":620},{"aspect_ratio":0.667,"height":2100,"iso_639_1":"en","file_path":"/iHEVgLsLVbghXWuXZF6dI3cvkPn.jpg","vote_average":5.106,"vote_count":2,"width":1400},{"aspect_ratio":0.7,"height":1100,"iso_639_1":"uk","file_path":"/3IpfZi80c677dIuUBeySPjytkNm.jpg","vote_average":5.106,"vote_count":2,"width":770},{"aspect_ratio":0.7,"height":1100,"iso_639_1":"uk","file_path":"/9cz39nTDDOZjSsEOGxmgmoB8hnb.jpg","vote_average":5.106,"vote_count":2,"width":770},{"aspect_ratio":0.7,"height":1200,"iso_639_1":"en","file_path":"/5b72EZop3m25cg5dACNMWnmcyY8.jpg","vote_average":5.106,"vote_count":2,"width":840},{"aspect_ratio":0.666,"height":1100,"iso_639_1":"es","file_path":"/oburjHqzOrTtDLYbLunKLwUHhk1.jpg","vote_average":5.09,"vote_count":11,"width":733},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/ccZBGwQ5euWVN22zoh6cDWxdDqy.jpg","vote_average":5.068,"vote_count":7,"width":2000},{"aspect_ratio":0.706,"height":1274,"iso_639_1":"de","file_path":"/zNpDe64W3BLelqpCbLYkwjaJgsI.jpg","vote_average":5.068,"vote_count":7,"width":899},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/4oMuH3l5TA9vkXKGiiM4rjmRfhI.jpg","vote_average":5.056,"vote_count":5,"width":2000},{"aspect_ratio":0.666,"height":2000,"iso_639_1":"fr","file_path":"/qD8GWiViTs90JMRpHwYjfpyuxgU.jpg","vote_average":5.056,"vote_count":5,"width":1333},{"aspect_ratio":0.666,"height":1100,"iso_639_1":"fr","file_path":"/6JVnm2509wgeLbKJzc2lZQKCsHz.jpg","vote_average":5.056,"vote_count":5,"width":733},{"aspect_ratio":0.699,"height":1000,"iso_639_1":"en","file_path":"/n8T7S8ALJ07lrjl8oj3hLttVceD.jpg","vote_average":5.056,"vote_count":5,"width":699},{"aspect_ratio":0.705,"height":2838,"iso_639_1":"de","file_path":"/gkYR9FZanxTNmqAOYvyJABcYKI9.jpg","vote_average":5.056,"vote_count":5,"width":2000},{"aspect_ratio":0.667,"height":750,"iso_639_1":"pt","file_path":"/8CvH3Q1nlHe8POeaI7X2d7TPeoI.jpg","vote_average":5.044,"vote_count":3,"width":500},{"aspect_ratio":0.693,"height":1800,"iso_639_1":"uk","file_path":"/m7mNmSzpiUfdGhOxGrPOkSnjjQg.jpg","vote_average":5.044,"vote_count":3,"width":1247},{"aspect_ratio":0.696,"height":960,"iso_639_1":"uk","file_path":"/6a1yFW9801rXabD2qAmPX0qpO8I.jpg","vote_average":5.044,"vote_count":3,"width":668},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"en","file_path":"/iPkyOnfQW8JKZNFXlUeFfQsuHZm.jpg","vote_average":5.044,"vote_count":3,"width":1000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"de","file_path":"/cLjFE0zKAvL4HkZ3ixEv8fSL5kL.jpg","vote_average":5.044,"vote_count":3,"width":2000},{"aspect_ratio":0.7,"height":1080,"iso_639_1":"fr","file_path":"/jT8a7eVPJ4HquBdR4qoICaa0PYF.jpg","vote_average":4.982,"vote_count":4,"width":756},{"aspect_ratio":0.667,"height":1100,"iso_639_1":"es","file_path":"/vwsFGblLYxWBNjg9pdWN1Mm5YfW.jpg","vote_average":4.982,"vote_count":4,"width":734},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/v6TfP70yfNi8W46oYM3NUxu49Hh.jpg","vote_average":4.922,"vote_count":5,"width":2000},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"he","file_path":"/sG99ULN6JTQ4vC1Fz0b9F22Vu8F.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.675,"height":1600,"iso_639_1":"da","file_path":"/oPeRtLwNW2nPImogItEdFGmldXZ.jpg","vote_average":0.0,"vote_count":0,"width":1080},{"aspect_ratio":0.666,"height":2161,"iso_639_1":"sv","file_path":"/kFinJvTrIKru1JhMMpgfFpcGKso.jpg","vote_average":0.0,"vote_count":0,"width":1440},{"aspect_ratio":0.7,"height":1071,"iso_639_1":"no","file_path":"/eHamIAmeMfYJ0D1XJuOxB27nLCs.jpg","vote_average":0.0,"vote_count":0,"width":750},{"aspect_ratio":0.666,"height":1100,"iso_639_1":"no","file_path":"/mNmRHxmqxN28st7PjJHsCE2TiOU.jpg","vote_average":0.0,"vote_count":0,"width":733},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/nBdpBcvSWNLzZmRdMi41tKlFCBC.jpg","vote_average":0.0,"vote_count":0,"width":2000},{"aspect_ratio":0.696,"height":1940,"iso_639_1":"sr","file_path":"/f058PaqPR2we2Wr8JOSMozIA9NT.jpg","vote_average":0.0,"vote_count":0,"width":1350},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"sv","file_path":"/9ID5jhHSPuv0rQARL5yuXrPvWEU.jpg","vote_average":0.0,"vote_count":0,"width":2000},{"aspect_ratio":0.747,"height":1338,"iso_639_1":"cn","file_path":"/1in6efMp8z2tt0KFHAWQikfw2GB.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.706,"height":2008,"iso_639_1":"en","file_path":"/i60UtMqp6vWiSeIhjNY7R2zTYTR.jpg","vote_average":0.0,"vote_count":0,"width":1417},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"en","file_path":"/vt8T14t8bOh35IrMK0V2whKXk5w.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"en","file_path":"/e5CLQ61KL14VupvMHMaGSuEpj0a.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"it","file_path":"/k4cyjX8148Oj1rlpPQSmKwuW2rl.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.715,"height":1398,"iso_639_1":"cn","file_path":"/54ngBMbTUbuR2b8ujHQT6a4oKmB.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.667,"height":750,"iso_639_1":"vi","file_path":"/fhdzscFm7chtwWtZaean2HqVQcp.jpg","vote_average":0.0,"vote_count":0,"width":500},{"aspect_ratio":0.697,"height":2076,"iso_639_1":"ko","file_path":"/3n91f3suhgEW1imf7OzPxd1aGsy.jpg","vote_average":0.0,"vote_count":0,"width":1448},{"aspect_ratio":0.698,"height":2865,"iso_639_1":"ko","file_path":"/bpsSEgHRNegjd11edvuRLRuAq0m.jpg","vote_average":0.0,"vote_count":0,"width":2000},{"aspect_ratio":0.702,"height":2850,"iso_639_1":"ko","file_path":"/twkrmcxzvLWh91fsTdHKQ75aG48.jpg","vote_average":0.0,"vote_count":0,"width":2000},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"en","file_path":"/xrAUsK53stuAINI2RLnA4N7D65p.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.679,"height":1236,"iso_639_1":"en","file_path":"/d3z9noPtapMJevJMYBAerVr9Bmw.jpg","vote_average":0.0,"vote_count":0,"width":839},{"aspect_ratio":0.698,"height":1772,"iso_639_1":"ko","file_path":"/mg5STUifXP6HpUHmghhbcL8oJgi.jpg","vote_average":0.0,"vote_count":0,"width":1237},{"aspect_ratio":0.675,"height":1500,"iso_639_1":"en","file_path":"/rnKhfYphHKiAvTxhdb0RMdUtSrj.jpg","vote_average":0.0,"vote_count":0,"width":1012},{"aspect_ratio":0.667,"height":750,"iso_639_1":"hr","file_path":"/toSxNxZfk63jdWY0wNuM36zRUrS.jpg","vote_average":0.0,"vote_count":0,"width":500},{"aspect_ratio":0.667,"height":1560,"iso_639_1":"ku","file_path":"/swrL7gwkwvY3DbS4IJrMK96bjvU.jpg","vote_average":0.0,"vote_count":0,"width":1040},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/loRSJljy20vhslPCZzXPhwwuIF3.jpg","vote_average":0.0,"vote_count":0,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/yEtk7CesVpDEke3yU8U1W9g3cNf.jpg","vote_average":0.0,"vote_count":0,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/tckGYFazzrmxdlf6Pbjxjf4ApG0.jpg","vote_average":0.0,"vote_count":0,"width":2000},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/al6Q89un1MNRPo0jxk7lNL1loDT.jpg","vote_average":0.0,"vote_count":0,"width":2000},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"vi","file_path":"/9qCiCy4xw6nttcNTT50YH5bZTbz.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"vi","file_path":"/tKd5zI6gLBwrqqyicHyRD3IyosW.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.696,"height":1191,"iso_639_1":"ro","file_path":"/luZYda7HlFVvVaeFXLaLVAR6Vx6.jpg","vote_average":0.0,"vote_count":0,"width":829},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/fiH4pGs5P4asOmPaGl3Yi37N3uT.jpg","vote_average":0.0,"vote_count":0,"width":2000},{"aspect_ratio":0.667,"height":750,"iso_639_1":"en","file_path":"/kuzlNIf3bAcQ9E2XsPLrkkuxeij.jpg","vote_average":0.0,"vote_count":0,"width":500},{"aspect_ratio":0.701,"height":1426,"iso_639_1":null,"file_path":"/5fWXJmuyUXirTvpqg7yPxSu2wHp.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.701,"height":1426,"iso_639_1":null,"file_path":"/lK9vhBRmFm8CDi2IVXFkQp8q6bZ.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.701,"height":1426,"iso_639_1":null,"file_path":"/ogNpwbD6SLbRlmKyHt7ucjou090.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.701,"height":1426,"iso_639_1":null,"file_path":"/tNkF5G4f0gTTu1XLyB3veOyPMSy.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.701,"height":1426,"iso_639_1":null,"file_path":"/fE5xtd3NbsgQxB2PytQE9lPZM1a.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.714,"height":2520,"iso_639_1":"en","file_path":"/tyYQiYp5Coge1ZFSAhNaZFT2ayP.jpg","vote_average":0.0,"vote_count":0,"width":1800},{"aspect_ratio":0.675,"height":1000,"iso_639_1":"en","file_path":"/b9xlvWQGdsrDplq3hqiJVvMWe3L.jpg","vote_average":0.0,"vote_count":0,"width":675},{"aspect_ratio":0.658,"height":932,"iso_639_1":"en","file_path":"/xWvXft8qAU1AmsIC96L1cx3ZWeA.jpg","vote_average":0.0,"vote_count":0,"width":613},{"aspect_ratio":0.667,"height":750,"iso_639_1":"en","file_path":"/vl4sgET5qWq4SMV6q67BUE4gZNh.jpg","vote_average":0.0,"vote_count":0,"width":500},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"kk","file_path":"/5jjX462PdH08HISyJwevmDsVz1g.jpg","vote_average":0.0,"vote_count":0,"width":2000},{"aspect_ratio":0.701,"height":1426,"iso_639_1":"kk","file_path":"/rizSJmw5mcXuaE9cZFx6eAWqhjf.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.701,"height":1426,"iso_639_1":"kk","file_path":"/s5aJqEqi0A7gzTAEKuh4ycgOSzW.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"kk","file_path":"/ltinkKr6kGO2Mh85ghJLgWkLSyI.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.713,"height":800,"iso_639_1":"sl","file_path":"/rEgoOtJcrcsauX3NJKUSIJqzp4M.jpg","vote_average":0.0,"vote_count":0,"width":570},{"aspect_ratio":0.667,"height":1500,"iso_639_1":"fr","file_path":"/gpOSpOKXx39HdzlHdGpsOC2BIDO.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.667,"height":750,"iso_639_1":"pl","file_path":"/yMapvyFKryN8lgR1o0wD4tsCUw3.jpg","vote_average":0.0,"vote_count":0,"width":500},{"aspect_ratio":0.75,"height":1024,"iso_639_1":"en","file_path":"/f5s1pkAnCWlt7P3agQna3O3YYqx.jpg","vote_average":0.0,"vote_count":0,"width":768},{"aspect_ratio":0.75,"height":1024,"iso_639_1":"en","file_path":"/tTvs39dLV97RfwsaOWWwBkYnXq.jpg","vote_average":0.0,"vote_count":0,"width":768},{"aspect_ratio":0.75,"height":1024,"iso_639_1":"en","file_path":"/2jHyc2f9XRKLAEQQjQdkkuIetl9.jpg","vote_average":0.0,"vote_count":0,"width":768},{"aspect_ratio":0.719,"height":750,"iso_639_1":"en","file_path":"/9cmndOTv1sOFLuN0Gtv6VZ1cGrY.jpg","vote_average":0.0,"vote_count":0,"width":539},{"aspect_ratio":0.667,"height":1440,"iso_639_1":"cn","file_path":"/n9tPKAQbHPqQ48pP3JNB3wrRJRS.jpg","vote_average":0.0,"vote_count":0,"width":960},{"aspect_ratio":0.667,"height":1500,"iso_639_1":null,"file_path":"/yrJbb757rlkop6y8c7jmY9nBUln.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.667,"height":1500,"iso_639_1":null,"file_path":"/7Zvom0bUaSrtKmprKbU1PpbORq7.jpg","vote_average":0.0,"vote_count":0,"width":1000},{"aspect_ratio":0.667,"height":1050,"iso_639_1":"en","file_path":"/t7UmkUDypVHFFmvxvamWFooliqF.jpg","vote_average":0.0,"vote_count":0,"width":700},{"aspect_ratio":0.667,"height":1404,"iso_639_1":"en","file_path":"/7XoWDKZQaXP9w90yUdHFjtCBBR4.jpg","vote_average":0.0,"vote_count":0,"width":936},{"aspect_ratio":0.667,"height":3000,"iso_639_1":"en","file_path":"/lLkHonK3sS5UYaf6KSAwmcmmnj0.jpg","vote_average":0.0,"vote_count":0,"width":2000}]}

@burekas7
looks like i gave you misleading info: there are default image and all images.
so for default images elementum just take default images from TMDB answer, like https://api.themoviedb.org/3/movie/354912?api_key=
"poster_path":"/gGEsBPAijhVUFoiNpgZXqRVWJt2.jpg"
see code
https://github.com/elgatito/elementum/blob/636ec924ce75d69eefd176ee81f9f5855c6ce2d3/tmdb/show.go#L573-L577
but then elementum also provides list of available images, so kodi or skin can choose alternative image.
see https://github.com/elgatito/elementum/blob/636ec924ce75d69eefd176ee81f9f5855c6ce2d3/tmdb/show.go#L605-L617
if i understand correctly - it is kodi who make a final decision about what image to use, not elementum. elementum just provides default image and list of available images and then kodi or skin choose some image based on their own logic. maybe your skin ignores default image that elementum provides.
if you think that i am wrong (and i can be wrong) - it is better if you read the code of ToListItem() function by yourself to see the logic of elementum. you do not need to know golang, just some general coding knowledge.
can you try to check your images issue with clean kodi with default skin?
i have a hunch that it not skin issue (or any other 3rd party addon that adds"beauty").

okay, so i missed that we also do logic in another place:
https://github.com/elgatito/elementum/blob/636ec924ce75d69eefd176ee81f9f5855c6ce2d3/trakt/shows.go#L54-L63
so we basically take first image from list (as failover) and then we try to get an image for user's language - we take last one.
so you either get first image from list or last language-specific image.
try to change your kodi language to see how it works.
so we do not take vote_average into consideration. you are right, code change is needed indeed.

okay, so i missed that we also do logic in another place: https://github.com/elgatito/elementum/blob/636ec924ce75d69eefd176ee81f9f5855c6ce2d3/trakt/shows.go#L54-L63
so we basically take first image from list (as failover) and then we try to get an image for user's language - we take last one. so you either get first image from list or last language-specific image. try to change your kodi language to see how it works.
so we do not take vote_average into consideration. you are right, code change is needed indeed.

I'm using English in my Kodi.
I agree, I don't think we need all this complicated logic here.
Just sort it first by language (Kodi language as default, and maybe add a new setting for "Preferred Language" for media files to override the default language).
And second, sort it by "vote_average" and take the first one in each media category.
Is it something you can try to change or we need @elgatito help here?

Is it something you can try to change

i am looking at it.
in a meantime, another thing to note, i am sure that you use "Use Trakt information in Trakt lists" option. if you will disable it then you will get default image from tmdb response. but with this option enabled, after assigning default poster we also do the "language" logic i described above in different code module.
the fact that we have handling of show for "trakt list" in 2 places (tmdb code and trakt code, depending on "Use Trakt information in Trakt lists") makes things complicated. especially that for "tmdb lists" or "search" we use tmdb only.
so i need to figure out how to add vote_average into choosing logic for both tmdb and trakt.

@antonsoroko
Following to the other issue regarding the episodes count, it will be a problem if I will disable the "Use Trakt information in Trakt lists" :)
Does Trakt API have an option for getting media data? (Images etc..)
Does "Trakt info" mean only for general details data?
If not TMDB should be the options for both cases.
So we need to find a solution for both cases (Enable/Disable Trakt info) according to the logic I mentioned.
Using TMDB always for media files and filter the results by preferred language and then sort it by vote_average.

@antonsoroko

so we basically take first image from list (as failover) and then we try to get an image for user's language - we take last one.
so you either get first image from list or last language-specific image.

Good catch. It was not intended to use least popular images.
I've pushed a fix for that.
@burekas7
Trakt is returning all the information about movie/show, including media, but they are limited with number of media and they don't have localized media (because it is managed by Trakt).
If you enable using TMDB inside Trakt lists - then, if possible (if Trakt has information about TMDB ID assigned to that item) we take ALL information from TMDB.
If you disable using TMDB inside Trakt lists - then we take only media from TMDB (if possible). You cannot disable taking media from TMDB.
When we talk about language of media, received from TMDB, there are always 3 languages requested: Kodi language -> English -> null (no language assigned to media file).
So when you get list of Posters (foe example), you will always get first poster in the language of your Kodi interface, then english, then everything else.
I don't feel it is a good idea to change this logic. Getting all media from TMDB will slow down everything.
You will eventually show chinese poster (or any other more popular poster) to people.
When you get movie/show information from TMDB and you specify language for that item - then images are automatically filtered, so you would need to make a separate request to get images for all languages.

@elgatito
Thanks.
The logic sounds good, I didn't know that before.
But as you said their was a bug with the default selection of the images.
Tell me if you want me to test it before you make a release if you haven't pushed yet a new release.

@burekas7

Also I still think it should be sorted by vote_average (Unless it's already sorted like that)

fortunately it is sorted by vote_average.

Just to mention, the posters suddenly shows the good images when I set "Enable Kodi library synchronization" to True.
So I guess that all the logic we mentioned here relates when "Enable Kodi library synchronization" is False.

@elgatito now logic for posters looks similar to how it is done for tmdb, but trakt/tmdb still have differences:

we add additional available Art for tmdb, but not for trakt.

UseFanartTv is used for all media types (movie, show, season, episode) for tmdb, but for trakt - only for episodes.

Would be nice to have the same logic for both trakt and tmdb.
Unless you see some drawbacks here.

@antonsoroko I am not sure I want to touch Trakt listings. Trakt does not have enough information to properly show all information, and for playing anything you would need to gete TMDB information anyway, so I don't see any reason for disabling TMDB views.
Fanart media is also for always good. Sometimes TMDB has proper localized media, while Fanart has only default, and then you would have a general Posters and localized Thumbnails.

@elgatito

for always good.

not sure what you mean. media files provided by fanart.tv site are not always good?

@antonsoroko

not sure what you mean.

Typo

Fanart media is also not always good.

@burekas7 try the test build https://disk.yandex.ru/d/Z9veYtA9y1CU9gand see how it works for you.

@burekas7 try the test build https://disk.yandex.ru/d/Z9veYtA9y1CU9gand see how it works for you.

The file is not found.
And as I said before:
"Enable Kodi library synchronization" - True -> The posters are identical to the Kodi Libraries posters (Which is nice)
"Enable Kodi library synchronization" - False -> The posters are based on Elementum logic.
The posters on that case are much better now then it was before.
I didn't test the Language (My kodi is in English)
(Tested with the latest of @antonsoroko builds in the Episodes Count issue)
@elgatito
Please update when the changes here are pushed to release so I will test it and close if there is no other thing to test.

@antonsoroko
Can you upload the file again? Thanks.

@burekas7
it is the same link as in other issue. my message here just have not have "space" between link and word "and".
changed made by elgatito to fix this issue are included in that build.
i mean you are already using "fixed" version.

@antonsoroko
Thanks.
So it works as I mentioned in this comment: https://github.com/elgatito/plugin.video.elementum/issues/955#issuecomment-1868268912
Tell me when it will be added to the next release so I will aprrove and close here.

@burekas7 Please, test with v0.1.99

@elgatito
By the way, why the poster image in Trakt List is different from the poster in the player OSD?
For example:
Trakt List:

Player OSD:

@burekas7 this is probably because of Kodi's cache. I do not see that elementum set art specifically for player, elementum only set poster (and other art) for "list item". thus i think it is your kodi cache or you manually set some images or something else not connected to elementum.
anyway, this is not connected to initial issue. if you still have the issue you described above - you can create a new issue.
this issue is too long already.

after PR above will be merged there will be no difference about images for tmdb and trakt. so if you will have any differences in images - those are skin specific quirks or images from your local library.


Error with map and table for butterflies under specific conditions

Open Opera and go to https://posit-connect-unsw.intersect.org.au/infinitylists/
Select Choose a lat/long in Australia, and enter these coordinates: -34.068875, 151.036703
Select butterflies parquet
Select radius of either 10km or 50km and click go
The search executes, but the map and table do not appear, and this error message is presented twice:
"Error: An error has occurred. Check your logs or contact the app author for clarification."

When running the app locally in R, exact same problem occurs, but the error message is different:
"Error: object 'Record Id' not found"
Using any other radius value for butterflies does not generate the issue, and all other taxa are fine for all radius values, including 10km and 50km
As a test (in Opera), I then changed the coordinates for butterflies + 10km radius slightly to -33.068875, 150.036703, and got a different error!
A popup dialogue box appears:

When I click ok on that box, the map generates fine, but the table is missing (although the column headings are all there)
Same thing occurs for butterflies + 50km for the new coordinates, but in the dialogue window, it says DataTables_Table_3 instead of Table_2

and in fact after this last step, I seem to have broken the app for all taxa and all radius values, the dialogue window keeps popping up and the table is permanently broken

Further notes: butterflies seem to be broken at 10km and 50km for any coordinates at all

Extra notes....:
Marsupials also broken at 10 and 50
Odonata broken only at 50
Cicadas ok at all values
Plants ok at all values

i got it.  i deleted one too many columns downloading latest version today

possibly fixed?

fixed for me


[SPARK-20302][SQL] Short circuit cast when from and to types are structurally the same

What changes were proposed in this pull request?
When we perform a cast expression and the from and to types are structurally the same (having the same structure but different field names), we should be able to skip the actual cast.
How was this patch tested?
Added unit tests for the newly introduced functions.

Test build #75724 has started for PR 17614 at commit b97b46e.

Test build #75724 has finished for PR 17614 at commit b97b46e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/75724/
Test PASSed.

Merged build finished. Test PASSed.

Merging in master.