Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

ModelError: No model "static" for <freezecounter.app.Counter instance at 0x7f66876997a0>

6 views
Skip to first unread message

Terrence Brannon

unread,
May 13, 2015, 11:37:38 AM5/13/15
to nagare...@googlegroups.com
I am fairly certain there is something wrong with the dev version of Nagare because I tried to run the simple Counter example that uses 2 presentation models and instead of it working, I get "ModelError: No model "static" for <freezecounter.app.Counter instance at 0x7f66876997a0>" ... the full shell session follows:

(nagare-home)<tebranno@polaris-stg-app1 ~/prg/freezecounter> cat freezecounter/app.py
from nagare import presentation


class Counter:
    def __init__(self):
        self.value = 12

    def increase(self):
        print "Increasing..."
        self.value += 1

    def decrease(self):
        self.value -= 1

@presentation.render_for(Counter)
def render(self, h, comp, *args):
    with h.div:
        h << 'Var: ' << self.value << h.br
        h << h.a('--').action(self.decrease)
        h << ' | '
        h << h.a('FREEZE').action(comp.becomes, self, 'static')
        h << ' | '
        h << h.a('++').action(self.increase)

    return h.root

presentation.render_for(Counter, model='static')
def render_static(self, h, *args):
    return h.b(self.value)

# ---------------------------------------------------------------

app = Counter
(nagare-home)<tebranno@polaris-stg-app1 ~/prg/freezecounter> nagare-admin info
CPython 2.7.8 Stackless 3.1b3 060516 (v2.7.8-slp:ff29dd4f67de, Apr  9 2015, 18:40:01) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)]

Nagare version 0.4.1.post467
(nagare-home)<tebranno@polaris-stg-app1 ~/prg/freezecounter> pip freeze
/home/tebranno/install/nagare-home/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:79: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
Warning: cannot find svn location for PEAK-Rules===0.5a1.dev-r2713
svn URL does not fit normal structure (tags/branches/trunk): http://rcdn9svn1.cisco.com/repos/polaris/obfl_parser_ui/obflparserui
AddOns==0.7
Babel==1.3
BytecodeAssembler==0.6.post2646
configobj==5.0.6
DecoratorTools==1.8
docutils==0.12
Elixir==0.7.1
Extremes==1.1.1
flup==1.0.3.dev20110405
freezecounter==0.0.1
lxml==3.4.4
nagare==0.4.1.post467
nose==1.3.6
Paste==1.7.5.1
## FIXME: could not find svn URL in dependency_links for this package:
PEAK-Rules===0.5a1.dev-r2713
Pygments==1.1
pymssql==2.1.1
python-memcached==1.54
pytz==2015.2
RstDoc==0.9.0
six==1.9.0
SQLAlchemy==1.0.2
SymbolType==1.0
Tempita==0.5.3.dev0
WebError==0.10.3
WebOb==1.4.1
(nagare-home)<tebranno@polaris-stg-app1 ~/prg/freezecounter> nagare-admin serve freezecounter --reload  --host 0.0.0.0 --port 8089
Application 'app freezecounter' registered as '/freezecounter'
05/13/15 08:24:24 - serving on 0.0.0.0:8089 view at http://127.0.0.1:8089
Increasing...
Increasing...
----------------------------------------
Exception happened during processing of request from ('10.24.3.246', 65298)
Traceback (most recent call last):
  File "/home/tebranno/install/nagare-home/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg/paste/httpserver.py", line 1068, in process_request_in_thread
    self.finish_request(request, client_address)
  File "/home/tebranno/install/stackless/lib/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/home/tebranno/install/stackless/lib/python2.7/SocketServer.py", line 651, in __init__
    self.handle()
  File "/home/tebranno/install/nagare-home/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg/paste/httpserver.py", line 442, in handle
    BaseHTTPRequestHandler.handle(self)
  File "/home/tebranno/install/stackless/lib/python2.7/BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "/home/tebranno/install/nagare-home/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg/paste/httpserver.py", line 437, in handle_one_request
    self.wsgi_execute()
  File "/home/tebranno/install/nagare-home/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg/paste/httpserver.py", line 287, in wsgi_execute
    self.wsgi_start_response)
  File "/home/tebranno/install/nagare-home/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg/paste/urlmap.py", line 203, in __call__
    return app(environ, start_response)
  File "/home/tebranno/install/nagare-home/lib/python2.7/site-packages/nagare-0.4.1.post467-py2.7.egg/nagare/wsgi.py", line 520, in __call__
    response = self.on_exception(request, response)
  File "/home/tebranno/install/nagare-home/lib/python2.7/site-packages/nagare-0.4.1.post467-py2.7.egg/nagare/wsgi.py", line 500, in __call__
    output = render(renderer) if render else root.render(renderer)
  File "/home/tebranno/install/nagare-home/lib/python2.7/site-packages/nagare-0.4.1.post467-py2.7.egg/nagare/component.py", line 113, in render
    return presentation.render(self, renderer, self, model)
  File "/home/tebranno/install/nagare-home/lib/python2.7/site-packages/nagare-0.4.1.post467-py2.7.egg/nagare/presentation.py", line 22, in render
    def render(self, renderer, comp, model):
  File "/home/tebranno/install/nagare-home/lib/python2.7/site-packages/nagare-0.4.1.post467-py2.7.egg/nagare/component.py", line 262, in render
    output = presentation.render(self(), renderer, self, model)
  File "/home/tebranno/install/nagare-home/lib/python2.7/site-packages/nagare-0.4.1.post467-py2.7.egg/nagare/presentation.py", line 22, in render
    def render(self, renderer, comp, model):
  File "/home/tebranno/install/nagare-home/lib/python2.7/site-packages/PEAK_Rules-0.5a1.dev_r2713-py2.7.egg/peak/rules/core.py", line 589, in callback
    return f(*args, **kw)
  File "/home/tebranno/install/nagare-home/lib/python2.7/site-packages/nagare-0.4.1.post467-py2.7.egg/nagare/presentation.py", line 36, in render
    raise ModelError('No model "%s" for %r' % (model, self))
ModelError: No model "static" for <freezecounter.app.Counter instance at 0x7f66876997a0>
----------------------------------------

Bertrand Croq

unread,
May 13, 2015, 11:43:19 AM5/13/15
to nagare...@googlegroups.com
Hi,

Le mercredi 13 mai 2015, 08:37:38 Terrence Brannon a écrit :
> presentation.render_for(Counter, model='static')

This line should be:

@presentation.render_for(Counter, model='static')


Regards,
--
Bertrand CROQ
02 23 21 21 50

Net-ng
6, rue de Jouanet
35700 RENNES
http://www.net-ng.com

Reply all
Reply to author
Forward
0 new messages