🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #28640

Re: Python w pythonie ale nie w oczywisty sposób

#28640
From: AK
Date: Sat, 17 Feb 2018 13:07
38 lines
2625 bytes
Użytkownik "m" <mvoicem@gmail.com> napisał:

> To, bym zrobił tak że importowałbym plik .py jako moduł i wywoływałbym
> jakąś tam funkcję z tego modułu przekazując mu odpowiednie obiekty.
>
> Wadą jest absolutny brak bezpieczeństwa, tj skrypt napisany przez usera
> ma absolutnie całkowity dostęp do bebechów twojej aplikacji i może
> zrobić coś wbrew twoim intencjom.

Mozna ta funkcje (czy caly skrypt poprzez import) wywolac
poprzez eval czy exec podajac mu scope
eval(expression[, globals=None[, locals=None])
exec(object[, globals=None[, locals=None]])
i wtedy bezpieczenstwo pelne.

Mozna tez uzyc ktoregosc ze sprawdzonym pakietow plugino-owych
(a jest ich od groma - nie moge polecic najlepszegop bo.. zwyczajnie nie mam
 w nich duzego doswiadczenia. Po prostu eval/exec ze scopem zawsze mi poki co wystarczal).
Np.
https://pypi.python.org/pypi/Yapsy  - mysle ze ten az zanadto starczy
http://pluginbase.pocoo.org/
https://pypi.python.org/pypi/extensions
Lub samego modzic np tak/na podstawie tego (ale po co?:):
http://blog.mathieu-leplatre.info/a-very-simple-and-stupid-plugin-system-in-python.html
http://www.arl.army.mil/arlreports/2014/ARL-CR-0743.pdf
https://pypi.python.org/pypi/simple_plugins
https://github.com/thodnev/pluginlib/blob/master/pluginlib.py

>> b) chciałbym miec całkowitą kontrolę nad skryptem, mogę go w dowolnym
>> momencie wylączyć. Idealem było by gdybym mógł go równiez zatrzymac i
>> wznowić.
>
> To możnaby było zrobić albo w postaci osobnego procesu, który byś po
> prostu ubił.

Wystarczy watek, czy nawet zwykla korutyna.

AK 
Technical Details
Message-ID: <p699g5$r5i$1@gioia.aioe.org>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.mixmin.net!aioe.org!.POSTED!not-for-mail
References: <p68pi0$jk1$1@node2.news.atman.pl> <5a881d8c$0$565$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.mixmin.net!aioe.org!.POSTED!not-for-mail
From: "AK" <nobody@nowhere.net>
Newsgroups: pl.comp.lang.python
Subject: Re: Python w pythonie ale nie w oczywisty sposób
Date: Sat, 17 Feb 2018 14:07:44 +0100
Organization: Aioe.org NNTP Server
Lines: 39
Message-ID: <p699g5$r5i$1@gioia.aioe.org>
References: <p68pi0$jk1$1@node2.news.atman.pl> <5a881d8c$0$565$65785112@news.neostrada.pl>
NNTP-Posting-Host: jHM0fgmX8PLRSmVRRAzYag.user.gioia.aioe.org
Mime-Version: 1.0
X-Complaints-To: abuse@aioe.org
X-Antivirus-Status: Clean
X-Priority: 3
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6002.19694
X-Notice: Filtered by postfilter v. 0.8.3
X-Antivirus: Avast (VPS 180217-2, 2018-02-17), Outbound message
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Windows Mail 6.0.6002.18197
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit