uhm, could be something related to 

http://bugs.python.org/issue21720



On Sunday, October 12, 2014 1:53:40 AM UTC+2, Luciano Laporta Podazza wrote:
>
> Hello,
>
> I'm using locally web2py (*2.9.8*) + Shopify API (2.0.4) on Mac OS X 
> 10.9.5 (Python *2.7.5*) and this code works perfectly:
>
> from gluon.tools import Service
> service = Service()
> import gluon.contrib.simplejson as json
>
>
> def call():
>     session.forget()
>     return service()
>
>
> @service.json
> def create_order():
>     data = json.loads(request.body.read())
>     import shopify
>     #(API Key, Password)
>     shop_url = "https://%s:%[email protected]/admin"; % ('key',
> 'secret')
>     shopify.ShopifyResource.set_site(shop_url)
>     shop  = shopify.Shop.current
>     orders = shopify.Order.find(financial_status='pending')
>     new_order = shopify.Order()
>
>
>     for order in orders:
>         if order.order_number == data['order_number']:
>             clone_order(order, new_order, order.attributes)
>
>
> def clone_order(objfrom, objto, names):
>     for n in names:
>         if hasattr(objfrom, n):
>             if n in ["source_name", "cart_token", "id", "token", "name", 
> "checkout_token", "checkout_id"]:
>                 objto.n = None
>             elif n == "line_items":
>                 v = getattr(objfrom, n)
>                 setattr(objto, n, v)
>                 if objto.line_items[-1].title != "Cargo por COD":
>                     objto.line_items.append({"variant_id" : 972802884, 
> "quantity" : 1, "price": 2.5, "title": "Cargo por COD"})
>             elif n == "order_number":
>                 v = getattr(objfrom, n)
>                 objto.note = "Agregado COD, numero de orden vieja: #" + 
> str(objfrom.order_number)
>             else:
>                 v = getattr(objfrom, n)
>                 setattr(objto, n, v)
>                 objto.order_number = 1198
>     try:
>         objto.save()
>         objfrom.cancel()
>         objfrom.close()
>         return "Success"
>     except Exception, e:
>         return "Fail"
>
> But when deploying to server (Ubuntu 14.04 with Web2py *2.9.11* / Python 
> *2.7.6 
> -note the different python and web2py version-*) I get this error:
>
> Traceback (most recent call last):
>  File "/home/www-data/web2py/gluon/restricted.py", line 224, in restricted
>  exec ccode in environment
>  File 
> "/home/www-data/web2py/applications/mascotanube/controllers/cash_on_delivery.py"
>  
> <https://activecrime.com/admin/default/edit/mascotanube/controllers/cash_on_delivery.py>,
>  line 49, in <module>
>  File "/home/www-data/web2py/gluon/globals.py", line 392, in <lambda>
>  self._caller = lambda f: f()
>  File 
> "/home/www-data/web2py/applications/mascotanube/controllers/cash_on_delivery.py"
>  
> <https://activecrime.com/admin/default/edit/mascotanube/controllers/cash_on_delivery.py>,
>  line 7, in call
>  return service()
>  File "/home/www-data/web2py/gluon/tools.py", line 5138, in __call__
>  return self.serve_json(request.args[1:])
>  File "/home/www-data/web2py/gluon/tools.py", line 4815, in serve_json
>  s = universal_caller(self.json_procedures[args[0]], *args[1:], **d)
>  File "/home/www-data/web2py/gluon/tools.py", line 4474, in universal_caller
>  return f(**arg_dict)
>  File 
> "/home/www-data/web2py/applications/mascotanube/controllers/cash_on_delivery.py"
>  
> <https://activecrime.com/admin/default/edit/mascotanube/controllers/cash_on_delivery.py>,
>  line 17, in create_order
>  orders = shopify.Order.find(financial_status='pending')
>  File 
> "/usr/local/lib/python2.7/dist-packages/pyactiveresource/activeresource.py", 
> line 385, in find
>  return cls._find_every(from_=from_, **kwargs)
>  File 
> "/usr/local/lib/python2.7/dist-packages/pyactiveresource/activeresource.py", 
> line 524, in _find_every
>  prefix_options)
>  File 
> "/usr/local/lib/python2.7/dist-packages/pyactiveresource/activeresource.py", 
> line 555, in _build_list
>  resources.append(cls(element, prefix_options))
>  File "build/bdist.linux-i686/egg/shopify/base.py", line 130, in __init__
>  return super(ShopifyResource, self).__init__(attributes, prefix_options)
>  File 
> "/usr/local/lib/python2.7/dist-packages/pyactiveresource/activeresource.py", 
> line 362, in __init__
>  self._update(attributes)
>  File 
> "/usr/local/lib/python2.7/dist-packages/pyactiveresource/activeresource.py", 
> line 952, in _update
>  klass = self._find_class_for(key)
>  File 
> "/usr/local/lib/python2.7/dist-packages/pyactiveresource/activeresource.py", 
> line 1016, in _find_class_for
>  __import__('.'.join([module.__name__, element_name]))
>  File "/home/www-data/web2py/gluon/custom_import.py", line 82, in 
> custom_importer
>  modules_prefix, globals, locals, [itemname], level)
> TypeError: Item in ``from list'' not a string
>
> I also tested it with web2py 2.9.11 *locally *and it works fine too so I 
> can't figure it out where the issue is.
>
> Any help will be appreciated. Thanks.
>

-- 
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