I installed eTiny on Fedora 7 and then ran 'start-tinyerp.py dev.cfg' and it starts just fine: # start-tinyerp.py dev.cfg 2007-08-23 22:01:57,846 cherrypy.msg INFO CONFIG: Server parameters: 2007-08-23 22:01:57,847 cherrypy.msg INFO CONFIG: server.environment: development 2007-08-23 22:01:57,848 cherrypy.msg INFO CONFIG: server.log_to_screen: True 2007-08-23 22:01:57,849 cherrypy.msg INFO CONFIG: server.log_file: 2007-08-23 22:01:57,850 cherrypy.msg INFO CONFIG: server.log_tracebacks: True 2007-08-23 22:01:57,851 cherrypy.msg INFO CONFIG: server.log_request_headers: True 2007-08-23 22:01:57,852 cherrypy.msg INFO CONFIG: server.protocol_version: HTTP/1.0 2007-08-23 22:01:57,853 cherrypy.msg INFO CONFIG: server.socket_host: 2007-08-23 22:01:57,854 cherrypy.msg INFO CONFIG: server.socket_port: 8080 2007-08-23 22:01:57,855 cherrypy.msg INFO CONFIG: server.socket_file: 2007-08-23 22:01:57,856 cherrypy.msg INFO CONFIG: server.reverse_dns: False 2007-08-23 22:01:57,857 cherrypy.msg INFO CONFIG: server.socket_queue_size: 5 2007-08-23 22:01:57,858 cherrypy.msg INFO CONFIG: server.thread_pool: 10 2007-08-23 22:01:58,178 cherrypy.msg INFO HTTP: Serving HTTP on http://localhost:8080/
So in a browser I surf to http://localhost:8080 and I get the login screen and it knows my databases. So I try to log in and I get this error: <class> Python 2.5: /usr/bin/python Thu Aug 23 22:02:31 2007 A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred. /usr/lib/python2.5/site-packages/cherrypy/_cphttptools.py in _run(self=<cherrypy>) 103 applyFilters('before_main') 104 if self.execute_main: 105 self.main() 106 break 107 except cherrypy.InternalRedirect, ir: self = <cherrypy>, self.main = <bound method Request.main of <cherrypy>> /usr/lib/python2.5/site-packages/cherrypy/_cphttptools.py in main(self=<cherrypy>, path='/') 252 self.object_path = '/' + '/'.join(object_path[1:]) 253 try: 254 body = page_handler(*virtual_path, **self.params) 255 except Exception, x: 256 if hasattr(x, "args"): body undefined, page_handler = <function>, virtual_path = [], self = <cherrypy>, self.params = {'db': u'us_fl_hillsb_tst', 'login_action': u'login', 'passwd': u'admin', 'user': u'admin'} /usr/lib/python2.5/site-packages/tinyerp/tinyres.py in wrapper(*args=(), **kw={}) 135 # User is now logged in, so show the content 136 clear_login_fields(kw) 137 return fn(*args, **kw) 138 139 # restore the original values fn = <bound method Root.index of <tinyerp>>, args = (), kw = {} /usr/share/doc/eTiny-0.0.1/<string> in index(self=<tinyerp>, *_decorator__varargs=(), **_decorator__kwargs={}) /usr/lib/python2.5/site-packages/turbogears/controllers.py in expose(func=<function>, *args=(<tinyerp>,), **kw={}) 334 output = database.run_with_transaction( 335 func._expose, func, accept, func._allow_json, 336 *args, **kw) 337 return output 338 func.exposed = True args = (<tinyerp>,), kw = {} /usr/share/doc/eTiny-0.0.1/<string> in run_with_transaction(func=<function>, *args=(<function>, 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', True, <tinyerp>), **kw={}) /usr/lib/python2.5/site-packages/turbogears/database.py in so_rwt(func=<function>, *args=(<function>, 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', True, <tinyerp>), **kw={}) 301 try: 302 try: 303 retval = func(*args, **kw) 304 commit_all() 305 return retval retval undefined, func = <function>, args = (<function>, 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', True, <tinyerp>), kw = {} /usr/share/doc/eTiny-0.0.1/<string> in _expose(func=<function>, accept='text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', allow_json=True, *args=(<tinyerp>,), **kw={}) /usr/lib/python2.5/site-packages/turbogears/controllers.py in (_func=<function>, accept='text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', allow_json=True, *args=(<tinyerp>,), **kw={}) 349 *args, **kw: 350 _execute_func(_func, template, format, content_type, 351 mapping, fragment, args, kw))) 352 353 if allow_json: mapping = None, fragment = False, args = (<tinyerp>,), kw = {} /usr/lib/python2.5/site-packages/turbogears/controllers.py in _execute_func(func=<function>, template='json', format=None, content_type=None, mapping=None, fragment=False, args=(<tinyerp>,), kw={}) 376 # this means big memory usage, and we don't want that in production 377 log.debug("Calling %s with *(%s), **(%s)", func, args, kw) 378 output = errorhandling.try_call(func, *args, **kw) 379 if isinstance(output, list): 380 return output output undefined, global errorhandling = <module>, errorhandling.try_call = <function>, func = <function>, args = (<tinyerp>,), kw = {} /usr/lib/python2.5/site-packages/turbogears/errorhandling.py in try_call(func=<function>, self=<tinyerp>, *args=(), **kw={}) 71 from turbogears.database import _use_sa 72 try: 73 return func(self, *args, **kw) 74 except Exception, e: 75 if isinstance(e, cherrypy.HTTPRedirect) or \ func = <function>, self = <tinyerp>, args = (), kw = {} /usr/lib/python2.5/site-packages/tinyerp/controllers.py in index(self=<tinyerp>) 116 """Index page, loads the view defined by `action_id`. 117 """ 118 return self.user_action('action_id') 119 120 @expose() self = <tinyerp>, self.user_action = <bound method Root.user_action of <tinyerp>> /usr/lib/python2.5/site-packages/tinyerp/controllers.py in user_action(self=<tinyerp>, id='action_id') 110 act_id = act_id[0][id][0] 111 112 return actions.execute_by_id(act_id) 113 114 @expose() global actions = <module>, actions.execute_by_id = <function>, act_id = 1 /usr/lib/python2.5/site-packages/tinyerp/modules/actions.py in execute_by_id(act_id=1, type=u'ir.actions.act_window', **data={}) 236 237 res = rpc.session.execute('object', 'execute', type, 'read', [act_id], False, rpc.session.context)[0] 238 return _execute(res, **data) 239 240 def execute_by_keyword(keyword, adds={}, **data): global _execute = <function>, res = {'context': u'{}', 'domain': u"[('parent_id','=',False)]", 'id': 1, 'name': u'', 'res_model': u'ir.ui.menu', 'src_model': False, 'type': u'ir.actions.act_window', 'usage': u'menu', 'view_id': (1, u'ir.ui.menu.tree'), 'view_ids': [], ...}, data = {} /usr/lib/python2.5/site-packages/tinyerp/modules/actions.py in _execute(action={'context': u'{}', 'domain': u"[('parent_id','=',False)]", 'id': 1, 'name': u'', 'res_model': u'ir.ui.menu', 'src_model': False, 'type': u'ir.actions.act_window', 'usage': u'menu', 'view_id': (1, u'ir.ui.menu.tree'), 'view_ids': [], ...}, **data={'res_id': None, 'res_model': u'ir.ui.menu', 'view_mode': u'tree,form', 'view_type': u'tree'}) 204 domain, 205 action['view_type'], 206 context,data['view_mode']) 207 return res 208 context = {'active_id': False, 'active_ids': [], u'tz': u'America/New_York'}, data = {'res_id': None, 'res_model': u'ir.ui.menu', 'view_mode': u'tree,form', 'view_type': u'tree'} /usr/lib/python2.5/site-packages/tinyerp/modules/actions.py in _execute_window(view_ids=[1, False], model=u'ir.ui.menu', res_id=None, domain=[('parent_id', '=', False)], view_type=u'tree', context={'active_id': False, 'active_ids': [], u'tz': u'America/New_York'}, mode=u'tree,form') 81 82 elif view_type == 'tree': 83 return Tree().create(params) 84 85 else: global Tree = <class>, ).create = <unbound>, params = {'domain': [('parent_id', '=', False)], 'ids': N...ir.ui.menu', 'view_ids': [1, False], 'id': False} /usr/lib/python2.5/site-packages/tinyerp/tinyres.py in wrapper(*args=({'domain': [('parent_id', '=', False)], 'ids': N...ir.ui.menu', 'view_ids': [1, False], 'id': False},), **kw={}) 86 # User is logged in; allow access 87 clear_login_fields(kw) 88 return fn(*args, **kw) 89 else: 90 # User isn't logged in yet. fn = <bound method Tree.create of <tinyerp>>, args = ({'domain': [('parent_id', '=', False)], 'ids': N...ir.ui.menu', 'view_ids': [1, False], 'id': False},), kw = {} /usr/share/doc/eTiny-0.0.1/<string> in create(self=<tinyerp>, params={'domain': [('parent_id', '=', False)], 'ids': N...ir.ui.menu', 'view_ids': [1, False], 'id': False}, *_decorator__varargs=(), **_decorator__kwargs={}) /usr/lib/python2.5/site-packages/turbogears/controllers.py in expose(func=<function>, *args=(<tinyerp>, {'domain': [('parent_id', '=', False)], 'ids': N...ir.ui.menu', 'view_ids': [1, False], 'id': False}), **kw={}) 329 if hasattr(cherrypy.request, "in_transaction"): 330 output = func._expose(func, accept, func._allow_json, 331 *args, **kw) 332 else: 333 cherrypy.request.in_transaction = True args = (<tinyerp>, {'domain': [('parent_id', '=', False)], 'ids': N...ir.ui.menu', 'view_ids': [1, False], 'id': False}), kw = {} /usr/share/doc/eTiny-0.0.1/<string> in _expose(func=<function>, accept='text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', allow_json=False, *args=(<tinyerp>, {'domain': [('parent_id', '=', False)], 'ids': N...ir.ui.menu', 'view_ids': [1, False], 'id': False}), **kw={}) /usr/lib/python2.5/site-packages/turbogears/controllers.py in (_func=<function>, accept='text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', allow_json=False, *args=(<tinyerp>, {'domain': [('parent_id', '=', False)], 'ids': N...ir.ui.menu', 'view_ids': [1, False], 'id': False}), **kw={}) 349 *args, **kw: 350 _execute_func(_func, template, format, content_type, 351 mapping, fragment, args, kw))) 352 353 if allow_json: mapping = None, fragment = False, args = (<tinyerp>, {'domain': [('parent_id', '=', False)], 'ids': N...ir.ui.menu', 'view_ids': [1, False], 'id': False}), kw = {} /usr/lib/python2.5/site-packages/turbogears/controllers.py in _execute_func(func=<function>, template='tinyerp.modules.gui.templates.tree', format=None, content_type=None, mapping=None, fragment=False, args=(<tinyerp>, {'domain': [('parent_id', '=', False)], 'ids': N...ir.ui.menu', 'view_ids': [1, False], 'id': False}), kw={}) 389 if template and template.startswith("."): 390 template = func.__module__[:func.__module__.rfind('.')]+template 391 return _process_output(output, template, format, content_type, mapping, fragment) 392 393 def flash(message): global _process_output = <function>, output = {'tg_css': [CSSLink(name='css/treegrid.css', media='all')], 'tg_flash': None, 'tg_js_bodybottom': [], 'tg_js_bodytop': [], 'tg_js_head': [JSLink(name='js/MochiKit.js'), JSLink(name='javascript/treegrid.js')], 'tg_mochikit': JSLink(name='js/MochiKit.js'), 'tree': ViewTree(name='tree_view', submit_text=None, con...on', 'icon': u'/static/images/icons/stock.png'}])}, template = 'tinyerp.modules.gui.templates.tree', format = None, content_type = None, mapping = None, fragment = False /usr/lib/python2.5/site-packages/turbogears/controllers.py in _process_output(output={'tg_css': [CSSLink(name='css/treegrid.css', media='all')], 'tg_flash': None, 'tg_js_bodybottom': [], 'tg_js_bodytop': [], 'tg_js_head': [JSLink(name='js/MochiKit.js'), JSLink(name='javascript/treegrid.js')], 'tg_mochikit': JSLink(name='js/MochiKit.js'), 'tree': ViewTree(name='tree_view', submit_text=None, con...on', 'icon': u'/static/images/icons/stock.png'}])}, template='tinyerp.modules.gui.templates.tree', format=None, content_type=None, mapping=None, fragment=False) 80 output = view.render(output, template=template, format=format, 81 mapping=mapping, content_type=content_type, 82 fragment=fragment) 83 else: 84 if content_type: fragment = False /usr/lib/python2.5/site-packages/turbogears/view/base.py in render(info={'tg_css': [CSSLink(name='css/treegrid.css', media='all')], 'tg_flash': None, 'tg_js_bodybottom': [], 'tg_js_bodytop': [], 'tg_js_head': [JSLink(name='js/MochiKit.js'), JSLink(name='javascript/treegrid.js')], 'tg_mochikit': JSLink(name='js/MochiKit.js'), 'tree': ViewTree(name='tree_view', submit_text=None, con...on', 'icon': u'/static/images/icons/stock.png'}])}, template='tinyerp.modules.gui.templates.tree', format='html', content_type='text/html; charset=utf-8', mapping=None, fragment=False) 129 args, kw = adapt_call(engine.render, args= [], 130 kw = dict(info=info, format=format, fragment=fragment, template=template, mapping=mapping), start=1) 131 return engine.render(**kw) 132 133 def transform(info, template): engine = <turbokid>, engine.render = <bound method KidSupport.render of <turbokid>>, kw = {'format': 'html', 'fragment': False, 'info': {'tg_css': [CSSLink(name='css/treegrid.css', media='all')], 'tg_flash': None, 'tg_js_bodybottom': [], 'tg_js_bodytop': [], 'tg_js_head': [JSLink(name='js/MochiKit.js'), JSLink(name='javascript/treegrid.js')], 'tg_mochikit': JSLink(name='js/MochiKit.js'), 'tree': ViewTree(name='tree_view', submit_text=None, con...on', 'icon': u'/static/images/icons/stock.png'}])}, 'template': 'tinyerp.modules.gui.templates.tree'} /usr/lib/python2.5/site-packages/turbokid/kidsupport.py in render(self=<turbokid>, info={'tg_css': [CSSLink(name='css/treegrid.css', media='all')], 'tg_flash': None, 'tg_js_bodybottom': [], 'tg_js_bodytop': [], 'tg_js_head': [JSLink(name='js/MochiKit.js'), JSLink(name='javascript/treegrid.js')], 'tg_mochikit': JSLink(name='js/MochiKit.js'), 'tree': ViewTree(name='tree_view', submit_text=None, con...on', 'icon': u'/static/images/icons/stock.png'}])}, format='html', fragment=False, template='tinyerp.modules.gui.templates.tree') 166 tclass = template 167 else: 168 tclass = self.load_template(template) 169 log.debug("Applying template %s" % (tclass.__module__)) 170 data = dict() tclass undefined, self = <turbokid>, self.load_template = <bound method KidSupport.load_template of <turbokid>>, template = 'tinyerp.modules.gui.templates.tree' /usr/lib/python2.5/site-packages/turbokid/kidsupport.py in load_template(self=<turbokid>, classname='tinyerp.modules.gui.templates.tree', template_string=None, loadingSite=False) 135 # in self.compiled_templates their mtime. 136 log.debug("Compiling template for %s" % classname) 137 mod = _compile_template(package, basename, tfile, classname) 138 tclass = mod.Template 139 ttime = os.stat(sys.modules[classname].__file__).st_mtime mod undefined, global _compile_template = <function>, package = 'tinyerp.modules.gui.templates', basename = 'tree', tfile = '/usr/lib/python2.5/site-packages/tinyerp/modules/gui/templates/tree.kid', classname = 'tinyerp.modules.gui.templates.tree' /usr/lib/python2.5/site-packages/turbokid/kidsupport.py in _compile_template(package='tinyerp.modules.gui.templates', basename='tree', tfile='/usr/lib/python2.5/site-packages/tinyerp/modules/gui/templates/tree.kid', classname='tinyerp.modules.gui.templates.tree') 13 14 def _compile_template(package, basename, tfile, classname): 15 mod = kid.load_template(tfile, name=classname) 16 setattr(sys.modules[package], basename, mod) 17 return mod mod undefined, global kid = <module>, kid.load_template = <function>, tfile = '/usr/lib/python2.5/site-packages/tinyerp/modules/gui/templates/tree.kid', name undefined, classname = 'tinyerp.modules.gui.templates.tree' /usr/lib/python2.5/site-packages/kid/__init__.py in load_template(file='/usr/lib/python2.5/site-packages/tinyerp/modules/gui/templates/tree.kid', name='tinyerp.modules.gui.templates.tree', cache=True, encoding=None, ns={}, entity_map=None, exec_module=None) 156 dump_source=os.environ.get('KID_OUTPUT_PY')) 157 mod = importer._create_module(code, name, filename, 158 store=cache, ns=ns, exec_module=exec_module) 159 return mod 160 store undefined, cache = True, ns = {}, exec_module = None /usr/lib/python2.5/site-packages/kid/importer.py in _create_module(code=<code object <module> at 0x931dc38, file "/usr/l...s/tinyerp/modules/gui/templates/tree.py", line 3>, name='tinyerp.modules.gui.templates.tree', filename='/usr/lib/python2.5/site-packages/tinyerp/modules/gui/templates/tree.kid', store=True, ns={}, exec_module=None) 142 except Exception: 143 sys.modules[name] = mod 144 raise_template_error(module=name, filename=filename) 145 if getattr(mod, 'kid_version', None) == __version__: 146 break global raise_template_error = <function>, module undefined, name = 'tinyerp.modules.gui.templates.tree', filename = '/usr/lib/python2.5/site-packages/tinyerp/modules/gui/templates/tree.kid' /usr/lib/python2.5/site-packages/kid/importer.py in _create_module(code=<code object <module> at 0x931dc38, file "/usr/l...s/tinyerp/modules/gui/templates/tree.py", line 3>, name='tinyerp.modules.gui.templates.tree', filename='/usr/lib/python2.5/site-packages/tinyerp/modules/gui/templates/tree.kid', store=True, ns={}, exec_module=None) 139 exec_module(mod, code) 140 else: 141 exec code in mod.__dict__ 142 except Exception: 143 sys.modules[name] = mod code = <code object <module> at 0x931dc38, file "/usr/l...s/tinyerp/modules/gui/templates/tree.py", line 3>, mod = <module 'tinyerp.modules.gui.templates.tree' fro...packages/tinyerp/modules/gui/templates/tree.kid'>, mod.__dict__ = {'BaseTemplate': <class>, 'COMMENT': 13, 'Comment': <function>, 'DOCTYPE': 4, 'END': 2, 'Element': <class>, 'ElementStream': <class>, 'PI': 12, 'ProcessingInstruction': <function>, 'START': 1, ...} /usr/lib/python2.5/site-packages/tinyerp/modules/gui/templates/tree.py in () /usr/lib/python2.5/site-packages/kid/template_util.py in base_class_extends(extends='tinyerp/templates/master.kid', globals={'BaseTemplate': <class>, 'COMMENT': 13, 'Comment': <function>, 'DOCTYPE': 4, 'END': 2, 'Element': <class>, 'ElementStream': <class>, 'PI': 12, 'ProcessingInstruction': <function>, 'START': 1, ...}, locals={}, all_extends='tinyerp/templates/master.kid') 123 raise TemplateExtendsError((str(e) 124 + '\nwhile processing extends=%r' 125 % (all_extends or extends)).lstrip()) 126 127 def base_class_layout(layout, globals, locals): all_extends = 'tinyerp/templates/master.kid', extends = 'tinyerp/templates/master.kid', ).lstrip = <built> <class>: ("name 'tinyerp' is not defined\nTemplate file 'tinyerp/templates/master.kid' not found\nwhile processing extends='tinyerp/templates/master.kid'\nError location in template file '/usr/lib/python2.5/site-packages/tinyerp/modules/gui/templates/tree.kid'\nbetween line 33, column 111 and line 34, column 24:\n... </button>", <function>) It says tinyerp/templates/master.kid not found but I checked and it is there. Anyone know what is causing this problem? Gerry _______________________________________________ Tinyerp-users mailing list http://tiny.be/mailman/listinfo/tinyerp-users
