Latest posts on request-параметр есть целое, строка или список? topichttps://python.su/forum/topic/801/2007-05-20T21:38:51+03:00Веб-технологии :: Zope/Plone/Bluebream :: request-параметр есть целое, строка или список?
2007-05-20T21:38:51+03:00NilovSerge5358tabajara, спасибо функция xtype нормально работает
Веб-технологии :: Zope/Plone/Bluebream :: request-параметр есть целое, строка или список?
2007-05-18T13:47:36+03:00tabajara5331<blockquote><em>NilovSerge</em><br/>Может есть какое-либо описание того что в питоне-скрипте работает из Python и что нет?</blockquote>Є в <div class="code"><pre> ZopeDir/lib/python/Products/PythonScripts/help/PythonScript.py
</pre></div>А в скрипті функція xtype має виглядяти так:<br/><div class="code"><pre><span class="k">def</span> <span class="nf">xtype</span><span class="p">(</span><span class="n">val</span><span class="p">):</span>
<span class="k">if</span> <span class="n">same_type</span><span class="p">(</span><span class="n">val</span><span class="p">,</span> <span class="s">""</span><span class="p">):</span>
<span class="k">return</span> <span class="s">"tstring"</span>
<span class="k">elif</span> <span class="n">same_type</span><span class="p">(</span><span class="n">val</span><span class="p">,</span> <span class="p">[]):</span>
<span class="k">return</span> <span class="s">"tlist"</span>
<span class="k">elif</span> <span class="n">same_type</span><span class="p">(</span><span class="n">val</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="mi">1</span><span class="p">)):</span>
<span class="k">return</span> <span class="s">"tinteger"</span>
</pre></div>
Веб-технологии :: Zope/Plone/Bluebream :: request-параметр есть целое, строка или список?
2007-05-18T13:21:47+03:00tabajara5330<blockquote><em>NilovSerge</em><br/>Знать бы что работает а что нет? Может есть какое-либо описание того что в питоне-скрипте работает из Python и что нет?</blockquote>Не знаю, не зустрічав. Але знаю що не доступні приватні методи і атрибути (ті що починаються з _) і тому напевно недоступні ті функції, які потребують їх приватних методів (той же type хоче __class__)
Веб-технологии :: Zope/Plone/Bluebream :: request-параметр есть целое, строка или список?
2007-05-18T08:23:59+03:00NilovSerge5326Я пару-тройку месяцев ковыряюсь в Zope и одна из самых неприятных вещей это то, что внутри питона-скрипта работают не все Python-функции :-( Знать бы что работает а что нет? Может есть какое-либо описание того что в питоне-скрипте работает из Python и что нет?
Веб-технологии :: Zope/Plone/Bluebream :: request-параметр есть целое, строка или список?
2007-05-17T21:29:44+03:00tabajara5319<blockquote><em>NilovSerge</em><br/>У меня нет никакого продукта, если имеются в виду обьекты в /Control_Panel/Products.</blockquote>а я думав то продукт ))))))<br/><blockquote><em>NilovSerge</em><br/>Я что не могу в питон-скрипте вызвать t = type(val) ?</blockquote>нє,не можеш (((
Веб-технологии :: Zope/Plone/Bluebream :: request-параметр есть целое, строка или список?
2007-05-17T20:04:25+03:00NilovSerge5317tabajara, спасибо я обязательно все это попробую .<br/>Но зачем все так сложно? У меня нет никакого продукта, если имеются в виду обьекты в /Control_Panel/Products.<br/>Я что не могу в питон-скрипте вызвать t = type(val) ?
Веб-технологии :: Zope/Plone/Bluebream :: request-параметр есть целое, строка или список?
2007-05-17T19:50:21+03:00tabajara5316Я тільки що перевірив - все працює. Ще раз все по порядку:<br/>1 відкрий __init__.py і додай <br/> <div class="code"><pre> <span class="kn">from</span> <span class="nn">AccessControl</span> <span class="kn">import</span> <span class="n">allow_module</span>
<span class="n">allow_module</span><span class="p">(</span><span class="s">'Products.myProduct.utils'</span><span class="p">)</span>
</pre></div>2 Створи utils.py в корені myProduct<br/>3 Запиши в utils.py<br/> <div class="code"><pre><span class="kn">import</span> <span class="nn">types</span>
<span class="k">def</span> <span class="nf">xtype</span><span class="p">(</span><span class="n">val</span><span class="p">):</span>
<span class="n">t</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
<span class="k">if</span> <span class="n">t</span> <span class="o">==</span> <span class="n">types</span><span class="o">.</span><span class="n">StringType</span><span class="p">:</span>
<span class="k">return</span> <span class="s">"tstring"</span>
<span class="k">elif</span> <span class="n">t</span> <span class="o">==</span> <span class="n">types</span><span class="o">.</span><span class="n">ListType</span><span class="p">:</span>
<span class="k">return</span> <span class="s">"tlist"</span>
<span class="k">elif</span> <span class="n">t</span> <span class="o">==</span> <span class="n">types</span><span class="o">.</span><span class="n">IntType</span><span class="p">:</span>
<span class="k">return</span> <span class="s">"tinteger"</span>
<span class="p">[</span><span class="n">code</span><span class="p">]</span><span class="mi">4</span> <span class="err">запусти</span> <span class="n">zope</span>
<span class="mi">5</span> <span class="err">створи</span> <span class="err">таку</span> <span class="err">сторінку</span><span class="p">:</span>
<span class="p">[</span><span class="n">code</span><span class="o">=</span><span class="n">xml</span><span class="p">]</span>
<span class="o"><</span><span class="n">div</span> <span class="n">define</span><span class="o">=</span><span class="s">"xtype python:modules['Products.myProduct.utils'].xtype"</span><span class="o">></span>
<span class="o"><</span><span class="n">span</span> <span class="n">tal</span><span class="p">:</span><span class="n">content</span><span class="o">=</span><span class="s">"python:xtype(repr(request))"</span><span class="o">/></span>
<span class="o"></</span><span class="n">div</span><span class="o">></span><span class="p">[</span><span class="o">/</span><span class="n">code</span><span class="p">]</span>
<span class="mi">6</span> <span class="err">Натисни</span> <span class="n">test</span><span class="o">.</span> <span class="err">Виведе</span> <span class="n">tstring</span>
</pre></div>
Веб-технологии :: Zope/Plone/Bluebream :: request-параметр есть целое, строка или список?
2007-05-17T19:39:52+03:00NilovSerge5314Что за allow_module ?<br/>А что я не могу просто в скрипте питона вызвать type( чтоб получить тип переменной в реквесте?<br/>на строку <div class="code"><pre> t = val.__class__
</pre></div>я получил при сохранении скрипта :“__class__” is an invalid attribute name because it starts with “_”.
Веб-технологии :: Zope/Plone/Bluebream :: request-параметр есть целое, строка или список?
2007-05-17T19:12:57+03:00tabajara5309То якась фантастика, а ти allow_module додав? Якщо додав і не працює тоді замість <div class="code"><pre><span class="n">t</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
</pre></div>пиши таке <div class="code"><pre><span class="n">t</span> <span class="o">=</span> <span class="n">val</span><span class="o">.</span><span class="n">__class__</span>
</pre></div>
Веб-технологии :: Zope/Plone/Bluebream :: request-параметр есть целое, строка или список?
2007-05-17T19:04:45+03:00NilovSerge5306Не получилось<br/>на строке <div class="code"><pre>
import types
...
t = type( X )
</pre></div><br/>получил ошибку : NameError: global name ‘type’ is not defined (Also, the following error occurred while attempting to render the standard error message, please see the event log for full details: ‘roles’) <br/>Я что-то еще не подключил?<br/><br/>В руководстве по питону я нашел что функция type входит в Built-in Functions и<br/><blockquote><em>руководство</em><br/>The Python interpreter has a number of functions built into it that are always available.</blockquote>
Веб-технологии :: Zope/Plone/Bluebream :: request-параметр есть целое, строка или список?
2007-05-16T21:46:42+03:00tabajara5294Ше така штука, може не знаєш. В продукті в __init__.py треба додати таке:<br/><div class="code"><pre><span class="kn">from</span> <span class="nn">AccessControl</span> <span class="kn">import</span> <span class="n">allow_module</span>
<span class="n">allow_module</span><span class="p">(</span><span class="s">'Products.myProduct.utils'</span><span class="p">)</span>
</pre></div>
Веб-технологии :: Zope/Plone/Bluebream :: request-параметр есть целое, строка или список?
2007-05-16T21:15:59+03:00NilovSerge5292Спасибо, это то что мне нужно.
Веб-технологии :: Zope/Plone/Bluebream :: request-параметр есть целое, строка или список?
2007-05-16T19:28:16+03:00tabajara5285В зрт нема функції type, може якась інша подібна є. Найлегше мені здається то буде так зробити: написати пітонівську функцію, якій передати значення, а вона поверне тип, в окремому модулі, яку виклкати на сторінці. То буде виглядати так:<br/><div class="code"><pre><span class="nt"><div</span> <span class="na">tal:define=</span><span class="s">"xtype python:modules['Products.myProduct.utils'].xtype"</span><span class="nt">></span>
<span class="nt"><span</span> <span class="na">tal:content=</span><span class="s">"python:xtype(request.val)"</span><span class="nt">/></span>
<span class="nt"></div></span>
</pre></div>і функція в utils.py:<br/><div class="code"><pre><span class="kn">import</span> <span class="nn">types</span>
<span class="k">def</span> <span class="nf">xtype</span><span class="p">(</span><span class="n">val</span><span class="p">):</span>
<span class="n">t</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
<span class="k">if</span> <span class="n">t</span> <span class="o">==</span> <span class="n">types</span><span class="o">.</span><span class="n">StringType</span><span class="p">:</span>
<span class="k">return</span> <span class="s">"tstring"</span>
<span class="k">elif</span> <span class="n">t</span> <span class="o">==</span> <span class="n">types</span><span class="o">.</span><span class="n">ListType</span><span class="p">:</span>
<span class="k">return</span> <span class="s">"tlist"</span>
<span class="k">elif</span> <span class="n">t</span> <span class="o">==</span> <span class="n">types</span><span class="o">.</span><span class="n">IntType</span><span class="p">:</span>
<span class="k">return</span> <span class="s">"tinteger"</span>
</pre></div>
Веб-технологии :: Zope/Plone/Bluebream :: request-параметр есть целое, строка или список?
2007-05-16T18:26:33+03:00NilovSerge5282Привет!<br/>Подскажите такое. Как в странице ZPT проверить что переданный request-параметр есть целое, строка или список?<br/>Средствами ZPT или Python ?