text:
Move ReferencesArray and DynamicReferencesArray from yiisoft/di

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
❌

Fixed issues
-

Are these usable for factory?

It doesn't, but it can be useful for those who build their own container.

Should tests be moved as well?

authors: samdark vjik yiiliveext

repo: yiisoft/definitions


text:
View state problem example

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
❌

Fixed issues
-

Works with current master.

source: gharchive/pull-request

repo: yiisoft/demo

license_type: permissive

license_source: github-api


text:
Attaching CORS filter by default to RestGroup

See https://github.com/yiisoft/yii2/pull/11086 for details.
This is an issue that has been fixed in Yii 2.0 by suggesting a manual fix of order issue within docs because it was a BC.
I think it is the moment to make it right and add CORS by default here as the majority may need their REST apps to be consumed by browsers. Without the Access-Control-Allow-Origin even thrown errors  will cause browser to trigger CORS preflight.

That is a good idea.

I think, all filters should be implemented as middleware :)

@rustamwin is correct.

Instead of controller it should be added to https://github.com/yiisoft/yii-rest/blob/master/src/RestGroup.php.

There's currently no CORS implementation. See https://trello.com/c/650bV6jy/116-implement-cors-middleware

source: gharchive/issue

authors: rustamwin samdark tunecino

repo: yiisoft/yii-rest


text:
Problems in backend in advanced template

Hello.
I use Ubuntu 14.04, Apache 2.4.7 and Yii 2.0.3.
I installed advanced template and make settings in Apache: frontedn to "yii_adv.tt", backend to "admin_yii_adv.tt". Not subdomain, two different domains. In frontend is all ok. In backedn not showing debug panel, and "logout" link send data in GET (not POST).
I removed all code. I installed Yii only. Then I make frontedn part manually. Everything works well. I copy frontedn to backend, replacing text "frontend" to "backend" where necessary.
But the situation has not changed.
Both parts must be same. I have no idea why backend not working.

Hi,
What happens if you access localhost/path-to-your-app/frontend/web' and localhost/path-to-your-app/backend/web'?

I not use "localhost" name.
In your case, it will be the same domain. But advanced template should work on different domains, is not it?

I make an experiment. I renamed "frontend" folder to "backend", and "backend" to "frontend", and changed namespaces in source code.
"yii_adv.tt" now is backend, but debug panel is working. "admin_yii_adv.tt" is frontend, but still not working.
How can this be?

I changed "admin_yii_adv.tt" to "adyii_adv.tt", but no difference.
Apache settings:
<VirtualHost *:80>
ServerName yii_adv.tt
ServerAlias yii_adv.tt
AssignUserID username username
DocumentRoot /home/username/www/yii_adv.tt/frontend/web

<VirtualHost *:80>
ServerName adyii_adv.tt
ServerAlias adyii_adv.tt
AssignUserID username username
DocumentRoot /home/username/www/yii_adv.tt/backend/web

I changed "frontend" to "userzone", and "backend" to "adminzone" - folders, namespaces, settings. I cleared the cache in the browser, assets folder, runtime folder.
But the situation has not changed! "yii_adv.tt" is working, "adyii_adv.tt" is not.
I totally no idea.

Is it so hard for you to test without virtual hosts, just localhost or 127.0.0.1?
I don't have idea what is your problem but, somehow, it seems related to yours VH. This is the reason for test.

I changed ""adyii_adv.tt" to "admin.yii_adv.tt" and everything was working well. In localhost will be same. However, "admin.yii_adv.tt" and "yii_adv.tt" is same domain. But advanced template should work on different domains.
One installation Yii can not work in different domains. This is an obvious bug.

It's not. I have advanced app set up using two different hosts http://yii2-af.local/ and http://yii2-ab.local/. Works well. So I think it's something about how apache was set up.

authors: lzv samdark sidtj


text:
Can ActiveRecord::save() use ActiveRecord::afterSave() result?

class User extends ActiveRecord
{
    public function transactions()
    {
        return [
            'default' => self::OP_ALL,
        ];
    }

    public function afterSave($insert, $changedAttributes)
    {
        if (parent::afterSave($insert, $changedAttributes)) {
                return true; // do some otherthings
        }
       return false;
    }
}

class ActiveRecord extends BaseActiveRecord
{
    public function afterSave()
    {
        $event = new AfterSaveEvent([
            'changedAttributes' => $changedAttributes
        ]);
        $this->trigger($insert ? self::EVENT_AFTER_INSERT : self::EVENT_AFTER_UPDATE, $event);
        return $event->isValid;  // return event result
    }

    protected function insertInternal($attributes = null)
    {
        if (!$this->beforeSave(true)) {
            return false;
        }
        $values = $this->getDirtyAttributes($attributes);
        if (empty($values)) {
            foreach ($this->getPrimaryKey(true) as $key => $value) {
                $values[$key] = $value;
            }
        }
        if (($primaryKeys = static::getDb()->schema->insert($this->tableName(), $values)) === false) {
            return false;
        }
        foreach ($primaryKeys as $name => $value) {
            $id = $this->getTableSchema()->columns[$name]->phpTypecast($value);
            $this->setAttribute($name, $id);
            $values[$name] = $id;
        }

        $changedAttributes = array_fill_keys(array_keys($values), null);
        $this->setOldAttributes($values);
        return $this->afterSave(true, $changedAttributes) !== false;  // use afterSave result
    }
}

If it not can be accept,please tell me how to use control the transactions in afterSave()

You am throw an exception inside afterSave() - this will cause transaction to be rolled back.

i know throw an exception can handle the result. but throw an exception is not friendly to user.
example
public function actionForm()
{
       $model = new User;
       if ($model->load(Yii::$app->request->post())) {
           if ($model->save()) {
               return $this->redirect(['index']);
           } else {
               // just want to do something in transactions continue, not just throw an exception
               return $this->render('error/message', [
                     'message' => $model->hasErrors() ? $model->errors : 'Form submit failed!, please do it again'
               ]);
           }
        }
        return $this->render('login', [
            'model' => $model,
        ]);
}

You can always use try ... catch block.
It does not sound normal to discard model saving at afterSave(). If no transaction is used, result of afterSave() have no use anyway.

Agree with this issue.

It does not sound normal to discard model saving at afterSave()

Why not? The problem can occur before or after save.

If no transaction is used, result of afterSave() have no use anyway.

I know. Everyone who use this features must know the consequence.
I got this case many many times. If everytime i have to do try ... catch, its look not good.
Why do I have to do it with difficulty if I could do it easily.

what is the use case? If you want to revert a saving afterwards this sounds like some error condition to me, so exception is just fine. If you disagree, please describe your use case in detail.

My Use case:
In one save button, i create 4 records in 4 tables.

I create sales record. If success, then
I create GI record. In here i need sales_id for GI reference. If success then
I create invoice record. Use gi_id as reference. vendor is provided from end user (form).
If invoice success created then create payment. Need invoice_id. payment_value provided from end user.
I cannot validate all models before Sales::save() because GI need sales_id, Invoice need gi_id and so on.

perfect use case for transactions, you always want to create all or none even in case of failure.

Of cource i need transaction. But, how to cancel transaction? I dont want using throw exception if the failure is caused by validation.
Another case. Every time GI (or GR) created, then it will use the data to update stock. Its done in GI afterSave event. I want to roolback transaction if update stock fail.
if ($model->load(Yii::$app->request->post())) {
    $model->status = GoodsMovement::STATUS_DRAFT;
    $transaction = Yii::$app->db->beginTransaction();
    try {
        $model->items = Yii::$app->request->post('GoodsMovementDtl', []);
        if ($model->save()) { // <- update stock here
            $transaction->commit();
            return $this->redirect(['view', 'id' => $model->id]);
        }
    } catch (\Exception $exc) {
        $transaction->rollBack();
        throw $exc;
    }
    $transaction->rollBack();
}

I dont want using throw exception if the failure is caused by validation.

why? You can create a special exception for this to distinguish cases in upper code layers if needed. e.g. adjusting your example, which should throw ValidationException in afterSave():
if ($model->load(Yii::$app->request->post())) {
    $model->status = GoodsMovement::STATUS_DRAFT;
    $transaction = Yii::$app->db->beginTransaction();
    try {
        $model->items = Yii::$app->request->post('GoodsMovementDtl', []);
        if ($model->save()) { // <- update stock here
            $transaction->commit();
            return $this->redirect(['view', 'id' => $model->id]);
        }
    } catch (\Exception $exc) {
        $transaction->rollBack();
        throw $exc;
    } catch (ValidationException $exc) {
        // validation failed. Do something about it here.
    }
    $transaction->rollBack();
}

why? You can create a special exception for this to distinguish cases in upper code layers if needed.

Ya, its that what i do now. But, its good to me if i can do more simple :D
Its my after save event.
public function doApply()
{
    // update stock
    $wh_id = $this->warehouse_id;
    $mv_id = $this->id;
    $factor = $this->type == self::TYPE_RECEIVE ? 1 : -1;
    $command = Yii::$app->db->createCommand();
    foreach ($this->items as $item) {
        $product_id = $item->product_id;
        $pu = ProductUom::findOne(['product_id' => $product_id, 'uom_id' => $item->uom_id]);
        $qty = $factor * $item->qty * ($pu ? $pu->isi : 1);
        $ps = ProductStock::findOne(['product_id' => $product_id, 'warehouse_id' => $wh_id]);
        if ($ps) {
            $ps->qty = new Expression('[[qty]] + :added', [':added' => $qty]);
        } else {
            $ps = new ProductStock(['product_id' => $product_id, 'warehouse_id' => $wh_id, 'qty' => $qty]);
        }
        if (!$ps->save() || !$command->insert('{{%product_stock_history}}', [
                'time' => microtime(true),
                'warehouse_id' => $wh_id,
                'product_id' => $product_id,
                'qty_movement' => $qty,
                'qty_current' => $ps->qty,
                'movement_id' => $mv_id,
            ])->execute()) {
            $this->addError('items', "Fail to update stock product {$product_id}");
            return false;
        }
    }
    return true;
}

currently i must override save() method.
    public function save($runValidation = true, $attributeNames = null)
    {
        return parent::save($runValidation, $attributeNames) && $this->stateChanged;
    }

stateChanged value updated from event after save.

So, i dont get this feature?

no, exceptions is what should be used in this case.

:+1:

authors: callmez cebe klimov-paul mdmunir


text:
#14157 Fix Incorrect Value When Using loadDefaultValues with DATETIME…

… Field

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
no

Tests pass?
yes

Fixed issues
#14157

@cebe I add a unit test function, but the code is a little complicated, do you think is ok?

Merged. Thank you!

authors: rossoneri samdark


text:
updated lock file (on PHP 8.2)

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Fixed issues
#19746

Updated .lock file as requested in https://github.com/yiisoft/yii2/pull/19746#issuecomment-1401099612
Note: Update is done on PHP 8.2, but PHP 5.4 correctly detects this and downgrades i.e
- Downgrading ezyang/htmlpurifier (v4.16.0 => v4.14.0)

https://github.com/schmunk42/yii2/actions/runs/3994789185/jobs/6852902570#step:10:36
We could also remove the .lock file since it's a library and not a project.

Updated .lock file as requested in #19746 (comment)

I think this was about updating composer.json - there are two composer.json files in this repo: https://github.com/yiisoft/yii2/blob/master/framework/composer.json

Updated .lock file as requested in #19746 (comment)

This was about updating composer.json - there are two composer.json files in this repo: https://github.com/yiisoft/yii2/blob/master/framework/composer.json

Done :)
Sorry, didn't get it because I was clicking on the commit hash instead of the filename :see_no_evil:

PS: Do we need to do something about this warning?
root@4f8288007d7a:/yii2# composer validate
./composer.json is valid, but with a few warnings
See https://getcomposer.org/doc/04-schema.md for details on the schema
# General warnings
- require.paragonie/random_compat : unbound version constraints (>=1) should be avoided


text:
等待回调无返回

async function check() {
    const schema = new Schama({text: []})
    await schema.validate({
        text: undefined
    }).catch(errs => errs)
   console.log(123)
}
check()

这个代码执行 123 永远都不会打印,也不会报错

Fixed in v3.2.4
#213

repo: yiminghe/async-validator

license: mit

license_source: bigquery


text:
GroupRandomHorizontalFlip return img_group or ret?

Hi, I find in the transform.m file.
///////////////////
def call(self, img_group, is_flow=False):
v = random.random()
print(v)
if v < 0.5:
ret = [img.transpose(Image.FLIP_LEFT_RIGHT) for img in img_group]
if self.is_flow:
for i in range(0, len(ret), 2):
ret[i] = ImageOps.invert(ret[i])  # invert flow pixel values when flipping
return img_group
//////////////////
The function return  img_group, should it return ret?

Thanks. Just fixed.

authors: ntuyt yjxiong

repo: yjxiong/tsn-pytorch


text:
🛑 AleWorld is down

In ec138e3, AleWorld (https://www.ale.world) was down:

HTTP code: 502
Response time: 354 ms

Resolved: AleWorld is back up in b80527c.

license: MIT


text:
🛑 TechStack News is down

In 14cb833, TechStack News (https://techstack.news) was down:

HTTP code: 404
Response time: 866 ms

Resolved: TechStack News is back up in 1f2ce76.


text:
Warn when saving splits

Have to warn user when he tries to save splits while having an incomplete run or having over PB time.

Superseeded in issue #7

repo: ylorant/splitty


text:
🛑 Hacker News is down

In 4345626, Hacker News (https://news.ycombinator.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Hacker News is back up in 8fb3ca3 after 9 minutes.

repo: ymmmtym/upptime


text:
Resolve: post start functionality fixes

The system functions as anticipated when the project is properly saved within the project manager. It locates the project, opens it, and subsequently launches the OpenPype menu. However, if the project doesn't exist and must initially be launched from an 'Untitled' project, the OpenPype menu fails to open post-startup.
We should proceed with merging this as it currently stands. Subsequently, I will address the issue. I believe the optimal solution would be to divide the actions into two separate scripts: one for opening the latest workfile and another for launching the menu after startup.
Additionally, there remains a recognized bug that was previously addressed in https://github.com/ynput/OpenPype/pull/5006 PR. The issue lies in the fact that the workfile save file does not actually save the file, but only generates the project in the project manager. A subsequent issue arises as the latest workfile is not created from the latest version, since no .drp is saved to the workfiles.
Originally posted by @jakubjezek001 in https://github.com/ynput/OpenPype/issues/5047#issuecomment-1572249085
[cuID:OP-6103]

Original source code implementation PR https://github.com/ynput/OpenPype/pull/5047

Please change the description of this issue - it's unclear by just reading this issue to understand what the actual issue is.

What name would you suggest? This is quite clear to me so not sure what is wrong with the title.

Actually, I'd even go as far and saying that this should actually follow the existing "Submit a bug report" template. Right?

Yes I get your point but this had been created with the GitHub tool and it is not offering the templates. I don't see problem with this since all labels were set and the original PR comment was linked.

So, 1. Launching of OpenPype menu on Resolve start does not work if there is no existing workfile yet. This did work fine for me in my test runs as far as I recall. Could you add a reproducable.

OpenPype menu is not starting if Untitled project is opened at task with none saved workfiles.
To reproduce:
Make sure project_settings/resolve/launch_openpype_menu_on_start is activated on your test project.

launch Resolve on tasks which is having no workfiles yet
in Project Manager chose Untitled project
Notice that no OpenPype menu is not showing up

Workfile is not saved with .drp file
To reproduce:

Open Untitled project at task which is not having any workfile version saved yet.
Notice that no workfile version of drp was created in Workfile tool and at files. Only Project name was correctly created.

So what's the remaining issue?

OpenPype menu is not opening all the time.
save workfile is not functioning properly. It only creates project but not drp file.
open latest workfile is not taking .drp file since there is none

repo: ynput/OpenPype


text:
Maya: Use frame range from task attributes

Changelog Description
A bug fix for the issue reported here https://github.com/ynput/ayon-core/pull/323#pullrequestreview-1970044683
Frame Range values should be taken from task level attributes.

Testing notes:

Launch Maya
Reset Frame Range

Would be great to merge this relatively close to this PR https://github.com/ynput/ayon-core/pull/39 so the validator aligns with this as well.

authors: BigRoy MustafaJafar

repo: ynput/ayon-core


text:
Add Loader OTIO export action - AY-3020

Changelog Description
This adds a Library Loader action to export the representations to an .otio editorial file. User is presented with a UI to choose which representations to export:

Testing notes:

Open Library Loader from tray and select some products.
Right-click and start Export OTIO action.
Choose which representations to export.
Choose a path to export the editorial file to.
Optionally inspect the editorial file with OTIO view.

I've updated the UI with using radio buttons, so the representations chosen per version is exclusive. Also changed the toggle all checkboxes to buttons. Description has updated UI.

Task linked: OP-8218 Loader OTIO export action

Also here is a stupid mistake what could be done by anyone. I had add folder path without a file and extension and this was only printed in terminal and no pop-up warning was shown.
opentimelineio.exceptions.NoKnownAdapterForExtensionError: No adapter for suffix '' on file 'xxxxxx'

Also here is a stupid mistake what could be done by anyone. I had add folder path without a file and extension and this was only printed in terminal and no pop-up warning was shown.
opentimelineio.exceptions.NoKnownAdapterForExtensionError: No adapter for suffix '' on file 'xxxxxx'

Since I suppose this only works for .otio anyway we might just as well force the .otio suffix if the user didn't enter it themselves?

Once I had fixed the path for otio file. The file is created, but this Traceback had ocurred:

Traceback (most recent call last):
  File "C:\CODE\__PYPE\ayon-core\client\ayon_core\plugins\load\export_otio.py", line 202, in export
    run_subprocess(["otioview", output_path])
  File "C:\CODE\__PYPE\ayon-core\client\ayon_core\lib\execute.py", line 128, in run_subprocess
    proc = subprocess.Popen(*args, **kwargs)
  File "C:\Python\pyenv-win\versions\3.9.4\lib\subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Python\pyenv-win\versions\3.9.4\lib\subprocess.py", line 1420, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,

Once I had fixed the path for otio file. The file is created, but this Traceback had ocurred:
Traceback (most recent call last):
  File "C:\CODE\__PYPE\ayon-core\client\ayon_core\plugins\load\export_otio.py", line 202, in export
    run_subprocess(["otioview", output_path])
  File "C:\CODE\__PYPE\ayon-core\client\ayon_core\lib\execute.py", line 128, in run_subprocess
    proc = subprocess.Popen(*args, **kwargs)
  File "C:\Python\pyenv-win\versions\3.9.4\lib\subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Python\pyenv-win\versions\3.9.4\lib\subprocess.py", line 1420, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,

This traceback seems cut off / incomplete. Do you happen to have slightly more?

@jakubjezek001

is there any way we would have Output Path browser button for searching a folder, rather then string input field?

Sure, good idea. The Output path: label is now a button for file browsing.

Also here is a stupid mistake what could be done by anyone. I had add folder path without a file and extension and this was only printed in terminal and no pop-up warning was shown.

Good spot! Have implemented some validations with feedback to the user. Now empty output path is validated and it needs to end with .otio.
Also running the OTIO view in detached process so we can close the dialog after showing a successful message to the user.

I am not able to use the Output path button in Windows. It is probably set to different property then it should, since it is asking me to open .otio file which doesn't exists. Look into the attached gif.

Finally found some time to look into the issue with executable. After some research I didn't find "best" solution, but few possible solutions.

Set path to dependency packages on ayon-launcher start and use that path to find the executable. This works, but works in a different way on different platform. Would require new release of ayon-launcher which set the value for future usage, it has many caviads so this is 5/10 solution.

Implement custom stript ayon_core/scripts/otio_scripts.py with custom handling of the logic.

import sys

def main():
    # Remove first argument - path to this script
    sys.argv.pop(0)
    # Second argument is name of otio script
    script = sys.argv[0]
    if script == "otioview":
        from opentimelineview.console import main
        return main()

    if script == "otioautogen_serialized_schema_docs":
        from opentimelineio.console.autogen_serialized_datamodel import main
        return main()

    from opentimelineio.console import (
        otiocat,
        otioconvert,
        otiopluginfo,
        otiostat,
        otiotool,
    )
    if script == "otiocat":
        return otiocat.main()
    if script == "otioconvert":
        return otioconvert.main()
    if script == "otiopluginfo":
        return otiopluginfo.main()
    if script == "otiostat":
        return otiostat.main()
    if script == "otiotool":
        return otiotool.main()
    raise RuntimeError("Unknown script: {}".format(script))

if __name__ == "__main__":
    main()

And use it instead as:
from ayon_core import AYON_CORE_ROOT
from ayon_core.lib import get_ayon_launcher_args, run_detached_process

script_path = os.path.join(AYON_CORE_ROOT, "scripts", "otio_scripts.py")
args = get_ayon_launcher_args("run", script_path, "otioview", output_path)
run_detached_process(args)

I am not able to use the Output path button in Windows. It is probably set to different property then it should, since it is asking me to open .otio file which doesn't exists. Look into the attached gif.

@jakubjezek001 I've fixed the output button, so existing and non-existent file paths can be specified. Also when inputting the file name you dont need the extension.
I've also removed the otioview functionality since its complicated to account for the existence of the application and its not critical to the PR.

@jakubjezek001 fixed for latest develop and your OpenRV fix works in Resolve. I dont have access to OpenRV so would appreciate a test on your end.

This is now working only on single frames and video references, not on image sequences. The type of reference is wrong.

@jakubjezek001 as mentioned here; https://github.com/ynput/ayon-core/pull/44/files#r1488373642, using the ImageSequenceReference does not work in Resolve or NukeStudio. Do you still want this implemented so you can test in OpenRV?

This is now working only on single frames and video references, not on image sequences. The type of reference is wrong.

@jakubjezek001 as mentioned here; #44 (files), using the ImageSequenceReference does not work in Resolve or NukeStudio. Do you still want this implemented so you can test in OpenRV?

Please read the coment in https://github.com/ynput/ayon-core/pull/44/files#r1590949130. Lets implement it with ImageSequenceReference.

My tests have revealed the following:
Hiero 15 imports OTIO with a file URI, but if sequence files have a timecode value that doesn't match the frame number, then clips are not positioned correctly.
Resolve 19 can't seem to handle file URIs. I suspect it either can't read ImageSequenceReference or the mismatched timecode in the image sequence is causing issues with its conforming process.
OpenRV also struggles with file URIs and timecodes.
Based on these findings, here's what we should do for this tool:

We need to integrate an oiiotool metadata reader to extract timecode for media references and apply it at the clip source's start frame.
We should add a selector widget to choose the type of OTIO file to create, covering all supported DCCs.

We should add a selector widget to choose the type of OTIO file to create, covering all supported DCCs.

Would it make more sense to export all OTIO variants that work for the supported DCCs? Then users do not have to choose the destination DCC at publish, but can decide later which DCC to use.
This would be similar to export MayaAscii and Alembic for a model.

We should add a selector widget to choose the type of OTIO file to create, covering all supported DCCs.

Would it make more sense to export all OTIO variants that work for the supported DCCs? Then users do not have to choose the destination DCC at publish, but can decide later which DCC to use. This would be similar to export MayaAscii and Alembic for a model.

Had been implemented via URI paths toggle.

authors: BigRoy iLLiCiTiT jakubjezek001 tokejepsen


text:
App Shows as Mounted But cant find folder

I installed the app and mounted my share. The app shows the share as mounted. But I cant seem to do anything from this point. The app tells me the share is successfully mounted.
So how do I go about using it from this point?
Thanks,
liljfa

@liljfa Could you provide me the console debug log by the steps? https://github.com/yoichiro/chromeos-filesystem-cifs/wiki/How-to-Capture-the-Console-Log-of-DevTools

Hello,
Looks like i was able to get it working. Thanks!
Sent from my flip phone

On Jan 18, 2016, at 4:13 AM, Yoichiro Tanaka notifications@github.com wrote:
@liljfa Could you provide me the console debug log by the steps? https://github.com/yoichiro/chromeos-filesystem-cifs/wiki/How-to-Capture-the-Console-Log-of-DevTools
—
Reply to this email directly or view it on GitHub.

@liljfa What did you do to get it working?

It was always working. I just didnt know where to look for the folder.
Sent from my flip phone

On Feb 18, 2016, at 8:02 AM, Travis Weston notifications@github.com wrote:
@liljfa What did you do to get it working?
—
Reply to this email directly or view it on GitHub.

You need to look in the "files" app.  Not very clear.  an Icon might be better?

authors: anubisthejackle liljfa pyperdown yoichiro

repo: yoichiro/chromeos-filesystem-cifs


text:
[ci skip] sig/freee-sign にリネームしつつ、version.rbs を生成した

（CI 回すほどでも無いかーと思い ci skip）
まだリネームできていないところがあったのでやってみた

Generate sig/freee-sign/version.rbs via typeprof
Remove sig/ninjasign/ruby.rbs

よう分からんが型定義はおいおいやっていくとして・・・


text:
Wrong replacing string in variable server

OpenAPI/Swagger provides Variable Server/Server Templating. In SwagGen, it also provides the feature. However, I found the replacing string may be wrong. Therefore, I would like to make sure that if it replaces the URL string with "variable value", instead of "variable name"
Actual
The line of code is:
url = url.replacingOccurrences(of: "{\({{variable.name}})}", with: {{variable.name}})

The generated code is:
public static func test(space: String = "main", version: String = "v1") -> String {
    var url = "https://test.petstore.com/{version}/{space}"
    url = url.replacingOccurrences(of: "{\(space)}", with: space)
    url = url.replacingOccurrences(of: "{\(version)}", with: version)
    return url
}

Expected
The line of code should look like:
url = url.replacingOccurrences(of: "{{{variable.name}}}", with: {{variable.name}})

The generated code should be:
public static func test(space: String = "main", version: String = "v1") -> String {
    var url = "https://test.petstore.com/{version}/{space}"
    url = url.replacingOccurrences(of: "{space}", with: space)
    url = url.replacingOccurrences(of: "{version}", with: version)
    return url
}

If the issue is confirmed, my teammate @marcuswu0814 would like to contribute it.

Yes, good catch! Feel free to submit a PR!

Hi @yonaskolb, currently I faced some problem when using Stencil, is it possible to escape { and } in this case:
// Stencil file
url = url.replacingOccurrences(of: "{{{variable.name}}}", with: {{variable.name}})

expected:
url = url.replacingOccurrences(of: "{version}", with: {{variable.name}})

Actual:
url = url.replacingOccurrences(of: "", with: {{variable.name}})

I can't found any document of escape character in Stencil web.

Yeah I've had this issue in the past. I've solved it before by doing something like this
"{" + "{{variable.name}}" + "}"

Hi @yonaskolb, thanks for your suggestion, the PR is done. 🚀

repo: yonaskolb/SwagGen


text:
🛑 Api bnovus-qa is down

In 52a039d, Api bnovus-qa (https://manager-api.qa.rexmas.com/admin) was down:

HTTP code: 504
Response time: 10174 ms

Resolved: Api bnovus-qa is back up in eb65152 after 8 hours, 59 minutes.

repo: yorkijr/rexmas-uptime


text:
🛑 Api bnovus-qa is down

In f560739, Api bnovus-qa (https://manager-api.qa.rexmas.com/admin) was down:

HTTP code: 504
Response time: 10116 ms

Resolved: Api bnovus-qa is back up in e016fba after 7 hours, 16 minutes.


text:
add the inspect command

New command: bankai inspect. Uses hughsk/disc to visualize the dependency tree.

v7.3.0

repo: yoshuawuyts/bankai


text:
Range items overflowing the timeline start and end dates are initially hidden

Hi,
There seems to be a problem with range and background items where they are not initially visible in the timeline if the item(s) start and end range overflows the timelines visible window.
For example having a range item starting from 2019-03-15 to 2019-03-21 is not visible in a timeline initiated with start date of 2019-03-17 and end date 2019-03-19. Once the window is scrolled enough to the future and the item becomes visible it will then stay visible even when scrolling back to the said dates of 2019-03-17 to 2019-03-19.
The hidden items are also not found with timeline.getVisibleItems()
I can see how this could possibly cause long events to never be seen. Any idea what might be causing this?

Did some digging and it seems to be caused by a block of code in Group.js which was added back after being removed from vis.js and being discussed in #81 :
if (!this.isVisible && this.groupId != "__background__") {       for (let i = 0; i < oldVisibleItems.length; i++) {         var item = oldVisibleItems[i];         if (item.displayed) item.hide();       }       return visibleItems;     }
Removing this block seems to remove the problem but performance suffers greatly. Any ideas?
It was mentioned to have been removed because of an issue with an old vis.js version. What issue might that have been? And what was the different fix for that issue in timeline-plus?

Here is something to help out if anyone is looking into this. The problem appears to be the item.hide(); call hiding all previously visible items without checking if they actually should be hidden. Causing the next call to Group._updateItemsInRange() to completely miss these items. Replacing
var item = oldVisibleItems[i];
 if (item.displayed) item.hide();

with
this._checkIfVisibleWithReference(oldVisibleItems[i], visibleItems, visibleItemsLookup, range);
seems to do the trick and scrolling performance with hidden groups still seems much better than without the whole block.

I have the same problem but the block @taavi-halkola mentioned is IMO unrelated to the problem of such items not appearing (it's about hiding all items of invisible groups). Removing the block did not solve the problem.
I'm currently working on a fix.

Hi, is there any progress here or is there something i can help with? I really need this.

@jaytrepka I have a working fix, but with the downside of losing some optimisations regarding large item sets. That's why I didn't push a PR yet...
I'm considering to start such a PR but marked as "not ready to be merged" to start a discussion how this could be merged by @yotamberk. I hope I can continue to work on it soon, maybe in the next few days.

@sbusch I've come to the same conclusion. There are two occasions where this is affected and both seem to affect performance...
@jaytrepka There seems to be a possible workaround but i am not sure what negative side effects it may or may not have. When you are initializing your timeline start with empty groups and items. Then first add items through timeline.setItems() and finally the groups with timeline.setGroups(). Also i do not know if this also has the negative effects of losing performance or not. You should probably test that first if running a performance critical application.
timeline = new Timeline(container, [], [], options) timeline.setItems(dataset) timeline.setGroups(groups)
The main difference here is when initializing the timeline with groups and items the order is the other way around and for some reason this makes the difference. Although drawing the groups first is the correct way to go and commented as important in Timeline.js.
// IMPORTANT: THIS HAPPENS BEFORE SET ITEMS!
  if (groups) {
    this.setGroups(groups);
  }

  // create itemset
  if (items) {
    this.setItems(items);
  }

Et voila, here's the draft PR #157
Appreciating any comments

@jaytrepka If you're making your own builds, you can safely merge this PR into your fork. The scope of changes is quite small and besides the performance drawback it should just work.

authors: jaytrepka sbusch taavi-halkola

repo: yotamberk/timeline-plus


text:
远程连接AWS，二维码无法显示

Traceback (most recent call last):
File "getpuid.py", line 5, in
bot = Bot(cache_path=True)
File "/home/ec2-user/wxpy/wxpy/api/bot.py", line 90, in init
raise Exception('use console_qr arg while under pure console environment')
Exception: use console_qr arg while under pure console environment
这种问题怎么解决呢？没有查到相关方案...

bot = Bot(None,2,None,None,None,None)
On Mon, Jul 24, 2017 at 3:23 PM, evestorm notifications@github.com wrote:

Traceback (most recent call last):
File "getpuid.py", line 5, in
bot = Bot(cache_path=True)
File "/home/ec2-user/wxpy/wxpy/api/bot.py", line 90, in init
raise Exception('use console_qr arg while under pure console environment')
Exception: use console_qr arg while under pure console environment
这种问题怎么解决呢？没有查到相关方案...
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/youfou/wxpy/issues/124, or mute the thread
https://github.com/notifications/unsubscribe-auth/AOHG-s2lQK3sag8HOY6Qd8e8xU5NDqaQks5sREZTgaJpZM4Ogz-2
.

@aaronliruns  Thx

authors: aaronliruns evestorm

repo: youfou/wxpy


text:
曝光一个是骗子～大家小心！！！【往事随风】【绝版先生】

卖VX协议的鱼龙混杂！大家注意了！！！
下面曝光一个是骗子～大家小心！！！
QQ：2239774683，昵称：往事随风；
微信号：XJL15877826348，微信昵称：绝版先生。
主意：它主要卖微信Ipad协议712和ipad协议v6。
712api地址：http://111.229.92.148:8010/swagger/ui/index
v6api地址：http://devwx.zhongjie51.com/swagger/ui/index
收款用的名称：钟意.(**青)、！！！(**豪)

企业合作，对公合作 可以看下这个www.wkteam.cn

一般学习逆向不要买协议  https://github.com/WangPney/WechatHelper7010 这个学习就可以了
或者直接找人家做好的合作。

有需要的话 可以看下 https://www.wkteam.cn 这家可以。


text:
在Android Pie 上面HTTP链接打不开

环境
OS:Android Pie
Device: OnePlus 6
临时解决方案：
在AndroidManifest.xml文件中的application节点中，配置：android:usesCleartextTraffic=“true”

https://developer.android.com/about/versions/pie/android-9.0-changes-28?hl=zh-cn

谢谢，暂时还没用Android Pie测试过，马上加上~

authors: lfork youlookwhat

repo: youlookwhat/WebViewStudy


text:
Runtime error while converting encrypted private key to PKCS#8

Consider the following snippet:
package main

import (
	"crypto/rand"
	"crypto/rsa"
	"crypto/x509"
	"encoding/pem"
	"fmt"

	"github.com/youmark/pkcs8"
)

func generate(bits int, passphrase string) ([]byte, error) {
	key, err := rsa.GenerateKey(rand.Reader, bits)
	if err != nil {
		return nil, err
	}

	block := &pem.Block{
		Type:  "RSA PRIVATE KEY",
		Bytes: x509.MarshalPKCS1PrivateKey(key),
	}

	if passphrase != "" {
		block, err = x509.EncryptPEMBlock(rand.Reader, block.Type, block.Bytes, []byte(passphrase), x509.PEMCipherAES256)
		if err != nil {
			return nil, err
		}
	}

	return pem.EncodeToMemory(block), nil
}

func convert(pemBytes []byte, passphrase string) ([]byte, error) {
	block, _ := pem.Decode(pemBytes)
	if block == nil {
		return nil, fmt.Errorf("no valid private key found")
	}

	var (
		privateKeyBytes []byte
		privateKey      interface{}
		err             error
	)

	if x509.IsEncryptedPEMBlock(block) {
		privateKeyBytes, err = x509.DecryptPEMBlock(block, []byte(passphrase))
		if err != nil {
			return nil, fmt.Errorf("couldn't decrypt private key")
		}
	} else {
		privateKeyBytes = block.Bytes
	}

	switch block.Type {
	case "RSA PRIVATE KEY":
		privateKey, err = x509.ParsePKCS1PrivateKey(privateKeyBytes)
		if err != nil {
			return nil, fmt.Errorf("couldn't parse der encoded key: %v", privateKeyBytes)
		}
	default:
		return nil, fmt.Errorf("unsupported key type %q", block.Type)
	}

	return pkcs8.ConvertPrivateKeyToPKCS8(privateKey, []byte(passphrase))
}

func main() {
	passphrase := "unicorn"
	pemBytes, err := generate(1024, passphrase)
	if err != nil {
		panic(err)
	}

	_, err = convert(pemBytes, passphrase)
	if err != nil {
		panic(err)
	}
}

I'm trying to generate an encrypted RSA based private key and then converting it to PKCS#8. This results into a runtime error:
panic: runtime error: slice bounds out of range

goroutine 1 [running]:
github.com/youmark/pkcs8.convertPrivateKeyToPKCS8Encrypted(0x521b80, 0xc4201583c0, 0xc420010b58, 0x7, 0x8, 0x8, 0x43d483, 0xc42004be90, 0x53a0cf, 0x7)
	/home/umayr/Code/go/src/github.com/youmark/pkcs8/pkcs8.go:210 +0x6d5
github.com/youmark/pkcs8.ConvertPrivateKeyToPKCS8(0x521b80, 0xc4201583c0, 0xc42004bee8, 0x1, 0x1, 0x20, 0x270, 0x0, 0x0, 0xc42014e8d0)
	/home/umayr/Code/go/src/github.com/youmark/pkcs8/pkcs8.go:243 +0xc8
main.convert(0xc420164000, 0x3da, 0x778, 0x53a0cf, 0x7, 0x778, 0x0, 0x0, 0xc420000340, 0xc420000340)
	/home/umayr/Code/go/src/github.com/umayr/pkcs8/ref.go:65 +0x3d6
main.main()
	/home/umayr/Code/go/src/github.com/umayr/pkcs8/ref.go:75 +0xa4
exit status 2

With a little debugging, I think this line is causing the issue in pkcs8.go:
pkey = pkey[0 : n+padding]

Here n is the length of pkey and above line is trying to create a slice from 0 to length of pkey + padding which should return an error as demonstrated in this example.
Replacing this line with:
diff --git a/pkcs8.go b/pkcs8.go
index 0b6c6e0..dde6818 100644
--- a/pkcs8.go
+++ b/pkcs8.go
@@ -207,7 +207,7 @@ func convertPrivateKeyToPKCS8Encrypted(priv interface{}, password []byte) ([]byt
        padding := aes.BlockSize - len(pkey)%aes.BlockSize
        if padding > 0 {
                n := len(pkey)
-               pkey = pkey[0 : n+padding]
+               pkey = append(pkey, make([]byte, padding)...)
                for i := 0; i < padding; i++ {
                        pkey[n+i] = byte(padding)
                }

fixes this issue temporarily. I can have a PR ready for this with more efficient fix.

Correct. It throws the error when padding length + pkey length exceeds pkey capacity . Feel free to submit your PR. Thanks umayr.

authors: umayr youmark


text:
Registration Agency: PK-SEC

Hi Aidstream,
Please can the Registration Agency PK-SEC be added to Aidstream?
This is for the Securities and Exchange Commission of Pakistan - http://org-id.guide/list/PK-SEC.
Thank you,
Jahnvi

Hi Jahnvidave,
The Registration Agency has been added to Aidstream.
Thank you

authors: jahnvidave manibibek

repo: younginnovations/aidstream


text:
表达式#号对应的是实际值，但是会出现对应的是显示值的情况

上图中A2与B2的实际值都是uuid，显示值都是单号，超链接的参数都是(id=#)但是，在点击A2时，出现的超链接中正确的，#代表的是实际值，点击B2的时候，超链接中的#号就代表的是显示值（单号）

上图是点击A2时的链接

上图是点击B2时的链接

已修复，请更新最新的2.2.1-SNAPSHOT测试，谢谢。

repo: youseries/ureport


text:
Use gsutil to upload test archives.

gsutil appears to be twice as fast as google-github-actions/upload-cloud-storage. We also gsutil to download artifacts and it never fails.
b/266771047

Updated description with a bug number.

I really want to get this in before nightlies start, going to merge...


text:
Core - Upgrade packages

Types of changes

Bugfix
New feature
Refactoring
Breaking change (any change that would cause existing functionality to not work as expected)
Documentation Update
Other (please describe)

packages upgrade
remove click-path package and integrate click_path.GlobPath into our tools.

Description

Checklist:

[ ] Add test cases to all the changes you introduce
[x] Run inv style locally to ensure all linter checks pass
[x] Run inv test locally to ensure all test cases pass
[x] Run inv secure locally to ensure no major vulnerability is introduced
[ ] Update the documentation if necessary

Steps to Test This Pull Request

Expected behavior

Related Issue

Additional context

Pull Request Test Coverage Report for Build 10634135281
Details

34 of 51 (66.67%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-9.1%) to 90.058%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

vhcalc/app.py
1
2
50.0%

vhcalc/tools/click_path.py
33
49
67.35%

Totals

Change from base Build 10612386012:
-9.1%

Covered Lines:
154

Relevant Lines:
171

💛  - Coveralls

authors: coveralls yoyonel

repo: yoyonel/vhcalc


text:
How to setup?

I want to run your sample code, but it shows some errors. I guess it is something wrong with the setup. But you don't provide like setup.py. So how do we setup this package?

if you're getting the same errors I got (ModuleNotFoundError), then:
It's a relative/absolute import issue. If we want to contain all of the source files to the hunga_bunga folder, an easy fix is to edit the imports in regression.py, classification.py and _init.py___ to reference the folder they are in.
e.g. in _init.py___ change:
from regression import HungaBungaRegressor from classification import HungaBungaClassifier
to
from hunga_bunga.regression import HungaBungaRegressor from hunga_bunga.classification import HungaBungaClassifier
and do the equivalent for the other source files where it throws import errors.
I'm sure there's a more elegant solution, but I couldn't find one quickly, and this quick fix works :)

authors: Alvinhech rian-van-den-ander

repo: ypeleg/HungaBunga


text:
Directory naming and folder structure issue

Describe the bug
So i used this tool, and it works great, thanks for the great work.

The issue is, that when postman created every first directory for every controller, it named without '-controller', but when i run the tool swagger2postman, it creates new directory with name-controller.
Also it creates all the requests inside the name-controller directory, and it doesn't structure them by path.
Lets say we have a UserController, and a request: /user/{id}/address, postman by default it creates a folder address inside user directory, but the tool it doesn't. Other than that great job.

Can you give me your swagger json get from you service like http://127.0.0.1:8080/v2/api-docs ?
You can remove your api senstive things. And is'better to give the expect folder pic and the current folder pic so I can better understand the problem.

Hello, i am not sure if i can share the json, but before verifying that, does this help at all:

Postman packaging:

After running swagger2postman:

So on 1st, Postman for a controller that is named AdminController as a class, it doesn't name the directory based on the class name, but it names based on the parent path that is on the top of the class.
Then it creates parent directories based on the path, for example if a path is:
/admin/parent/{id}/something,
under admin directory, it creates a child directory parent, then another {id} child directory under parent, and then something.
While swagger2postman names the parent directory based on the className, and then it puts every request in there, without considering packaging based on child paths like on the 1st example.
If you still need the json, i could consider building a sample project just for the sake of your tool, because it is really handy.
Keep it going :D.

Please attach the sample json.
For me, I use the tag from swagger as folder. So I don't know the situation about yours.
If you can give me the sample, I will know better about your needs and I will consider make some params to config not hard code.

You can check folderStrategy in index.js. I solved with this 'folderStrategy': 'Paths'


text:
Fix: 出力可能なグラフがない場合は何も出力しない

「出力可能なグラフがない場合は何も出力しない」仕様であったが、空のグラフを出力してしまっていたので修正する。

Warnings

:warning:
This PR does not include changes to tests, even though it affects app code.

Messages

:book:
PR Title: Fix: 出力可能なグラフがない場合は何も出力しない

TypeScript Graph - Diff
flowchart
    classDef created fill:cyan,stroke:#999,color:black
    classDef modified fill:yellow,stroke:#999,color:black
    subgraph src["src"]
        src/index.ts["index.ts"]
        src/utils["/utils"]:::dir
        subgraph src/outputGraph["/outputGraph"]
            src/outputGraph/outputGraph.ts["outputGraph.ts"]:::modified
            src/outputGraph/output2Graphs.test.ts["output2Graphs.test.ts"]:::created
            src/outputGraph/outputGraph.test.ts["outputGraph.test.ts"]:::created
            src/outputGraph/mergeGraphsWithDifferences.ts["mergeGraphsWithDifferences.ts"]
            src/outputGraph/applyMutualDifferences.ts["applyMutualDifferences.ts"]
        end
    end
    src/outputGraph/outputGraph.ts-->src/utils
    src/outputGraph/outputGraph.ts-->src/outputGraph/mergeGraphsWithDifferences.ts
    src/outputGraph/outputGraph.ts-->src/outputGraph/applyMutualDifferences.ts
    src/index.ts-->src/outputGraph/outputGraph.ts
    src/outputGraph/output2Graphs.test.ts-->src/outputGraph/outputGraph.ts
    src/outputGraph/outputGraph.test.ts-->src/outputGraph/outputGraph.ts
    src/outputGraph/mergeGraphsWithDifferences.ts-->src/utils
    src/outputGraph/applyMutualDifferences.ts-->src/utils
    src/index.ts-->src/utils

  Generated by :no_entry_sign: dangerJS against ddee07b1b0a630dd0210d22eb6ad0635fe2b085f

:tada: This PR is included in version 1.11.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


text:
--parse-metadata "description

Checklist

[X] I'm asking a question and not reporting a bug/feature request
[X] I've looked through the README
[X] I've read the guidelines for opening an issue
[X] I've searched the bugtracker for similar questions including closed ones

Question
Greetings
Background
I would like to preserve as much information about files that I download as is possible.  I have noted the ability to write json but I would prefer to have the data embedded in the downloaded file.
I have seen the comment that YouTube URL are written to the comment field and that the comments are written to the synopsis field.  I have also seen how to force it that comments are written to comments. Using either the setting or the following: --parse-metadata "description:(?s)(?P<meta_comment>.+)"
Question:
How do I add the webpage url to the comment (that is what modification is required to the provided example) or how do I add the url to the synopsis field - this is not working --parse-metadata "synopsis:<webpage_url>"  I get the following error:
[MetadataParser] Could not interpret 'synopsis' as '<webpage_url>'
Verbose log
.\yt-dlp.exe : [debug] Command-line config: ['-vU', '--config-location', 'config.conf']
At F:\av\youtube_download\download.ps1:7 char:1
+ .\yt-dlp.exe -vU --config-location 'config.conf'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: ([debug] Command... 'config.conf']:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

[debug] | Config "config.conf": ['--add-metadata', '--audio-format', 'mp3', '--audio-quality', '0', '--batch-file', 'download-list.txt',
'--cache-dir', 'F:', '--console-title', '--embed-subs', '--embed-thumbnail', '--extract-audio', '--ffmpeg-location',
'C:\\ffmpeg\\bin', '--fixup', 'detect_or_warn', '--geo-bypass', '--ignore-errors', '--mark-watched', '--max-sleep-interval', '20',
'--min-sleep-interval', '10', '--output', '\\downloads\\%(playlist)s\\%(title)s-%(id)s.%(ext)s', '--playlist-random', '--restrict-filenames',
'--retries', '5', '--xattrs', '--convert-thumbnails', 'png', '--format', 'bv*[ext=mkv]+ba/b', '--cookies-from-browser', 'firefox',
'--embed-chapters', '--parse-metadata', 'description:(?s)(?P<meta_comment>.+)', '--parse-metadata', 'synopsis:<webpage_url>']
[debug] Batch file urls:
[Cookies] Extracted 398 cookies
[debug] Encodings: locale cp1252, fs utf-8, out cp1252 (No ANSI), err cp1252 (No ANSI), pref cp1252
[debug] yt-dlp version 2022.03.08.1 [c0c2c57] (win_exe)
[debug] Python version 3.8.10 (CPython 64bit) - Windows-10-10.0.22000-SP0
[debug] exe versions: ffmpeg N-105943-gdcc3f62270-20220315 (setts), ffprobe N-105943-gdcc3f62270-20220315
[debug] Optional libraries: brotli, Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
Latest version: 2022.03.08.1, Current version: 2022.03.08.1
yt-dlp is up to date (2022.03.08.1)
[debug] [youtube] Extracting URL:
[youtube] J_p-RN103dM: Downloading webpage
[debug] [youtube] Extracted SAPISID cookie
[youtube] : Downloading android player API JSON
[youtube] : Downloading MPD manifest
[youtube] : Downloading MPD manifest
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, codec:vp9.2, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), acodec, lang, proto, filesize, fs_approx, tbr,
vbr, abr, asr, vext, aext, hasaud, id
[youtube] J_p-RN103dM: Marking watched
[debug] Searching for '(?s)(?P<meta_comment>.+)' in '%(description)s'
[MetadataParser] Parsed meta_comment from '%(description)s': 'Badenweiler'
[debug] Searching for '<webpage_url>' in '%(synopsis)s'
[MetadataParser] Could not interpret 'synopsis' as '<webpage_url>'
[info] M: Downloading 1 format(s): 22
[info] Downloading video thumbnail 41 ...
[info] Writing video thumbnail 41 to: downloads
[ThumbnailsConvertor] Converting thumbnail "downloads\.webp" to png
[debug] ffmpeg command line: "C:\ffmpeg\bin\ffmpeg" -y -loglevel "repeat+info" -f image2 -pattern_type none -i
"file:downloads\" -movflags "+faststart"
"file:downloads\"
Deleting original file downloads\ (pass -k to keep)
[download] downloads\has already been downloaded
[debug] ffmpeg command line: "C:\ffmpeg\bin\ffprobe" -show_streams
"file:downloads"
[ExtractAudio] Destination: downloads\
[debug] ffmpeg command line: "C:\ffmpeg\bin\ffmpeg" -y -loglevel "repeat+info" -i
"file:downloads\" -vn -acodec copy -movflags "+faststart"
"file:downloads\"
Deleting original file downloads\NA (pass -k to keep)
[EmbedSubtitle] Subtitles can only be embedded in mp4, webm or mkv files
[Metadata] Adding metadata to "downloads\"
[debug] ffmpeg command line: "C:\ffmpeg\bin\ffmpeg" -y -loglevel "repeat+info" -i
"file:downloads\" -map 0 -dn -ignore_unknown -c copy -metadata "title=" -metadata "date=20210322" -metadata "description=Badenweiler" -metadata "artist=" -movflags "+faststart"
"file:downloads\"
[EmbedThumbnail] ffmpeg: Adding thumbnail to "downloads\"
[debug] ffmpeg command line: "C:\ffmpeg\bin\ffmpeg" -y -loglevel "repeat+info" -i
"file:downloads\" -i
"file:downloads\" -c copy -map "0:0" -map "1:0" -id3v2_version 3 "-metadata:s:v"
"title=\"Album cover\"" "-metadata:s:v" "comment=\"Cover (front)\"" -movflags "+faststart"
"file:downloads\"
Deleting original file downloads\ (pass -k to keep)
[XAttrMetadata] Writing metadata to file's xattrs

this is not working --parse-metadata "synopsis:<webpage_url>"

What made you think this is the right syntax? It is neither an output template nor a regex... Please see https://github.com/yt-dlp/yt-dlp#modifying-metadata
--parse-metadata "synopsis:%(webpage_url)s"

authors: francoisdejgr pukkandan

repo: yt-dlp/yt-dlp

license: Unlicense


text:
Split Chapters -- Chapter Title Too Long

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2022.07.18 (update instructions) or later (specify commit)
[X] I've searched the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
I am using the --split-chapters option. It works well until today it ran into really long chapter titles (basically descriptions. one example: https://www.youtube.com/watch?v=xF1-4kiG03o).
I am looking either a way, with one or two examples, to specify a template for the split chapter output files. Or a way just to simply truncate the file names within certain length.
If it is not achievable now, can it be made an enhancement request?
Thanks
Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

Please explain which part of this you did not understand

Show verbose log

Here is the log: (which shows the file name too long)
[SplitChapters] Splitting video by chapters; 37 chapters found
[SplitChapters] Chapter 001; Destination: Beethoven - Symphony no.1 - Score and Analysis - 001 Introduction. The symphony jokingly begins with a series of endings (perfect cadences), followed by a gorgeous chorale passage that builds tension by avoiding the home key of C major, reserving its appearance for the start of the exposition. [xF1-4kiG03o].opus
ERROR: Postprocessing: file:Beethoven - Symphony no.1 - Score and Analysis - 001 Introduction. The symphony jokingly begins with a series of endings (perfect cadences), followed by a gorgeous chorale passage that builds tension by avoiding the home key of C major, reserving its appearance for the start of the exposition. [xF1-4kiG03o].opus: File name too long
What I  did not figure out was that the "-o" option is for the output file naming of the download before split, could not figure out how to specify a template for the --split-chapters options

See https://github.com/yt-dlp/yt-dlp/issues/1136#issuecomment-932077195

See #1136 (comment)

Actually, the '-o "%(title).250s.%(ext)s"' is ignored for '--split-chapters'.
yt-dlp -c -f ba --concurrent-fragments 4 --sponsorblock-remove all --output-na-placeholder "" --embed-metadata --embed-thumbnail --no-mtime -o "%(title).250s.%(ext)s" https://www.youtube.com/watch?v=Qj_cpIJCSCU

[youtube] Extracting URL: https://www.youtube.com/watch?v=Qj_cpIJCSCU https://www.youtube.com/watch?v=-DfpODKC7VU https://w.../watch?v=BrWKXqOD_RU
[youtube] Qj_cpIJCSCU: Downloading webpage
[youtube] Qj_cpIJCSCU: Downloading ios player API JSON
[youtube] Qj_cpIJCSCU: Downloading player bd3293c9
WARNING: [youtube] Qj_cpIJCSCU: nsig extraction failed: Some formats may be missing
         n = 586HWpoliosAqWx2ypW ; player = https://www.youtube.com/s/player/bd3293c9/player-plasma-ias-tablet-en_US.vflset/base.js
WARNING: [youtube] Qj_cpIJCSCU: nsig extraction failed: Some formats may be missing
         n = lry8uYCEmygBZF4gQh5 ; player = https://www.youtube.com/s/player/bd3293c9/player-plasma-ias-tablet-en_US.vflset/base.js
[youtube] Qj_cpIJCSCU: Downloading m3u8 information
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
[youtube] Qj_cpIJCSCU: Downloading initial data API JSON
[SponsorBlock] Fetching SponsorBlock segments
[SponsorBlock] No matching segments were found in the SponsorBlock database
[info] Qj_cpIJCSCU: Downloading 1 format(s): 140
[info] Downloading video thumbnail 42 ...
[info] Writing video thumbnail 42 to: #692 Разговор вайшнава с Кришной. Санскрит, Курукшетра. Волга, Самара, Тула. Ангелы-проводники. Ч.1..webp
[download] Destination: #692 Разговор вайшнава с Кришной. Санскрит, Курукшетра. Волга, Самара, Тула. Ангелы-проводники. Ч.1..m4a
[download] 100% of   33.25MiB in 00:00:37 at 919.82KiB/s
[FixupM4a] Correcting container of "#692 Разговор вайшнава с Кришной. Санскрит, Курукшетра. Волга, Самара, Тула. Ангелы-проводники. Ч.1..m4a"
[ModifyChapters] SponsorBlock information is unavailable
[Metadata] Adding metadata to "#692 Разговор вайшнава с Кришной. Санскрит, Курукшетра. Волга, Самара, Тула. Ангелы-проводники. Ч.1..m4a"
[ThumbnailsConvertor] Converting thumbnail "#692 Разговор вайшнава с Кришной. Санскрит, Курукшетра. Волга, Самара, Тула. Ангелы-проводники. Ч.1..webp" to png
[EmbedThumbnail] mutagen: Adding thumbnail to "#692 Разговор вайшнава с Кришной. Санскрит, Курукшетра. Волга, Самара, Тула. Ангелы-проводники. Ч.1..m4a"
[SplitChapters] Splitting video by chapters; 7 chapters found
[SplitChapters] Chapter 001; Destination: #692 Разговор вайшнава с Кришной. Санскрит, Курукшетра. Волга, Самара, Тула. Ангелы-проводники. Ч.1. - 001 ＜Untitled Chapter 1＞ [Qj_cpIJCSCU].m4a
[SplitChapters] Chapter 002; Destination: #692 Разговор вайшнава с Кришной. Санскрит, Курукшетра. Волга, Самара, Тула. Ангелы-проводники. Ч.1. - 002 Вопросы о родине Кришны [Qj_cpIJCSCU].m4a
[SplitChapters] Chapter 003; Destination: #692 Разговор вайшнава с Кришной. Санскрит, Курукшетра. Волга, Самара, Тула. Ангелы-проводники. Ч.1. - 003 Происхождение языка и названия рек [Qj_cpIJCSCU].m4a
ERROR: Postprocessing: file:#692 Разговор вайшнава с Кришной. Санскрит, Курукшетра. Волга, Самара, Тула. Ангелы-проводники. Ч.1. - 003 Происхождение языка и названия рек [Qj_cpIJCSCU].m4a: File name too long

@Flashwalker use section_title instead of title for sections

authors: Flashwalker bashonly pp611 pukkandan


text:
Skillshare

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a new site support request
[X] I've verified that I'm running yt-dlp version 2022.11.11 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that none of provided URLs violate any copyrights or contain any DRM to the best of my knowledge
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and am willing to share it if required

Region
No response
Example URLs
Playlist: https://www.skillshare.com/en/classes/Understanding-and-Painting-the-Head/62353942/projects
Provide a description that is worded well enough to be understood
I would like to see a new extractor for Skillshare so I can make backups of my classes
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
None

See https://github.com/ytdl-org/youtube-dl/issues/31427#issuecomment-1355388582.

Any updates on this?

authors: dirkf slavakurilyak


text:
[Site Request] Please provide a bottle/formula for homebrew (macOS)

[X] I'm reporting a site feature request
[X] I've verified that I'm running yt-dlp version 2021.08.10
[X] I've searched the bugtracker for similar site feature requests including closed ones

Description
As a macOS-user, I would love to see yt-dlp being provided as a homebrew bottle / Formula. This would make updating my apps more convenient. youtube-dl and youtube-dlc (and even haruhi-dl!) hava a bottle, but are outdated with speed issues at the moment and I'm pretty sure yt-dlp would gain some more users if a homebrew bottle would be provided.

Isn't this a homebrew side problem?(similar to scoop and choco)

To be honest, I don't know.

Bottles are created using the Brew Test Bot, usually when people submit pull requests to Homebrew

I don't have a mac - making it not possible for me to make a bottle and test it. Even if I did, I will need to manually keep updating it. Similar to #330 and #368, I am not interested in maintaining packages that I need to keep manually updating. Any third party is free to make a bottle and put in the effort to keep it up to date

FWIW once formula is created, it's often updated by PRs from community

I'll try making a formula

FYI, I have just merged the formula, it can be installed as brew install yt-dlp now. 🎉

@chenrui333 Will it be auto-updated? @nao20010128nao had also just made a PR #827 to maintain our own taps. I am wondering if it is needed now

it can be automated pretty easily with something like this

Thank you! https://formulae.brew.sh/formula/yt-dlp#default


text:
Sunil

Checklist

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

Verbose log

PASTE VERBOSE LOG HERE

Description

WRITE DESCRIPTION HERE

Fantastic

Not

repo: ytdl-org/youtube-dl


text:
Viki Http Error 404 again

Checklist

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

Verbose log

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--username', 'PRIVATE', '--password', 'PRIVATE', '-F', 'https://www.viki.com/videos/91001v-dream-high-episode-1', '--verbose']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2020.07.28
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.18362
[debug] exe versions: ffmpeg 4.2.2, ffprobe 4.2.2
[debug] Proxy map: {}
[viki] Logging in
ERROR: Unable to download JSON metadata: HTTP Error 404: Not Found (caused by HTTPError()); 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.
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpq2whuxta\build\youtube_dl\extractor\common.py", line 627, in _request_webpage
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpq2whuxta\build\youtube_dl\YoutubeDL.py", line 2238, in urlopen
  File "C:\Python\Python34\lib\urllib\request.py", line 470, in open
  File "C:\Python\Python34\lib\urllib\request.py", line 580, in http_response
  File "C:\Python\Python34\lib\urllib\request.py", line 508, in error
  File "C:\Python\Python34\lib\urllib\request.py", line 442, in _call_chain
  File "C:\Python\Python34\lib\urllib\request.py", line 588, in http_error_default

Description

Yesterday in the morning. I can login and get 720p/1080p resolution.
But suddenly the error is back until now.
Could anyone also experiencing?

I'm seeing this now too, after successfully downloading from viki.com a couple weeks ago. @dstftw, can you provide the issue number this is a duplicate of so we can follow and/or comment on that issue?

I'm seeing this now too, after successfully downloading from viki.com a couple weeks ago. @dstftw, can you provide the issue number this is a duplicate of so we can follow and/or comment on that issue?

I don't know why he's always closing this post without telling the duplicate link and problem

I'm seeing this now too, after successfully downloading from viki.com a couple weeks ago. @dstftw, can you provide the issue number this is a duplicate of so we can follow and/or comment on that issue?

I think the problem from viki now is the APP_SECRET was changed again that's why we can't login

It might be #25374, I guess. At first glance it seemed a little different than this one, but with a closer look it looks like the same exception traceback.

It might be #25374, I guess. At first glance it seemed a little different than this one, but with a closer look it looks like the same exception traceback.

Yeah maybe they already working on it. Because the issue is already visible for collaborators

I am working on a fix but keep experiencing the same strange bug. If I test my code with requests everything works totally fine. However as soon as I implement that to to viki extractor I keep getting the same 404 Error.
Honestly I am not exactly sure why. But could it be some HTTPS related problem? Tho this seems strange since my modified soundcloud extractor works totally fine with HTTPS.
Also you have to change app version to '100000a'.
Check my gist if you want to try it yourself

What version of Python are you using? Since you're seeing a difference in behavior depending on using requests or not, then it could actually be dependent on the version of Python if requests is not being used by default. IIRC, the default SSL support in Python is stricter about certificate verification and may fail to validate in some common but insecure situations. Requests handles the more secure cert verification and will avoid the problems. Or you can go back to Python 3.6 which was before the security changes.
Also, the patch in #25374 does fix the problem for me, if I'm using Py3.6.

@RobinD42 I tried with 2.7, 3.5 and 3.7 there is no difference. Right now I will simply implement the login using urllib and see how it goes.

I am working on a fix but keep experiencing the same strange bug. If I test my code with requests everything works totally fine. However as soon as I implement that to to viki extractor I keep getting the same 404 Error.
Honestly I am not exactly sure why. But could it be some HTTPS related problem? Tho this seems strange since my modified soundcloud extractor works totally fine with HTTPS.
Also you have to change app version to '100000a'.
Check my gist if you want to try it yourself
If you gonna enter this

https://api.viki.io/v4/sessions.json?app=100000a

you will get an actual response with json returning a 404. This should be at least downloadable when using _download_json but it isn't so my assumption it isn't using the https url
but rather this

http://api.viki.io/v4/sessions.json?app=100000a

will give you 404 (since there is no http endpoint) obviously.

Thanks for this. I tried it now but I can't input the password

I am working on a fix but keep experiencing the same strange bug. If I test my code with requests everything works totally fine. However as soon as I implement that to to viki extractor I keep getting the same 404 Error.
Honestly I am not exactly sure why. But could it be some HTTPS related problem? Tho this seems strange since my modified soundcloud extractor works totally fine with HTTPS.
Also you have to change app version to '100000a'.
Check my gist if you want to try it yourself
If you gonna enter this

https://api.viki.io/v4/sessions.json?app=100000a

you will get an actual response with json returning a 404. This should be at least downloadable when using _download_json but it isn't so my assumption it isn't using the https url
but rather this

http://api.viki.io/v4/sessions.json?app=100000a

will give you 404 (since there is no http endpoint) obviously.

Do you think the problem is from APP_SECRET?

I tested my C# code and I'm able to login and get the token
but  when I tried to download the json I'm getting the error again
Here's what I used
https://api.viki.io/v4/
APP: 100000a

@blackjack4494 could you tell me if this is a correct api?
https://api.viki.io/v4/videos/91001v/streams.json?app=100000a&t=1597700092&site=www.viki.com&token=h-yPux43pRp4Wj-T3sTKanIq_2u0014239459uti00k8hlyP000_djAy&sig=650eccca93e6b512103e74b1220b9398689a9ecb
this is where I'm getting the error

@zackmark29 should work with python3+
You can also use other methods by un/commenting. The standard is that you type everything in terminal so password won't be exposed.
No clue how your c# code looks like. If you can show me somehow I could help you out.

brief update. I managed to get it working using urllib directly. However only login and downloading of json including subtitles do work. Unfortunately the video streams json won't download as of yet (400 Bad request) I could fix that if I would know the exact problem but error handling in youtube-dl is not deep enough or I haven't figured it out yet.

brief update. I managed to get it working using urllib directly. However only login and downloading of json including subtitles do work. Unfortunately the video streams json won't download as of yet (400 Bad request) I could fix that if I would know the exact problem but error handling in youtube-dl is not deep enough or I haven't figured it out yet.
All I know is that the token is invalid when it tries to fetch the video streams json.
Okay nevermind I figured out what the problem is whatsoever. It's pretty messy and complicated. If you want to download the stream json the api still wants the old APP with 5 in it. Login and everything else wants the 0 in it...

yeah the only problem actually is the streams.json and other API's are working.
Do you mean the 100005a? is working with the streams.json?

FINALLY! I got it and it worked! Thanks @blackjack4494  for the information.
{"1080p":{"https":{"url":"https://v4.viki.io/91001v/91001v_high_1080p_9c961d_1908070957.mp4?e=1597710457&h=ab9265b85e84c9322d03954f496d51ce","seek":"ms","cdn":"limelight","id":"94944608","bumper_duration":0}},"360p":{"https":{"url":"https://v4.viki.io/91001v/91001v_high_360p_d146ae_1908070957.mp4?e=1597710457&h=7ee518cae11b540b7f637a14c457791d","seek":"ms","cdn":"limelight","id":"94944602","bumper_duration":0}},"480p":{"https":{"url":"https://v4.viki.io/91001v/91001v_high_480p_b1d67f_1908070957.mp4?e=1597710457&h=c16485e881f066487f0f1d06258841c8","seek":"ms","cdn":"limelight","id":"94944617","bumper_duration":0}},"720p":{"https":{"url":"https://v4.viki.io/91001v/91001v_high_720p_a116d5_1908070957.mp4?e=1597710457&h=740fd3b633530d5facb3007fd6aa0710","seek":"ms","cdn":"limelight","id":"94944611","bumper_duration":0}},"mpd":{"http":{"url":"https://manifest-viki.viki.io/v1/91001v/limelight/domain_4/mpd/normal/viki/high/mpdhd_mob/non_kcp/na/manifest.mpd?app=100005a&tag=mpdhd_mob:high:non_kcp:sourceVIKI:mpd:cached&h_timestamp=1597706857&u=14239459u&h_request_id=2a201040ac65cb32afb460f6124e6949/14762986993352435333&h_country=ph&h_host=hyperion-5f8cb47669-966jq&h_data_center=sng&sig=36f973f796be6b57a126b9caa95a7bc7fb22d78f","cdn":"limelight","drms":[],"id":"94944622","bumper_duration":0}}}
Here's the fixed from my c# code so that this can also applied to youtube-dl
APP_5 = "app=100005a";
APP_VERSION = "2.2.5.1428709186";

@zackmark29
maybe you could show your c# code. Alternatively if you don't want to show it publicly you can send me an email (check my profile) or invite me to your private repo. I am just curious how it looks like.

@zackmark29
maybe you could show your c# code. Alternatively if you don't want to show it publicly you can send me an email (check my profile) or invite me to your private repo. I am just curious how it looks like.
I am just super confused and upset that for some SUPER ODD reason windows version works fine but as soon as I try on various ubuntu (also raspberry pi) it just won't work and I have no clue at all...

Sure no problem. Here's the code for httpclient login request
`       public static HttpClient ApiClient { get; set; }
public static HttpClientHandler ClientHandler { get; set; }
    public static void ApiRequest()
    {
        ClientHandler = new HttpClientHandler()
        {
            UseProxy = PROXY.IsUseProxy ? true : false,
            Proxy = PROXY.IsUseProxy ? new WebProxy($"{PROXY.ProxyHost}:{PROXY.ProxyPort}") : null,
            AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate,
            ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return true; }
        };
        {
            ApiClient = new HttpClient(ClientHandler);
            AddAllHeaders(ApiClient);
            ApiClient.DefaultRequestHeaders.Add("x-viki-app-ver", "4.0.53");
            ApiClient.DefaultRequestHeaders.Add("x-viki-as-id", "100005a");
        }
    }

    public static void AddAllHeaders(HttpClient client)
    {;
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Add("Method", "GET");
        client.DefaultRequestHeaders.UserAgent.TryParseAdd(UA);
        client.DefaultRequestHeaders.CacheControl = new CacheControlHeaderValue { NoCache = true, NoStore = true, MustRevalidate = true };
        client.DefaultRequestHeaders.Add("pragma", "no-cache");
        client.DefaultRequestHeaders.Add("Accept-Language", "en-US,en;q=0.5");
        client.DefaultRequestHeaders.Add("Accept-Encoding", "gzip, deflate, br");
        client.DefaultRequestHeaders.ConnectionClose = true;
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    }`

and here's the completed streams api:
https://api.viki.io/v4/videos/91001v/streams.json?app=100005a&t=1597707072&site=www.viki.com&token=A4maekf_jy2svG9sDQkkD8wL_2u0014239459uti00k8hnvb005_djAy&sig=7bbb262715b84907d18afe6bff23b69ce665e18b
Let me know if you need other code

@zackmark29 thanks :)
it didn't help me directly but it satisfied my curiosity haha. Also try to drop x-viki-as-id if you experience any differences.
I made a PR #26372 which should finally fix the error for all platforms. Give it a try and @RobinD42 too if you want :)
Am glad about some response.

@zackmark29 thanks :)
it didn't help me directly but it satisfied my curiosity haha. Also try to drop x-viki-as-id if you experience any differences.
I made a PR #26372 which should finally fix the error for all platforms. Give it a try and @RobinD42 too if you want :)
Am glad about some response.

haha it worked without the Id. Thanks!
I'll try your youtube-dl fixed later.


text:
Write --xattrs metadata as macOS Spotlight metadata

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] Searched the bugtracker for similar pull requests
[x] Read adding new extractor tutorial
[x] Read youtube-dl coding conventions and adjusted the code to meet them
[x] Covered the code with tests (note that PRs without tests will be REJECTED)
[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
Resolves #2545, resolves #8089, resolves #28945.
On macOS, it is preferable to write --xattrs metadata as Spotlight metadata so that they are shown in Finder's Get Info window and searchable by Spotlight/Finder.
These metadata will be written to Spotlight metadata: webpage_url, title, description and uploader.
Other metadata, upload_date and format, are written to dublin core as before since there seem to be no corresponding Spotlight metadata.
Uses standard plistlib on Python 3.4+, PyObjC module if available, or plutil command.
Tries to find Apple's xattr command which can set binary data if xattr module is not available.
PyObjC is usually pre-installed for Python 2.7 on macOS and can be installed with pip (pyobjc-framework-Cocoa is enough). plutil and xattr commands are usually pre-installed on macOS.

Accidentally deleted it. Code not changed. Reopen it.


text:
Assistance please: getting property not found parsing error,

based on the INO example,
set up ok
device on line ok,
基于 INO 示例，
设置确定
设备在线确定，
reading the Device Log (Cloud run log)
阅读设备日志（云运行日志）
{"id": "123","version": "1.0","params": {},"method": "thing.event.xxx.post"}
{"Content":"Publish message to topic:/sys/a1RPb9ZIzak/QT1_80003/thing/event/xxx/post,QoS=0"}
{"id":"123","version":"1.0","method":"thing.event.property.post","params":{"CurrentTemperature":30}}
i get the error
我得到的错误
{"Params":{"CurrentTemperature":30},"ResultData":{"CurrentTemperature":"5092 - property not found"},"Reason":"tsl parse failed"}
has a status 6332 .
clearly I am misunderstanding something in the setting.
However, I am located in Australia, and the REGION_ID is Shanghai ? is that an issue.
显然，我误解了设置中的东西。
然而，我位于澳大利亚，REGION_ID是上海？这是一个问题。
Thank you very much ..  :)
Terence .

had more progress on the TSL config, and now posting data,

repo: yu-tou/arduino-aliyun-iot-sdk


text:
cannot import name 'EfficientNetB0'

Hi,
I'm trying to run demo.py to estimate age/gender from my own images but I'm getting : "cannot import name 'EfficientNetB0'"  error from this line of the code: "from tensorflow.keras.applications import EfficientNetB0".
Tensorflow version: 1.13
Python version: 3.6
Any idea?

Please use tensorflow>=2.3.0

Please use tensorflow>=2.3.0

Thank you for your reply. I wanna use your code in my own network which should be implemented in TF1.13. Is there any other way to resolve the issues?

remove these lines

strategy = tf.distribute.MirroredStrategy()
with strategy.scope():

and try:

python train.py model.model_name=MobileNetV2

I have no ideas about how to use the pretrained model (EfficientNetB0).


text:
Failed to bind one of the listener ports.

I tried to run test.py with "python3 test.py" and I got 'EEEEEE'. All error message shows below
ERROR: test_renew_identity (main.TestSession)
test_renew_identity
Traceback (most recent call last):
File "sneak/test.py", line 38, in test_renew_identity
s = Session()
File "/home/USERNAME/Downloads/Sneak-master/sneak/Http.py", line 178, in init
self.run_proxy(socks_port, control_port, proxy_host, exit_country_code, tor_path)
File "/home/gordon/Downloads/Sneak-master/sneak/Http.py", line 104, in run_proxy
self.proxy.run()
File "/home/USERNAME/Downloads/Sneak-master/sneak/Tor.py", line 95, in run
init_msg_handler=print_bootstrap_lines
File "/home/gordon/.local/lib/python3.5/site-packages/stem/process.py", line 274, in launch_tor_with_config
return launch_tor(tor_cmd, ['-f', '-'], None, completion_percent, init_msg_handler, timeout, take_ownership, stdin = config_str)
File "/home/USERNAME/.local/lib/python3.5/site-packages/stem/process.py", line 153, in launch_tor
raise OSError('Process terminated: %s' % last_problem)
OSError: Process terminated: Failed to bind one of the listener ports.
It seems that I did't open tor-browser successfully but when I check 'netstat -anlp | grep :9050'.
I got   'tcp        0      0 127.0.0.1:9050          0.0.0.0:*               LISTEN'

The main problem is that once the test code is failed, the testing thread leaves which make Tor proxy still open. Therefore, we have to kill it manually through kill command.

Actually this sometimes is related to the daemon process, so check:
nano /etc/default/tor
line
RUN_DAEMON="yes"
should be "no"
stop/restart tor:
sudo /etc/init.d/tor stop

authors: gordon4067 rapttor yudazilian

repo: yudazilian/Sneak


text:
Refactoring of Load Balance code

Refactoring of Load Balancing code is being done to simplify the code structure for maintenance as well as future enhancements
Details:

Moved all core logic from Driver and *LoadBalancer to a new class LoadBalanceManager.
1.1 For each new connection request:
1.1.1 Check if yb_servers() info needs to be refreshed.
1.1.2 If so, create a control connection, do the refresh, update the map and retain the control connection.
1.1.3 Get the least loaded server address(es) and
1.1.4 Attempt to make a connection. If failure, mark the server as failed and go back to 1.1.3
LoadBalanceManager maintains all the load information about the cluster in static map clusterInfoMap
2.1 The clusterInfoMap is a map of hostname as its key and an instance of NodeInfo as its value.
2.2 An instance of NodeInfo holds all the information of a row returned from yb_servers()
Introduced an interface LoadBalancer which any new LB policy needs to implement.
The built-in policies ClusterAwareLoadBalancer and TopologyAwareLoadBalancer implement above interface.
The interface has only three APIs. It lets implementations to provide the logic to select the least loaded host through the API getLeastLoadedServer()
All the existing tests in the repo run fine.
Few tests for concurrent connection requests to be added. - DONE

Performance comparison:

Used this app (see performanceApp() there)
Version 42.3.5-yb-5-SNAPSHOT in pom.xml refers to the build of this branch
It creates 150 connections on a 3-node cluster
It does 10 iterations of these

Single thread, creating 150 connections:

Driver
1st run
2nd run

PGJDBC
10217 ms
10428 ms

JDBC Smart
10865 ms
11117 ms

Degradation
~6%
~6%

25 threads, creating 6 connections each:

Driver
1st run
2nd run

PGJDBC
2523 ms
2540 ms

JDBC Smart
2681 ms
2655 ms

Degradation
~6%
~5%

Also, wondering how will users select between ClusterAwareLoadBalancer and TopologyAwareLoadBalancer.

Do you mean how a policy is configured? Only providing load-balance=true selects ClusterAwareLoadBalancer and additionally providing topology-keys=<placements> selects TopologyAwareLoadBalancing.

Updated the description with performance numbers

repo: yugabyte/pgjdbc


text:
Removes all  "$" signs at the start of the code lines

In the README.md file, removed all the "$" signs that was at the start of the code samples.

I am new to the company - in ATS - if I did not follow any policy, practice please let me know :-)

repo: yugabyte/yb-sample-apps


text:
Create Point.java

@yuichielectric-demo こちら、コードレビューお願いします！
@yuichielectric-enterprise/qa こちらの修正のテストケースが十分かどうか確認いただけますでしょうか。

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- src/main/java/com/github/demo/model/Point.java  1

See the complete overview on Codacy


text:
template fileの登録

概要
issueやprしやすいようにtemplate fileを作成する
備考
後ほどPRします。
その後json形式作成用のrubyスクリプトやライセンスなどについてissueやPR立てます。

close #1 via PR #2

うまく動作シていないようなので再オープンしておきます。
どこかのタイミングで対応します。


text:
inference script

Do you have a script for performing inference given a video using the huggingface module

I just released a new version called EILEV with a simple sample script that demonstrates how to use VideoBILP: https://github.com/yukw777/EILEV/blob/main/samples/video_blip_generate_action_narration.py


text:
Automated cherry pick of #11788: fix(region): baremetal server resued address nic count should be subtracted

Cherry pick of #11788 on master.
#11788: fix(region): baremetal server resued address nic count should be subtracted

/lgtm

/approve

authors: swordqiu zexi

repo: yunionio/cloudpods


text:
fix: do not init keystone admin user

What this PR does / why we need it:
fix: do not init keystone admin user

Does this PR need to be backport to the previous release branch?:

release/3.10

/cc @zexi @ioito

/lgtm

authors: ioito swordqiu


text:
region: fix pending_deleted virtual resource filter by name

这个 PR 实现什么功能/修复什么问题:

lb backend 同一个 backend 不同端口时名称 duplicate
region pending deleted virtual resource 不能通过 name 查询

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

release/2.10.0

/area region
/cc @swordqiu @yousong

Codecov Report

Merging #1176 into master will increase coverage by 0.04%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master   #1176      +/-   ##
=========================================
+ Coverage    7.85%    7.9%   +0.04%
=========================================
  Files         367     364       -3
  Lines       57813   57154     -659
=========================================
- Hits         4541    4517      -24
+ Misses      52874   52239     -635
  Partials      398     398

Flag
Coverage Δ

#aFlag
7.9% <0%> (+0.04%)
:arrow_up:

Impacted Files
Coverage Δ

pkg/cloudcommon/db/fetch.go
0% <0%> (ø)
:arrow_up:

pkg/cloudcommon/db/virtualresource.go
0% <0%> (ø)
:arrow_up:

pkg/compute/models/loadbalancerbackends.go
2.5% <0%> (-0.02%)
:arrow_down:

pkg/compute/models/cloudsync.go
0% <0%> (ø)
:arrow_up:

pkg/util/aws/vpc.go
0% <0%> (ø)
:arrow_up:

pkg/util/ucloud/vpc.go
0% <0%> (ø)
:arrow_up:

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

pkg/compute/models/natgateways.go

pkg/compute/models/natdtables.go

pkg/compute/models/natstables.go

... and 3 more

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 b5fbe61...361e49b. Read the comment docs.

/approve
/lgtm

authors: Zexi codecov-io yousong

repo: yunionio/onecloud


text:
Automated cherry pick of #1273: add azure region geographicinfo

Cherry pick of #1273 on release/2.10.0.
#1273: add azure region geographicinfo

Codecov Report

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

@@               Coverage Diff                @@
##             release/2.10.0   #1311   +/-   ##
================================================
  Coverage                  ?    7.9%
================================================
  Files                     ?     369
  Lines                     ?   57679
  Branches                  ?       0
================================================
  Hits                      ?    4562
  Misses                    ?   52719
  Partials                  ?     398

Flag
Coverage Δ

#aFlag
7.9% <ø> (?)

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 2aad7f8...c444529. Read the comment docs.

/approve
/lgtm

authors: codecov-io ioito yousong


text:
fix: isolated_device dev_type field not set

这个 PR 实现什么功能/修复什么问题:
host 探测 isolated device 时忘了设置 dev_type 字段
是否需要 backport 到之前的 release 分支:

/cc @wanyaoqi @swordqiu

/area host region
/cherrypick release/2.9.0

/cherrypick release/2.8.0

Codecov Report

Merging #693 into master will decrease coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master    #693      +/-   ##
=========================================
- Coverage    7.48%   7.48%   -0.01%
=========================================
  Files         347     347
  Lines       54898   54900       +2
=========================================
  Hits         4111    4111
- Misses      50407   50409       +2
  Partials      380     380

Flag
Coverage Δ

#aFlag
7.48% <0%> (-0.01%)
:arrow_down:

Impacted Files
Coverage Δ

pkg/compute/models/isolated_devices.go
2.31% <ø> (ø)
:arrow_up:

pkg/hostman/isolated_device/isolated_device.go
3.34% <0%> (-0.02%)
:arrow_down:

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 ec21467...e3797b7. Read the comment docs.

/lgtm
/approve

authors: Zexi codecov-io wanyaoqi


text:
fix: lock/unlock cleanup

这个 PR 实现什么功能/修复什么问题:
修正：清理一下lock/unlock的问题代码

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

release/3.3
release/3.4

/cc @zexi @wanyaoqi @yousong @rainzm
/area util

Codecov Report

Merging #7918 into master will increase coverage by 0.00%.
The diff coverage is 0.00%.

@@          Coverage Diff           @@
##           master   #7918   +/-   ##
======================================
  Coverage    7.63%   7.63%
======================================
  Files         319     319
  Lines       46162   46159    -3
======================================
  Hits         3524    3524
+ Misses      42371   42368    -3
  Partials      267     267

Flag
Coverage Δ

#aFlag
7.63% <0.00%> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/keystone/models/identity_provider.go
0.99% <0.00%> (ø)

pkg/multicloud/esxi/virtualmachine.go
0.00% <0.00%> (ø)

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 e197ff8...41f932e. Read the comment docs.

/lgtm

/lgtm
/approve

authors: codecov-commenter swordqiu wanyaoqi zexi


text:
Automated cherry pick of #8913: feat(region): support aliyun finance cloud

Cherry pick of #8913 on release/3.5.
#8913: feat(region): support aliyun finance cloud

Codecov Report

Merging #8915 (d4af3a0) into release/3.5 (e3fe6c4) will increase coverage by 11.96%.
The diff coverage is 0.00%.

@@               Coverage Diff                @@
##           release/3.5    #8915       +/-   ##
================================================
+ Coverage         6.03%   18.00%   +11.96%
================================================
  Files              795       84      -711
  Lines           124282     8850   -115432
================================================
- Hits              7503     1593     -5910
+ Misses          116114     7088   -109026
+ Partials           665      169      -496

Flag
Coverage Δ

aFlag
18.00% <0.00%> (+11.96%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/apigateway/handler/auth.go
0.00% <0.00%> (ø)

pkg/apigateway/handler/misc.go
0.00% <0.00%> (ø)

pkg/apigateway/handler/proxy.go
0.00% <0.00%> (ø)

pkg/keystone/driver/cas/cas.go
11.11% <0.00%> (+0.52%)
:arrow_up:

pkg/mcclient/options/k8s/release.go

pkg/multicloud/ucloud/host.go

pkg/cloudcommon/db/quotas/quotakeys.go

pkg/cloudcommon/db/scoperesource.go

pkg/mcclient/options/k8s/certs.go

pkg/hostman/guestfs/fsdriver/macos.go

... and 596 more

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 ccd8af3...d4af3a0. Read the comment docs.

/lgtm
/approve

authors: codecov-io tb365 zexi


text:
🛑 Excalidraw is down

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

HTTP code: 0
Response time: 0 ms

Resolved: Excalidraw is back up in be6d82e after 12 minutes.


text:
你好大佬，我发现你这个导航是多选的好像不太好格式

多选还是要多一些才能用，就目前来说随便选两个好像就没有文章

是的，多选的时候大概率是空的，你有啥好的想法嘛

直接用标签不行吗
---原始邮件---
发件人: @.>
发送时间: 2024年3月30日(周六) 中午11:43
收件人: @.>;
抄送: @.@.>;
主题: Re: [yunyuyuan/nuxt3-blog] 你好大佬，我发现你这个导航是多选的好像不太好格式 (Issue #28)
是的，多选的时候大概率是空的，你有啥好的想法嘛
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

或者直接就超链接
---原始邮件---
发件人: @.>
发送时间: 2024年3月30日(周六) 中午11:43
收件人: @.>;
抄送: @.@.>;
主题: Re: [yunyuyuan/nuxt3-blog] 你好大佬，我发现你这个导航是多选的好像不太好格式 (Issue #28)
是的，多选的时候大概率是空的，你有啥好的想法嘛
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

@xinkeji 去掉多选功能吗

是的没必要多选
---原始邮件---
发件人: @.>
发送时间: 2024年3月30日(周六) 中午12:00
收件人: @.>;
抄送: @.@.>;
主题: Re: [yunyuyuan/nuxt3-blog] 你好大佬，我发现你这个导航是多选的好像不太好格式 (Issue #28)
@xinkeji 去掉多选功能吗
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

authors: xinkeji yunyuyuan


text:
RelocationTransformer should use project.build.sourceEncoding as encoding

and pass it to IOUtils + use it in getBytes: https://github.com/yupiik/maven-shade-transformers/blob/master/src/main/java/io/yupiik/maven/shade/transformer/RelocationTransformer.java#L65
also maybe allow to overwrite

@tandraschko hi! Thank you for raising this issue, are you planning to provide a PR?

I can take a crack at it.

@fpapon Confirmed 0.0.4 is in Central and has fixed our issues!

@fpapon Confirmed 0.0.4 is in Central and has fixed our issues!

Thank for using and contributing on it!

authors: fpapon melloware tandraschko

repo: yupiik/maven-shade-transformers


text:
Добавить остаток по счёту на начало и на конец

Удобная обработка, спасибо!
Но без остатка по счёту на начало/конец периода что-то сверять сложно. В П24 для этого есть отчёт по счёту.

@vabue try new version please. npm install p24 -g

authors: vabue yurks


text:
add this script to generate automatically clipboard button

official github script
function createNode(text: string): Element {
  const node = document.createElement('pre')
  node.style.width = '1px'
  node.style.height = '1px'
  node.style.position = 'fixed'
  node.style.top = '5px'
  node.textContent = text
  return node
}

function copyNode(node: Element): Promise<void> {
  if ('clipboard' in navigator) {
    return navigator.clipboard.writeText(node.textContent || '')
  }

  const selection = getSelection()
  if (selection == null) {
    return Promise.reject(new Error())
  }

  selection.removeAllRanges()

  const range = document.createRange()
  range.selectNodeContents(node)
  selection.addRange(range)

  document.execCommand('copy')
  selection.removeAllRanges()
  return Promise.resolve()
}

export function copyText(text: string): Promise<void> {
  if ('clipboard' in navigator) {
    return navigator.clipboard.writeText(text)
  }

  const body = document.body
  if (!body) {
    return Promise.reject(new Error())
  }

  const node = createNode(text)
  body.appendChild(node)
  copyNode(node)
  body.removeChild(node)
  return Promise.resolve()
}

an other script found online
// copy code icon markup
const copyIcon = `<svg aria-hidden="true" data-testid="geist-icon" fill="none" height="18" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24" width="18" style="color: currentcolor;"><path d="M8 17.929H6c-1.105 0-2-.912-2-2.036V5.036C4 3.91 4.895 3 6 3h8c1.105 0 2 .911 2 2.036v1.866m-6 .17h8c1.105 0 2 .91 2 2.035v10.857C20 21.09 19.105 22 18 22h-8c-1.105 0-2-.911-2-2.036V9.107c0-1.124.895-2.036 2-2.036z"></path></svg>`

// insert copy buttons for code blocks
const codeBlocks = document.querySelectorAll("div.h-r")
codeBlocks.forEach((codeBlock) => {
    codeBlock.insertAdjacentHTML(
        "afterbegin",
        `<button class="copy" aria-label="Copy code to clipboard" style="float:right;">${copyIcon}</button>`
    )

})

// handler that saves the code block innerText to clipboard
function copyCodeBlock(event) {
    const copyButton = event.currentTarget
    // const codeBlock = copyButton.parentElement.querySelector("pre.highlight")
    // const code = codeBlock.innerText.trim()

    const codeBlock = this.parentNode.querySelector("pre.h").lastChild
    const code = codeBlock.data.trim()

    // remove "$ " prompt at start of lines in code
    const strippedCode = code.replace(/^[\s]?\$\s+/gm, "")
    window.navigator.clipboard.writeText(strippedCode)

    // change the button text temporarily
    copyButton.textContent = "Copied!"
    setTimeout(() => copyButton.innerHTML = copyIcon, 3000)
}

// register event listeners for copy buttons
const copyButtons = document.querySelectorAll("button.copy")
copyButtons.forEach((btn) => {
    btn.addEventListener("click", copyCodeBlock)
})

Could you create the PR?

I'll learn go, can you give me any advice or resources to switch easily from java to go, is it similar to C i know, isn't it?

I don't understand where is the binding between go language and javascript, in which folder I have to check?

Hi @os3albert !
Thanks! The JavaScript code is actually written in the template file:
https://github.com/yusukebe/gh-markdown-preview/blob/master/cmd/template.html
Thus, I don't think there is a need to modify the Go files.

Hi @yusukebe,
I noticed the discussion about adding the copy-to-clipboard functionality. If no one is currently working on this, I'd love to contribute by creating a PR for it. Could I take this on?

@SureshPradhana

Could I take this on?

Yes. Please!

authors: SureshPradhana os3albert yusukebe

repo: yusukebe/gh-markdown-preview


text:
简化路由

原：
https://steamcard.vercel.app/card?steamid=<yoursteamid>&theme=light
新：
https://steamcard.vercel.app/<yoursteamid>/light

顺便可以用我的域名：card.chrxw.com，可以再短一点

repo: yuyinws/steam-card


text:
Update stats.html

added Komodo and Zen block explorer links

bundled with: https://github.com/z-classic/z-nomp/pull/337, should we unbundle these PRs?

bundled with: #337, should we unbundle these PRs?

Hi,
I don't think so :)

authors: igorvoltaic nimbosa

repo: z-classic/z-nomp


text:
🛑 ipfs.zshell.dev is down

In cb9df2e, ipfs.zshell.dev (https://ipfs.zshell.dev) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ipfs.zshell.dev is back up in be07028.

repo: z-shell/status