{"action":"created","issue":{"url":"https://api.github.com/repos/potatolondon/djangae/issues/577","repository_url":"https://api.github.com/repos/potatolondon/djangae","labels_url":"https://api.github.com/repos/potatolondon/djangae/issues/577/labels{/name}","comments_url":"https://api.github.com/repos/potatolondon/djangae/issues/577/comments","events_url":"https://api.github.com/repos/potatolondon/djangae/issues/577/events","html_url":"https://github.com/potatolondon/djangae/issues/577","id":132093225,"number":577,"title":"CloudStorage has no attribute rsplit","user":{"login":"Stealthii","id":998920,"avatar_url":"https://avatars.githubusercontent.com/u/998920?v=3","gravatar_id":"","url":"https://api.github.com/users/Stealthii","html_url":"https://github.com/Stealthii","followers_url":"https://api.github.com/users/Stealthii/followers","following_url":"https://api.github.com/users/Stealthii/following{/other_user}","gists_url":"https://api.github.com/users/Stealthii/gists{/gist_id}","starred_url":"https://api.github.com/users/Stealthii/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Stealthii/subscriptions","organizations_url":"https://api.github.com/users/Stealthii/orgs","repos_url":"https://api.github.com/users/Stealthii/repos","events_url":"https://api.github.com/users/Stealthii/events{/privacy}","received_events_url":"https://api.github.com/users/Stealthii/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-02-08T09:42:10Z","updated_at":"2016-02-09T10:55:07Z","closed_at":"2016-02-09T10:55:07Z","body":"There are issues when using CloudStorage to push files (in this case, specifically images) from the admin panel. This is using latest Djangae at head this morning (b98cb70)\r\n\r\nRelevant `settings_live.py` lines:\r\n```python\r\nfrom djangae.storage import CloudStorage\r\nDEFAULT_FILE_STORAGE = CloudStorage(google_acl='public-read')\r\n```\r\n\r\n\r\nTraceback:\r\n```pytb\r\nInternal Server Error: /admin/redacted/contact/9/ (/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/core/handlers/base.py:256)\r\nTraceback (most recent call last):\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/core/handlers/base.py\", line 132, in get_response\r\n    response = wrapped_callback(request, *callback_args, **callback_kwargs)\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/contrib/admin/options.py\", line 616, in wrapper\r\n    return self.admin_site.admin_view(view)(*args, **kwargs)\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/utils/decorators.py\", line 110, in _wrapped_view\r\n    response = view_func(request, *args, **kwargs)\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/views/decorators/cache.py\", line 57, in _wrapped_view_func\r\n    response = view_func(request, *args, **kwargs)\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/contrib/admin/sites.py\", line 233, in inner\r\n    return view(request, *args, **kwargs)\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/contrib/admin/options.py\", line 1519, in change_view\r\n    return self.changeform_view(request, object_id, form_url, extra_context)\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/utils/decorators.py\", line 34, in _wrapper\r\n    return bound_func(*args, **kwargs)\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/utils/decorators.py\", line 110, in _wrapped_view\r\n    response = view_func(request, *args, **kwargs)\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/utils/decorators.py\", line 30, in bound_func\r\n    return func.__get__(self, type(self))(*args2, **kwargs2)\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/utils/decorators.py\", line 145, in inner\r\n    return func(*args, **kwargs)\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/contrib/admin/options.py\", line 1467, in changeform_view\r\n    self.save_model(request, new_object, form, not add)\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/contrib/admin/options.py\", line 1078, in save_model\r\n    obj.save()\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/db/models/base.py\", line 710, in save\r\n    force_update=force_update, update_fields=update_fields)\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/db/models/base.py\", line 738, in save_base\r\n    updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/db/models/base.py\", line 800, in _save_table\r\n    for f in non_pks]\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/db/models/fields/files.py\", line 315, in pre_save\r\n    file.save(file.name, file, save=False)\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/db/models/fields/files.py\", line 90, in save\r\n    name = self.field.generate_filename(self.instance, name)\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/db/models/fields/files.py\", line 329, in generate_filename\r\n    return os.path.join(self.get_directory_name(), self.get_filename(filename))\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/db/models/fields/files.py\", line 326, in get_filename\r\n    return os.path.normpath(self.storage.get_valid_name(os.path.basename(filename)))\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/utils/functional.py\", line 226, in inner\r\n    self._setup()\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/core/files/storage.py\", line 334, in _setup\r\n    self._wrapped = get_storage_class()()\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/core/files/storage.py\", line 329, in get_storage_class\r\n    return import_string(import_path or settings.DEFAULT_FILE_STORAGE)\r\n  File \"/base/data/home/apps/s~redacted-dev/1.390553172522402276/sitepackages/django/utils/module_loading.py\", line 21, in import_string\r\n    module_path, class_name = dotted_path.rsplit('.', 1)\r\nAttributeError: 'CloudStorage' object has no attribute 'rsplit'\r\n```"},"comment":{"url":"https://api.github.com/repos/potatolondon/djangae/issues/comments/181814830","html_url":"https://github.com/potatolondon/djangae/issues/577#issuecomment-181814830","issue_url":"https://api.github.com/repos/potatolondon/djangae/issues/577","id":181814830,"user":{"login":"Stealthii","id":998920,"avatar_url":"https://avatars.githubusercontent.com/u/998920?v=3","gravatar_id":"","url":"https://api.github.com/users/Stealthii","html_url":"https://github.com/Stealthii","followers_url":"https://api.github.com/users/Stealthii/followers","following_url":"https://api.github.com/users/Stealthii/following{/other_user}","gists_url":"https://api.github.com/users/Stealthii/gists{/gist_id}","starred_url":"https://api.github.com/users/Stealthii/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Stealthii/subscriptions","organizations_url":"https://api.github.com/users/Stealthii/orgs","repos_url":"https://api.github.com/users/Stealthii/repos","events_url":"https://api.github.com/users/Stealthii/events{/privacy}","received_events_url":"https://api.github.com/users/Stealthii/received_events","type":"User","site_admin":false},"created_at":"2016-02-09T10:55:06Z","updated_at":"2016-02-09T10:55:06Z","body":"Closing this as it was an incorrect definition, and raising a separate issue on CloudStorage issues."}}