text:
Failing to parse JSON when downloading from pluralsight

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2021.12.17
[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 issues including closed ones

Verbose log

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-i', u'--cookies', u'/pluralsight.com_cookies.txt', u'--sleep-interval', u'60', u'https://app.pluralsight.com/library/courses/configuring-managing-kubernetes-storage-scheduling/table-of-contents', u'-o', u'./kubernetes/helm/configuring-managing-kubernetes-storage-scheduling/%(playlist_index)02d-%(title)s.%(ext)s', u'--verbose']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python version 2.7.16 (CPython) - Linux-5.10.63-v7+-armv7l-with-debian-10.11
[debug] exe versions: ffmpeg 4.1.8-0, ffprobe 4.1.8-0
[debug] Proxy map: {}
[pluralsight:course] configuring-managing-kubernetes-storage-scheduling: Downloading JSON metadata
[pluralsight:course] configuring-managing-kubernetes-storage-scheduling: Downloading JSON metadata
ERROR: configuring-managing-kubernetes-storage-scheduling: Failed to parse JSON  (caused by ValueError('No JSON object could be decoded',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 906, in _parse_json
    return json.loads(json_string)
  File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 815, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 836, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/pluralsight.py", line 467, in _real_extract
    course = self._download_course(course_id, url, course_id)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/pluralsight.py", line 93, in _download_course
    headers={'Referer': url})
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 899, in _download_json
    expected_status=expected_status)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 883, in _download_json_handle
    fatal=fatal), urlh
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 910, in _parse_json
    raise ExtractorError(errmsg, cause=ve)
ExtractorError: configuring-managing-kubernetes-storage-scheduling: Failed to parse JSON  (caused by ValueError('No JSON object could be decoded',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description

WRITE DESCRIPTION HERE
I've tried to download some courses and the downloader is unable to parse the JSON.
I've tried different computers and os's, and also, tried to download a course I downloaded some weeks ago, this time without success.

https://github.com/ytdl-org/youtube-dl/issues/31138

This affects me as well, and I'm sure many others, because it's Free Pluralsight Week 😀
Here is my report from the broken site template which I'm hoping helps someone fix the problem. Adding it to this existing open issue. See "## Description" below!

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2021.12.17
[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 issues including closed ones

Verbose log

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--username', 'PRIVATE', '--password', 'PRIVATE', 'https://app.pluralsight.com/library/courses/fiddler-everywhere-3-big-picture/table-of-contents', '-o', 'C:/Users/Dave/Videos/Pluralsight/%%(playlist)s/%%(chapter_number)02d - %%(chapter)s/%%(playlist_index)02d - %%(title)s.%%(ext)s', '--sleep-interval', '65', '--max-sleep-interval', '120', '--sub-lang', 'en', '--sub-format', 'srt', '--write-sub', '--verbose']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.19041
[debug] exe versions: none
[debug] Proxy map: {}
[pluralsight:course] fiddler-everywhere-3-big-picture: Downloading JSON metadata
[pluralsight:course] fiddler-everywhere-3-big-picture: Downloading JSON metadata
ERROR: fiddler-everywhere-3-big-picture: Failed to parse JSON  (caused by ValueError('Expecting value: line 1 column 1 (char 0)',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 906, in _parse_json
  File "C:\Python\Python34\lib\json\__init__.py", line 318, in loads
  File "C:\Python\Python34\lib\json\decoder.py", line 343, in decode
  File "C:\Python\Python34\lib\json\decoder.py", line 361, in raw_decode
ValueError: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 906, in _parse_json
  File "C:\Python\Python34\lib\json\__init__.py", line 318, in loads
  File "C:\Python\Python34\lib\json\decoder.py", line 343, in decode
  File "C:\Python\Python34\lib\json\decoder.py", line 361, in raw_decode
ValueError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 815, in wrapper
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 836, in __extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 534, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\pluralsight.py", line 467, in _real_extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\pluralsight.py", line 93, in _download_course
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 899, in _download_json
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 883, in _download_json_handle
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 910, in _parse_json
youtube_dl.utils.ExtractorError: fiddler-everywhere-3-big-picture: Failed to parse JSON  (caused by ValueError('Expecting value: line 1 column 1 (char 0)',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description

Trying to download a course from Pluralsight (because it's the free Pluralsight week!) I can access the course fine in Chrome (including videos) using my credentials. Nothing more, nothing less. I did search for existing similar issues, and they all have the "broken-IE" label, which doesn't make sense to me because I'm not using IE at all. Maybe youtube-dl is using it behind the scenes, which I don't know about.
I'm not going to give you my Pluralsight credentials because you can sign up for free.

IE stands for InfoExtractor in this context, that is, the site-specific module that gets the data out of the page. I agree that there is an element of nerd-view in the tag name, but no-one has previously complained AFAIK.
What is happening is that some JSON sought by the extractor is being returned as an empty page. Why this is happening needs research by someone who cares. The extractor has a _download_course() method which tries to get JSON details of the course in two ways; apparently the first one fails silently inside a try: block and the error is being reported by the second, older, tactic. The next step would be to see how the first attempt fails:
         try:
             return self._download_course_rpc(course_id, url, display_id)
-        except ExtractorError:
-            # Old API fallback
-            return self._download_json(
-                'https://app.pluralsight.com/player/user/api/v1/player/payload',
-                display_id, data=urlencode_postdata({'courseId': course_id}),
-                headers={'Referer': url})
+        except ExtractorError as e:
+            try:
+                # Old API fallback
+                return self._download_json(
+                    'https://app.pluralsight.com/player/user/api/v1/player/payload',
+                    display_id, data=urlencode_postdata({'courseId': course_id}),
+                    headers={'Referer': url})
+            except Exception:
+                raise e

See https://github.com/ytdl-org/youtube-dl/issues/29234#issuecomment-1031382362.

authors: 89z DaveBoltman dirkf peppelin


text:
can not combine --playlist-reverse and --playlist-start?

Hello everyone
i was playing with the --playlist-reverse and the --playlist start NUMBER options to try to download in chronological order and resume where i stopped (like the next day continue at the 26th video) and found that these two options do not work together.
im not sure if this is a bug or if they are not supposed to be combined at all (maybe the help should say so then): in this case i would like to make a feature request for it!
some examples to show what i mean:
1: playlist-start 1 - no reverse
C:\youtubedl>youtube-dl.exe -e --max-downloads 3 --playlist-start 1 https://www.youtube.com/user/youtube
Introducing YouTube Gaming
ProudToLove -  Celebrating Marriage Equality and LGBT Pride Month
The A-Z of YouTube: Celebrating 10 Years
2: playlist-start 3 - no reverse (works as expected #1 video now = #3 of the previous command)
C:\youtubedl>youtube-dl.exe -e --max-downloads 3 --playlist-start 3 https://www.youtube.com/user/youtube
The A-Z of YouTube: Celebrating 10 Years
DearMe - What Advice Would You Give Your Younger Self?
Highlights From the YouTube Interview with President Obama
3: playlist-start 1 + reverse
C:\youtubedl>youtube-dl.exe -e --max-downloads 3 --playlist-reverse --playlist-start 1 https://www.youtube.com/user/youtube
YouTube on the tube!
Hammer Time!
A Message From Chad and Steve
and finally
4: playlist-start 3 + reverse (BUG HERE: this gives the same result as command #3 above)
C:\youtubedl>youtube-dl.exe -e --max-downloads 3 --playlist-reverse --playlist-start 3 https://www.youtube.com/user/youtube
YouTube on the tube!
Hammer Time!
A Message From Chad and Steve
thanks in advance for feedback!

It works that way because it first applies --playlist-start and then it reverses the resulting list. I guess the order could be swapped, or we could support negative indexes.

thanks for the fast feedback!
I guess swapping the order would be how most people would expect the combination of these two options to work... at least I did :)
a solution would be great because the --playlist-start option isn't that suitable on very active channels, index will change as new videos get added all the time leading to wrong starting points which need to be handled manually then.
thanks in advance!

Had same issue. Kinda workaround that works for me is to use "--playlist-end 100" option to download first 100 videos in reverse order.
I would also think that --playlist-start and --playlist-end should be applied to reversed list though.

Please change the order of enumeration. I just wanted to play the last 20 videos in a 1000+ playlist (the entire channel) and there doesn't seem to be a way to do it.
For me --playlist-reverse (for youtube sources) exists to download things in chronological order.
I don't think it's unreasonable to want to watch the newest few videos from a playlist.

One more request for this.
Also, this and https://github.com/rg3/youtube-dl/issues/514 are duplicates.

For command:  --playlist-start 2 --playlist-end 3 --playlist-reverse -o "%(playlist_index)s - %(title)s.%(ext)s"
Lets say original playlist is like this:

a
b
c
d
I think -playlist-reverse should be applied to the whole list, first. The playlist will become like this:
d
c
b
a
--playlist-start 2 --playlist-end 3 should be applied to it. So  video c and d will be downloaded.
Then file name for those videos should be like this ("%(playlist_index)s - %(title)s.%(ext)s"):
"2 - c.mp4"
"3 - d.mp4"

For command:  --playlist-start 2 --playlist-reverse -o "%(playlist_index)s - %(title)s.%(ext)s"
Lets say original playlist is like this:

a
b
c
d
e

I think -playlist-reverse should be applied to the whole list. Playlist will become like this:

e
d
c
b
a

--playlist-start 2 should be applied to it. So  video d and c will be downloaded.
Then file name for those videos should be like this ("%(playlist_index)s - %(title)s.%(ext)s"):

2 - d.mp4
3 - c.mp4
4 - b.mp4
5 - a.mp4

For command:  --playlist-end 3 --playlist-reverse -o "%(playlist_index)s - %(title)s.%(ext)s"
Lets say original playlist is like this:

a
b
c
d
e

I think -playlist-reverse should be applied to the whole list. Playlist will become like this:

e
d
c
b
a

--playlist-end 3 should be applied to it. So  video d and c will be downloaded.
Then file name for those videos should be like this ("%(playlist_index)s - %(title)s.%(ext)s"):

1 - e.mp4
2 - d.mp4
3 - c.mp4

This report is sort of old, but I didn't want to start a new one because it is essentially the same issue.
This issue also affects the --playlist-items option (and probably --playlist-end, but I did not test this).
Here is some output to illustrate:
Without --playlist-items:
[t@localhost ASOT]$ youtube-dl https://www.youtube.com/playlist?list=PL0cWlOyqP6_PKyS76fDsafkj_ho4KLmEA -f bestaudio --download-archive PL0cWlOyqP6_PKyS76fDsafkj_ho4KLmEA.log --playlist-reverse
[youtube:playlist] PL0cWlOyqP6_PKyS76fDsafkj_ho4KLmEA: Downloading webpage
[download] Downloading playlist: A State Of Trance - by Armin van Buuren
[youtube:playlist] PL0cWlOyqP6_PKyS76fDsafkj_ho4KLmEA: Downloading page #1
[youtube:playlist] playlist A State Of Trance - by Armin van Buuren: Downloading 200 videos
[download] Downloading video 1 of 200
[youtube] LLlmtBHo8Mc: Downloading webpage
[youtube] LLlmtBHo8Mc: Downloading video info webpage
[download] Destination: A State Of Trance Episode 757 (#ASOT757)-LLlmtBHo8Mc.webm
[download] 100% of 108.46MiB in 00:07
[download] Downloading video 2 of 200
[youtube] QPkAi6QBcqI: Downloading webpage
[youtube] QPkAi6QBcqI: Downloading video info webpage
[download] Destination: A State of Trance Episode 758 (#ASOT758)-QPkAi6QBcqI.webm
[...]

With --playlist-items:
[t@localhost ASOT]$ youtube-dl https://www.youtube.com/playlist?list=PL0cWlOyqP6_PKyS76fDsafkj_ho4KLmEA -f bestaudio --download-archive PL0cWlOyqP6_PKyS76fDsafkj_ho4KLmEA.log --playlist-reverse --embed-thumbnail --playlist-items 1-43
[youtube:playlist] PL0cWlOyqP6_PKyS76fDsafkj_ho4KLmEA: Downloading webpage
[download] Downloading playlist: A State Of Trance - by Armin van Buuren
[youtube:playlist] playlist A State Of Trance - by Armin van Buuren: Downloading 43 videos
[download] Downloading video 1 of 43
[youtube] HG9VOWM9AP4: Downloading webpage
[youtube] HG9VOWM9AP4: Downloading video info webpage
[youtube] HG9VOWM9AP4: Downloading thumbnail ...
[youtube] HG9VOWM9AP4: Writing thumbnail to: A State Of Trance Episode 907 [#ASOT907] - Armin van Buuren-HG9VOWM9AP4.jpg
[download] Destination: A State Of Trance Episode 907 [#ASOT907] - Armin van Buuren-HG9VOWM9AP4.webm
[download] 100% of 113.42MiB in 00:06
ERROR: Only mp3 and m4a/mp4 are supported for thumbnail embedding for now.
[...]

Notice it starts at episode 907 (the latest as of the time of this writing), instead of 757 (the first on youtube and in the playlist).
Nevermind the thumbnail error.

@mihawk90 I had also struggled with this issue for a long time. Merging #17347 would solve it. However, I'm afraid the maintainers will never merge it since it's buried under thousands of newer pull requests (it's currently at page 13 of the pull requests list). Up until now I've been using the fork directly.

At this point, it seems likely that the youtube-dl folk either 1) don't view this as an issue, or 2) don't want to provide reasons on why the code I submitted to fix this issue is unacceptable.
My original PR of #17347 corrected the issue present after some iteration to resolve legitimate issues, and then waited over a year with no review. The second PR of #24487 has now been closed to discussion after being opened just shy of a month ago with no review / comments by the developers.

A quick solution, if someone came across the above^ (and doesn't want to use to build from the fork by @ALurker)
The following python3 script will generate commands for you, create a .sh file and execute them, you can remove the starting vids, which have already been downloaded.
import os

playlist 	= "https://www.youtube.com/user/..."
command 	= f"youtube-dl -j --flat-playlist --playlist-reverse {playlist} | jq -r '.id' | sed 's_^_https://youtu.be/_'"

output 		= os.popen(command).read()
print(output)

ytUrls 		= []

for count, urls in zip(range(1, 1000), output.strip().split("\n")):
	count 	= str(count).zfill(3)
	cmd 	= f'youtube-dl -f mp4 -i -v -R 3 --fragment-retries 3 -c -o "{count} - %(title)s.%(ext)s" {urls} --external-downloader "aria2c" --external-downloader-args "-j 10 -s 10 -x 16 --file-allocation=none -c"'
	print(cmd)

Gist: https://gist.github.com/Anon-Exploiter/ca3ab8f7a7edee8227622c7a6a97e396

Another solution that only uses bash. I also felt frustrated with this, so I wrote a straightforward workaround. Maybe others will find it useful.
# Downloads final 3 videos in playlist
function ytdl_recent() {
    PLAYLIST=$1;
    TOTAL=$(youtube_dl --flat-playlist $1 | tail -n2 | head -n1 | cut -d ' ' -f4);
    youtube_dl $1 --playlist-start $(($TOTAL-2)); #subtract N to download the final N+1 videos
}
# example usage: ytdl_recent 'https://www.youtube.com/...'

Another solution that only uses bash. I also felt frustrated with this, so I wrote a straightforward workaround. Maybe others will find it useful.
# Downloads final 3 videos in playlist
function ytdl_recent() {
    TOTAL=$(youtube_dl --flat-playlist $1 | tail -n2 | head -n1 | cut -d ' ' -f4);
    youtube_dl $1 --playlist-start $(($TOTAL-2)); #subtract N to download the final N+1 videos
}
# example usage: ytdl_recent 'https://www.youtube.com/...'

Always double-quote var refs unless it's specifically necessary to allow splitting. The YT URL's usually have a question mark among others, which could break the script.
Would recommend checking for the emptiness of TOTAL cuz anything could go wrong:
ytdl_recent() {
    for _link in "${@}"; do
        # shellcheck disable=SC2155
        _total=$(youtube-dl --flat-playlist "${_link}" | tail -n2 | head -n1 | cut -d ' ' -f4)
        [ ! "${_total}" ] && {
            echo 'Failed to find the total number of videos for the link "'"${_link}"'". Skipping.'

            continue
        }

        youtube_dl "${_link}" --playlist-start $((_total - 2)) #subtract N to download the final N+1 videos
    done
}

Now it also works with Dash/POSIX sh, and can handle any number of links.

source: gharchive/issue

authors: ALurker Anon-Exploiter PaperBag42 dlevear dmxraj jaimeMF mihawk90 mikk88 radoslawg rautamiekka vitorgalvao weedy

repo: ytdl-org/youtube-dl

license: Unlicense

license_type: permissive

license_source: github-api


text:
[svt] Add timestamp and thumbnail in more cases

Add timestamp, set to "valid from" which i think could been seen as publish time.
Add thumbnail in more cases, seems to was only done in the embedded data case for some reason.
Update API URL (current one redirects to it).
Switch svtplay test url to an existing video and also one with no expire date.
Also add an additional thumbnail url test regex.
Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[x] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
See commit messages

Looks ok?

Ping?

Rebased on master and updated one test but i still have the issue i mentioned above about file_minsize
@dstftw could you take a look? no stress

@dstftw i've rebased on master. But i still have the issue i mentioned above about too small file size for the init segment

Hi again, something left to fix or changes not suitable to merge?

source: gharchive/pull-request


text:
Bilibili add list support

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Bug fix
[x] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
add bilibili play list support
add bilibili bangumi support

relate issue:
https://github.com/ytdl-org/youtube-dl/issues/22012
https://github.com/ytdl-org/youtube-dl/issues/20420

Can this be merged?

Can this be merged?

I have no access to merge code, if you really want this feature, you can download this branch and run it locally

@ywwzwb the downloaded file is named using the video number instead of the video title. Can you change this behavior?

@ywwzwb the downloaded file is named using the video number instead of the video title. Can you change this behavior?

It's already using video title.
if video got more than one part(eg. https://www.bilibili.com/video/BV1iV411z7Nj), it will using part title as file name(will still add part id and video id).
if video got only one part(eg. https://www.bilibili.com/video/BV1DE411E7kt), it will using video title as file name.

Is it possible to use both part title and video title?
Some multiple part videos do not have a proper part title.
That makes it hard to search if you had a bunch of downloaded file.

I can do some coding for this feature.

@smallzzy It's done, have fun with it.

Nice work!
This one will fix #12654 and #17629 as well!

I tried your version. I have a very high chance to receive:
[download] Downloading video 12 of 16
[download] Resuming download at byte 79691776
ERROR: unable to download video data: Remote end closed connection without response

or
[download] Destination: xxxxxxxxxxxxxx.flv
[download]  80.2% of 144.57MiB at 881.22KiB/s ETA 00:33[download] Got server HTTP error: Downloaded 121634816 bytes, expected 151595530 bytes. Retrying (attempt 2 of 10)...
ERROR: unable to download video data: Remote end closed connection without response

@MewX retry more times works.
This should be merged!!!

some error occured

authors: MewX aboutqx lyjdwh smallzzy ywwzwb


text:
New extractor for https://commons.wikimedia.org

I created an extractor for Wikimedia commons please review & merge the pull request.
Regards
Ehtisham

Note, there is a fix needed at:
_VALID_URL = r'https://commons.wikimedia.org/wiki/File:(?P<id>[^/]+)'
Video files will end with .webm — this needs to be in the valid URL to distinguish them from images, audio, PDFs etc

Excellent; thank you. Nearly there, I think. A few further further things:

On the title, "'title': 'File:Die Temperaturkurve der Erde (ZDF, Terra X) 720p HD 50FPS.webm - Wikimedia Commons',"; the starting "File:" should be omitted.
If you are looking for the strong "", this won't always look like this. "ltr" signifies a left-to-right language, and "de" signifies that the description is in German. These can change.
There are often multiple descriptions in multiple languages; these can all be imported as one description (I don't know if multilingual descriptions are supported by youtube-dl or not)
The test URL doesn't look right to me, as users will input the public URL starting "https://commons.wikimedia.org/wiki/"

1. On the title, "'title': 'File:Die Temperaturkurve der Erde (ZDF, Terra X) 720p HD 50FPS.webm - Wikimedia Commons',"; the starting "File:" should be omitted.

Correct. It would have been stripped in the URL match. Is there actually a more title-y title in the page that could be used instead of the filename?

2. If you are looking for the string `<div class="description mw-content-ltr de" dir="ltr" lang="de">` this won't always look like this. "ltr" signifies a left-to-right language, and "de" signifies that the description is in German. These can change.

As commented, there is a utility function to get the text inside the first element with a certain class.

3. There are often multiple descriptions in multiple languages; these can all be imported as one description (I don't know if multilingual descriptions are supported by youtube-dl or not)

No, you can either get the first one, or do something cleverer to get a particular language (I'm assuming they're each in a
 element). The next easiest thing to do is get all the descriptions and join them with some separator.
There's no concept of a "metadata language" in yt-dl, although perhaps it should look at the current locale for such decisions.

I made changes according to request & fixed subtitles using URL.
Thanks, @dirkf  for helping & please review the latest.

1. On the title, "'title': 'File:Die Temperaturkurve der Erde (ZDF, Terra X) 720p HD 50FPS.webm - Wikimedia Commons',"; the starting "File:" should be omitted.

Correct. It would have been stripped in the URL match. Is there actually a more title-y title in the page that could be used instead of the filename?

It seems not, this is the best we can use I think.

2. If you are looking for the string `<div class="description mw-content-ltr de" dir="ltr" lang="de">` this won't always look like this. "ltr" signifies a left-to-right language, and "de" signifies that the description is in German. These can change.

As commented, there is a utility function to get the text inside the first element with a certain class.

3. There are often multiple descriptions in multiple languages; these can all be imported as one description (I don't know if multilingual descriptions are supported by youtube-dl or not)

No, you can either get the first one, or do something cleverer to get a particular language (I'm assuming they're each in a
 element). The next easiest thing to do is get all the descriptions and join them with some separator.
There's no concept of a "metadata language" in yt-dl, although perhaps it should look at the current locale for such decisions.

Thanks Dirk. We should bring all the descriptions in; the page prepends the descriptions with the language name, that is therefore enough for the user to work with.
@EhtishamSabir Thank you for all the fixes, let me know if these are dealt with.

HI I fixed the video naming issue & also added support for all available subtitles.

I've lost track of the suggested change that highlighted that Wikimedia has other video file formats. There are certainly OGG video files, with .ogv extension, for instance at https://commons.wikimedia.org/wiki/Category:Arp2/3-mediated_F-actin_formation_controls_regulated_exocytosis_in_vivo

@dirkf I think this is back to you for a final check?

Please review I have fixed everything until now.

The test https://github.com/ytdl-org/youtube-dl/blob/master/test/test_unicode_literals.py fails

https://github.com/ytdl-org/youtube-dl/pull/30796/files#r849376105

Hi @dirkf I believe we need a hopefully final check from you before this can be accepted?

I fixed all the parts but I don't know when I run  test_unicode_literals.py it still gives error no idea why

Running this through flake8 gives these 2 errors:
./youtube_dl/extractor/wikimedia.py:53:62: W605 invalid escape sequence '\s'
./youtube_dl/extractor/wikimedia.py:53:73: W605 invalid escape sequence '\s'

You should probably start by finding this element:
<link rel="alternate" href="https://commons.wikimedia.org/wiki/Special:EntityData/M83227919.jsonld" type="application/ld+json"/>. Eg:
        json_ld_url = extract_attributes(
            self._search_regex(
                r'''<link\s[^>]*?'\btype\s*=\s*(?P<q>'|")application/ld\+json(?P=q)[^>]*>''',
                webpage, 'ld+json', default='')).get('href')
        # add a default and a test if you want to use the existing
        # page extraction as a fall-back
        json_ld = self.download_json(json_ld_url, video_id)

Then you should have this Pythonified JSON that provides most if not all of the wanted metadata:

{
  '@graph': [
    {
      '@id': 'sdcdata:M83227919',
      '@type': 'schema:Dataset',
      'about': 'sdc:M83227919',
      'license': 'http://creativecommons.org/publicdomain/zero/1.0/',
      'softwareVersion': '1.0.0',
      'version': 646059770,
      'dateModified': '2022-04-02T13:21:13Z'
    },
    {
      '@id': 'sdc:M83227919',
      '@type': 'wikibase:Mediainfo',
      'P571': '2019-10-18T00:00:00Z',
      'P275': 'wd:Q20007257',
      'P6216': 'wd:Q50423863',
      'P1163': 'video/webm',
      'p:P571': 'sdcs:M83227919-A6D2C060-09AF-4B68-A091-4697E86D7828'
    },
    {
      '@id': 'sdcs:M83227919-A6D2C060-09AF-4B68-A091-4697E86D7828',
      '@type': [
        'wikibase:Statement',
        'wikibase:BestRank'
      ],
      'rank': 'wikibase:NormalRank',
      'ps:P571': '2019-10-18T00:00:00Z',
      'psv:P571': 'sdcv:9a92a6f9a2d3add3d8a1eaa1bdf9175f'
    },
    {
      '@id': 'sdc:M83227919',
      'p:P275': 'sdcs:M83227919-067C3D48-4F4B-4F40-AF91-C5CF96869A74'
    },
    {
      '@id': 'sdcs:M83227919-067C3D48-4F4B-4F40-AF91-C5CF96869A74',
      '@type': [
        'wikibase:Statement',
        'wikibase:BestRank'
      ],
      'rank': 'wikibase:NormalRank',
      'ps:P275': 'wd:Q20007257'
    },
    {
      '@id': 'sdc:M83227919',
      'p:P6216': 'sdcs:M83227919-D06D2932-0677-4915-ADC6-AC17E99D0200'
    },
    {
      '@id': 'sdcs:M83227919-D06D2932-0677-4915-ADC6-AC17E99D0200',
      '@type': [
        'wikibase:Statement',
        'wikibase:BestRank'
      ],
      'rank': 'wikibase:NormalRank',
      'ps:P6216': 'wd:Q50423863'
    },
    {
      '@id': 'sdc:M83227919',
      'p:P1163': 'sdcs:M83227919-3A3F544C-F150-4AE7-A74E-8E21D357B604'
    },
    {
      '@id': 'sdcs:M83227919-3A3F544C-F150-4AE7-A74E-8E21D357B604',
      '@type': [
        'wikibase:Statement',
        'wikibase:BestRank'
      ],
      'rank': 'wikibase:NormalRank',
      'ps:P1163': 'video/webm'
    },
    {
      '@id': 'sdc:M83227919',
      'caption': [
        {
          '@language': 'en',
          '@value': 'Temperature in history of Earth'
        },
        {
          '@language': 'vi',
          '@value': 'Nhiệt độ trong lịch sử Trái Đất'
        }
      ],
      'label': [
        {
          '@language': 'en',
          '@value': 'Temperature in history of Earth'
        },
        {
          '@language': 'vi',
          '@value': 'Nhiệt độ trong lịch sử Trái Đất'
        }
      ],
      '@type': [
        'schema:MediaObject',
        'schema:VideoObject'
      ],
      'encodingFormat': 'video/webm',
      'contentUrl': 'https://upload.wikimedia.org/wikipedia/commons/d/d7/Die_Temperaturkurve_der_Erde_%28ZDF%2C_Terra_X%29_720p_HD_50FPS.webm',
      'url': 'http://commons.wikimedia.org/wiki/Special:FilePath/Die%20Temperaturkurve%20der%20Erde%20%28ZDF%2C%20Terra%20X%29%20720p%20HD%2050FPS.webm',
      'contentSize': 48727669,
      'height': 1080,
      'width': 1920,
      'duration': 'PT45.327S'
    },
    {
      '@id': 'wd:P571',
      '@type': 'wikibase:Property',
      'label': {
        '@language': 'en',
        '@value': 'inception'
      },
      'prefLabel': {
        '@language': 'en',
        '@value': 'inception'
      },
      'name': {
        '@language': 'en',
        '@value': 'inception'
      },
      'description': {
        '@language': 'en',
        '@value': 'time when an entity begins to exist; for date of official opening use P1619'
      },
      'propertyType': 'http://wikiba.se/ontology#Time',
      'directClaim': 'wdt:P571',
      'claim': 'p:P571',
      'statementProperty': 'ps:P571',
      'statementValue': 'psv:P571',
      'qualifier': 'pq:P571',
      'qualifierValue': 'pqv:P571',
      'reference': 'pr:P571',
      'referenceValue': 'prv:P571',
      'novalue': 'wdno:P571'
    },
    {
      '@id': 'p:P571',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'psv:P571',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'pqv:P571',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'prv:P571',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'wdt:P571',
      '@type': 'owl:DatatypeProperty'
    },
    {
      '@id': 'ps:P571',
      '@type': 'owl:DatatypeProperty'
    },
    {
      '@id': 'pq:P571',
      '@type': 'owl:DatatypeProperty'
    },
    {
      '@id': 'pr:P571',
      '@type': 'owl:DatatypeProperty'
    },
    {
      '@id': 'wdno:P571',
      '@type': 'owl:Class',
      'complementOf': '_:ed4d9507645e2210d8e4ed14d3266267'
    },
    {
      '@id': '_:ed4d9507645e2210d8e4ed14d3266267',
      '@type': 'owl:Restriction',
      'onProperty': 'wdt:P571',
      'someValuesFrom': 'owl:Thing'
    },
    {
      '@id': 'wd:Q20007257',
      '@type': 'wikibase:Item',
      'label': {
        '@language': 'en',
        '@value': 'Creative Commons Attribution 4.0 International'
      },
      'prefLabel': {
        '@language': 'en',
        '@value': 'Creative Commons Attribution 4.0 International'
      },
      'name': {
        '@language': 'en',
        '@value': 'Creative Commons Attribution 4.0 International'
      },
      'description': {
        '@language': 'en',
        '@value': 'Creative Commons license'
      }
    },
    {
      '@id': 'wd:P275',
      '@type': 'wikibase:Property',
      'label': {
        '@language': 'en',
        '@value': 'copyright license'
      },
      'prefLabel': {
        '@language': 'en',
        '@value': 'copyright license'
      },
      'name': {
        '@language': 'en',
        '@value': 'copyright license'
      },
      'description': {
        '@language': 'en',
        '@value': 'license under which this copyrighted work is released'
      },
      'propertyType': 'http://wikiba.se/ontology#WikibaseItem',
      'directClaim': 'wdt:P275',
      'claim': 'p:P275',
      'statementProperty': 'ps:P275',
      'statementValue': 'psv:P275',
      'qualifier': 'pq:P275',
      'qualifierValue': 'pqv:P275',
      'reference': 'pr:P275',
      'referenceValue': 'prv:P275',
      'novalue': 'wdno:P275'
    },
    {
      '@id': 'p:P275',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'psv:P275',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'pqv:P275',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'prv:P275',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'wdt:P275',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'ps:P275',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'pq:P275',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'pr:P275',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'wdno:P275',
      '@type': 'owl:Class',
      'complementOf': '_:298aabdb0974253ac321b0308875c924'
    },
    {
      '@id': '_:298aabdb0974253ac321b0308875c924',
      '@type': 'owl:Restriction',
      'onProperty': 'wdt:P275',
      'someValuesFrom': 'owl:Thing'
    },
    {
      '@id': 'wd:Q50423863',
      '@type': 'wikibase:Item',
      'label': {
        '@language': 'en',
        '@value': 'copyrighted'
      },
      'prefLabel': {
        '@language': 'en',
        '@value': 'copyrighted'
      },
      'name': {
        '@language': 'en',
        '@value': 'copyrighted'
      },
      'description': {
        '@language': 'en',
        '@value': 'legal state of a work as recognised as an intellectual property of an entity'
      }
    },
    {
      '@id': 'wd:P6216',
      '@type': 'wikibase:Property',
      'label': {
        '@language': 'en',
        '@value': 'copyright status'
      },
      'prefLabel': {
        '@language': 'en',
        '@value': 'copyright status'
      },
      'name': {
        '@language': 'en',
        '@value': 'copyright status'
      },
      'description': {
        '@language': 'en',
        '@value': 'copyright status for intellectual creations like works of art, publications, software, etc.'
      },
      'propertyType': 'http://wikiba.se/ontology#WikibaseItem',
      'directClaim': 'wdt:P6216',
      'claim': 'p:P6216',
      'statementProperty': 'ps:P6216',
      'statementValue': 'psv:P6216',
      'qualifier': 'pq:P6216',
      'qualifierValue': 'pqv:P6216',
      'reference': 'pr:P6216',
      'referenceValue': 'prv:P6216',
      'novalue': 'wdno:P6216'
    },
    {
      '@id': 'p:P6216',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'psv:P6216',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'pqv:P6216',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'prv:P6216',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'wdt:P6216',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'ps:P6216',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'pq:P6216',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'pr:P6216',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'wdno:P6216',
      '@type': 'owl:Class',
      'complementOf': '_:b1252803b14cb4551e630f41e1deba59'
    },
    {
      '@id': '_:b1252803b14cb4551e630f41e1deba59',
      '@type': 'owl:Restriction',
      'onProperty': 'wdt:P6216',
      'someValuesFrom': 'owl:Thing'
    },
    {
      '@id': 'wd:P1163',
      '@type': 'wikibase:Property',
      'label': {
        '@language': 'en',
        '@value': 'media type'
      },
      'prefLabel': {
        '@language': 'en',
        '@value': 'media type'
      },
      'name': {
        '@language': 'en',
        '@value': 'media type'
      },
      'description': {
        '@language': 'en',
        '@value': 'IANA-registered identifier for a file type (MIME)'
      },
      'propertyType': 'http://wikiba.se/ontology#String',
      'directClaim': 'wdt:P1163',
      'claim': 'p:P1163',
      'statementProperty': 'ps:P1163',
      'statementValue': 'psv:P1163',
      'qualifier': 'pq:P1163',
      'qualifierValue': 'pqv:P1163',
      'reference': 'pr:P1163',
      'referenceValue': 'prv:P1163',
      'novalue': 'wdno:P1163'
    },
    {
      '@id': 'p:P1163',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'psv:P1163',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'pqv:P1163',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'prv:P1163',
      '@type': 'owl:ObjectProperty'
    },
    {
      '@id': 'wdt:P1163',
      '@type': 'owl:DatatypeProperty'
    },
    {
      '@id': 'ps:P1163',
      '@type': 'owl:DatatypeProperty'
    },
    {
      '@id': 'pq:P1163',
      '@type': 'owl:DatatypeProperty'
    },
    {
      '@id': 'pr:P1163',
      '@type': 'owl:DatatypeProperty'
    },
    {
      '@id': 'wdno:P1163',
      '@type': 'owl:Class',
      'complementOf': '_:704e62989d8eb9df732666f92fa84714'
    },
    {
      '@id': '_:704e62989d8eb9df732666f92fa84714',
      '@type': 'owl:Restriction',
      'onProperty': 'wdt:P1163',
      'someValuesFrom': 'owl:Thing'
    },
    {
      '@id': 'sdc:M91230067',
      'sameAs': 'sdc:M83227919'
    },
    {
      '@id': 'sdcv:9a92a6f9a2d3add3d8a1eaa1bdf9175f',
      '@type': 'wikibase:TimeValue',
      'timeValue': '2019-10-18T00:00:00Z',
      'timePrecision': 11,
      'timeTimezone': 0,
      'timeCalendarModel': 'http://www.wikidata.org/entity/Q1985727'
    }
  ],
  '@context': {
    'sdcdata': 'https://commons.wikimedia.org/wiki/Special:EntityData/',
    'schema': 'http://schema.org/',
    'about': {
      '@id': 'schema:about',
      '@type': '@id'
    },
    'sdc': 'https://commons.wikimedia.org/entity/',
    'cc': 'http://creativecommons.org/ns#',
    'license': {
      '@id': 'cc:license',
      '@type': '@id'
    },
    'softwareVersion': {
      '@id': 'schema:softwareVersion'
    },
    'version': {
      '@id': 'schema:version'
    },
    'xsd': 'http://www.w3.org/2001/XMLSchema#',
    'dateModified': {
      '@id': 'schema:dateModified',
      '@type': 'xsd:dateTime'
    },
    'wikibase': 'http://wikiba.se/ontology#',
    'wdt': 'http://www.wikidata.org/prop/direct/',
    'P571': {
      '@id': 'wdt:P571',
      '@type': 'xsd:dateTime'
    },
    'P275': {
      '@id': 'wdt:P275',
      '@type': '@id'
    },
    'wd': 'http://www.wikidata.org/entity/',
    'P6216': {
      '@id': 'wdt:P6216',
      '@type': '@id'
    },
    'P1163': {
      '@id': 'wdt:P1163'
    },
    'p': 'http://www.wikidata.org/prop/',
    'sdcs': 'https://commons.wikimedia.org/entity/statement/',
    'p:P571': {
      '@type': '@id'
    },
    'rank': {
      '@id': 'wikibase:rank',
      '@type': '@id'
    },
    'ps': 'http://www.wikidata.org/prop/statement/',
    'ps:P571': {
      '@type': 'xsd:dateTime'
    },
    'psv': 'http://www.wikidata.org/prop/statement/value/',
    'sdcv': 'https://commons.wikimedia.org/value/',
    'psv:P571': {
      '@type': '@id'
    },
    'timeValue': {
      '@id': 'wikibase:timeValue',
      '@type': 'xsd:dateTime'
    },
    'timePrecision': {
      '@id': 'wikibase:timePrecision'
    },
    'timeTimezone': {
      '@id': 'wikibase:timeTimezone'
    },
    'timeCalendarModel': {
      '@id': 'wikibase:timeCalendarModel',
      '@type': '@id'
    },
    'p:P275': {
      '@type': '@id'
    },
    'ps:P275': {
      '@type': '@id'
    },
    'p:P6216': {
      '@type': '@id'
    },
    'ps:P6216': {
      '@type': '@id'
    },
    'p:P1163': {
      '@type': '@id'
    },
    'caption': {
      '@id': 'schema:caption'
    },
    'rdfs': 'http://www.w3.org/2000/01/rdf-schema#',
    'label': {
      '@id': 'rdfs:label'
    },
    'encodingFormat': {
      '@id': 'schema:encodingFormat'
    },
    'contentUrl': {
      '@id': 'schema:contentUrl',
      '@type': '@id'
    },
    'url': {
      '@id': 'schema:url',
      '@type': '@id'
    },
    'contentSize': {
      '@id': 'schema:contentSize'
    },
    'height': {
      '@id': 'schema:height'
    },
    'width': {
      '@id': 'schema:width'
    },
    'duration': {
      '@id': 'schema:duration',
      '@type': 'xsd:duration'
    },
    'skos': 'http://www.w3.org/2004/02/skos/core#',
    'prefLabel': {
      '@id': 'skos:prefLabel'
    },
    'name': {
      '@id': 'schema:name'
    },
    'description': {
      '@id': 'schema:description'
    },
    'propertyType': {
      '@id': 'wikibase:propertyType',
      '@type': '@id'
    },
    'directClaim': {
      '@id': 'wikibase:directClaim',
      '@type': '@id'
    },
    'claim': {
      '@id': 'wikibase:claim',
      '@type': '@id'
    },
    'statementProperty': {
      '@id': 'wikibase:statementProperty',
      '@type': '@id'
    },
    'statementValue': {
      '@id': 'wikibase:statementValue',
      '@type': '@id'
    },
    'qualifier': {
      '@id': 'wikibase:qualifier',
      '@type': '@id'
    },
    'pq': 'http://www.wikidata.org/prop/qualifier/',
    'qualifierValue': {
      '@id': 'wikibase:qualifierValue',
      '@type': '@id'
    },
    'pqv': 'http://www.wikidata.org/prop/qualifier/value/',
    'reference': {
      '@id': 'wikibase:reference',
      '@type': '@id'
    },
    'pr': 'http://www.wikidata.org/prop/reference/',
    'referenceValue': {
      '@id': 'wikibase:referenceValue',
      '@type': '@id'
    },
    'prv': 'http://www.wikidata.org/prop/reference/value/',
    'novalue': {
      '@id': 'wikibase:novalue',
      '@type': '@id'
    },
    'wdno': 'http://www.wikidata.org/prop/novalue/',
    'owl': 'http://www.w3.org/2002/07/owl#',
    'complementOf': {
      '@id': 'owl:complementOf',
      '@type': '@id'
    },
    'onProperty': {
      '@id': 'owl:onProperty',
      '@type': '@id'
    },
    'someValuesFrom': {
      '@id': 'owl:someValuesFrom',
      '@type': '@id'
    },
    'sameAs': {
      '@id': 'owl:sameAs',
      '@type': '@id'
    }
  }
}

this could be added to _search_json_ld imo

The test page has a lot of <link rel.... type="some/metadata"> links. ld+json seems a good target if the site always offers it.
Although in principle it's a candidate to be searched for in _search_json_ld(), in this case unfortunately the JSON uses multiple schemas and so the automatic parsing in the _json_ld() method wouldn't work directly. So that's a bit more of a project. Eg in this fragment, the critical VideoObject won't be found:
    {
      '@id': 'sdc:M83227919',
      'caption': [
        {
          '@language': 'en',
          '@value': 'Temperature in history of Earth'
        },
        {
          '@language': 'vi',
          '@value': 'Nhiệt độ trong lịch sử Trái Đất'
        }
      ],
      'label': [
        {
          '@language': 'en',
          '@value': 'Temperature in history of Earth'
        },
        {
          '@language': 'vi',
          '@value': 'Nhiệt độ trong lịch sử Trái Đất'
        }
      ],
      '@type': [
        'schema:MediaObject',
        'schema:VideoObject'
      ],
      'encodingFormat': 'video/webm',
      'contentUrl': 'https://upload.wikimedia.org/wikipedia/commons/d/d7/Die_Temperaturkurve_der_Erde_%28ZDF%2C_Terra_X%29_720p_HD_50FPS.webm',
      'url': 'http://commons.wikimedia.org/wiki/Special:FilePath/Die%20Temperaturkurve%20der%20Erde%20%28ZDF%2C%20Terra%20X%29%20720p%20HD%2050FPS.webm',
      'contentSize': 48727669,
      'height': 1080,
      'width': 1920,
      'duration': 'PT45.327S'
    },

Running this through flake8 gives these 2 errors:
./youtube_dl/extractor/wikimedia.py:53:62: W605 invalid escape sequence '\s'
./youtube_dl/extractor/wikimedia.py:53:73: W605 invalid escape sequence '\s'

it's fixed.

@dirkf Hi Dirk, are we any closer?

Hi there, is there feedback on this? I'm not sure if it's just other priorities, or if the code isn't in a position to be fixed, or is problematic in some way, that would be helpful to know. Thank you for any help you can give, I appreciate that you have all put quite a bit of time into checking this.

Why am I being pinged?

Hi @pukkandan Perhaps I am mistaken but I was hoping you could help us identify if there are further things to fix, or not, as you have previously given some helpful feedback.
We are currently stuck, as we've had no feedback since @EhtishamSabir submitted changes on 18 May; some six weeks. I know we are all volunteers and nobody has any duty to do anything but it would be really helpful to know whether the extractor is in need of further fixes; is adequate; or is still in need of significant work. If it is the case that the project can't help or believes it is not worth further helping, that would also be OK; but it very hard dealing with no feedback and no explanation for it.

My previous comments https://github.com/ytdl-org/youtube-dl/pull/30796#discussion_r849280344 and https://github.com/ytdl-org/youtube-dl/pull/30796#discussion_r849287567 are not yet addressed. Other than that, I don't see any obvious issues. There is a lot of code that I think is written in a bad style, but I am not going to point them out one by one. Besides, how much to enforce good coding style is upto dirkf.

My previous comments #30796 (comment) and #30796 (comment) are not yet addressed. Other than that, I don't see any obvious issues. There is a lot of code that I think is written in a bad style, but I am not going to point them out one by one. Besides, how much to enforce good coding style is upto dirkf.

Then instead of URL what can I add here? should I remove the subtitles list from the code?
what do you suggest?

You can perform regex matching in tests. Like 'url': 're:https?://...'

You can perform regex matching in tests. Like 'url': 're:https?://...'

I tried it.... hopefully it will work now.

@dirkf I think this is back to you for your judgement!

authors: EhtishamSabir JimKillock dirkf gamer191 pukkandan


text:
可以在README里提供一个简单的codepen或codesandbox的在线演示吗

如题

可以，我抽空搞一个

可以，我抽空搞一个

感谢回复，期待😀

可以，我抽空搞一个

感谢回复，期待😀

codesandbox在线demo弄好了

可以，我抽空搞一个

感谢回复，期待😀

codesandbox在线demo弄好了

非常感谢👍

authors: CNFeffery yuanguandong

repo: yuanguandong/react-dashboard-pro

license: MIT


text:
import path does not begin with hostname

Excuse me , how do I handle this error prompt
root@htnice:/home/htnice# go version
go version go1.6.1 linux/arm
root@htnice:/home/htnice#
root@htnice:/home/htnice# go get github.com/yudai/gotty
package context: unrecognized import path "context" (import path does not begin with hostname)
root@htnice:/home/htnice#

Either upgrade go to 1.9 or later. or run the pre-built from https://github.com/yudai/gotty/releases

thank you

authors: applehub nearffxx

repo: yudai/gotty

license: mit

license_source: bigquery


text:
model train

May I ask about your equipment, parameter settings, number of rounds, etc. during training？
ex：train_Hybrid_SR.py
When I reproduced it on your dataset, the PSNR could only reach 29。May I ask if there are any differences in preprocessing and training between your two large-scale datasets

I guess it caused by the different using log scale and the max-min clipping. I will need to check.

authors: CHB-learner yujheli

repo: yujheli/Pitt-Radar


text:
Queueing same url on multiple workers in cluster with Redis cache results in duplicates

What is the current behavior?
Using a Redis cache for the queue and a cluster of processes crawling, the crawler is repeating requests.
If the current behavior is a bug, please provide the steps to reproduce
Create a cluster in which each workers process starts crawling the same url (on a crawler using Redis cache)
What is the expected behavior?
Even if the same url is added multiple times, I would expect there to be no duplicates. Should this be the case?
Please tell us about your environment:

Version: 1.8.0
Platform / OS version: Windows
Node.js version: 8.11.3

I have the same problem, I confirm

I set it up with skipDuplicates and skipRequestedRedirect but it's still able to be reproduced issue for me.
Have a feeling it's because of differing 'extraHeaders' maybe?
Any guidance here would be appreciated; am redis noob, and moreover just want to make my crawler more efficient and not hit the same pages once per worker.

Just posting here hoping this would help someone. This is true it crawls duplicate URLs when concurrency > 1.  So here is what I did.

First created a sqlite database.
Then in RequestStarted event, insert the current url.
In preRequest function (You can pass this function along with options object) , just check whether there is a record of current url. If it is there that means url has crawler or still crawling. so return false. It will skip the url
In RequestRetried, RequestFailed events, delete the url. So that will allows crawler to try it again.

authors: Devhercule floppyTop iamprageeth pubudeux

repo: yujiosaka/headless-chrome-crawler


text:
Add GentooWSL2

I tried making a ready to use Gentoo instance for WSL2, this one is probably the largest one among the distros ~290MB. The CI setup will be completed soon, i'm busy with things.

Ok, Thank you!


text:
🛑 API Server is down

In 699173f, API Server ($API_SITE) was down:

HTTP code: 0
Response time: 0 ms

Resolved: API Server is back up in 5c5d4dc.

repo: yukbid/upptime


text:
Update README

Modify Title

Pull Request Test Coverage Report for Build 95

0 of 0   changed or added relevant lines in 0 files are covered.
75 unchanged lines in 8 files lost coverage.
Overall coverage decreased (-12.04%) to 87.64%

Files with Coverage Reduction
New Missed Lines
%

spec/fcoin_spec.rb
1
100.0%

spec/fcoin/request_spec.rb
2
100.0%

spec/fcoin/endpoint/accounts_spec.rb
2
100.0%

spec/fcoin/endpoint/orders_spec.rb
2
98.79%

spec/fcoin/api_spec.rb
4
100.0%

spec/fcoin/configuration_spec.rb
4
100.0%

spec/fcoin/endpoint/public_spec.rb
8
100.0%

spec/fcoin/endpoint/market_spec.rb
52
100.0%

Totals

Change from base Build 91:
-12.04%

Covered Lines:
546

Relevant Lines:
623

💛  - Coveralls

Pull Request Test Coverage Report for Build 95

0 of 0   changed or added relevant lines in 0 files are covered.
75 unchanged lines in 8 files lost coverage.
Overall coverage decreased (-12.04%) to 87.64%

Files with Coverage Reduction
New Missed Lines
%

spec/fcoin_spec.rb
1
100.0%

spec/fcoin/request_spec.rb
2
100.0%

spec/fcoin/endpoint/accounts_spec.rb
2
100.0%

spec/fcoin/endpoint/orders_spec.rb
2
98.79%

spec/fcoin/api_spec.rb
4
100.0%

spec/fcoin/configuration_spec.rb
4
100.0%

spec/fcoin/endpoint/public_spec.rb
8
100.0%

spec/fcoin/endpoint/market_spec.rb
52
100.0%

Totals

Change from base Build 91:
-12.04%

Covered Lines:
546

Relevant Lines:
623

💛  - Coveralls

authors: coveralls yukihirop


text:
Pressing tab key to select suggestion and continue with more suggestions doesn't work anymore

Before #212, the Tab key could be used to select a partial suggestion and then continue with more suggestions.
Now it just does the same thing as Enter (select suggestion and close menu) instead of showing a new menu with sub-suggestions.
How can I get back the old behavior?
Thanks.

It is intended behavior. If you need old behavior, revert d5e5aea4c3113a036d5e1069b96a3c13ce992ff2 by yourself

authors: petsuter yuku-t

repo: yuku-t/jquery-textcomplete


text:
[求助/Help]云管创建虚拟机报错

云管创建虚拟机报错
但在vcenter中可以看到资源还在继续创建，直至创建完成。
报错如下：
{
"reason": "agentCreateGuest: SHost.CreateVM2: Task.WaitForResult: Post "https://172.28.1.10/sdk\": net/http: timeout awaiting response headers",
"stage": "OnDeployGuestComplete",
"status": "error"
}
求助，多谢。

https://github.com/yunionio/cloudpods/issues/15542 看下这个

可以打个最新的esxi-agent的镜像替换下服务，麻烦问下这个操作有文档吗？

https://www.cloudpods.org/zh/docs/development/dev-env/#docker-镜像编译上传

先关了，有问题再打开哈

authors: ioito jackgao2015 shuboGe

repo: yunionio/cloudpods


text:
docs: 添加ansibleplaybook API描述

这个 PR 实现什么功能/修复什么问题:
docs: 添加ansibleplaybook API描述
是否需要 backport 到之前的 release 分支:
NONE
/area docs
/cc @ioito
/cc @swordqiu

Codecov Report

Merging #1891 into master will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #1891      +/-   ##
=========================================
+ Coverage    7.59%    7.6%   +0.01%
=========================================
  Files         412     412
  Lines       63672   63672
=========================================
+ Hits         4833    4842       +9
+ Misses      58429   58420       -9
  Partials      410     410

Flag
Coverage Δ

#aFlag
7.6% <ø> (+0.01%)
:arrow_up:

Impacted Files
Coverage Δ

pkg/appsrv/response.go
66.15% <0%> (-3.08%)
:arrow_down:

pkg/util/rbacutils/rbac.go
74.76% <0%> (+3.42%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 58279e3...df28c64. Read the comment docs.

/lgtm
/approve

/lgtm
/approve

authors: codecov-io swordqiu yousong

repo: yunionio/onecloud


text:
Automated cherry pick of #3189: fix: openstack上传镜像时也指定os_type及额外信息

Cherry pick of #3189 on release/2.10.0.
#3189: fix: openstack上传镜像时也指定os_type及额外信息

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.10.0@9759511). Click here to learn what that means.
The diff coverage is n/a.

@@               Coverage Diff                @@
##             release/2.10.0   #3229   +/-   ##
================================================
  Coverage                  ?   7.47%
================================================
  Files                     ?     414
  Lines                     ?   66202
  Branches                  ?       0
================================================
  Hits                      ?    4946
  Misses                    ?   60833
  Partials                  ?     423

Flag
Coverage Δ

#aFlag
7.47% <ø> (?)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9759511...78b6be5. Read the comment docs.

/lgtm

/approve

authors: codecov-io ioito swordqiu


text:
Automated cherry pick of #3355: fix: shoule purge snat table and dnat table when sync remove local natgateway; nat rule's 'real_name'.

Cherry pick of #3355 on release/2.11.
#3355: fix: shoule purge snat table and dnat table when sync remove local natgateway; nat rule's 'real_name'.

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.11@087365c). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.11   #3356   +/-   ##
==============================================
  Coverage                ?   7.14%
==============================================
  Files                   ?     476
  Lines                   ?   77234
  Branches                ?       0
==============================================
  Hits                    ?    5516
  Misses                  ?   71255
  Partials                ?     463

Flag
Coverage Δ

#aFlag
7.14% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/purge.go
0% <0%> (ø)

pkg/compute/models/natgateways.go
2.99% <0%> (ø)

pkg/compute/models/natstable.go
3.96% <0%> (ø)

pkg/compute/models/natdtable.go
4.91% <0%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 087365c...2365131. Read the comment docs.

/approve
/lgtm

authors: Mjoycarry codecov-io yousong


text:
fix: ignore 409 error when doing redfish power on

这个 PR 实现什么功能/修复什么问题:
修正：当通过redfish API启动主机时，忽略409错误

是否需要 backport 到之前的 release 分支:

release/3.3
release/3.4

/arear baremetal-agent
/cc @zexi

/lgtm
/approve

authors: swordqiu zexi


text:
🛑 Excalidraw is down

In dcae979, Excalidraw (https://excalidraw.yunuscloud.eu.org) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Excalidraw is back up in 7b86e86 after 13 minutes.


text:
回测前推行情获取及指数分钟回测问题

修正指数分钟回测QB.market_data没有取到回测日之前的分钟数据导致无法获取交易日前推的分钟线数据。
修正QB.QA_backtest_get_market_data取数据方向相反的问题。

有点小问题

应该用time_gap的 我忘了改

authors: shenxingbei yutiansut

repo: yutiansut/QUANTAXIS


text:
InvalidArgumentError (see above for traceback): No OpKernel was registered to support Op 'ComputeflowGrad'

When trying to run the shapenet experiments I get the following erros:

InvalidArgumentError (see above for traceback): No OpKernel was registered to support Op 'ComputeflowGrad' with these attrs.  Registreed devices: [CPU], Registered kernels: device = 'GPU'; T in [DT_FLOAT].

Then an output for the node and then ...:

CUDA Runtime Error: no CUDA-capable device is detected

I am using the same versiosn as you suggested for tensorflow, CUDA and all other dependencies. If I execute small test script like:
import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

I can see my 2 Titan 1080 GPUs mapped as devices.
I used any kind of index for $GPU_ID, but the error is still the same.
We really appreciate your help and thank you for your help

I am not sure what causes the problem here.

I installed tensorflow via:
pip install tensorflow
pip install tensorflow-gpu
Have you installed it differently or built it by scratch?
Another difference is, that we use Ubuntu 14.04 , but this shouldn't be the cause of the problem.

We found out that the error comes from the Script:

shapenet_scene_mutli_normal.sh

However, the code looks fine - which kind of GPU are you using? Does it provide INT8-Precision? Is it a GPU specially designed for Deep-Learning?
Thank you really much for your help

I have tested the code on Titan X (Pascal) and GeForce 1080. I can run both the scripts. Maybe check your cuda.

Changing to Ubuntu 16.04 resolvied this issue.
Also the $GPU_ID must be given as an input, when running with two cards it crashes when this parameter is left out.
Thank you really much for your help.

Good to know!

authors: kevinkit yuxng

repo: yuxng/DA-RNN


text:
npm test often fails on OS X

Windows and Ubuntu(CircleCI) are OK. Console shows an error: RuntimeError: Couldn't connect to selenium server.
However, the test succeeds sometimes.
  electron-mattermost
    ✓ should show settings.html when there is no config file (1298ms)
    ✓ should show index.html when there is config file (965ms)
    ✓ should upgrade v0 config file (1004ms)
    index.html
      ✓ should set src of webview from config file (1260ms)
      ✓ should set name of tab from config file (1174ms)
RuntimeError: Couldn't connect to selenium server
    at elementIdDisplayed("0.5625486401841044-2") - isVisible.js:56:5
      1) should show only the selected team
    settings.html
      ✓ should show index.thml when Cancel button is clicked (2591ms)
      ✓ should show index.thml when Save button is clicked (2592ms)

  settings.js
    ✓ should upgrade v0 config file

  8 passing (22s)
  1 failing

  1) electron-mattermost index.html should show only the selected team:
     Error: timeout of 10000ms exceeded. Ensure the done() callback is being called in this test.

Hmm...yes, I think they are equivalent. But it's odd as you said.
If your changes still don't reproduce the failure, would you show code whole?

Hmm...yes, I think they are equivalent. But it's odd as you said.
If your changes still don't reproduce the failure, would you show code whole?

I think it was probably a false lead but, just in case it really does make a difference, if you want to try it, each of my tests are now:
{{{
it('should show settings.html when there is no config file', function(done) {
client
.init().then(function () {
client.getUrl().then(function(url) {
var p = path.parse(url);
p.base.should.equal('settings.html');
})
.end().then(function() {
done();
});
})
});
}}}

uncaught exception write EPIPE at objects.exports._errnoexception utils.js:865:11...

Have you seen anything like this? The error stays on my screen but after 10 seconds (the timeout) another Electron application opens, so there are two open.

No, I haven't seen this. I had added client.end() in afterEach() to avoid that there were two open.
I pushed a new branch, test-on-osx. The failure still happens, but the result is interesting. I added console.log into checkVisility(). So, I can know the test had succeeded until first isVisible() command.
  electron-mattermost
    ✓ should show settings.html when there is no config file (1295ms)
    ✓ should show index.html when there is config file (962ms)
    ✓ should upgrade v0 config file (942ms)
    index.html
      ✓ should set src of webview from config file (1215ms)
      ✓ should set name of tab from config file (1133ms)
[ true, false ]
RuntimeError: Couldn't connect to selenium server
    at elementIdDisplayed("0.2587126281578094-2") - isVisible.js:56:5
      1) should show only the selected team
    settings.html
      ✓ should show index.thml when Cancel button is clicked (2580ms)
      ✓ should show index.thml when Save button is clicked (2597ms)

  settings.js
    ✓ should upgrade v0 config file

  8 passing (30s)
  1 failing

  1) electron-mattermost index.html should show only the selected team:
     Error: timeout of 10000ms exceeded. Ensure the done() callback is being called in this test.

npm ERR! Test failed.  See above for more details.

As result, I think there is possible that the reason is the connection dropping. However, if it was true, I have no idea to suppress.

Hi again,
I have no idea if this will be helpful, but I did more investigation. I turned on chromedriver logs and based on those, it seems like the forEach loop to evaluate multiple matches, doesn't seem to be working. I'm not sure if this is an issue inside webdriverio or the test suite, though.
The reason I'm wondering this is: I turned on chromedriver debug logging by adding:
browser_test.js line 39:
chromedriver = require('child_process').spawn('node_modules/chromedriver/lib/chromedriver/chromedriver', ['--url-base=wd/hub', '--port=9515', '--verbose', '--log-path=[absolute path to log file]']);

Then, I commented out most of the tests, leaving just the failing tests within describe('index.html'
When I then ran the tests, it failed on the very first one:
electron-mattermost
    index.html
RuntimeError: Couldn't connect to selenium server
    at elementIdAttribute("0.4014562803786248-2", "src") - getAttribute.js:51:5
      1) should set src of webview from config file

Based on the test, I would expect that Chromedriver would get two requests, one for the first tab and one for the second. But I looked in the Chromedriver log and don't see what I'd expect. I have pasted below the relevant output. Lines prefaced by [Matthew] are added by me, the rest are the log output:
[2.019][DEBUG]: DEVTOOLS RESPONSE Runtime.evaluate (id=11) {
   "result": {
      "type": "object",
      "value": {
         "status": 0,
         "value": [ {
            "ELEMENT": "0.4014562803786248-1"
         }, {
            "ELEMENT": "0.4014562803786248-2"
         } ]
      }
   },
   "wasThrown": false
}
[Matthew] Looks like it found the two elements of class mattermostView
[2.019][INFO]: Waiting for pending navigations...
[2.019][INFO]: Done waiting for pending navigations
[2.019][INFO]: RESPONSE FindElements [ {
   "ELEMENT": "0.4014562803786248-1"
}, {
   "ELEMENT": "0.4014562803786248-2"
} ]
[Matthew] Looks like it is now responding to the test suite, with those 2 elements
[2.038][INFO]: COMMAND GetElementAttribute {
   "id": "0.4014562803786248-2",
   "name": "src"
}
[Matthew] Ok, here is the command from the test suite for get src attribute of the 2nd element
[2.038][INFO]: Waiting for pending navigations...
[2.038][INFO]: Done waiting for pending navigations
[2.039][DEBUG]: DEVTOOLS COMMAND Runtime.evaluate (id=12) {
   "expression": "(function() { // Copyright (c) 2012 The Chromium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n/**\n * Enum f...",
   "returnByValue": true
}
[2.063][DEBUG]: DEVTOOLS RESPONSE Runtime.evaluate (id=12) {
   "result": {
      "type": "object",
      "value": {
         "status": 0,
         "value": "http://example.com/team"
      }
   },
   "wasThrown": false
}
[2.063][INFO]: Waiting for pending navigations...
[2.063][INFO]: Done waiting for pending navigations
[2.063][INFO]: RESPONSE GetElementAttribute "http://example.com/team"
[Matthew] Ok, now it responded to the test suite with the value of the 2nd element
[11.205][INFO]: COMMAND Quit {

}
[Matthew] Now it got the quit command. But, where was the request for the src of the 1st element?
[11.256][INFO]: RESPONSE Quit
[11.256][DEBUG]: Log type 'driver' lost 71 entries on destruction
[11.256][DEBUG]: Log type 'browser' lost 0 entries on destruction
[11.346][INFO]: COMMAND InitSession {
[Matthew] Now beginning next test...

I saw the same thing multiple times. I also saw the case where there is no error thrown (I removed what seem to me to be irrelevant lines this time, to make it easier to see:
[4.423][INFO]: RESPONSE FindElements [ {
   "ELEMENT": "0.35136634879745543-1"
}, {
   "ELEMENT": "0.35136634879745543-2"
} ]
[4.436][INFO]: COMMAND IsElementDisplayed {
   "id": "0.35136634879745543-1"
}
[4.446][INFO]: RESPONSE IsElementDisplayed false
[4.446][INFO]: COMMAND IsElementDisplayed {
   "id": "0.35136634879745543-2"
}

So basically it seems like when it works, we can see the Chromedriver log clearly showing that it gets a request for the 1st element, then a request for the 2nd, and the test passes.
I don't know for sure that this is a bug in webdriverio, but I suspect it is. I know the error is "can't connect to driver" but, the Chromedriver log clearly shows a connection and request for the 2nd element. How come the request for the 1st item isn't showing up? Unless it's a temporary connection issue, maybe it's  bug with the foreach somewhere?
I'm sorry if this isn't helpful and wastes your time. But this definitely, to me, seems to point to a bug that's not in your test suite code?

Thanks a lot. Don't worry, this was good time for the issue.
Fortunately(Unfortunately), there is no error on Linux. So the issue is not critical.
When I have time to study, I'll also try checking webdriverio.

For now, I had modified tests to avoid multiple elements. Please reopen if it's necessary.

authors: kaleposhobios yuya-oc

repo: yuya-oc/electron-mattermost


text:
Call type not supported on this platform

Hi!
Very interested in giving the lib a round as I got some models on the side.
I wasnt't able to put a diagnostic.
Thanks!
Describe the bug
Caused by: java.lang.UnsupportedOperationException: Call type not supported on this platform
To Reproduce
Steps to reproduce the behavior:
Gradle Tasks -> Application -> Run
Desktop (please complete the following information):

OS: macos M1
JVM temurin-19.0.2

Additional context
dependencies:
        implementation project(":onnxruntime-sample-library")
	runtimeOnly project(path: ":", configuration: 'cpu')
	runtimeOnly "com.jyuzawa:onnxruntime-cpu:1.+:osx-aarch_64"

Thank you for your interest in this project.
Sadly you have encountered one of the limitations of an experimental framework. There was a known issue with Java 19's preview API with M1 macs. It was patched in https://github.com/openjdk/panama-foreign/pull/746/files#diff-842e1f602edc157c7897665ff0678fbb6f2589d2511088bab690cb9ca6044ba4L203 However this library is pinned to Java 19 (optimistically hoping that the underlying API would be out of preview in Java 20). Unfortunately, it did not get out of preview in Java 21, so I am tentatively targeting Java 22 (which they have claimed it will finally be out of preview). I am currently upgrading to that, but jextract, gradle, and IDE's are not quite ready for 22, so its been slow. Ideally in the next few months things should improve. I'll update this ticket once that is achieved.

Thank you James, your detailed explanation can bring me back on track.
I'm gonna move to another hardware so I can progress with your work.
Best regards. Robert.

I have a test branch (once again very experimental) for java 22 which builds on environments with jdk 21 (to bootstrap gradle) and 22-ea (to allow gradle to use as a build/runtime toolchain.
I do not see much movement on this until at least gradle is upgraded and 22 is fully released in a few months.

I have merged and upgraded the project (and runtime minimum version) to JDK22. Please consult the readme for the most recent snapshots. I think microsoft may be dropping a new release in the coming days/weeks so i'll probably wait for ORT 1.18.0 before cutting a full release.

authors: Solido yuzawa-san

repo: yuzawa-san/onnxruntime-java


text:
remove useless exclude declaration in MANIFEST.in

examples/update.sh is not included by the  recursive-include rule above. This results in the following warning when building a source distribution:
warning: no previously-included files found matching 'examples/update.sh

That's a bit weird no? We do have a recursive-include examples rule but examples/update.sh is not included?

@ggrossetie : not really. The rule is recursive-include examples blockdiagrc *.diag *.png *.svg
It includes all diag, png, svg files. But not .sh files.

I see, so the first argument is the directory/path and the rest are file patterns?

authors: arenevier ggrossetie

repo: yuzutech/blockdiag


text:
Git enhancements

I've started a major overhaul of git.
See    https://github.com/jsbain/stash/tree/safer
Right now, I have git branch completely rewritten, and it behaves (mostly) like the real git branch command.  It is now possible to create a branch from an existing start point (such as remote/branch), rename branches, delete local branches, delete local copies of remote tracking branches (in refs/remotes/), set or remove upstream ref for a branch (not yet used in push/pull, but will show the number of commits ahead or behind upstream when using git branch -v) and a few other improvements.
Since implementing full git code takes a lot of code, it is making more sense to break this into a separate .py file.  How would you like this organized?
Right now, I left git.py in bin, and placed my branch.py into bin/git-scripts.  I could see another option being to put the supporting scripts into lib/git.  What's your preference?

Placing git subcommands under lib/git seems more logical to me. bin is where the main executables go, anything they depend on should be placed somewhere in lib. That way bin also stays cleaner and we don't need to worry about possible issues with bin subfolders.
Being the conventionist (is that even a word?) person I am I'd even lean towards separating bin (core shell utilities necessary for basic use) from usr/bin (utilities that are technically not necessary or used by the shell itself) as is done on practically any modern Unix system. That should be discussed in a separate issue though.

@jsbain My opinion is to store the sub-command scripts somewhere else other than bin. Scripts or folders inside bin are part of Tab auto-completion possibilities. So if you type gi then press Tab key, both git and git-scripts are shown in the candidate list. This seems to suggest that both of the commands are supposed to be called directly from command line. I do note that technically git-scripts/git-branch.py can be directly called, but it is probably not the recommended usage of this script. So if a script is by nature a sub-command, I'd suggest place it outside of bin and only leave the main script inside bin. The separation also leaves room for any future pure-helper scripts that are not possible to be called directly. It is also kinda a protection for a script because it does not lead users directly to the guts of a script (at least not from the Tab auto-completion suggestions).
lib/git looks good to me. I added lib initially for helper functions. But the sub-command scripts also seem to be a good use case of this folder.

okay, lib it is!

authors: dgelessus jsbain ywangd

repo: ywangd/stash


text:
报错Cannot read property 'getContext' of null，什么原因？

Attention

Do not ask any usage question, issue board is a issue board, accept library bugs only.
If you are facing any usage problem, read the README again.

Issue Template
Issue Description(What's your problem)
How To Reappear(How to reappear the issue)
Any Attachment(Provide a sample about your issue)
------ 中文分割线 ------
注意

不要在 Issue 板块提问使用问题，Issue 板块只接受 Bug 反馈。
如果遇到使用上的问题，仔细阅读 README。

Issue 模板
请尽量使用英文提交 Issue
请确切回答：问题的描述、重现方式、附件（提供一个 Demo 以重现问题）

这不就是一个bug吗，报了一堆getContext is undefined的错误，什么鬼

authors: EasonShen1989 PonyCui driveRoad

repo: yyued/SVGAPlayer-Web


text:
NoneType not scriptable error

i get this error after running
bandcamper "https://peachringsnc.bandcamp.com/album/october-again
Traceback (most recent call last):   File "/usr/local/bin/bandcamper", line 8, in <module>     sys.exit(main())   File "/home/basilk/.local/lib/python3.9/site-packages/click/core.py", line 1130, in __call__     return self.main(*args, **kwargs)   File "/home/basilk/.local/lib/python3.9/site-packages/click/core.py", line 1055, in main     rv = self.invoke(ctx)   File "/home/basilk/.local/lib/python3.9/site-packages/click/core.py", line 1404, in invoke     return ctx.invoke(self.callback, **ctx.params)   File "/home/basilk/.local/lib/python3.9/site-packages/click/core.py", line 760, in invoke     return __callback(*args, **kwargs)   File "/usr/local/lib/python3.9/site-packages/bandcamper/__main__.py", line 180, in main     bandcamp_downloader.download_all(destination, output, output_extra, *audio_formats)   File "/usr/local/lib/python3.9/site-packages/bandcamper/bandcamper.py", line 355, in download_all     self.download_from_url(   File "/usr/local/lib/python3.9/site-packages/bandcamper/bandcamper.py", line 266, in download_from_url     music_data = self._get_music_data(url)   File "/usr/local/lib/python3.9/site-packages/bandcamper/bandcamper.py", line 137, in _get_music_data     soup.find("script", {"data-tralbum": True})["data-tralbum"] TypeError: 'NoneType' object is not subscriptable

Are you closing the quotes?  bandcamper "https://peachringsnc.bandcamp.com/album/october-again"
I could not reproduce this error.

Maybe it fixed itself?
I remade my server recently so i cant check in that environment, but it works now

repo: yyyyyyyan/bandcamper


text:
clang 支持

linux下用clang编译tutorial的时候报错：
/usr/include/libgo/channel.h:41: error: unknown type name 'nullptr_t'; did you mean 'std::nullptr_t'?
    Channel const& operator>>(nullptr_t ignore) const
                              ^

有计划支持clang吗

libgo中使用了gcc的特性(弱符号等)，不确定clang是否支持这些特性，作者也没有尝试过移植到clang上。
不过并没有禁止, 你可以尝试一下,  期待你的PR

感谢你的PR，已merged。
顺便提一下，clang的相关的CI是否有兴趣添加上去？

试了下有一个测试失败，https://travis-ci.org/xgdgsc/libgo/jobs/170023110 ：
/home/travis/build/xgdgsc/libgo/test/gtest_unit/protect.cpp:90: Failure
Value of: WIFEXITED(stat_val)
  Actual: true
Expected: false
/home/travis/build/xgdgsc/libgo/test/gtest_unit/protect.cpp:91: Failure
Value of: WIFSIGNALED(stat_val)
  Actual: false
Expected: true
/home/travis/build/xgdgsc/libgo/test/gtest_unit/protect.cpp:92: Failure
Value of: 11
Expected: (((*(int *) &(stat_val))) & 0x7f)
Which is: 0
[  FAILED  ] testProtect.testProtect (1 ms)
[----------] 1 test from testProtect (1 ms total)

恩，看来适配clang还有一些工作要完成

我确认了下之前在manjaro下用clang编译的gtest_unit所有测试都通过了，没有失败的。不知道问题在哪。

TravisCI上提供的环境是略有差异，我当初也是commit了好多次才彻底搞定的。
建议检查一下clang等工具的版本号


text:
Distillation 文件夹在哪呢?

这个链接 https://github.com/yzd-v/cls_KD/blob/1.0/mmcls/distillation/  是空的

那是0.x版本的路径 更新了下readme 现在是对的咯


text:
关于定时任务无法正常使用的问题

1、CBoard版本为v0.3.2版
2、config.properties 配置文件如下：

3、并没与进行二次开发
4、定时任务配置信息如下：

错误现象：点击执行，日志显示
Run phantomjs command: E:/phantomjs-2.1.1-windows/bin/phantomjs.exe F:\DEMO_longyan\CBoard\target\cboard\WEB-INF\classes\phantom.js http://127.0.0.1:8026/render.html?sid=5c3e88d99b454a718036ad8795fd0e7f#?id=1&pid=fd776a5ad40b4421873e899854ee17b2
然后就一直显示处理中，知道超时之后报错。报错如下：

数据库中job表对应的数据为：

从你的配置看来，貌似没有什么问题，是否可以自己debug调试一下异常日志里面MailService明确报错的这一段。

debug过，我们把这一段代码拆分之后，定位到下图，然后由于超时，所以return  null   最后导致java.lang.NullPointerException.

你在前端页面，点击导出看板，看到后台打印出来的url之后，把这段url在浏览器里面访问一下，F12（Chrome）看看是否有js报错

定时任务已解决！现在来分享一下。
1、关于一直处于处理中，无法获取数据，最后导致java.lang.NullPointerException的问题
原因是config.properties文件中web端口配置错误的原因，见下图1：

可能是因为Tomcat的端口配置原因，具体是不是，还需要请CBoard团队的专家进行确认。
2、在解决了上述问题后，又有新的问题出现，错误显示无法将邮件发送到对应stmp.host 对应的服务器。
这个原因还未知，但是在我们不断的更改邮箱类型之后，幸运的找到了可以发送HTML类型文件的邮箱客户端，也就是QQ的企业邮箱。（配置如上图2）  我们尝试过163个人邮箱   163企业邮箱  QQ个人邮箱。都不可以。所以希望请CBoard团队的专家对这个方面做一下说明，我们的操作是否只是巧合，以便以后的使用者能更好的使用

我们是企业内部邮件服务器，所以没有你说的问题。
另外，外部邮件服务器我试过sina可以发送成功，QQ邮箱需要你确认下是不是ssl.checkserveridentity需要打开。

163企业邮箱亲测可以正常使用定时任务发送报表。

定时邮件中无法显示中文问题现象：

上图分别为看板效果和邮件显示效果
我们做过以下尝试：
1、我们通过测试发现，通过数据集查询获得的数据，在发送邮件的过程中，会出现中文缺失现象，但是直接通过图表新建查询获取的数据，就不会出现这个现象。如图：

这个是我们比较费解的一个问题
2、在本机搭建标准版虚拟机Linux系统，tomcat 8.5.20   jkd 1.8.0.114，部署上项目后，可以正常发送邮件，中文显示正常。包括之前通过数据集获取的数据，邮件中也可以正常显示。但是在阿里云服务器上，就会出现上述错误情况。同时我们在window下使用intellj idea 运行也可以正常发邮件。因此我们怀疑是否是Linux标准版和服务器版中存在区别。因为Windows 和Linux图形化界面版都可以正常显示。
此外，定时任务运行是产生的URL
Run phantomjs command: E:/phantomjs-2.1.1-windows/bin/phantomjs.exe F:\DEMO_longyan\CBoard\target\cboard\WEB-INF\classes\phantom.js http://127.0.0.1:8026/render.html?sid=5c3e88d99b454a718036ad8795fd0e7f#?id=1&pid=fd776a5ad40b4421873e899854ee17b2
在浏览器上打开，显示数据是正常的，但是发送的邮件中，中文出现缺失。
如果有使用CBoard的伙伴遇到过类似的问题，欢迎和我们讨论。

linux服务器上需要安装中文字体，
yum install bitmap-fonts bitmap-fonts-cjk

非常感谢！问题已解决。之前关于数据集的问题就可以说通了，因为我在设置数据集时，使用了中文别名，才会导致中文无法显示。而图表新建查询没有使用中文别名，所以可以正常显示。
再次代表善林金融大数据部门向CBoard团队的伙伴表示感谢！谢谢你们的耐心指导！

authors: february longhuohuo yzhang921


text:
IForest feature contribution for a given outlier

Hi, is it possible to print out which feature directly/more likely contributes to determining a data point as an outlier? So that we can check for each data point that which features may deviate the data point from the distribution the most.

Hi @lujiazho, you can actually use the shap library for this:
# Fit PyOD model
clf = KNN()
clf.fit(data)

# Shap is slow so perhaps only explain highest likelihood values, e.g. 100
scores = clf.decision_scores_
idx = np.argsort(scores)

# Fit shap explainer and get values for top 100
explainer = shap.Explainer(clf.decision_function, data)
shap_values = explainer(data[idx][-100:])

# Example of some plots
shap.plots.waterfall(shap_values)
shap.plots.beeswarm(shap_values)
shap.plots.bar(shap_values)

Hope this is what you were looking for and all the best!

Thanks a lot! That's exactly what I want!

You can also use clf.feature_importances_() for IForest

authors: KulikDM jesuinovieira lujiazho


text:
support any valid html attributes so that things like AlpineJS work

I saw that you are adding the melody-parser into the module, I hope this is now easier to fix.
Things like (coming from https://alpinejs.dev/):
<button @click="toggle()" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-aida-blue-logo" aria-expanded="false">

Gives:
[error] Expected a valid attribute name, but instead found "@", which is not part of a valid attribute name.
[error]     at TokenStream.error (/var/www/html/web/themes/custom/aida_theme/node_modules/melody-parser/lib/index.js:1362:22)
[error]     at new TokenStream (/var/www/html/web/themes/custom/aida_theme/node_modules/melody-parser/lib/index.js:1301:18)
[error]     at createConfiguredParser (file:///var/www/html/web/themes/custom/aida_theme/node_modules/@zackad/prettier-plugin-twig/src/parser.js:46:9)
[error]     at Object.parse (file:///var/www/html/web/themes/custom/aida_theme/node_modules/@zackad/prettier-plugin-twig/src/parser.js:76:20)
[error]     at parse4 (file:///var/www/html/web/themes/custom/aida_theme/node_modules/prettier/index.mjs:20685:24)
[error]     at async coreFormat (file:///var/www/html/web/themes/custom/aida_theme/node_modules/prettier/index.mjs:21146:7)
[error]     at async formatWithCursor (file:///var/www/html/web/themes/custom/aida_theme/node_modules/prettier/index.mjs:21348:14)
[error]     at async formatFiles (file:///var/www/html/web/themes/custom/aida_theme/node_modules/prettier/internal/cli.mjs:3468:18)
[error]     at async main (file:///var/www/html/web/themes/custom/aida_theme/node_modules/prettier/internal/cli.mjs:3876:5)
[error]     at async Module.run (file:///var/www/html/web/themes/custom/aida_theme/node_modules/prettier/internal/cli.mjs:3822:5)

And other things breaks into different things too:

:class
x-on:click="scrollTo($event)"

I have have a rough timeline into when a new release with fixes will be released that would be awesome.

Sorry, but not eta or timeline. It will be released as soon as I deem it ready.
Parser is not something I'm familiar with. Altough I know how they works, that doesn't mean I know how to make them work. I'm not even sure where to get started.

I'll see if I can help, any contributing guidelines always a good thing to have to make it easer to potential contributors

I'll see if I can help, any contributing guidelines always a good thing to have to make it easer to potential contributors

@zackad it wasn't hard to get it running and started

authors: hanoii zackad

repo: zackad/prettier-plugin-twig


text:
refreshObject task resets a Vigor 2860L repeatedly

I configured a Vigor 2860L to connect to genieacs server I have setup, and the CPE shows in the list of devices. However, immediately afterwards the refreshObject task that is automatically inserted in the tasks, causes the CPE to reset.
The task remains in the list (probably because it got no reply, and is considered unfinished).
Once the CPE reboots it sends a new inform (BOOT and VALUE CHANGE, as it now has a different IP address), the task refreshObject is retried, and this results again in the CPE rebooting. This goes on and on for ever, if left uninterrupted.
If I destroy the queued task(s), then the CPE remains stable, but I cannot do anything as any action triggers a new task that causes the CPE to reboot.
Looking at the debug info I sees no obvious cause of the error. The relevant dump is at  https://pastebin.com/fgwciGgx
I would appreciate any insight into what may be causing this.
Best,
Vaggelis

Please take this to the mailing list. The issue you are dealing with is not a defect in genie.
-dan

On Jul 3, 2017, at 3:40 AM, kapoulas notifications@github.com wrote:
I configured a Vigor 2860L to connect to genieacs server I have setup, and the CPE shows in the list of devices. However, immediately afterwards the refreshObject task that is automatically inserted in the tasks, causes the CPE to reset.
The task remains in the list (probably because it got no reply, and is considered unfinished).
Once the CPE reboots it sends a new inform (BOOT and VALUE CHANGE, as it now has a different IP address), the task refreshObject is retried, and this results again in the CPE rebooting. This goes on and on for ever, if left uninterrupted.
If I destroy the queued task(s), then the CPE remains stable, but I cannot do anything as any action triggers a new task that causes the CPE to reboot.
Looking at the debug info I sees no obvious cause of the error. The relevant dump is at https://pastebin.com/fgwciGgx
I would appreciate any insight into what may be causing this.
Best,
Vaggelis
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

authors: akcoder kapoulas

repo: zaidka/genieacs-gui


text:
Feature: Add OPTION to select specific hashing/comparison algorithm/s

Add OPTION to select specific hashing/comparison algorithm/s

Done

repo: zairmubashar/finddup


text:
Simplify handlers.go #41

Separate case "start" to new file.
Use map[string]string instead []string to store urlStack. Reduce for loop

@flyznex thanks for showing your interest for Bench-routes. Will review asap!

@flyznex Looks good

authors: Harkishen-Singh ankitjena flyznex

repo: zairza-cetb/bench-routes


text:
align included license files with current Rust project best practices

Hi! I'm currently working on packaging this crate for Fedora Linux as a dependency of hashbrown v0.14.0 and bumpalo, and noticed that the setup for license files in this repository is currently quite unusual for a Rust project (and also non-compliant with the Apache-2.0 license, since it requires the full license text to be included, not only the header).
I've made some changes to align this project with other Rust projects and best practices, i.e. renamed license files to LICENSE-APACHE, LICENSE-MIT, and removed the COPYING file which is redundant with the ## License paragraph from the README (and which also included the wrong paths for the Apache-2.0 / MIT license texts).
The end result is equivalent to the setup in the repo for the proc-macro2 crate (which I took as a reference because both proc-macro2 and allocator-api2 are reimplementations of Rust features), and the rust-lang/rust project itself - notable changes include:

include full Apache-2.0 license text in LICENSE-APACHE (without appendix; see ¹ and ²)
remove copyright from MIT license (this is an anachronism and a noop; see ³ and ⁴)

¹ https://github.com/rust-lang/rust/commit/2ccf65c7eba519dcc407cb76f08d04ac00d05851
² https://github.com/dtolnay/proc-macro2/commit/37e89e109c367a2ab88407d297f344e72897bcbb
³ https://github.com/rust-lang/rust/commit/2a8807e889a43c6b89eb6f2736907afa87ae592f
⁴ https://github.com/dtolnay/proc-macro2/commit/f633e3106c2cf107925c25e56165d1105020fb14

Thank you for the contribution

Thanks for merging! 💯

authors: decathorpe zakarumych


text:
Use stacked panel for measurement info panel

Closes : https://github.com/zakodium-oss/react-science/issues/650
Closes : https://github.com/zakodium-oss/react-science/issues/651

Codecov Report
Attention: 175 lines in your changes are missing coverage. Please review.

Comparison is base (1dd41a8) 22.96% compared to head (6495129) 22.78%.

Files
Patch %
Lines

src/app/panels/measurements/MeasurementsTable.tsx
0.00%
50 Missing :warning:

src/app/panels/measurements/MeasurementsPanel.tsx
0.00%
37 Missing :warning:

...pp/panels/measurements/measurementPanelContext.tsx
0.00%
31 Missing and 1 partial :warning:

...pp/panels/measurements/MeasurementColorPreview.tsx
0.00%
27 Missing :warning:

...panels/measurements/MeasurementsPanelAccordion.tsx
0.00%
14 Missing and 1 partial :warning:

...anels/measurements/MeasurementVisibilityToggle.tsx
0.00%
8 Missing :warning:

src/app/panels/measurements/index.ts
0.00%
5 Missing :warning:

...rc/app/panels/measurements/MeasurementCheckbox.tsx
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #655      +/-   ##
==========================================
- Coverage   22.96%   22.78%   -0.18%
==========================================
  Files         221      222       +1
  Lines       13039    13139     +100
  Branches      235      236       +1
==========================================
  Hits         2994     2994
- Misses       9956    10055      +99
- Partials       89       90       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

I got insperation from weight and biases platform

The new layout with grouped action in the table header is great 👍🏻
I noticed that the issue with the direction of the animation is still there (so not a storybook issue afterall?). I'm creating another issue for that.

In this PR, can you make this button a dropdown with the choices:

View metadata - opens the measurements info panel (stacked). It should not have the confirm / close choices, only close. Choose an appropriate icon ("info" icon)
Configure - opens the measurements configuration panel (stacked). Should also only have close choice, since editing the color of the spectrum has an immediate effect. Don't replace the measurement accordion panel yet, just add it as a stacked panel in the measurements.

I noticed that the issue with the direction of the animation is still there (so not a storybook issue afterall?). I'm creating another issue for that.

Not the case for me, which navigator are you using?

I can reproduce with Chrome and Firefox.

In this PR, can you make this button a dropdown with the choices:

Implemented.

Last thing: can the delete button remove selected instead of all.
Remove all should be select all then delete selected

I found out that in local is diffrent then here.

Do you have any interpretation of that?
it works perfectly only in the developement version

Do you have any interpretation of that?
it works perfectly only in the developement version

It's probably related to strict mode since it is enabled in the app and disabled in the storybook (and always disabled in prod).
So without strict mode it seems to not work.
Their documentation does not seem to be affected by that.
Maybe try to start see if you are able to have a working example based on their documentation. And then from that see how you need to change it to reproduce the bug.

The most notable affect of using strict mode is to re-run effects in developments.
https://react.dev/reference/react/StrictMode

authors: codecov-commenter stropitek targos wadjih-bencheikh18

repo: zakodium-oss/react-science


text:
Support for Play 2.6

It would be nice to support the latest version of Play and have cross Scala versions for 2.11 and 2.12.
Unfortunately for us the missing 2.6 support is a blocker for migration to Play 2.6.

FYI: I just started to prepare a pull request to support pushing this topic. Will be hopefully finished today.

Looks very promising!

authors: dmitrykrivaltsevich matterche

repo: zalando-incubator/play-zhewbacca


text:
Fix isort checks

Fixes the isort checks within tox
The idea is that within connexion, connexion is a first party, within examples it's a third party and within tests it's a first party as well. It's probably hard to get it working within an editor.
Changes proposed in this pull request:

separate the isort checks per folder
apply the proposed changes by isort on the existing code

Cheers,

Coverage remained the same at 100.0% when pulling be437a980bf7cf30af2fd6349b9d1fa083365506 on greut:isort into d5ffd262f11e6cdcc75c918a21eefa0fa7b53d9c on zalando:master.

@greut Thank you for the PR. 👍  I hope now we will have those problems with isort sorted. 😆

👍

authors: coveralls greut rafaelcaricio

repo: zalando/connexion


text:
Choose the technologies to be used for the app

Should we use a very simple HTML page or add some JavaScript scripts?

No need to add JS


text:
WIP: Support break for websockets

Fixes #373
Depends on https://github.com/zaproxy/zap-extensions/pull/1956
Need to add a websockets tutorial page.
Only problem is that it reports: [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "payload"
Cant see why its failing for this and not the HTTP one - anyone have any ideas?

Updated to match the latest changes pushed to https://github.com/zaproxy/zap-extensions/pull/1956

Just added a WebSockets tutorial page, without a task for now.

Its worth noting that websockets break currently doesnt work in daemon mode. I'm looking at that, but its going to be a ZAP issue rather than a HUD one.

@dscrobonia any suggestions re the vuejs error messages?

Hey @psiinon When I run this I don't get that Vue.js error. Are you still getting it?

I also don't get get any websocket messages intercepted or any indication that websocket breaking is working though. :/ I'm assuming your changes to ZAP Desktop made it to the weekly build by now so that running ./gradlew runZap would be sufficient?

Depends which weekly you have, you might need to get a newer one (i.e. remove the directory build/testZapInstall).

If other people arent getting the error should we merge this?

Depends which weekly you have, you might need to get a newer one (i.e. remove the directory build/testZapInstall).

@thc202 do you think we should remove this directory when running the ./gradlew clean command?

It does already, it removes everything in the build directory. I suggested removing just that one to keep the other build files (which can be reused in following builds).

@dscrobonia is this working for you yet?
Be really good to get it in ZAP 2.8.0...

Yeah looks good to me! Let's get it in!

authors: dscrobonia psiinon thc202

repo: zaproxy/zap-hud


text:
Is this working with packed executables ?

I tried to hook some functions, such as _exit, syscall(), ... , and it works.
But when you try to preload a packed (e.g. UPX) / crypted executable it doesn't work.

Hmm.. I'm not sure if UPX has some bad interaction with LD_PRELOAD... I don't have time to look into this at the moment, unfortunately... I'll try to take a look when I have time!

repo: zardus/preeny


text:
windows下无法部署

#运行环境是虚拟机windows 7 64位   4G内存
jdk-9.0.4_windows-x64_bin
没有edge浏览器。
下载最新的包ShadowSocks-Share-0.0.1-SNAPSHOT、ShadowSocks-Share-master
点击run.bat后闪现一下cmd窗口。然后没有任何反映了。
浏览器也无法访问访问：http://localhost:8080（浏览器 是IE11 ）
请大神指教！！！我是一个小白，想试试这个！！

现在只支持 edge 驱动，没有不行啊

能支持谷歌浏览器就好了

authors: SmallGaoX akjybbs zc-zh-001


text:
Update Lookup Property tab to show sigma information

closes https://github.com/zcoinofficial/zcoin/issues/548

repo: zcoinofficial/zcoin


text:
register owner launch attribute

/*    -DBUILD_USER_ID="develop"
      1. read from system properties BUILD_USER_ID
        2. if it is not empty -> register as owner label for run/launch
        3. if it is empty? read env var USERNAME
        4. if not empty -> register as owner

        Label.attachToTestRun("Author", "Deve Loper");
*/
            String owner = System.getProperty("BUILD_USER_ID");
            if(owner==null){
                owner=System.getenv("USERNAME");
               System.out.println( owner);
            }
            if(owner!=null){
                Label.attachToTestRun("Owner", owner);
            }

@akamarouski - need it for 7.4.x and 8.0.x

verified. fixed.

authors: okamara vdelendik

repo: zebrunner/carina