Наверняка вы замечали, что в Python есть удобная функция для получения переменной окружения
os.getenv(NAME)
И её "сестра" для создания или изменения переменных окружения
os.putenv(NAME, VALUE)
Но почему-то putenv() не работает как должно. Энвайромент не обновляется!
os.putenv('MYVAR', '1')
print(os.getenv('MYVAR'))
... и ничего 😴
Почему так?
На самом деле энвайромент обновляется, но это значение не добавляется в словарь os.environ.
Откройте исходник функции os.getenv(). Это просто шорткат для os.environ.get()
В то время как putenv() это built-in С-функция.
Словарь os.environ (или точней класс из MutableMapping) создаётся из энвайромента в момент инициализации. Функция putenv() самостоятельно его не изменяет.
В тоже время, когда вы создаёте или изменяете ключ в os.environ, автоматически вызывается putenv() в методе __setitem__().
То есть, технически putenv() всё делает верно, но в os.environ это не отражается. Можно проверить так:
>>> os.putenv('MYVAR', '123')
>>> os.system('python -c "import os;print(os.getenv(\'MYVAR\'))"')
123
Я объявил переменную в текущем процессе и вызвал дочерний процесс, который её унаследовал и получил в составе os.environ.
Аналогично при удалении переменной вызывается еще одна built-in функция unsetenv(), удаляющая переменную из системы.
Итого
▫️ Удобней всего явно обновлять переменные через os.environ
▫️ Есть способ неявно создать/удалить переменную через putenv/unsetenv, что не повлияет на os.environ но изменит энвайромент и передаст изменения сабпроцессам. Но так лучше не делать!
▫️os.environ это просто обертка для built-in функций putenv() и unsetenv().
#basic
NewPipe
(YouTube Premium)
🆕Обновление
Неофициальный клиент для популярного сервиса YouTube со всеми преимуществами Premium версии. Нет рекламы и доступно фоновое воспроизведение.
⚙️Полная Premium версия, вырезана реклама, доступно скачивание видео и аудио.
#YouTube@pm_plus
#NewPipe@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ
#NewPipe on #Linux, Using Android_translation_layer
https://flathub.org/apps/net.newpipe.NewPipe
Comments
https://news.ycombinator.com/item?id=41963932
#yt
NewPipe x SponsorBlock
A fork of NewPipe with SponsorBlock functionality.
The implementation is still a bit basic but it generally works pretty well.
💡 How can I get this?
Builds will be uploaded in the Releases section. Please download the APK from the newest release and install it on your device.
💡 Why isn't this in upstream NewPipe?
The developer team behind the official NewPipe decided that they do not want to include this kind of functionality in their app. See https://newpipe.schabi.org/blog/pinned/newpipe-and-online-advertising/ and https://github.com/TeamNewPipe/NewPipe/pull/3205 for more information and discussion.
We obviously disagree but we respect their decision and continue to offer SponsorBlock in NewPipe via this fork.
https://github.com/polymorphicshade/NewPipe#newpipe-x-sponsorblock
#newpipe#sponsorblock
NewPipe Releases (unofficial) - NewPipe's GitHub releases
The APK sent here cannot be installed over F-Droid's one because they use different signing keys (details)
This pull request adds an experimental SponsorBlock integration, the fork's apk is linked there
👉🏼https://t.me/newpipe_releases👈🏼
💡 read this as well: YouTube video hosting alternatives
https://t.me/NoGoolag/2284
#newpipe#youtube#alternatives
📡@libreware📡@nogoolag
BraveNewPipe
A libre lightweight streaming front-end for Android
Due to restrictive project policy, the #NewPipe team refuses to add platforms that they find offensive. This fork (BraveNewPipe) will not be as restrictive. As long as the platforms work in the spirit of free speech, they could be integrated.
Nevertheless, platforms that promote pornography or other degrading things will NOT be included here.
Contribute
This fork will focus only on integrating other platforms. Unrelated patches will be rejected for now.
Feel free to suggest which alternative platforms should be included. Any contribution (development/testing/bug report) is greatly appreciated.
Which additional platforms are supported?
Bitchute
Rumble
Other features not found in NewPipe
-NewPipe x Sponsorblock into this fork
-searchfilters: in the action menu of the search page you can now change the search behavior for the actual search. The supported content/sort filters depend on the service
https://github.com/bravenewpipe/NewPipe
Download
https://github.com/bravenewpipe/NewPipe/releases
#yt#video#streaming
#java#4k#android#bandcamp#download_videos#newpipe#peertube#soundcloud#translation#video#watch#youtube_video
NewPipe is a free, open-source Android app for ad-free streaming and downloading videos/audio from YouTube, SoundCloud, PeerTube and more, with background play, pop-up mode, subscriptions without accounts, and no Google tracking for full privacy. The team is rewriting the code for a modern, stable version—download nightly builds to try new features early. This benefits you by saving data/battery, enabling offline/multitasking use, and protecting your data on any device.
https://github.com/TeamNewPipe/NewPipe