text:
Cars dataset: provide cleaned up data and sample data?

The original dataset is roughly 2GB, scattered over ~15 files. I previously always put a merged and cleaned version on a USB drive and gave it to the students. But maybe that is not necessary? All code to create the cleaned data is in the notebook.

I agree. Notebook looks clear and if a learner has issues there it's good to work them out with their peers.

authors: krasch noatamir

repo: wimlds/berlin-ds-lab


text:
docs(plugins): Pluggable or not

Hi
I'm using win-acme for the first time, and I need to get it to work with Azure DNS validation. Of course, that means I want to install a plugin. Every plugin documentation page that I see tells me that I have to install the pluggable release.
There does not seem to be a way to tell from the command line if my version is the pluggable version or not. I have installed using the dotnet tools option, but it would be great to know in advance if that was going to work rather than having to validate after a plugin installation (which I'm about to try). If there is a way, it would be excellent if it was surfaced/mentioned at the section where the tools installation is suggested.
Please consider/

The dotnet tool is always pluggable. You can always confirm this by looking at  one of the first lines logged on the screen, behind the version number you'll see other properties of the build, e.g. "64-bit, standalone, pluggable"

The dotnet tool is always pluggable. You can always confirm this by looking at one of the first lines logged on the screen, behind the version number you'll see other properties of the build, e.g. "64-bit, standalone, pluggable"

Thanks, I got there eventually when I started trying to see where the install paths were.
Still think just specifying on the docs would be great, though. It would reduce the overhead of trying to figure out if I'm going down the right path before I start installing stuff.

source: gharchive/issue

authors: WouterTinus fardarter

repo: win-acme/win-acme

license_type: permissive

license_source: github-api


text:
請加入訊飛星火

請加入訊飛星火

好的 谢谢

已经加入了


text:
Component generation with styles with attribute selectors does not work.

Given the following JSON input for component generation:
{
	".btn-disabled,.btn[disabled]": {
		"-TwBgOpacity":["1", "0.2"],
		"backgroundColor":"hsla(var(--n,219 14% 28%)/var(--tw-bg-opacity))",
		"-TwBorderOpacity":"0",
		"-TwTextOpacity":["1", "0.2"],
		"color":"hsla(var(--bc,215 28% 17%)/var(--tw-text-opacity))"
	}
}

the following markup:
<button disabled>BUTTON</button>

does not generate the expected style (This is the TailwindCSS generated style):
.btn-disabled,
.btn[disabled] {
	--tw-bg-opacity: 1;
	background-color: hsla(var(--n, 219 14% 28%)/var(--tw-bg-opacity));
	--tw-bg-opacity: 0.2;
	--tw-border-opacity: 0;
	--tw-text-opacity: 1;
	color: hsla(var(--bc, 215 28% 17%)/var(--tw-text-opacity));
	--tw-text-opacity: 0.2
}

In fact, nothing is generated, WindiCSS does not to seem to recognize the disabled attribute.
<button className="btn-disabled">BUTTON</button>

generates the following:
.btn-disabled {
  --tw-bg-opacity: 1;
  --tw-bg-opacity: 0.2;
  background-color: hsla(var(--n,219 14% 28%)/var(--tw-bg-opacity));
  --tw-border-opacity: 0;
  --tw-text-opacity: 1;
  --tw-text-opacity: 0.2;
  color: hsla(var(--bc,215 28% 17%)/var(--tw-text-opacity));
}

the attribute selector .btn[disabled] is missing.

TailwindCSS and WindiCSS also differ in the order of the CSS variables (--tw-xxxx), I have to try out if this makes a difference

repo: windicss/windicss

license: MIT


text:
Add analytics

It would be interesting to see how much traffic the site gets on launch. I'm not too fond of the idea of using google analytics for a site like this though. Maybe lets opt for something more privacy friendly. Some potential alternatives I found.
https://matomo.org/
https://www.goatcounter.com/ (this looks super lightweight and simple)

There's also Plausible Analytics which I'm working on. Modern dashboard, simple metrics to understand, open source so can be self-hosted, lightweight script (<1 KB), no cookies and doesn't collect personal data so no need for cookie/GDPR consent banner.
Our GitHub: https://github.com/plausible/analytics
Our website: https://plausible.io/

ah I did set up a Matomo instance, @FarfamaH! Sorry, I didn’t get any notification of this 😯  I’ll send you an invitation.

authors: FarfamaH backspace metmarkosaric


text:
Colorize with uppercase level creates lots of blank lines before log message

Please tell us about your environment:

winston version?_

winston@2
[-] winston@3.0.0-rc6

node -v outputs:  v10.1.0
Operating System: Linux (Official Docker image)
Language: TypeScript 2.6.2

What is the problem?
Using a custom format that uppercases the level with colorize will cause the log line output to have lots of empty space before it (clears my console so probably 50+ empty lines).
What do you expect to happen instead?
Ideally the upper cased level would be colorized. Worst case is it would not be colorized.
Other information
Here is the code:
const custom = format.printf((info) => {
  return `${info.level.toUpperCase()}: ${info.message}`;
});

const log = createLogger({
  format: format.combine(
    format.colorize(),
    custom
  ),
  transports: [new transports.Console()]
});

It works fine if I do .toLowerCase()

info.level is mutable. It is changed from 'error' or 'info' to a string that includes ANSI color codes. e.g.:
// level = '\u001b[32minfo\u001b[39m'
info: wut
// level = '\u001b[32minfo\u001b[39m'
info: ok
// level = '\u001b[31merror\u001b[39m'
error: sure

... not 100% the right approach to add this feature. The underlying colorize code is in logform

@kingjerod this should be fixed by . Once that lands you can solve this by:
const custom = format.printf((info) => {
  return `${info.level}: ${info.message}`;
});

const log = createLogger({
  format: format.combine(
    format(info => {
      info.level = info.level.toUpperCase()
      return info;
    })(),
    format.colorize(),
    custom
  ),
  transports: [new transports.Console()]
});

I still have this bug with wintston@3.4.0 shipped with logform@2.3.2 (this tag has been push 2 days ago).
Do I miss something ?

It could just be you still have the level.toUppercase() if you use printf. I added the format in this reply above and it still didn't work only for me to realize I still had the other toUppercase. For example:
const LOG_FORMAT = winston.format.printf(
  (info) =>
    `${info.timestamp} ${info.level/*NO TO UPPERCASE*/}${info.label ? ` [${info.label}]` : ''}: ${info.message}`
);`
``

authors: Baptiste-Garcin indexzero kingjerod kmordan24

repo: winstonjs/winston


text:
Using Winston:  I am not able to configure different log level for different java-script file at run time.

We are now able to write logger into a separate log file and also we have exposed rest api to change the log level at run time.  These two packages is used :
owsClientLogger = Winston; // Defined at client part of meteor Application.
owsServerLogger = Winston; // Defined at server part of meteor Application
owsServerLogger.add(owsServerLogger.transports.File, {
level: 'info',
filename: '/var/log/applog.log',
json: false,
timestamp: true,
tailable: true,
exitOnError: false,
prettyPrint :true,
handleExceptions: true,
maxsize : 1000000
});
// This called via some rest Api from client.
setLogLevel = function (level) {
owsServerLogger.level = level;
};
This gives us a global logger. But we want seperate logger for some set of js files and also we want to change the log level of only particular one logger at run time without changing log level of other loggers.
Summary:

How can we get separate winston loggers?
How can we configure log level separately each of these instance separately?
How can we access these separate instance of winston at client level of meteor application?

I'm not a maintainer of the project, but you could create a new logger instance as described in the README: https://github.com/winstonjs/winston#instantiating-your-own-logger
var winston = require('winston');

var logger1 = new winston.Logger({
  level: 'info',
  transports: [ new winston.transports.Console() ]
});
var logger2 = new winston.Logger({
  level: 'error',
  transports: [ new winston.transports.Console() ]
});

logger1.info('foobar'); // This is logged to the console
logger2.info('foobar'); // ignored because the logLevel for logger2 is above 'info'

exports.logger1 = logger1;
exports.logger2 = logger2;

As for the meteor specifics, I'm unsure... It would depend on how meteor builds your client side stuff (with webpack/browserify or something else) but the above example answers your first two points.

Hello everyone, this worked for me.
const winston = require('winston');

const infoWinston = winston.createLogger({
    level: 'info',
    defaultMeta: { service: 'log-service' },
    transports: [
        new (winston.transports.File)({ name: "info", filename: './logs/info.log', level: 'info' })
    ],
});

const errorWinston = winston.createLogger({
    level: 'info',
    defaultMeta: { service: 'log-service' },
    transports: [
        new (winston.transports.File)({ name: "error", filename: './logs/error.log', level: 'error' })
    ],
});

const logger = () => {
    return {
        info: (params) => {
            return infoWinston.info(params);
        },
        error: (params) => {
            return errorWinston.error(params);
        },
    }
};

logger().info("info");
logger().error("error");

authors: gtzinos ksmithut srikantlakhanpal


text:
memexec payload

Hello
The available_payloads array does not contain memexec so it needs to be fixed in order to use that payload.
I also need an example of its usage with the right arguments. E.g. if elf_args and exe_args are empty, what arguments should I pass?
Thanks

just inspect source. if u can u can =)

u can also inspect logo, for example do extract with c-chef

Good point, I will fix this in next commit. Speaking of options, you should specify either exe_args or elf_args - leaving both empty is pointless, because then nothing is executed.

authors: l4ckyguy norey wintrmvte

repo: wintrmvte/SNOWCRASH


text:
Package location @wiremock/wiremock-testcontainers-node

Summary
We started to use testcontainer and wiremock-captain for testing our Backstage.io application.
We would like to switch to this module if possible.
README indicate wiremock-testcontainers-node but package.json is @wiremock/wiremock-testcontainers-node
References
No response

Closed as fixed

repo: wiremock/wiremock-testcontainers-node


text:
Adv Duplicator 2 + Wiremod crash upon pasting.

I have a build server running, when ever someone's build are set down (not all) it crashes the server console how ever it dosn't close, there are no console errors other then the last thing it tried to create then just locks up. we are running the latest SVN version

@dafoxx can you make sure you're running the latest GitHub versions of both Wiremod and AdvDupe2? We took over development of AdvDupe2 because the original author gave up on it, but lots of people are still using the old Google Code SVN version.

thank, we are now running the latest, ill keep you posted later on when its busy.

By the way, AdvDupe1 still looks terribly ugly.

been running it, still crashed on a single dupe, could a reinstall of the server help maybe?

Give the dupe file so we can test it.

I don't have the dupe at hand as its other players, but give me a bit and ill try get hold of one.

Turns out, My friend changed the Steam collection and added the Wiremod from there, along with the latest on here in addons, no crashing now!

repo: wiremod/wire


text:
Update sbt to 1.9.7

About this PR
📦 Updates org.scala-sbt:sbt from 1.6.2 to 1.9.7
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

🔍 Files still referring to the old version number
The following files still refer to the old version number (1.6.2).
You might want to review and update them manually.
scalablytyped-facades/yarn.lock
slinky-utils/yarn.lock
yarn.lock

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-sbt", artifactId = "sbt" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scala-sbt", artifactId = "sbt" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, version-scheme:early-semver, old-version-remains, commit-count:1

Superseded by #231.

source: gharchive/pull-request

repo: wiringbits/wiringbits-webapp-utils


text:
Windows cygwin build fails

I'm experiencing some build issues for a windows machine with cygwin. The g++ compiler is successfully located, but still ends with several compile errors. System information is below, and I have attached the build's output.
OS: Windows 7 64-bit
Compiler: g++ v5.3
Python v3.5
Build command:
python setup.py build --compiler=cygwin > build_output.txt
build_output.txt

Thanks for the bug report. I will look into it!

As noted here, it may be that your Anaconda Python was compiled with a different compiler than the gcc used to compile ParaText. It's been ages since I have used Cygwin. You may have better success with MinGW. Have you tried it?

Seeing some different issues with MinGW. They don't seem to be paratext-related, so I've asked about them on stackoverflow

Thank you for the follow-up. I never use the --compiler option, but it may work. Last time I compiled a Python extension with MinGW, I usually did something like this:
CXX=path-to-mingw-g++ CC=path-to-mingw-gcc python setup.py build

Note that setuptools uses CFLAGS not CXXFLAGS for C++.

Some recent pull requests #24, #38, #54 have improved ParaText with Windows. Can you please confirm the latest master works for you?
Thanks!

repo: wiseio/paratext

license_source: bigquery


text:
New island example

As discussed, removed the second Preact example and made the first one interactive with a button.

LGTM Dan!

repo: withastro/docs


text:
[tutorial] Pull out and simplify Stackblitz instructions

This addresses the feedback that the interleaved Stackblitz instructions were confusing. It pulls out the Stackblitz instructions into a single <details> on the Check In page. It also tells the user to log in after opening Stackblitz with astro.new, instead of before.

LGTM! 💜


text:
🐛 BUG: client: attributes not being parsed correctly

Describe the Bug
At least with the framework-solid template, the Astro extension seems to not parse client attributes in imported components correctly, giving an incorrect error. Everything works fine otherwise.
Steps to Reproduce

pnpm create astro using template framework-solid (npm or yarn likely does the same thing, but I haven't tested this)
Open the resulting project in vscode, with only the Astro plugin enabled
Open the index.astro file
The line <Counter client:visible> throws an error:

Type '{ "client:visible": true; }' is not assignable to type '{ children: any; }'.
  Property 'client:visible' does not exist on type '{ children: any; }'.js(2322)

Update: this issue seems to only happen with .jsx files. After simply renaminng Counter.jsx to Counter.tsx with no other changes to the file and changing the import Counter statement appropriately, the issue disappears. Thankfully, I'm planning to code in typescript, so this issue won't affect me in this case, but I'll leave this open for investigation in case other people runs into the same issue and wishes to use javascript.

I'm experiencing the same issue as well.

I'm using Typescript (and Svelte, if that's relevant) and I get a very similar message :
Type '{ "client:load": true; list: any; }' is not assignable to type 'IComponentOptions<Record<string, any>>'.
  Property 'client:load' does not exist on type 'IComponentOptions<Record<string, any>>'.

No idea why, but the error seems to disappear if I delete tsconfig.json.

This issue is happening to me for .tsx files while strict mode is enabled in tsconfig.json.
PS: I'm using Preact (with Typescript)

authors: PoQuatre ProspectPyxis Simperfy snelgrove

repo: withastro/language-tools


text:
Best practice to wrap IO error with message?

Let's say I'm doing some IO in a function, where several things can all fail with a std::io::Error.  I want to include some message with that error.  What's the best way to do this with failure? It looks like a custom error enum is a good way to start, but I'm unsure how to include the underlying io::Error as the underlying cause.

#[derive(Debug, Fail)]
enum MyCustomError {
    #[fail(display = "failed to read username file")]
    UsernameError,

    #[fail(display = "failed to read password file")]
    PasswordError
}

fn run() -> Result<(), MyCustomError> {

  // somehow put this `io::Error` into a MyCustomError::UsernameError
  let u : File = File::open(&username_file)?;

  // somehow put this `io::Error` into a MyCustomError::PasswordError
  let p : File = File::open(&password_file)?;

  Ok(())
}

There's a pattern for what you're looking for which I'm writing the docs for now, but its sort of sketched in #6.

authors: eminence withoutboats

repo: withoutboats/failure


text:
Build dist folder upon npm publish

Hello,
Thanks for this great utility lib.
The dist folder is not built when this package is published to npm. On the current published version (1.1.0), there is no dist folder, which makes the package impossible to use.

Published as v1.1.1, many thanks for the PR! :heart:

You're welcome @mxstbr , thanks for the quick update :)

authors: WaldoJeffers mxstbr

repo: withspectrum/callback-to-async-iterator


text:
Logo proposal

Greetings, I'm here today to offer my services. As a graphic designer in development and an open source enthusiast, I wish to contribute to this wonderful project by making a logo for it, the process (of course) is totally free and we would be working together to create the design that fits best with your project. Of course, you can quit whenever you want. In case you agree, I would like to ask you a few simple questions about your project to have a better understanding of it and so deliver a better product, also you could share with me any preferences you may have about colors, shapes, etc.
Sorry for disturbing if this is not the proper channel, best regards.
P.S. I see somebody was already designing a logo for this project but due to it ended up in nothing, I'm proposing this.

Hello,
Thank you for your generous offer! We would definitely be interested.
Please let us know what ideas you have and how we can help honing down an idea that we will all love to have as a logo.
Thanks

Hello again, sorry for the delay. I want to ask you a few simple questions that will help me a lot to deliver a better design:

What's the name that should be displayed on the logo? If there should be any
How would you describe this project, what is it intended to do?
What would you like this logo to transmit?

Looking forward to your reply :) I will start making a few sketches as soon as you answer
On the other side, I saw these issues: #1180 and #738, both with ideas from members of your team. Let me know if you want me to use any of those for the elaboration of the first sketches.

Hello,
Do you mind joining a short discussion on our Wix-OSS Slack?
https://join.slack.com/t/wix-oss/shared_invite/enQtMzcwMDQ5NDI1MzYxLTkyNGUzNzk2OTg3N2RiNzIwZDAyYzA3YzhhMzJmMDgzZDIwMDNhNDM3OThkYjQ5YjM4NTcwNDNjNjEzOGM1MmU
Thanks

Hello, sure but
"This invite link is no longer active.
If you have an @wix.com email address, you can still create an account.
If not, please check with the person who shared the invite link with you to ask for an invitation."

Let's talk over mail. Please email me at lnatan [at] wix.com
Thanks

Sorry for the delay, I'm from Venezuela and we've been suffering consecutive national blackouts (believe it or not, lol). Already emailed you. I'd prefer to maintain this conversation here on GitHub but if you prefer to do so through the mail, it's ok for me as well.

authors: LeoNatan jorlogicus

repo: wix/Detox


text:
Record a single video from beginning to the end

Hi,
I'm not sure this is currently possible, but in our workflow we would like to have a second check by someone watching the video recorded during the tests (to check the design / the values etc).
Recording the videos is perfectly working on iOS with --record-videos all but it generates one video for each item of each test.
Is there a way to generate only one video for the whole series of tests ?

Unfortunately not possible.
@noomorph

Thanks for your reply @LeoNatan
Just found a way to handle this using bash scripts and xcrun simctl io booted recordVideo

Yes, if you use one simulator, that will work.

After we go async hooks, I'll consider adding this opportunity, but it is not in short-term plans.

@LeoNatan, actually we might have this issue open as a feature request.

authors: LeoNatan NicolasSmit noomorph


text:
Crash in matches-prop-shorthand when importing lodash methods directly

Given the JS:
import {map} from 'lodash';

function foo() {
  map(bar, function (x) { return x; });
}

and the following .eslintrc.json:
{
    "parserOptions": {
        "ecmaVersion": 6,
        "sourceType": "module"
    },
    "rules": {
        "lodash/matches-prop-shorthand": "warn"
    },
    "plugins": [
        "lodash"
    ]
}

I get an exception:
Cannot read property 'name' of undefined
TypeError: Cannot read property 'name' of undefined
    at getImportedLodashMethod (/users/is/whughes/workspace/grail/node_modules/eslint-plugin-lodash/lib/util/lodashUtil.js:201:47)
    at isCallToLodashMethod (/users/is/whughes/workspace/grail/node_modules/eslint-plugin-lodash/lib/util/lodashUtil.js:261:126)
    at Object.canUseShorthand (/users/is/whughes/workspace/grail/node_modules/eslint-plugin-lodash/lib/rules/matches-prop-shorthand.js:50:74)
    at always (/users/is/whughes/workspace/grail/node_modules/eslint-plugin-lodash/lib/util/lodashUtil.js:277:68)
    at EventEmitter.<anonymous> (/users/is/whughes/workspace/grail/node_modules/eslint-plugin-lodash/lib/util/lodashUtil.js:236:17)
    at emitOne (events.js:96:13)
    at EventEmitter.emit (events.js:188:7)
    at NodeEventGenerator.enterNode (/users/is/whughes/workspace/grail/node_modules/eslint/lib/util/node-event-generator.js:40:22)
    at CodePathAnalyzer.enterNode (/users/is/whughes/workspace/grail/node_modules/eslint/lib/code-path-analysis/code-path-analyzer.js:608:23)
    at CommentEventGenerator.enterNode (/users/is/whughes/workspace/grail/node_modules/eslint/lib/util/comment-event-generator.js:97:23)

This did not occur on v1.10.1.

I am seeing this same issue with several other rules:

prefer-is-nil
matches-prop-shorthand
matches-shorthand
prop-shorthand

The smallest sample code I could come up with to reproduce the error is:
'use strict';

const map = require('lodash/map');
const noop = require('lodash/noop');

const cbs = [noop, noop];

// the next line causes errors in matches-prop-shorthand && matches-shorthand
const result = map(cbs, (callback) => callback());

I am still working on samples for prop-shorthand and prefer-is-nil

Smallest sample to reproduce prefer-is-nil error:
'use strict';

const anyLodashImport = require('lodash/any');

// The next line causes error in prefer-is-nil
module.exports = 'foo' || 'bar';

Fixed in version 2.1.1.

authors: Lalem001 Wilfred ganimomer

repo: wix/eslint-plugin-lodash


text:
[Slider] Use demos in tests.

Use Slider demo component as fixture for tests.

Done.

repo: wix/stylable-components

license: mit


text:
Will this still work when Authorization header is deprecated on TravisCI?

https://docs.travis-ci.com/user/notifications/#Authorization-for-Webhooks-(Deprecated)

Note: The Authorization header value described here is deprecated and will be discontinued on November 1, 2016

From quickly glancing at the current code, it seems like you do rely on this deprecated method to handle authorization, and it will fail after November 1. https://github.com/wizeline/travieso/blob/c74e689/travieso/core.py#L25
I was interested to try to integrate travieso in https://github.com/venuu/jsonapi-authorization/pull/34 but now I'm no longer sure that it would work much longer.

Does it still works for you?

Btw Travis has Python example with new pubkey system.

I don't remember whether it worked or not. Due to here being no comments, I didn't want to put more effort in debugging this further.

Not sure if this is relevent, but I've just set up an instance and each POST to /notifications is resulting in a 403, so I suspect not.

authors: Floppy JAremko valscion

repo: wizeline/travieso


text:
Update Marketplace Verbiage for Admin offer for 2021-Q1

AB#1277116

Look at https://github.com/wls-eng/arm-oraclelinux-wls/issues/266 and replace the equivalent text in this offer with the text from that merged PR.

repo: wls-eng/arm-oraclelinux-wls


text:
divide by zero

When I use ImportanceWeightedClassifier (IW) iwe=kda, the console shows that
C:\Users\Administrator\Anaconda3\envs\libtlda\lib\site-packages\scipy\stats\kde.py:262: RuntimeWarning: invalid value encountered in true_divide
result = result / self._norm_factor
Besides, FLDA also has this problem (divided by zero).
Is there something wrong in my dataset ?
Any comments will be appreciated.

Hi TissueC, thanks for your interest in the library.
I think this is a numerical stability issue. Scipy's kde will only return a divide-by-zero if all estimated weights are 0, and that only occurs if every target point is so far away from a source point that exp(-distance(..)) is rounded off to 0. So, I suspect that your data sets are too far apart in feature space.
ImportanceWeightedClassifier cannot deal with data sets that don't overlap to at least some extent. I did not explicitly mention this anywhere, but I'll try to find a place to do that.
You say you get the same problem with FLDA? Can you tell me a bit more about how you're using it?

authors: TissueC wmkouw

repo: wmkouw/libTLDA


text:
Article

Hello, my name is Corina and I am a student in terminal year. Can you please, tell me if you used an algorithm presented in an article for this implementation? I am referring to the imagined movement code.

The algorithm is called Common Spatial Patterns (CSP). Here is one of the first articles describing its use in BCI: https://ieeexplore.ieee.org/document/895946

Thank you so much! Can you please tell me if the code is only for one signal or if it is for the whole dataset? I am a beginner.

Could you explain a bit more about what you mean by "one signal" and "whole dataset"?

Sure. The BCI Competition IV has 10 recordings of EEG signals. I would like to know if you used only one recording or if you used all 10 recordings, especially for LDA classification.
Thank you!

ah, now I understand, thank you. It only uses a single recording.

Ok. Thank you so much!

Because at that time, the event-related desynchronization (ERD) is most prominent in the EEG signal.

Thank you, I really appreciate it and I really am sorry for bothering you.

authors: Corinamar wmvanvliet


text:
Adapter spams syslog at night

Hey,
I've been using the adapter pretty much since day 1, and it is working fine. There is one inconvenience: At night (with brightness being very low), I keep seeing these messages, one every minute as long as it is dark enough.
I did verify that the messages appear only if

the reported Brightness is 0
the adapter is running.

Jan  3 19:22:09 groenlund bash[17776]: [Groenlund E62D@Tempest@@Current Ambient Light Level] characteristic was supplied illegal value: number 0 exceeded minimum of 0.0001
In winter, these messages alone generate approx. 150 kb data (per Log) in 2 logs:

syslog.log
daemon.log

In order to minimise sd card writes, I would very much like to get rid of them, but looking through the code I could not identify any possible cause.
A.

Hi
This sounds like a similar issue as that one:
https://github.com/arachnetech/homebridge-mqttthing/issues/414
I understand that homebridge is causing this logs.
Do you forward the brightness data to homebridge somehow?
If yes, you may want not to send 0 values but limit to not less than the 0.0001.

Thanks, seems that was the reason. I didn't think to look there.
A.

authors: asgothian woessmich


text:
2차 멘토링에서 질문하고 싶은 내용이 있으시다면 적어주시기 바랍니다.

아래 댓글에 질문하고 싶은 내용을 적어주시면 됩니다.

아두이노와 안드로이드 사이에서 블루투스 통신하는 내용의 다른 사람들이 제작했던 유사한 프로젝트를 찾아보던 중 코틀린을 사용하여 제작했던 것이 있어 관련 기능을 가져와서 적용해 보려는 데 기존 저희 프로젝트는 자바 언어로만 이루어져 있는데 자바와 코틀린을 혼용해도 괜찮은지, 문제가 될 요소는 없는지

모니터링 앱이다 보니 앱을 종료해도 백그라운드에서 계속 실행이 되어서 모니터링을 해주면 좋겠는데 혹시 관련 기능은 무엇인지? 구현해내기 어렵다면 다른 대체 방안이 있는지?

아두이노와 안드로이드 사이에서 블루투스 통신하는 내용의 다른 사람들이 제작했던 유사한 프로젝트를 찾아보던 중 코틀린을 사용하여 제작했던 것이 있어 관련 기능을 가져와서 적용해 보려는 데 기존 저희 프로젝트는 자바 언어로만 이루어져 있는데 자바와 코틀린을 혼용해도 괜찮은지, 문제가 될 요소는 없는지

코틀린 언어와 자바를 프로잭트 내에서 혼용하여 사용해도 큰 충돌은    일어나지 않지만, 네트워크 통신과 관련한 부분은 언어간에 상호호환이 되지 않을 수 있기 때문에 사용에 주의하도록 하고 꼭 자료를 찾아볼 것을 권고한다.

모니터링 앱이다 보니 앱을 종료해도 백그라운드에서 계속 실행이 되어서 모니터링을 해주면 좋겠는데 혹시 관련 기능은 무엇인지? 구현해내기 어렵다면 다른 대체 방안이 있는지?

백그라운드로 프로세스를 실행하는 방법에는 안드로이드에서는 서비스라는 개념을 사용하여 사용자가 어플을 실행하고 있지 않더라도 백그라운드에서 어플리케이션을 계속 구동시킬 수 있음. 카카오톡의 경우, 어플을 종료해도 문자가 오면 알람이 오는데 이 서비스라는 개념을 사용한 것임. 인터넷에 관련한 자료나 예시 코드가 많이 있을 것으로 예상되니 조사해보길 권하셨다.


text:
Added support for Binding<Detent> and short term removed isPresented

Stemming off of the discussion in #15 here is the implementation of BottomSheet without isPresented and adding selectedDetent binding. As can be seen in ExampleView, the instantiator can determine isPresented by checking selectedDetent != .hidden.
I am going to branch off of this PR to try and re-implement an isPresented binding, but the code complexity definitely spiked when I initially tried to include both. That being said, if Apple could do it for sheet, we can do it here. Leaving this as a draft PR in the meantime.
On my end - I really want to be able to determine the selectedDetent from the parent's context. I want to show a search bar / navigation bar, when the detent is large and hide those when it is not.
Demo video:
https://github.com/user-attachments/assets/b881fc11-1bd4-45b9-a0fc-70bf47000ec6

Ah hold on, my stash removed a lot more than anticipated...

Working now on re-implementing isPresented bindings... Draft for now

@wojtek717 I managed to support both, in a cleaner manner than I though 😄 Let me know what you think!


text:
How to update list of items?

Hi, how can I update the list of items in an existing tail select?

Any updates on here?

You add whatever you want to add to your select input, then call tail.select('#id').reload();

authors: Herr-Hauptmann nicksuazo


text:
Doesn't work?

so i did what the guide says and added the script into serverstorage but it just does nothing.

You also need to save as plugin. Were you following the tutorial at https://www.youtube.com/watch?v=49ilsmKkVkA ?

authors: Tartiroom wolfgangmeyers

repo: wolfgangmeyers/bloxcode

license: Unlicense


text:
numpy 2.x breaks the tests: ValueError: could not convert string to float: b'np.float32(0.0)'

Hi, when we run the tests from python-numpy-stl, some of them failed.

python version: 3.12.4
cython version: 3.0.10
python-utils version: 3.8.2
python-numpy version: 2.0.1

  -> Extracting numpy-stl-v3.1.2.tar.gz with bsdtar
==> Starting build()...
* Getting build dependencies for wheel...
warning: stl/_speedups.pyx:5:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: stl/_speedups.pyx:12:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: stl/_speedups.pyx:106:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: stl/_speedups.pyx:170:8: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
Compiling stl/_speedups.pyx because it changed.
[1/1] Cythonizing stl/_speedups.pyx
running egg_info
creating numpy_stl.egg-info
writing numpy_stl.egg-info/PKG-INFO
writing dependency_links to numpy_stl.egg-info/dependency_links.txt
writing entry points to numpy_stl.egg-info/entry_points.txt
writing requirements to numpy_stl.egg-info/requires.txt
writing top-level names to numpy_stl.egg-info/top_level.txt
writing manifest file 'numpy_stl.egg-info/SOURCES.txt'
dependency /usr/lib/python3.12/site-packages/numpy/_core/include/numpy/arrayobject.h won't be automatically included in the manifest: the path must be relative
dependency /usr/lib/python3.12/site-packages/numpy/_core/include/numpy/arrayscalars.h won't be automatically included in the manifest: the path must be relative
dependency /usr/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarrayobject.h won't be automatically included in the manifest: the path must be relative
dependency /usr/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarraytypes.h won't be automatically included in the manifest: the path must be relative
dependency /usr/lib/python3.12/site-packages/numpy/_core/include/numpy/ufuncobject.h won't be automatically included in the manifest: the path must be relative
reading manifest file 'numpy_stl.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: manifest_maker: MANIFEST.in, line 1: unknown action 'include-recursive'

warning: no previously-included files matching '*.py[co]' found anywhere in distribution
no previously-included directories found matching 'docs/_build'
adding license file 'LICENSE'
writing manifest file 'numpy_stl.egg-info/SOURCES.txt'
* Building wheel...
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-312
creating build/lib.linux-x86_64-cpython-312/stl
copying stl/mesh.py -> build/lib.linux-x86_64-cpython-312/stl
copying stl/base.py -> build/lib.linux-x86_64-cpython-312/stl
copying stl/main.py -> build/lib.linux-x86_64-cpython-312/stl
copying stl/stl.py -> build/lib.linux-x86_64-cpython-312/stl
copying stl/utils.py -> build/lib.linux-x86_64-cpython-312/stl
copying stl/__about__.py -> build/lib.linux-x86_64-cpython-312/stl
copying stl/__init__.py -> build/lib.linux-x86_64-cpython-312/stl
copying stl/py.typed -> build/lib.linux-x86_64-cpython-312/stl
running build_ext
building 'stl._speedups' extension
creating build/temp.linux-x86_64-cpython-312
creating build/temp.linux-x86_64-cpython-312/stl
gcc -fno-strict-overflow -DNDEBUG -g -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -ffat-lto-objects -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/python-numpy-stl/src=/usr/src/debug/python-numpy-stl -flto=auto -fPIC -I/usr/lib/python3.12/site-packages/numpy/_core/include -I/usr/include/python3.12 -c stl/_speedups.c -o build/temp.linux-x86_64-cpython-312/stl/_speedups.o
In file included from /usr/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarraytypes.h:1909,
                 from /usr/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarrayobject.h:12,
                 from /usr/lib/python3.12/site-packages/numpy/_core/include/numpy/arrayobject.h:5,
                 from stl/_speedups.c:1251:
/usr/lib/python3.12/site-packages/numpy/_core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
   17 | #warning "Using deprecated NumPy API, disable it with " \
      |  ^~~~~~~
In function ‘__pyx_pf_3stl_9_speedups_2ascii_write’,
    inlined from ‘__pyx_pw_3stl_9_speedups_3ascii_write’ at stl/_speedups.c:6858:13:
stl/_speedups.c:7158:23: warning: ‘__pyx_v_fp’ may be used uninitialized [-Wmaybe-uninitialized]
 7158 |         __pyx_v_pos = ftell(__pyx_v_fp);
      |                       ^~~~~~~~~~~~~~~~~
stl/_speedups.c: In function ‘__pyx_pw_3stl_9_speedups_3ascii_write’:
stl/_speedups.c:6876:9: note: ‘__pyx_v_fp’ was declared here
 6876 |   FILE *__pyx_v_fp;
      |         ^~~~~~~~~~
gcc -shared -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/python-numpy-stl/src=/usr/src/debug/python-numpy-stl -flto=auto build/temp.linux-x86_64-cpython-312/stl/_speedups.o -L/usr/lib -o build/lib.linux-x86_64-cpython-312/stl/_speedups.cpython-312-x86_64-linux-gnu.so
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/stl
copying build/lib.linux-x86_64-cpython-312/stl/mesh.py -> build/bdist.linux-x86_64/wheel/stl
copying build/lib.linux-x86_64-cpython-312/stl/base.py -> build/bdist.linux-x86_64/wheel/stl
copying build/lib.linux-x86_64-cpython-312/stl/main.py -> build/bdist.linux-x86_64/wheel/stl
copying build/lib.linux-x86_64-cpython-312/stl/stl.py -> build/bdist.linux-x86_64/wheel/stl
copying build/lib.linux-x86_64-cpython-312/stl/utils.py -> build/bdist.linux-x86_64/wheel/stl
copying build/lib.linux-x86_64-cpython-312/stl/__about__.py -> build/bdist.linux-x86_64/wheel/stl
copying build/lib.linux-x86_64-cpython-312/stl/_speedups.cpython-312-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/stl
copying build/lib.linux-x86_64-cpython-312/stl/__init__.py -> build/bdist.linux-x86_64/wheel/stl
copying build/lib.linux-x86_64-cpython-312/stl/py.typed -> build/bdist.linux-x86_64/wheel/stl
running install_egg_info
running egg_info
writing numpy_stl.egg-info/PKG-INFO
writing dependency_links to numpy_stl.egg-info/dependency_links.txt
writing entry points to numpy_stl.egg-info/entry_points.txt
writing requirements to numpy_stl.egg-info/requires.txt
writing top-level names to numpy_stl.egg-info/top_level.txt
dependency /usr/lib/python3.12/site-packages/numpy/_core/include/numpy/arrayobject.h won't be automatically included in the manifest: the path must be relative
dependency /usr/lib/python3.12/site-packages/numpy/_core/include/numpy/arrayscalars.h won't be automatically included in the manifest: the path must be relative
dependency /usr/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarrayobject.h won't be automatically included in the manifest: the path must be relative
dependency /usr/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarraytypes.h won't be automatically included in the manifest: the path must be relative
dependency /usr/lib/python3.12/site-packages/numpy/_core/include/numpy/ufuncobject.h won't be automatically included in the manifest: the path must be relative
reading manifest file 'numpy_stl.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: manifest_maker: MANIFEST.in, line 1: unknown action 'include-recursive'

warning: no previously-included files matching '*.py[co]' found anywhere in distribution
no previously-included directories found matching 'docs/_build'
adding license file 'LICENSE'
writing manifest file 'numpy_stl.egg-info/SOURCES.txt'
Copying numpy_stl.egg-info to build/bdist.linux-x86_64/wheel/numpy_stl-3.1.2-py3.12.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/numpy_stl-3.1.2.dist-info/WHEEL
creating '/build/python-numpy-stl/src/numpy-stl-3.1.2/dist/.tmp-zme8flx5/numpy_stl-3.1.2-cp312-cp312-linux_x86_64.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'stl/__about__.py'
adding 'stl/__init__.py'
adding 'stl/_speedups.cpython-312-x86_64-linux-gnu.so'
adding 'stl/base.py'
adding 'stl/main.py'
adding 'stl/mesh.py'
adding 'stl/py.typed'
adding 'stl/stl.py'
adding 'stl/utils.py'
adding 'numpy_stl-3.1.2.dist-info/LICENSE'
adding 'numpy_stl-3.1.2.dist-info/METADATA'
adding 'numpy_stl-3.1.2.dist-info/WHEEL'
adding 'numpy_stl-3.1.2.dist-info/entry_points.txt'
adding 'numpy_stl-3.1.2.dist-info/top_level.txt'
adding 'numpy_stl-3.1.2.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built numpy_stl-3.1.2-cp312-cp312-linux_x86_64.whl
==> Starting check()...
============================= test session starts ==============================
platform linux -- Python 3.12.4, pytest-8.3.2, pluggy-1.5.0 -- /usr/bin/python
cachedir: .pytest_cache
rootdir: /build/python-numpy-stl/src/numpy-stl-3.1.2
configfile: pytest.ini
plugins: cov-5.0.0
collecting ... collected 126 items

tests/stl_corruption.py::test_valid_ascii[False] PASSED                  [  0%]
tests/stl_corruption.py::test_valid_ascii[True] PASSED                   [  1%]
tests/stl_corruption.py::test_end_solid[False] PASSED                    [  2%]
tests/stl_corruption.py::test_end_solid[True] PASSED                     [  3%]
tests/stl_corruption.py::test_ascii_with_missing_name[False] PASSED      [  3%]
tests/stl_corruption.py::test_ascii_with_missing_name[True] PASSED       [  4%]
tests/stl_corruption.py::test_ascii_with_blank_lines[False] PASSED       [  5%]
tests/stl_corruption.py::test_ascii_with_blank_lines[True] PASSED        [  6%]
tests/stl_corruption.py::test_incomplete_ascii_file[False] PASSED        [  7%]
tests/stl_corruption.py::test_incomplete_ascii_file[True] PASSED         [  7%]
tests/stl_corruption.py::test_corrupt_ascii_file[False] PASSED           [  8%]
tests/stl_corruption.py::test_corrupt_ascii_file[True] PASSED            [  9%]
tests/stl_corruption.py::test_corrupt_binary_file[False] PASSED          [ 10%]
tests/stl_corruption.py::test_corrupt_binary_file[True] PASSED           [ 11%]
tests/stl_corruption.py::test_duplicate_polygons[False] PASSED           [ 11%]
tests/stl_corruption.py::test_duplicate_polygons[True] PASSED            [ 12%]
tests/test_ascii.py::test_ascii_file[False] PASSED                       [ 13%]
tests/test_ascii.py::test_ascii_file[True] PASSED                        [ 14%]
tests/test_ascii.py::test_chinese_name[False] PASSED                     [ 15%]
tests/test_ascii.py::test_chinese_name[True] PASSED                      [ 15%]
tests/test_ascii.py::test_long_name[False] PASSED                        [ 16%]
tests/test_ascii.py::test_long_name[True] PASSED                         [ 17%]
tests/test_ascii.py::test_scientific_notation[False] PASSED              [ 18%]
tests/test_ascii.py::test_scientific_notation[True] PASSED               [ 19%]
tests/test_ascii.py::test_locale_restore[False] SKIPPED (Only makes
sense with speedups)                                                     [ 19%]
tests/test_ascii.py::test_locale_restore[True] PASSED                    [ 20%]
tests/test_ascii.py::test_use_with_qt_with_custom_locale_decimal_delimeter[False] SKIPPED [ 21%]
tests/test_ascii.py::test_use_with_qt_with_custom_locale_decimal_delimeter[True] SKIPPED [ 22%]
tests/test_ascii.py::test_ascii_io[False] FAILED                         [ 23%]
tests/test_ascii.py::test_ascii_io[True] FAILED                          [ 23%]
tests/test_binary.py::test_ascii_like_binary[False-2] PASSED             [ 24%]
tests/test_binary.py::test_ascii_like_binary[False-0] PASSED             [ 25%]
tests/test_binary.py::test_ascii_like_binary[True-2] PASSED              [ 26%]
tests/test_binary.py::test_ascii_like_binary[True-0] PASSED              [ 26%]
tests/test_binary.py::test_binary_in_ascii_mode[False] PASSED            [ 27%]
tests/test_binary.py::test_binary_in_ascii_mode[True] PASSED             [ 28%]
tests/test_binary.py::test_write_bytes_io[False-2] PASSED                [ 29%]
tests/test_binary.py::test_write_bytes_io[False-0] PASSED                [ 30%]
tests/test_binary.py::test_write_bytes_io[True-2] PASSED                 [ 30%]
tests/test_binary.py::test_write_bytes_io[True-0] PASSED                 [ 31%]
tests/test_binary.py::test_binary_file[False] PASSED                     [ 32%]
tests/test_binary.py::test_binary_file[True] PASSED                      [ 33%]
tests/test_commandline.py::test_main[False] PASSED                       [ 34%]
tests/test_commandline.py::test_main[True] PASSED                        [ 34%]
tests/test_commandline.py::test_args[False] PASSED                       [ 35%]
tests/test_commandline.py::test_args[True] PASSED                        [ 36%]
tests/test_commandline.py::test_ascii[False] PASSED                      [ 37%]
tests/test_commandline.py::test_ascii[True] PASSED                       [ 38%]
tests/test_commandline.py::test_binary[False] PASSED                     [ 38%]
tests/test_commandline.py::test_binary[True] PASSED                      [ 39%]
tests/test_convert.py::test_ascii_to_binary[False] PASSED                [ 40%]
tests/test_convert.py::test_ascii_to_binary[True] PASSED                 [ 41%]
tests/test_convert.py::test_binary_to_ascii[False] PASSED                [ 42%]
tests/test_convert.py::test_binary_to_ascii[True] PASSED                 [ 42%]
tests/test_convert.py::test_stl_mesh[False] PASSED                       [ 43%]
tests/test_convert.py::test_stl_mesh[True] PASSED                        [ 44%]
tests/test_line_endings.py::test_line_endings[False-dos] PASSED          [ 45%]
tests/test_line_endings.py::test_line_endings[False-unix] PASSED         [ 46%]
tests/test_line_endings.py::test_line_endings[True-dos] PASSED           [ 46%]
tests/test_line_endings.py::test_line_endings[True-unix] PASSED          [ 47%]
tests/test_mesh.py::test_units_1d[False] PASSED                          [ 48%]
tests/test_mesh.py::test_units_1d[True] PASSED                           [ 49%]
tests/test_mesh.py::test_units_2d[False] PASSED                          [ 50%]
tests/test_mesh.py::test_units_2d[True] PASSED                           [ 50%]
tests/test_mesh.py::test_units_3d[False] PASSED                          [ 51%]
tests/test_mesh.py::test_units_3d[True] PASSED                           [ 52%]
tests/test_mesh.py::test_duplicate_polygons[False] PASSED                [ 53%]
tests/test_mesh.py::test_duplicate_polygons[True] PASSED                 [ 53%]
tests/test_mesh.py::test_remove_all_duplicate_polygons[False] PASSED     [ 54%]
tests/test_mesh.py::test_remove_all_duplicate_polygons[True] PASSED      [ 55%]
tests/test_mesh.py::test_empty_areas[False] PASSED                       [ 56%]
tests/test_mesh.py::test_empty_areas[True] PASSED                        [ 57%]
tests/test_mesh.py::test_base_mesh[False] PASSED                         [ 57%]
tests/test_mesh.py::test_base_mesh[True] PASSED                          [ 58%]
tests/test_meshProperties.py::test_mass_properties_for_half_donut[ascii-False] FAILED [ 59%]
tests/test_meshProperties.py::test_mass_properties_for_half_donut[ascii-True] FAILED [ 60%]
tests/test_meshProperties.py::test_mass_properties_for_moon[ascii-False] PASSED [ 61%]
tests/test_meshProperties.py::test_mass_properties_for_moon[ascii-True] PASSED [ 61%]
tests/test_meshProperties.py::test_mass_properties_for_star[ascii-False-Star.stl] PASSED [ 62%]
tests/test_meshProperties.py::test_mass_properties_for_star[ascii-False-StarWithEmptyHeader.stl] SKIPPED [ 63%]
tests/test_meshProperties.py::test_mass_properties_for_star[ascii-True-Star.stl] PASSED [ 64%]
tests/test_meshProperties.py::test_mass_properties_for_star[ascii-True-StarWithEmptyHeader.stl] SKIPPED [ 65%]
tests/test_meshProperties.py::test_mass_properties_for_half_donut_with_density[ascii-False] FAILED [ 65%]
tests/test_meshProperties.py::test_mass_properties_for_half_donut_with_density[ascii-True] FAILED [ 66%]
tests/test_meshProperties.py::test_mass_properties_for_half_donut[binary-False] FAILED [ 67%]
tests/test_meshProperties.py::test_mass_properties_for_half_donut[binary-True] FAILED [ 68%]
tests/test_meshProperties.py::test_mass_properties_for_moon[binary-False] PASSED [ 69%]
tests/test_meshProperties.py::test_mass_properties_for_moon[binary-True] PASSED [ 69%]
tests/test_meshProperties.py::test_mass_properties_for_star[binary-False-Star.stl] PASSED [ 70%]
tests/test_meshProperties.py::test_mass_properties_for_star[binary-False-StarWithEmptyHeader.stl] PASSED [ 71%]
tests/test_meshProperties.py::test_mass_properties_for_star[binary-True-Star.stl] PASSED [ 72%]
tests/test_meshProperties.py::test_mass_properties_for_star[binary-True-StarWithEmptyHeader.stl] PASSED [ 73%]
tests/test_meshProperties.py::test_mass_properties_for_half_donut_with_density[binary-False] FAILED [ 73%]
tests/test_meshProperties.py::test_mass_properties_for_half_donut_with_density[binary-True] FAILED [ 74%]
tests/test_multiple.py::test_single_stl[False] PASSED                    [ 75%]
tests/test_multiple.py::test_single_stl[True] PASSED                     [ 76%]
tests/test_multiple.py::test_multiple_stl[False] PASSED                  [ 76%]
tests/test_multiple.py::test_multiple_stl[True] PASSED                   [ 77%]
tests/test_multiple.py::test_single_stl_file[False] PASSED               [ 78%]
tests/test_multiple.py::test_single_stl_file[True] PASSED                [ 79%]
tests/test_multiple.py::test_multiple_stl_file[False] PASSED             [ 80%]
tests/test_multiple.py::test_multiple_stl_file[True] PASSED              [ 80%]
tests/test_multiple.py::test_multiple_stl_files[False] PASSED            [ 81%]
tests/test_multiple.py::test_multiple_stl_files[True] PASSED             [ 82%]
tests/test_multiple.py::test_3mf_file[False] PASSED                      [ 83%]
tests/test_multiple.py::test_3mf_file[True] PASSED                       [ 84%]
tests/test_multiple.py::test_3mf_missing_file[False] PASSED              [ 84%]
tests/test_multiple.py::test_3mf_missing_file[True] PASSED               [ 85%]
tests/test_multiple.py::test_3mf_wrong_file[False] PASSED                [ 86%]
tests/test_multiple.py::test_3mf_wrong_file[True] PASSED                 [ 87%]
tests/test_rotate.py::test_rotation[False] PASSED                        [ 88%]
tests/test_rotate.py::test_rotation[True] PASSED                         [ 88%]
tests/test_rotate.py::test_rotation_over_point[False] PASSED             [ 89%]
tests/test_rotate.py::test_rotation_over_point[True] PASSED              [ 90%]
tests/test_rotate.py::test_double_rotation[False] PASSED                 [ 91%]
tests/test_rotate.py::test_double_rotation[True] PASSED                  [ 92%]
tests/test_rotate.py::test_no_rotation[False] PASSED                     [ 92%]
tests/test_rotate.py::test_no_rotation[True] PASSED                      [ 93%]
tests/test_rotate.py::test_no_translation[False] PASSED                  [ 94%]
tests/test_rotate.py::test_no_translation[True] PASSED                   [ 95%]
tests/test_rotate.py::test_translation[False] PASSED                     [ 96%]
tests/test_rotate.py::test_translation[True] PASSED                      [ 96%]
tests/test_rotate.py::test_no_transformation[False] PASSED               [ 97%]
tests/test_rotate.py::test_no_transformation[True] PASSED                [ 98%]
tests/test_rotate.py::test_transformation[False] PASSED                  [ 99%]
tests/test_rotate.py::test_transformation[True] PASSED                   [100%]

=================================== FAILURES ===================================
_____________________________ test_ascii_io[False] _____________________________

    def test_ascii_io():
        # Create a vanilla mesh.
        mesh_ = mesh.Mesh(numpy.empty(3, mesh.Mesh.dtype))
        mesh_.vectors = numpy.arange(27).reshape((3, 3, 3))

        # Check that unhelpful 'expected str but got bytes' error is caught and
        # replaced.
        with pytest.raises(TypeError, match="handles should be in binary mode"):
            mesh_.save("nameless", fh=io.StringIO(), mode=Mode.ASCII)

        # Write to an io.BytesIO().
        fh = io.BytesIO()
        mesh_.save("nameless", fh=fh, mode=Mode.ASCII)
        # Assert binary file is still only ascii characters.
        fh.getvalue().decode("ascii")

        # Read the mesh back in.
>       read = mesh.Mesh.from_file("anonymous.stl", fh=io.BytesIO(fh.getvalue()))

tests/test_ascii.py:183:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
stl/stl.py:385: in from_file
    name, data = cls.load(
stl/stl.py:68: in load
    name, data = cls._load_ascii(
stl/stl.py:246: in _load_ascii
    return name, numpy.fromiter(iterator, dtype=cls.dtype)
stl/stl.py:218: in _ascii_reader
    normals = get('facet normal')
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

prefix = b'facet normal'

    def get(prefix=''):
        prefix = b(prefix).lower()

        if lines:
            raw_line = lines.pop(0)
        else:
            raise RuntimeError(recoverable[0], 'Unable to find more lines')

        if not lines:
            recoverable[0] = False

            # Read more lines and make sure we prepend any old data
            lines[:] = b(fh.read(BUFFER_SIZE)).split(b'\n')
            raw_line += lines.pop(0)

        raw_line = raw_line.strip()
        line = raw_line.lower()
        if line == b(''):
            return get(prefix)

        if prefix:
            if line.startswith(prefix):
                values = line.replace(prefix, b(''), 1).strip().split()
            elif line.startswith(b('endsolid')) \
                or line.startswith(b('end solid')):
                # go back to the beginning of new solid part
                size_unprocessedlines = sum(
                    len(line) + 1 for line in lines
                ) - 1

                if size_unprocessedlines > 0:
                    position = fh.tell()
                    fh.seek(position - size_unprocessedlines)
                raise StopIteration()
            else:
                raise RuntimeError(
                    recoverable[0],
                    '%r should start with %r' % (line, prefix)
                )

            if len(values) == 3:
>               return [float(v) for v in values]
E               ValueError: could not convert string to float: b'np.float32(0.0)'

stl/stl.py:191: ValueError
_____________________________ test_ascii_io[True] ______________________________

    def test_ascii_io():
        # Create a vanilla mesh.
        mesh_ = mesh.Mesh(numpy.empty(3, mesh.Mesh.dtype))
        mesh_.vectors = numpy.arange(27).reshape((3, 3, 3))

        # Check that unhelpful 'expected str but got bytes' error is caught and
        # replaced.
        with pytest.raises(TypeError, match="handles should be in binary mode"):
            mesh_.save("nameless", fh=io.StringIO(), mode=Mode.ASCII)

        # Write to an io.BytesIO().
        fh = io.BytesIO()
        mesh_.save("nameless", fh=fh, mode=Mode.ASCII)
        # Assert binary file is still only ascii characters.
        fh.getvalue().decode("ascii")

        # Read the mesh back in.
>       read = mesh.Mesh.from_file("anonymous.stl", fh=io.BytesIO(fh.getvalue()))

tests/test_ascii.py:183:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
stl/stl.py:385: in from_file
    name, data = cls.load(
stl/stl.py:68: in load
    name, data = cls._load_ascii(
stl/stl.py:246: in _load_ascii
    return name, numpy.fromiter(iterator, dtype=cls.dtype)
stl/stl.py:218: in _ascii_reader
    normals = get('facet normal')
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

prefix = b'facet normal'

    def get(prefix=''):
        prefix = b(prefix).lower()

        if lines:
            raw_line = lines.pop(0)
        else:
            raise RuntimeError(recoverable[0], 'Unable to find more lines')

        if not lines:
            recoverable[0] = False

            # Read more lines and make sure we prepend any old data
            lines[:] = b(fh.read(BUFFER_SIZE)).split(b'\n')
            raw_line += lines.pop(0)

        raw_line = raw_line.strip()
        line = raw_line.lower()
        if line == b(''):
            return get(prefix)

        if prefix:
            if line.startswith(prefix):
                values = line.replace(prefix, b(''), 1).strip().split()
            elif line.startswith(b('endsolid')) \
                or line.startswith(b('end solid')):
                # go back to the beginning of new solid part
                size_unprocessedlines = sum(
                    len(line) + 1 for line in lines
                ) - 1

                if size_unprocessedlines > 0:
                    position = fh.tell()
                    fh.seek(position - size_unprocessedlines)
                raise StopIteration()
            else:
                raise RuntimeError(
                    recoverable[0],
                    '%r should start with %r' % (line, prefix)
                )

            if len(values) == 3:
>               return [float(v) for v in values]
E               ValueError: could not convert string to float: b'np.float32(0.0)'

stl/stl.py:191: ValueError
_______________ test_mass_properties_for_half_donut[ascii-False] _______________

binary_ascii_path = PosixPath('/build/python-numpy-stl/src/numpy-stl-3.1.2/tests/stl_ascii')
speedups = False

    def test_mass_properties_for_half_donut(binary_ascii_path, speedups):
        '''
        Checks the results of method get_mass_properties() on
        STL ASCII and binary files HalfDonut.stl
        One checks the results obtained with stl
        with the ones obtained with meshlab
        '''
        filename = binary_ascii_path/'HalfDonut.stl'
        mesh = stl.StlMesh(str(filename), speedups=speedups)
        volume, cog, inertia = mesh.get_mass_properties()
        assert close([volume], [2.343149])
        assert close(cog, [1.500001, 0.209472, 1.500001])
>       assert close(inertia, [[+1.390429, +0.000000, +0.000000],
                               [+0.000000, +2.701025, +0.000000],
                               [+0.000000, +0.000000, +1.390429]])
E       assert False
E        +  where False = close(array([[1.39042477e+00, 7.83056320e-07, 1.65303997e-06],\n       [7.83056320e-07, 2.70102564e+00, 1.62463063e-06],\n       [1.65303997e-06, 1.62463063e-06, 1.39043310e+00]]), [[1.390429, 0.0, 0.0], [0.0, 2.701025, 0.0], [0.0, 0.0, 1.390429]])

tests/test_meshProperties.py:26: AssertionError
_______________ test_mass_properties_for_half_donut[ascii-True] ________________

binary_ascii_path = PosixPath('/build/python-numpy-stl/src/numpy-stl-3.1.2/tests/stl_ascii')
speedups = True

    def test_mass_properties_for_half_donut(binary_ascii_path, speedups):
        '''
        Checks the results of method get_mass_properties() on
        STL ASCII and binary files HalfDonut.stl
        One checks the results obtained with stl
        with the ones obtained with meshlab
        '''
        filename = binary_ascii_path/'HalfDonut.stl'
        mesh = stl.StlMesh(str(filename), speedups=speedups)
        volume, cog, inertia = mesh.get_mass_properties()
        assert close([volume], [2.343149])
        assert close(cog, [1.500001, 0.209472, 1.500001])
>       assert close(inertia, [[+1.390429, +0.000000, +0.000000],
                               [+0.000000, +2.701025, +0.000000],
                               [+0.000000, +0.000000, +1.390429]])
E       assert False
E        +  where False = close(array([[1.39042477e+00, 7.83056320e-07, 1.65303997e-06],\n       [7.83056320e-07, 2.70102564e+00, 1.62463063e-06],\n       [1.65303997e-06, 1.62463063e-06, 1.39043310e+00]]), [[1.390429, 0.0, 0.0], [0.0, 2.701025, 0.0], [0.0, 0.0, 1.390429]])

tests/test_meshProperties.py:26: AssertionError
________ test_mass_properties_for_half_donut_with_density[ascii-False] _________

binary_ascii_path = PosixPath('/build/python-numpy-stl/src/numpy-stl-3.1.2/tests/stl_ascii')
speedups = False

    def test_mass_properties_for_half_donut_with_density(
            binary_ascii_path, speedups):
        '''
        Checks the results of method get_mass_properties_with_density() on
        STL ASCII and binary files HalfDonut.stl
        One checks the results obtained with stl
        with the ones obtained with meshlab
        '''
        filename = binary_ascii_path/'HalfDonut.stl'
        mesh = stl.StlMesh(str(filename), speedups=speedups)
        volume, mass, cog, inertia = mesh.get_mass_properties_with_density(1.23)

        assert close([mass], [2.882083302268982])
        assert close([volume], [2.343149026234945])
        assert close(cog, [1.500001, 0.209472, 1.500001])
        print('inertia')
        numpy.set_printoptions(suppress=True)
        print(inertia)
>       assert close(inertia, [[+1.71022851, +0.00000001, -0.00000011],
                               [+0.00000001, +3.32226227, +0.00000002],
                               [-0.00000011, +0.00000002, +1.71022859]])
E       assert False
E        +  where False = close(array([[1.71022246, 0.00000096, 0.00000203],\n       [0.00000096, 3.32226154, 0.000002  ],\n       [0.00000203, 0.000002  , 1.71023271]]), [[1.71022851, 1e-08, -1.1e-07], [1e-08, 3.32226227, 2e-08], [-1.1e-07, 2e-08, 1.71022859]])

tests/test_meshProperties.py:87: AssertionError
----------------------------- Captured stdout call -----------------------------
inertia
[[1.71022246 0.00000096 0.00000203]
 [0.00000096 3.32226154 0.000002  ]
 [0.00000203 0.000002   1.71023271]]
------------------------------ Captured log call -------------------------------
WARNING  stl.base.BaseMesh:logger.py:109 Use of not exact is_closed check. This check can lead to misleading
            results. You could try to use `exact=True`.
            See:
             - false positive: https://github.com/wolph/numpy-stl/issues/198
             - false negative: https://github.com/wolph/numpy-stl/pull/213
_________ test_mass_properties_for_half_donut_with_density[ascii-True] _________

binary_ascii_path = PosixPath('/build/python-numpy-stl/src/numpy-stl-3.1.2/tests/stl_ascii')
speedups = True

    def test_mass_properties_for_half_donut_with_density(
            binary_ascii_path, speedups):
        '''
        Checks the results of method get_mass_properties_with_density() on
        STL ASCII and binary files HalfDonut.stl
        One checks the results obtained with stl
        with the ones obtained with meshlab
        '''
        filename = binary_ascii_path/'HalfDonut.stl'
        mesh = stl.StlMesh(str(filename), speedups=speedups)
        volume, mass, cog, inertia = mesh.get_mass_properties_with_density(1.23)

        assert close([mass], [2.882083302268982])
        assert close([volume], [2.343149026234945])
        assert close(cog, [1.500001, 0.209472, 1.500001])
        print('inertia')
        numpy.set_printoptions(suppress=True)
        print(inertia)
>       assert close(inertia, [[+1.71022851, +0.00000001, -0.00000011],
                               [+0.00000001, +3.32226227, +0.00000002],
                               [-0.00000011, +0.00000002, +1.71022859]])
E       assert False
E        +  where False = close(array([[1.71022246, 0.00000096, 0.00000203],\n       [0.00000096, 3.32226154, 0.000002  ],\n       [0.00000203, 0.000002  , 1.71023271]]), [[1.71022851, 1e-08, -1.1e-07], [1e-08, 3.32226227, 2e-08], [-1.1e-07, 2e-08, 1.71022859]])

tests/test_meshProperties.py:87: AssertionError
----------------------------- Captured stdout call -----------------------------
inertia
[[1.71022246 0.00000096 0.00000203]
 [0.00000096 3.32226154 0.000002  ]
 [0.00000203 0.000002   1.71023271]]
------------------------------ Captured log call -------------------------------
WARNING  stl.base.BaseMesh:logger.py:109 Use of not exact is_closed check. This check can lead to misleading
            results. You could try to use `exact=True`.
            See:
             - false positive: https://github.com/wolph/numpy-stl/issues/198
             - false negative: https://github.com/wolph/numpy-stl/pull/213
______________ test_mass_properties_for_half_donut[binary-False] _______________

binary_ascii_path = PosixPath('/build/python-numpy-stl/src/numpy-stl-3.1.2/tests/stl_binary')
speedups = False

    def test_mass_properties_for_half_donut(binary_ascii_path, speedups):
        '''
        Checks the results of method get_mass_properties() on
        STL ASCII and binary files HalfDonut.stl
        One checks the results obtained with stl
        with the ones obtained with meshlab
        '''
        filename = binary_ascii_path/'HalfDonut.stl'
        mesh = stl.StlMesh(str(filename), speedups=speedups)
        volume, cog, inertia = mesh.get_mass_properties()
        assert close([volume], [2.343149])
        assert close(cog, [1.500001, 0.209472, 1.500001])
>       assert close(inertia, [[+1.390429, +0.000000, +0.000000],
                               [+0.000000, +2.701025, +0.000000],
                               [+0.000000, +0.000000, +1.390429]])
E       assert False
E        +  where False = close(array([[1.39042477, 0.00000078, 0.00000165],\n       [0.00000078, 2.70102564, 0.00000162],\n       [0.00000165, 0.00000162, 1.3904331 ]]), [[1.390429, 0.0, 0.0], [0.0, 2.701025, 0.0], [0.0, 0.0, 1.390429]])

tests/test_meshProperties.py:26: AssertionError
----------------------------- Captured stdout call -----------------------------
exception (False, "b'!\\xbc\\xafw\\x7f>\\xe6\\x04\\xb5>\\x88e{?l\\x08\\x9e>f\\x83\\xec>\\x00\\x00\\xc0?\\xd1v\\xcc>f\\x83\\xec>\\xbe\\xa4\\x85?\\x00\\x00\\xb1\\xf5e\\xbd\\xed\\x13\\xac=\\x9f\\xf76\\xbc\\xafw\\x7f>\\xe6\\x04\\xb5>\\x88e{?4\\xf6\\x15>\\xe6\\x04\\xb5>\\x00\\x00\\xc0?l\\x08\\x9e>f\\x83\\xec>\\x00\\x00\\xc0?\\x00\\x00\\xfamj\\xbc[\\xf6\\x95=\\x9c,\\x07\\xbc\\x15x(?f\\x83\\xec>\\x15x(?\\x9a|\\x13?\\x00\\x00\\x00?w\\x04\\x8f?\\t\\xfbj?\\x00\\x00\\x00?\\t\\xfbj?\\x00\\x00c\\x02q\\xbc0\\xa8\\xb2=\\xcf\\t!\\xbc\\x15x(?f\\x83\\xec>\\x15x(?\\xd1v\\xcc>f\\x83\\xec>\\xbe\\xa4\\x85?\\x9a|\\x13?\\x00\\x00\\x00?w\\x04\\x8f?\\x00\\x00\\xfa\\x97#<\\xfa\\x88r=\\x85\\x9e\\xda;\\xfe\\x9dm?f\\x83\\xec>\\xfe\\x9dm?\\t\\xfbj?\\x00\\x00\\x00?\\t\\xfbj?\\xdc\\xbd@?f\\x83\\xec>\\x9dc\\x98?\\x00\\x00\\xfamj<\\x1f\\xf6\\x95=\\x9c,\\x07<\\xdc\\xbd@?f\\x83\\xec>\\x9dc\\x98?\\t\\xfbj?\\x00\\x00\\x00?\\t\\xfbj?\\x9a|\\x13?\\x00\\x00\\x00?w\\x04\\x8f?\\x00\\x00y8\\xba<\\x8c_$=\\xc0\\xd7x<k}\\x85?\\xe6\\x04\\xb5>k}\\x85?\\xdc\\xbd@?f\\x83\\xec>\\x9dc\\x98?x\\x1bg?\\xe6\\x04\\xb5>\\xdau\\xa0?\\x00\\x00\\xbc\\xf0\\xe8<\\x19\\x9bm=b\\xa5\\x9b<k}\\x85?\\xe6\\x04\\xb5>k}\\x85?\\xfe\\x9dm?f\\x83\\xec>\\xfe\\x9dm?\\xdc\\xbd@?f\\x83\\xec>\\x9dc\\x98?\\x00\\x00' should start with b'facet normal'")
_______________ test_mass_properties_for_half_donut[binary-True] _______________

binary_ascii_path = PosixPath('/build/python-numpy-stl/src/numpy-stl-3.1.2/tests/stl_binary')
speedups = True

    def test_mass_properties_for_half_donut(binary_ascii_path, speedups):
        '''
        Checks the results of method get_mass_properties() on
        STL ASCII and binary files HalfDonut.stl
        One checks the results obtained with stl
        with the ones obtained with meshlab
        '''
        filename = binary_ascii_path/'HalfDonut.stl'
        mesh = stl.StlMesh(str(filename), speedups=speedups)
        volume, cog, inertia = mesh.get_mass_properties()
        assert close([volume], [2.343149])
        assert close(cog, [1.500001, 0.209472, 1.500001])
>       assert close(inertia, [[+1.390429, +0.000000, +0.000000],
                               [+0.000000, +2.701025, +0.000000],
                               [+0.000000, +0.000000, +1.390429]])
E       assert False
E        +  where False = close(array([[1.39042477, 0.00000078, 0.00000165],\n       [0.00000078, 2.70102564, 0.00000162],\n       [0.00000165, 0.00000162, 1.3904331 ]]), [[1.390429, 0.0, 0.0], [0.0, 2.701025, 0.0], [0.0, 0.0, 1.390429]])

tests/test_meshProperties.py:26: AssertionError
----------------------------- Captured stdout call -----------------------------
exception (False, "b'!\\xbc\\xafw\\x7f>\\xe6\\x04\\xb5>\\x88e{?l\\x08\\x9e>f\\x83\\xec>\\x00\\x00\\xc0?\\xd1v\\xcc>f\\x83\\xec>\\xbe\\xa4\\x85?\\x00\\x00\\xb1\\xf5e\\xbd\\xed\\x13\\xac=\\x9f\\xf76\\xbc\\xafw\\x7f>\\xe6\\x04\\xb5>\\x88e{?4\\xf6\\x15>\\xe6\\x04\\xb5>\\x00\\x00\\xc0?l\\x08\\x9e>f\\x83\\xec>\\x00\\x00\\xc0?\\x00\\x00\\xfamj\\xbc[\\xf6\\x95=\\x9c,\\x07\\xbc\\x15x(?f\\x83\\xec>\\x15x(?\\x9a|\\x13?\\x00\\x00\\x00?w\\x04\\x8f?\\t\\xfbj?\\x00\\x00\\x00?\\t\\xfbj?\\x00\\x00c\\x02q\\xbc0\\xa8\\xb2=\\xcf\\t!\\xbc\\x15x(?f\\x83\\xec>\\x15x(?\\xd1v\\xcc>f\\x83\\xec>\\xbe\\xa4\\x85?\\x9a|\\x13?\\x00\\x00\\x00?w\\x04\\x8f?\\x00\\x00\\xfa\\x97#<\\xfa\\x88r=\\x85\\x9e\\xda;\\xfe\\x9dm?f\\x83\\xec>\\xfe\\x9dm?\\t\\xfbj?\\x00\\x00\\x00?\\t\\xfbj?\\xdc\\xbd@?f\\x83\\xec>\\x9dc\\x98?\\x00\\x00\\xfamj<\\x1f\\xf6\\x95=\\x9c,\\x07<\\xdc\\xbd@?f\\x83\\xec>\\x9dc\\x98?\\t\\xfbj?\\x00\\x00\\x00?\\t\\xfbj?\\x9a|\\x13?\\x00\\x00\\x00?w\\x04\\x8f?\\x00\\x00y8\\xba<\\x8c_$=\\xc0\\xd7x<k}\\x85?\\xe6\\x04\\xb5>k}\\x85?\\xdc\\xbd@?f\\x83\\xec>\\x9dc\\x98?x\\x1bg?\\xe6\\x04\\xb5>\\xdau\\xa0?\\x00\\x00\\xbc\\xf0\\xe8<\\x19\\x9bm=b\\xa5\\x9b<k}\\x85?\\xe6\\x04\\xb5>k}\\x85?\\xfe\\x9dm?f\\x83\\xec>\\xfe\\x9dm?\\xdc\\xbd@?f\\x83\\xec>\\x9dc\\x98?\\x00\\x00' should start with b'facet normal'")
________ test_mass_properties_for_half_donut_with_density[binary-False] ________

binary_ascii_path = PosixPath('/build/python-numpy-stl/src/numpy-stl-3.1.2/tests/stl_binary')
speedups = False

    def test_mass_properties_for_half_donut_with_density(
            binary_ascii_path, speedups):
        '''
        Checks the results of method get_mass_properties_with_density() on
        STL ASCII and binary files HalfDonut.stl
        One checks the results obtained with stl
        with the ones obtained with meshlab
        '''
        filename = binary_ascii_path/'HalfDonut.stl'
        mesh = stl.StlMesh(str(filename), speedups=speedups)
        volume, mass, cog, inertia = mesh.get_mass_properties_with_density(1.23)

        assert close([mass], [2.882083302268982])
        assert close([volume], [2.343149026234945])
        assert close(cog, [1.500001, 0.209472, 1.500001])
        print('inertia')
        numpy.set_printoptions(suppress=True)
        print(inertia)
>       assert close(inertia, [[+1.71022851, +0.00000001, -0.00000011],
                               [+0.00000001, +3.32226227, +0.00000002],
                               [-0.00000011, +0.00000002, +1.71022859]])
E       assert False
E        +  where False = close(array([[1.71022246, 0.00000096, 0.00000203],\n       [0.00000096, 3.32226154, 0.000002  ],\n       [0.00000203, 0.000002  , 1.71023271]]), [[1.71022851, 1e-08, -1.1e-07], [1e-08, 3.32226227, 2e-08], [-1.1e-07, 2e-08, 1.71022859]])

tests/test_meshProperties.py:87: AssertionError
----------------------------- Captured stdout call -----------------------------
exception (False, "b'!\\xbc\\xafw\\x7f>\\xe6\\x04\\xb5>\\x88e{?l\\x08\\x9e>f\\x83\\xec>\\x00\\x00\\xc0?\\xd1v\\xcc>f\\x83\\xec>\\xbe\\xa4\\x85?\\x00\\x00\\xb1\\xf5e\\xbd\\xed\\x13\\xac=\\x9f\\xf76\\xbc\\xafw\\x7f>\\xe6\\x04\\xb5>\\x88e{?4\\xf6\\x15>\\xe6\\x04\\xb5>\\x00\\x00\\xc0?l\\x08\\x9e>f\\x83\\xec>\\x00\\x00\\xc0?\\x00\\x00\\xfamj\\xbc[\\xf6\\x95=\\x9c,\\x07\\xbc\\x15x(?f\\x83\\xec>\\x15x(?\\x9a|\\x13?\\x00\\x00\\x00?w\\x04\\x8f?\\t\\xfbj?\\x00\\x00\\x00?\\t\\xfbj?\\x00\\x00c\\x02q\\xbc0\\xa8\\xb2=\\xcf\\t!\\xbc\\x15x(?f\\x83\\xec>\\x15x(?\\xd1v\\xcc>f\\x83\\xec>\\xbe\\xa4\\x85?\\x9a|\\x13?\\x00\\x00\\x00?w\\x04\\x8f?\\x00\\x00\\xfa\\x97#<\\xfa\\x88r=\\x85\\x9e\\xda;\\xfe\\x9dm?f\\x83\\xec>\\xfe\\x9dm?\\t\\xfbj?\\x00\\x00\\x00?\\t\\xfbj?\\xdc\\xbd@?f\\x83\\xec>\\x9dc\\x98?\\x00\\x00\\xfamj<\\x1f\\xf6\\x95=\\x9c,\\x07<\\xdc\\xbd@?f\\x83\\xec>\\x9dc\\x98?\\t\\xfbj?\\x00\\x00\\x00?\\t\\xfbj?\\x9a|\\x13?\\x00\\x00\\x00?w\\x04\\x8f?\\x00\\x00y8\\xba<\\x8c_$=\\xc0\\xd7x<k}\\x85?\\xe6\\x04\\xb5>k}\\x85?\\xdc\\xbd@?f\\x83\\xec>\\x9dc\\x98?x\\x1bg?\\xe6\\x04\\xb5>\\xdau\\xa0?\\x00\\x00\\xbc\\xf0\\xe8<\\x19\\x9bm=b\\xa5\\x9b<k}\\x85?\\xe6\\x04\\xb5>k}\\x85?\\xfe\\x9dm?f\\x83\\xec>\\xfe\\x9dm?\\xdc\\xbd@?f\\x83\\xec>\\x9dc\\x98?\\x00\\x00' should start with b'facet normal'")
inertia
[[1.71022246 0.00000096 0.00000203]
 [0.00000096 3.32226154 0.000002  ]
 [0.00000203 0.000002   1.71023271]]
------------------------------ Captured log call -------------------------------
WARNING  stl.base.BaseMesh:logger.py:109 Use of not exact is_closed check. This check can lead to misleading
            results. You could try to use `exact=True`.
            See:
             - false positive: https://github.com/wolph/numpy-stl/issues/198
             - false negative: https://github.com/wolph/numpy-stl/pull/213
________ test_mass_properties_for_half_donut_with_density[binary-True] _________

binary_ascii_path = PosixPath('/build/python-numpy-stl/src/numpy-stl-3.1.2/tests/stl_binary')
speedups = True

    def test_mass_properties_for_half_donut_with_density(
            binary_ascii_path, speedups):
        '''
        Checks the results of method get_mass_properties_with_density() on
        STL ASCII and binary files HalfDonut.stl
        One checks the results obtained with stl
        with the ones obtained with meshlab
        '''
        filename = binary_ascii_path/'HalfDonut.stl'
        mesh = stl.StlMesh(str(filename), speedups=speedups)
        volume, mass, cog, inertia = mesh.get_mass_properties_with_density(1.23)

        assert close([mass], [2.882083302268982])
        assert close([volume], [2.343149026234945])
        assert close(cog, [1.500001, 0.209472, 1.500001])
        print('inertia')
        numpy.set_printoptions(suppress=True)
        print(inertia)
>       assert close(inertia, [[+1.71022851, +0.00000001, -0.00000011],
                               [+0.00000001, +3.32226227, +0.00000002],
                               [-0.00000011, +0.00000002, +1.71022859]])
E       assert False
E        +  where False = close(array([[1.71022246, 0.00000096, 0.00000203],\n       [0.00000096, 3.32226154, 0.000002  ],\n       [0.00000203, 0.000002  , 1.71023271]]), [[1.71022851, 1e-08, -1.1e-07], [1e-08, 3.32226227, 2e-08], [-1.1e-07, 2e-08, 1.71022859]])

tests/test_meshProperties.py:87: AssertionError
----------------------------- Captured stdout call -----------------------------
exception (False, "b'!\\xbc\\xafw\\x7f>\\xe6\\x04\\xb5>\\x88e{?l\\x08\\x9e>f\\x83\\xec>\\x00\\x00\\xc0?\\xd1v\\xcc>f\\x83\\xec>\\xbe\\xa4\\x85?\\x00\\x00\\xb1\\xf5e\\xbd\\xed\\x13\\xac=\\x9f\\xf76\\xbc\\xafw\\x7f>\\xe6\\x04\\xb5>\\x88e{?4\\xf6\\x15>\\xe6\\x04\\xb5>\\x00\\x00\\xc0?l\\x08\\x9e>f\\x83\\xec>\\x00\\x00\\xc0?\\x00\\x00\\xfamj\\xbc[\\xf6\\x95=\\x9c,\\x07\\xbc\\x15x(?f\\x83\\xec>\\x15x(?\\x9a|\\x13?\\x00\\x00\\x00?w\\x04\\x8f?\\t\\xfbj?\\x00\\x00\\x00?\\t\\xfbj?\\x00\\x00c\\x02q\\xbc0\\xa8\\xb2=\\xcf\\t!\\xbc\\x15x(?f\\x83\\xec>\\x15x(?\\xd1v\\xcc>f\\x83\\xec>\\xbe\\xa4\\x85?\\x9a|\\x13?\\x00\\x00\\x00?w\\x04\\x8f?\\x00\\x00\\xfa\\x97#<\\xfa\\x88r=\\x85\\x9e\\xda;\\xfe\\x9dm?f\\x83\\xec>\\xfe\\x9dm?\\t\\xfbj?\\x00\\x00\\x00?\\t\\xfbj?\\xdc\\xbd@?f\\x83\\xec>\\x9dc\\x98?\\x00\\x00\\xfamj<\\x1f\\xf6\\x95=\\x9c,\\x07<\\xdc\\xbd@?f\\x83\\xec>\\x9dc\\x98?\\t\\xfbj?\\x00\\x00\\x00?\\t\\xfbj?\\x9a|\\x13?\\x00\\x00\\x00?w\\x04\\x8f?\\x00\\x00y8\\xba<\\x8c_$=\\xc0\\xd7x<k}\\x85?\\xe6\\x04\\xb5>k}\\x85?\\xdc\\xbd@?f\\x83\\xec>\\x9dc\\x98?x\\x1bg?\\xe6\\x04\\xb5>\\xdau\\xa0?\\x00\\x00\\xbc\\xf0\\xe8<\\x19\\x9bm=b\\xa5\\x9b<k}\\x85?\\xe6\\x04\\xb5>k}\\x85?\\xfe\\x9dm?f\\x83\\xec>\\xfe\\x9dm?\\xdc\\xbd@?f\\x83\\xec>\\x9dc\\x98?\\x00\\x00' should start with b'facet normal'")
inertia
[[1.71022246 0.00000096 0.00000203]
 [0.00000096 3.32226154 0.000002  ]
 [0.00000203 0.000002   1.71023271]]
------------------------------ Captured log call -------------------------------
WARNING  stl.base.BaseMesh:logger.py:109 Use of not exact is_closed check. This check can lead to misleading
            results. You could try to use `exact=True`.
            See:
             - false positive: https://github.com/wolph/numpy-stl/issues/198
             - false negative: https://github.com/wolph/numpy-stl/pull/213
=============================== warnings summary ===============================
../../../../usr/lib/python3.12/site-packages/_pytest/config/__init__.py:1437
  /usr/lib/python3.12/site-packages/_pytest/config/__init__.py:1437: PytestConfigWarning: Unknown config option: flake8-ignore

    self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_ascii.py::test_ascii_io[False] - ValueError: could not convert string to float: b'np.float32(0.0)'
FAILED tests/test_ascii.py::test_ascii_io[True] - ValueError: could not convert string to float: b'np.float32(0.0)'
FAILED tests/test_meshProperties.py::test_mass_properties_for_half_donut[ascii-False] - assert False
 +  where False = close(array([[1.39042477e+00, 7.83056320e-07, 1.65303997e-06],\n       [7.83056320e-07, 2.70102564e+00, 1.62463063e-06],\n       [1.65303997e-06, 1.62463063e-06, 1.39043310e+00]]), [[1.390429, 0.0, 0.0], [0.0, 2.701025, 0.0], [0.0, 0.0, 1.390429]])
FAILED tests/test_meshProperties.py::test_mass_properties_for_half_donut[ascii-True] - assert False
 +  where False = close(array([[1.39042477e+00, 7.83056320e-07, 1.65303997e-06],\n       [7.83056320e-07, 2.70102564e+00, 1.62463063e-06],\n       [1.65303997e-06, 1.62463063e-06, 1.39043310e+00]]), [[1.390429, 0.0, 0.0], [0.0, 2.701025, 0.0], [0.0, 0.0, 1.390429]])
FAILED tests/test_meshProperties.py::test_mass_properties_for_half_donut_with_density[ascii-False] - assert False
 +  where False = close(array([[1.71022246, 0.00000096, 0.00000203],\n       [0.00000096, 3.32226154, 0.000002  ],\n       [0.00000203, 0.000002  , 1.71023271]]), [[1.71022851, 1e-08, -1.1e-07], [1e-08, 3.32226227, 2e-08], [-1.1e-07, 2e-08, 1.71022859]])
FAILED tests/test_meshProperties.py::test_mass_properties_for_half_donut_with_density[ascii-True] - assert False
 +  where False = close(array([[1.71022246, 0.00000096, 0.00000203],\n       [0.00000096, 3.32226154, 0.000002  ],\n       [0.00000203, 0.000002  , 1.71023271]]), [[1.71022851, 1e-08, -1.1e-07], [1e-08, 3.32226227, 2e-08], [-1.1e-07, 2e-08, 1.71022859]])
FAILED tests/test_meshProperties.py::test_mass_properties_for_half_donut[binary-False] - assert False
 +  where False = close(array([[1.39042477, 0.00000078, 0.00000165],\n       [0.00000078, 2.70102564, 0.00000162],\n       [0.00000165, 0.00000162, 1.3904331 ]]), [[1.390429, 0.0, 0.0], [0.0, 2.701025, 0.0], [0.0, 0.0, 1.390429]])
FAILED tests/test_meshProperties.py::test_mass_properties_for_half_donut[binary-True] - assert False
 +  where False = close(array([[1.39042477, 0.00000078, 0.00000165],\n       [0.00000078, 2.70102564, 0.00000162],\n       [0.00000165, 0.00000162, 1.3904331 ]]), [[1.390429, 0.0, 0.0], [0.0, 2.701025, 0.0], [0.0, 0.0, 1.390429]])
FAILED tests/test_meshProperties.py::test_mass_properties_for_half_donut_with_density[binary-False] - assert False
 +  where False = close(array([[1.71022246, 0.00000096, 0.00000203],\n       [0.00000096, 3.32226154, 0.000002  ],\n       [0.00000203, 0.000002  , 1.71023271]]), [[1.71022851, 1e-08, -1.1e-07], [1e-08, 3.32226227, 2e-08], [-1.1e-07, 2e-08, 1.71022859]])
FAILED tests/test_meshProperties.py::test_mass_properties_for_half_donut_with_density[binary-True] - assert False
 +  where False = close(array([[1.71022246, 0.00000096, 0.00000203],\n       [0.00000096, 3.32226154, 0.000002  ],\n       [0.00000203, 0.000002  , 1.71023271]]), [[1.71022851, 1e-08, -1.1e-07], [1e-08, 3.32226227, 2e-08], [-1.1e-07, 2e-08, 1.71022859]])
============= 10 failed, 111 passed, 5 skipped, 1 warning in 5.97s =============
==> ERROR: A failure occurred in check().

It seems that numpy 2.x has made some changes that cause many of the tests to fail. If you go back to numpy 1.x the tests will work again, but it will take some time to update all of the tests to work with numpy 2.

I have the same problem,
I tried to do a PR here: https://github.com/wolph/numpy-stl/pull/224

The new release with the fix is out now!
With a bit of luck I've fixed the configuration of the stalebot too... hard to debug that thing ;)

authors: carlosal1015 tbaudier wolph

repo: wolph/numpy-stl


text:
MacOS and HTML5

Hi Wongfei,
I am currently looking into the code an dusage of the dlls and protobuf.
I am sure with some work this plugin could be edited to also include the MacOS platform, right?
And would it work to build to an HTML5 package?
Are you available for commission?
Thanks,
Aaron
Edit: I asked my colleague on Windows to open the project but he got the same error of not being able to build. He was on UE4.26.2.

maybe with some tuning plugin will work on MacOS, HTML5 likely will not
UE4+HTML5 is buggy hell and no wonder Epic dropped it in next versions
check UnityMediapipePlugin that already cross platform

Can I ask why it is likely not to work in an HTML5 build? Like specifically
why? Because that's our ultimate goal, not an app for MacOS. I was just
talking about getting it to work in the engine on a MacOS.
On Fri, Mar 11, 2022, 15:58 wongfei @.***> wrote:

maybe with some tuning plugin will work on MacOS, HTML5 likely will not
UE4+HTML5 is buggy hell and no wonder Epic dropped it in next versions
check UnityMediapipePlugin that already cross platform
—
Reply to this email directly, view it on GitHub
https://github.com/wongfei/ue4-mediapipe-plugin/issues/28#issuecomment-1064829570,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKZ2ZW7OXWIV2PDJVFGF55DU7LVKPANCNFSM5QOKWTAQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

Can I ask why it is likely not to work in an HTML5 build? Like specifically why?

Because plugin loads third party dlls and external files, does camera capture with OpenCV, maybe something else..

Also are you available for short project based hire or commission?

Nope, busy right now and not interested in HTML5

Should it be workable if I find replacements for the third party dlls?
I guess dll doesn't work on MacOS anyway so I need to find something to
replace them?
Actually I talked to the MediaPipe guys about an HTML5 build and they sent
me to your plugin so I'm surprised to hear it won't work with HTML5. Maybe
MediaPipe works but not this repository specifically because of how you
built it?
Sincerely / Met vriendelijke groeten,
Aaron van der Brugge
On Fri, Mar 11, 2022 at 4:32 PM wongfei @.***> wrote:

Can I ask why it is likely not to work in an HTML5 build? Like
specifically why?
Because plugin loads third party dlls and external files, does camera
capture with OpenCV, maybe something else..
Also are you available for short project based hire or commission?
Nope, busy right now and not interested in HTML5
—
Reply to this email directly, view it on GitHub
https://github.com/wongfei/ue4-mediapipe-plugin/issues/28#issuecomment-1064849488,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKZ2ZW4TDE22AOJBV27VOVTU7LZIZANCNFSM5QOKWTAQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

This plugin was developed and tested for windows only, the rest is DIY

Cool, thanks! Understand.
I would love to open it on Windows but it doesn't work opening in UE4.26.
Do I need to download and use the wrapper or install Python?
On Fri, Mar 11, 2022, 17:02 wongfei @.***> wrote:

This plugin was developed and tested for windows only, the rest is DIY
—
Reply to this email directly, view it on GitHub
https://github.com/wongfei/ue4-mediapipe-plugin/issues/28#issuecomment-1064867652,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKZ2ZW3GF7TWLBBE7TZNGQ3U7L4ZLANCNFSM5QOKWTAQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

@wongfei Happy Monday!
I hope you can offer advice on how to open the project at all. Thank you.

authors: aaronvdbrugge wongfei


text:
gitea/forgejo organisations are being imported as users, not orgs

Component
server
Describe the bug
gitea/forgejo organisations are getting imported as users.
sqlite> select * from orgs;
id|name|is_user|private
1|org1|1|1
2|org2|1|0
3|user|1|0

@qwerty287 suggested it's a bug in the gitea/forgejo driver in the ensuing discord conversation
System Info
{"source":"https://github.com/woodpecker-ci/woodpecker","version":"2.1.1"}

Additional context
Forgejo Version
1.20.4+1 built with GNU Make 4.4.1, go1.20.8 : bindata, timetzdata, sqlite, sqlite_unlock_notify
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Checked that the bug isn't fixed in the next version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]
[X] Check that this is a concrete bug. For Q&A join our Discord Chat Server or the Matrix room.

workaround: manually setting the value of is_user to 0 on the org-related db entries fixes the issue

okay, i also tested it with a new public org/public repo and it worked right away.
maybe some edge case during setup...
i will close this issue, and leave it as documentation.

repo: woodpecker-ci/woodpecker


text:
InvalidFormat Error

if the content of the md file is A<0, the code is as follows: `pub fn parse_md_ast<S: AsRef>(content: S){
markdown::to_mdast(content.as_ref(), &init_parse_option()).map_err(|err| {
FormatError::InvalidFormat(format!("parse markdown mdast failed: {err:?}"))
});
}Analysis error：InvalidFile(InvalidFormat("parse markdown mdast failed: Message { place: Some(Point(1:3 (2))), reason: \"Unexpected character 0(U+0030) before name, expected a character that can start a name, such as a letter,$, or _`", rule_id: "unexpected-character", source: "markdown-rs" }"))

Please read the error message and don’t use invalid MDX. You have not posted any code. And your markdown is garbled. So I assume you used invalid MDX.

Thank you，what is MDX? my code: fn init_parse_option() -> ParseOptions {     ParseOptions {         constructs: Constructs {             attention: true,             autolink: true,             block_quote: true,             character_escape: true,             character_reference: true,             code_indented: true,             code_fenced: true,             code_text: true,             definition: true,             frontmatter: true,             gfm_autolink_literal: true,             gfm_footnote_definition: true,             gfm_label_start_footnote: true,             gfm_strikethrough: true,             gfm_table: true,             gfm_task_list_item: true,             hard_break_escape: true,             hard_break_trailing: true,             heading_atx: true,             heading_setext: true,             html_flow: true,             html_text: true,             label_start_image: true,             label_start_link: true,             label_end: true,             list_item: true,             math_flow: true,             math_text: true,             mdx_esm: true,             mdx_expression_flow: true,             mdx_expression_text: true,             mdx_jsx_flow: true,             mdx_jsx_text: true,             thematic_break: true,         },         gfm_strikethrough_single_tilde: true,         math_text_single_dollar: true,         mdx_expression_parse: None,         mdx_esm_parse: None,     } }

You are turning on MDX options... If you don’t want MDX, don’t turn on MDX. Please read the readme?

authors: YSOcean wooorm

repo: wooorm/markdown-rs


text:
Rethink the file object

There are some weirdness in the API. Like, why is basename() a method, while extension is a property?
I think all the of the properties should be dynamic getters, so if you assign to for example extension, accessing filename should reflect the change.
It's missing stuff like .stat, .path (full path), .stem,

Yes, definitely!
From the previous issue:

There's benefit in being able to detect that it's a VFile.

Sure, but that could be done by checking 'filePath' in thing && 'messages' in thing, and the like.

It's missing stuff like .stat, .path (full path), .stem,

Or, rather, remove all those fs/path related methods and just use fs.stat, path.basename, path.extname, and the like directly?

I think all the of the properties should be dynamic getters, so if you assign to for example extension, accessing filename should reflect the change.

TBH I prefer not to use dark magic 😬 😢, instead, why not use a module to change, for example, the extname in a path?

Sure, but that could be done by checking 'filePath' in thing && 'messages' in thing, and the like.

Any object could have those properties. That would make it very likely to have false-positives.

Or, rather, remove all those fs/path related methods and just use fs.stat, path.basename, path.extname, and the like directly?

Uhm, it's a virtual file. That would miss the whole point of it. The path might not even be an actual existing file, but could be a future existing file or the file could be in a different location on disk.

TBH I prefer not to use dark magic 😬 😢, instead, why not use a module to change, for example, the extname in a path?

I don't see how that is dark magic. It's actually expected behavior for me and previously many users on the vinyl issue tracker. It's how vinyl works now btw. Think of the path as an internal model and those properties changes that internal model and access it.

Any object could have those properties. That would make it very likely to have false-positives.

If it looks like a vfile, and warns like a vfile? I kinda like the looseness and non-typed nature of JS, also here.

Uhm, it's a virtual file. That would miss the whole point of it. The path might not even be an actual existing file, but could be a future existing file or the file could be in a different location on disk.

Yeah but there’s no reason in duplicating vinyl, or path, or fs in the core, whether its a virtual file or not, require('path').basename(vfile.filePath) (assuming we’re moving to string) would work.
Work in Progress
  `VFile#contents`

- `VFile#directory`

- `VFile#filename`

- `VFile#extension`

- `VFile#basename()`

  `VFile#quiet`
  (this property is a bit like `dangerouslySetInnerHTML`, in that it
  should only be used if you know exactly what you’re doing, I still
  think its required, and should be opt-in though);

  `VFile#messages`

- `VFile#history`
  (don’t think it’s needed to keep track of the whole history, maybe
  an `origin` for the first location upon reading, if ever, could work?)

  `VFile#toString()
  (needed, buffers will be added too)

- `VFile#filePath()`

+ `VFile#filePath`

- `VFile#move(options)`

- `VFile#namespace(key)`
  (can be done by standardising custom properties, e.g., `origin`
  mentioned above in `VFile#history`);

  `VFile#message(reason[, position[, ruleId]])`

- `VFile#warn(reason[, position[, ruleId]])`
  Remove `VFile#message` and move `VFile#warn` to its name instead;

- `VFile#fail(reason[, position[, ruleId]])`
  Rename to `VFile#throw`, albeit with the `#warn` > `#message`, `fail`
  may be sufficiently different;

- `VFile#hasFailed()`
  Remove. Either replace by a module `vfile-count` or something, or
  keep track of number of the count of `failures` and `messages` messages.
  Related to GH-7.

  `VFileMessage`

  ...

+ `VFileMessage#source`
  Either standardise it, or standardise custom properties;

  `VFileMessage#fatal`
  Remove difference between `fatal: false` and `fatal: null`, there’s
  messages (previous warnings), and there’s fatal errors.

  ...

@sindresorhus I wrote an initial proposal, GH-10, I’d love to hear your thoughts (there’s some specific questions I’m unsure about at the bottom).

Closed by 1959856! 🎉

authors: sindresorhus wooorm

repo: wooorm/vfile


text:
Provide VoiceOver announcement when download completes

Closes #235
Provides a VoiceOver announcement when the download of a screen completes. Does not provide the announcement if the screen is loaded via cached data, only if fetched remote.
Needs Review: @koke, @jleandroperez

Does not provide the announcement if the screen is loaded via cached data

I'm not too familiar with the Stats code, but I'm guessing that the decision to use the cache is transparent to the user. IMO, the decision to announce completion should be based in what started the download: if the user did refresh, then notify. If it was an automatic refresh, maybe it'd still be interesting to notify iff the content changed. Is that what "cached data" means?

I'm guessing that the decision to use the cache is transparent to the user

Yeah, ultimately the user should only be getting notified if there is a wait state. I was originally considering alerting when the fetch starts and then when it finishes, but it was too much to listen to.
There is no automatic refresh (yet) and there is no way to know when content changes overall. Each section refreshes independently as the individual completion blocks finish.
The problem I'm having is this exposes a huge bit of the underlying functionality of the remote service and I'm having trouble trying to figure out the best architecture vs. accessibility. Ultimately I guess if the spinner or progress bar is showing activity the user should know there is a wait state.

I was originally considering alerting when the fetch starts

It already says "Refreshing content" when it starts refreshing. I can't find that string so I guess it's the default for the refresh control?
Also, if the data comes back too quickly, it says the "Fetch of stats" bit before it's done saying "Refreshing content". I'm not too familiar with VoiceOver, so maybe this is expected
https://cloudup.com/cvh0qqexZ9G

For now I think I might close this PR. It just seems too kludgy and I need to ask someone who is blind what the best experience would be for them.

authors: astralbodies koke

repo: wordpress-mobile/WordPressCom-Stats-iOS


text:
Feature/fix typo

from https://github.com/workshopper/how-to-npm/pull/91

🐑

repo: workshopper/how-to-npm

license: ISC


text:
Calling a menu filtered by language does not work correctly

Return all unfiltered languages

I've tried to make translatable the title field of page entity. If I call
/api/pages/<id>

adding header
Accept-Language: it

I would expect results translated in the requested language. I receive instead, multi language results
{
    "id": 2,
    "is_highlight": 0,
    "title": {
        "it": "Il team",
        "en": "Il team"
    },
    ...
}

repo: workupsrl/nova-menu-builder


text:
update common-jvm version

removes the requirement that root certs must have AKIDs to be trusted.

This change is

authors: jonmolle wfa-reviewable


text:
more flexible implementation of filters

this is merely a suggestion on how to handle filters. I'm open to any input you may have on this. My implementation is inspired by redux. Filters would be defined like this:
Dispatcher.addDispatchFilter(dispatch => {
  return (payload, next) => {
    // do something
    next(payload);
  }
});

if next isn't called, the filter chain will not continue. At the end of the chain is the actual dispatch function which receives the resulting payload. It is also possible to interrupt the chain (by not calling next) and dispatching prematurely with the dispatch function passed to the filter. This is nice for handling errors for example or adding a logger.
I also included both of the _curate functions to the normal dispatch/register flow. This reduces the usage of arguments and is clearer imho.
What do you think?

Here's an example with error handling:
Dispatcher.addDispatchFilter(dispatch => {
  return (payload, next) => {
    if (/* validate payload */) {
      // do something
      next(payload);
    } else {
      dispatch('VALIDATION_ERROR', { message: 'validating payload failed' });
    }
  }
});

@jreinert I'm sorry!!! I forgot about this. Are you still using it like this? Do you still want me to merge it?

not using it anymore. i switched to plain redux. merge if you feel like it :)

authors: jreinert luisherranz

repo: worona/meteorflux


text:
Added command to link a user to smart questions webpage

Haha, love the example, small note, but it's good to merge after that!

Deployed!

authors: NotNotOddity wozeparrot

repo: wozeparrot/tinymod


text:
More performant Math.scalb() via direct use of power of two

Math.scalb() also uses internally multiplication by power of two in double type. Even I have not found any cases, where replacement for original method does not work, it should be verified if accuracy was not affected.

Unfortunately, the proposed custom scalb() function is a lot slower than Math.scalb().
See my benchmark results here: JmhScalb.java

authors: wrandelshofer xtonik

repo: wrandelshofer/FastDoubleParser