Как работает функция reload()?
Эта функция нужна для того, чтобы перезагрузить изменившийся код из py-файла без рестарта интерпретатора.
Дело в том, что любой импортированный модуль при повторном импорте не будет перечитывать файл. Функция импорта вернёт уже загруженный в память объект модуля. Чтобы обновить код, нужно либо перезапустить всю программу, либо использовать функцию reload()
from importlib import reload
reload(my_module)
🔸 Функция reload() принимает в качестве аргумента только объект модуля или пакета. Она не может перезагрузить класс или функцию. Только весь файл целиком!
🔸 Перезагрузка пакета перезагрузит только его файл __init__.py, если он есть. Но не вложенные модули.
🔸Она не может перезагрузить ранее не импортированный модуль.
🔸При вызове функция reload() перечитывает и перекомпилирует код в файле, создавая новые объекты. После создания новых объектов перезаписывается ранее созданный неймспейс этого модуля.
Это значит, что если где-то этот модуль импортирован через import и обращение к атрибутам происходит через неймспейс (имя) модуля, то такие атрибуты обновятся.
Если какие-либо объекты из этого модуля импортированы через from то они будут ссылаться на старые объекты.
Напишем простой модуль
# mymodule.py
x = 1
Теперь импортируем модуль и отдельно переменную х из модуля
>>> import mymodule
>>> from mymodule import x
>>> print(mymodule.x)
1
>>> print(x)
1
Не перезапуская интерпретатор вносим изменения в модуль
# mymodule.py
x = 2
Делаем перезагрузку модуля и проверяем х ещё раз
>>> reload(mymodule)
>>> print(mymodule.x)
2
>>> print(x)
1
То же самое будет если присвоить любой объект переменной (даже словарь или список)
Повторный импорт обновляет значение
>>> from mymodule import x
>>> print(x)
2
🔸Созданные инстансы классов не обновятся после перезагрузки модуля. Их придётся пересоздать.
#tricks#basic
PeerTube Mobile App v1 Is Out | Linuxiac
The PeerTube mobile app has reached version 1, allowing users to easily edit playlists, comment on videos, and switch between accounts
Sortie de la v1 de l'application mobile ! | JoinPeerTube
PeerTube | F-Droid - Free and Open Source Android App Repository
Go to the git page to get version 1.0 the F-Droid link is 0.6
https://framagit.org/framasoft/peertube/mobile-application/-/releases
Via @linuxgram
#PeerTube
P2Play - Peertube client (Unofficial client for Peertube)
P2Play is an Android application for Peertube. The features are as follows:
- Show list of recent, popular and local videos.
- Play videos (very simple)
- Log in and register in your instance
- Refresh
View downloaded videos
- Subscribe to accounts
- View videos from your subscriptions
- Rate videos
https://f-droid.org/packages/org.libre.agosto.p2play/
https://instances.joinpeertube.org/instances
#PeerTube
PeerTube v7.2.0
=> https://joinpeertube.org/
PeerTube is a free, decentralized and federated video platform developed as an alternative to other platforms that centralize our data and attention, such as YouTube, Dailymotion or Vimeo. 🎬
Changelog:
=> https://github.com/Chocobozzz/PeerTube/releases/tag/v7.2.0
Via @dcntr
#PeerTube#ActivityPub
PeerTube 7.1 brings Podcast 2.0 support, enhanced identification and Mastodon verification | AlternativeTo
PeerTubePeerTube has launched version 7.1 of its open-source, decentralized video-sharing platform, introducing a range of new features and improvements. A key update is enhanced platform identification, which now highlights the hosting platform's address for each video. Users can click on this address to learn more about the video's origin and explore all videos hosted on the remote instance.
Version 7.1 also advances its support for #Podcast 2.0, enabling users to subscribe to channels and play video audio streams through traditional podcast applications like #AntennaPod and #Podverse. Additionally, the podcast feed is now compatible with Apple Podcast, broadening accessibility
PeerTube v7.1 is out! | JoinPeerTube
https://joinpeertube.org/news/release-7.1
#PeerTube
#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