Hi again, So a friend of mine helped me solving the issue, on gluon/custom_import.py, on line 82 we have to replace this line:
modules_prefix, globals, locals, [itemname], level) With this one: modules_prefix, globals, locals, [itemname*.encode('utf-8')*], level) And that's all!. Thanks for your support! On Mon, Oct 13, 2014 at 4:36 PM, Luciano Laporta Podazza < lucianopoda...@gmail.com> wrote: > Thanks Niphlod, > > I've just managed to make any python version work (< 2.7.5), web2py runs > the Python version I want but the error still remains. > > It's weird 'cause on my Mac, with Python *2.7.5 (default, Mar 9 2014, > 22:15:05) *it works like a charm. > > I'll keep the research but this is driving me nuts. > > > > On Mon, Oct 13, 2014 at 4:28 PM, Niphlod <niph...@gmail.com> wrote: > >> it's not a web2py issue but it seems something with the Shopify lib and >> that bug that isn't going very well.... as of "web2py starts with something >> else" you need to check your setup.... web2py can't choose what python >> version to run at runtime.... >> >> On Sunday, October 12, 2014 7:39:16 PM UTC+2, Luciano Laporta Podazza >> wrote: >>> >>> It seems to. >>> >>> I've tried using pyenv to switch to Python 2.7.5 (the one it works), >>> declared it as global and verified that works running 'python', reinstalled >>> web2py 2.9.11 on server but web2py it still uses Python *2.7.6*. >>> >>> On the other hand I've tried to apply the patch with no luck (actually >>> I'm learning how to do it :P) >>> >>> Any suggestions?. Thanks! >>> >>> On Sun, Oct 12, 2014 at 10:07 AM, Niphlod <nip...@gmail.com> wrote: >>> >>>> 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:%s...@myshop.myshopify.com/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 a topic in the >>>> Google Groups "web2py-users" group. >>>> To unsubscribe from this topic, visit https://groups.google.com/d/ >>>> topic/web2py/k5193zQX6kM/unsubscribe. >>>> To unsubscribe from this group and all its topics, send an email to >>>> web2py+un...@googlegroups.com. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >>> >>> -- >>> Atte >>> Luciano Laporta Podazza >>> >> -- >> 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 a topic in the >> Google Groups "web2py-users" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/web2py/k5193zQX6kM/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> web2py+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > Atte > Luciano Laporta Podazza > -- Atte Luciano Laporta Podazza -- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.