Hi everyone,

I have tried to set up a web2py installation with two domains but I keep 
getting the same internal error. I have checked previous discussions 
(e.g. https://groups.google.com/forum/#!topic/web2py/9jZQbNjLmLk 
and https://groups.google.com/forum/#!topic/web2py/imNAw_JIlv8) but no luck.

What I have done is create a routes.py that looks like

routers = dict(
  BASE = dict(
    domains = {
      'kiinnostuneet.kylakuitu.fi': 'kysely',
      'kysely.kylakuitu.fi': 'kiinnostuneet',
    }
  ),
)

But depending on which address I open first, it works, and the other gives 
an internal error.

The error looks like this:

-- cut --

Version
web2py™ Version 2.13.4-stable+timestamp.2015.12.26.04.59.39
Python Python 2.7.6: /usr/bin/python (prefix: /usr)Traceback

1.
2.
3.
4.
5.
6.
7.
8.
9.

Traceback (most recent call last):
  File "/home/www-data/web2py/gluon/main.py", line 439, in wsgibase
    session.connect(request, response)
  File "/home/www-data/web2py/gluon/globals.py", line 960, in connect
    session_pickled = pickle.dumps(self, pickle.HIGHEST_PROTOCOL)
  File "/home/www-data/web2py/gluon/storage.py", line 56, in <lambda>
    __getnewargs__ = lambda self: getattr(dict,self).__getnewargs__(self)
TypeError: getattr(): attribute name must be string

Error snapshot 

<type 'exceptions.TypeError'>(getattr(): attribute name must be string)

Frames
   
   - 
   
   *File /home/www-data/web2py/gluon/main.py in wsgibase at line 439* code 
   arguments variables
   - 
   
   *File /home/www-data/web2py/gluon/globals.py in connect at line 960* code
    arguments variables
   - 
   
   *File /home/www-data/web2py/gluon/storage.py in <lambda> at line 56* code
    arguments variables
   Function argument list
   
   (self=<Storage {}>)
   
Code listing

51.
52.
53.
54.
55.
56.

57.
58.
59.
60.

    __slots__ = ()
    __setattr__ = dict.__setitem__
    __delattr__ = dict.__delitem__
    __getitem__ = dict.get
    __getattr__ = dict.get
    __getnewargs__ = lambda self: getattr(dict,self).__getnewargs__(self)

    __repr__ = lambda self: '<Storage %s>' % dict.__repr__(self)
    # 
http://stackoverflow.com/questions/5247250/why-does-pickle-getstate-accept-as-a-return-value-the-very-instance-it-requi
    __getstate__ = lambda self: None
    __copy__ = lambda self: Storage(self)


Variables
).__getnewargs__ <bound method Session.<lambda> of <Storage {}>>
self <Storage {}>
__getnewargs__ undefined
builtingetattr <built-in function getattr>
builtindict <type 'dict'>

-- cut --

I'm a bit stumped, to be honest. How should I set this up? As I said, both 
sites seem to work - provided I don't open the other one first after I 
restart Apache2.

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to