PydPiper / pylightxl

A light weight, zero dependency, minimal functionality excel read/writer python library
https://pylightxl.readthedocs.io
MIT License
303 stars 47 forks source link

RecursionError: maximum recursion depth exceeded while calling a Python object #46

Closed AmrKhaledNowahy closed 3 years ago

AmrKhaledNowahy commented 3 years ago

Pylightxl Version: 1.55 Python Version: 3.8

Summary of Bug/Feature: Throws RecursionError: maximum recursion depth exceeded while calling a Python object

Traceback: j5a2q [2021-06-06 17:51:48,991] [ERROR] file_upload_views.post : FileUpload exception. j5a2q Traceback (most recent call last): j5a2q File "/home/app/web/api/all_views/file_upload_views.py", line 72, in post j5a2q file_object = File.objects.create(data) j5a2q File "/usr/local/lib/python3.8/site-packages/django/db/models/manager.py", line 82, in manager_method j5a2q return getattr(self.get_queryset(), name)(*args, *kwargs) j5a2q File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 433, in create j5a2q obj.save(force_insert=True, using=self.db) j5a2q File "/usr/local/lib/python3.8/site-packages/django/db/models/base.py", line 748, in save j5a2q self.save_base(using=using, force_insert=force_insert, j5a2q File "/usr/local/lib/python3.8/site-packages/django/db/models/base.py", line 785, in save_base j5a2q updated = self._save_table( j5a2q File "/usr/local/lib/python3.8/site-packages/django/db/models/base.py", line 890, in _save_table j5a2q results = self._do_insert(cls._base_manager, using, fields, returning_fields, raw) j5a2q File "/usr/local/lib/python3.8/site-packages/django/db/models/base.py", line 927, in _do_insert j5a2q return manager._insert( j5a2q File "/usr/local/lib/python3.8/site-packages/django/db/models/manager.py", line 82, in manager_method j5a2q return getattr(self.get_queryset(), name)(args, kwargs) j5a2q File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 1204, in _insert j5a2q return query.get_compiler(using=using).execute_sql(returning_fields) j5a2q File "/usr/local/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1393, in execute_sql j5a2q for sql, params in self.as_sql(): j5a2q File "/usr/local/lib/python3.8/site-packages/sql_server/pyodbc/compiler.py", line 434, in as_sql j5a2q value_rows = [ j5a2q File "/usr/local/lib/python3.8/site-packages/sql_server/pyodbc/compiler.py", line 435, in j5a2q [self.prepare_value(field, self.pre_save_val(field, obj)) for field in fields] j5a2q File "/usr/local/lib/python3.8/site-packages/sql_server/pyodbc/compiler.py", line 435, in j5a2q [self.prepare_value(field, self.pre_save_val(field, obj)) for field in fields] j5a2q File "/usr/local/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1288, in pre_save_val j5a2q return field.pre_save(obj, add=True) j5a2q File "/usr/local/lib/python3.8/site-packages/django/db/models/fields/files.py", line 288, in pre_save j5a2q file.save(file.name, file.file, save=False) j5a2q File "/usr/local/lib/python3.8/site-packages/django/db/models/fields/files.py", line 87, in save j5a2q self.name = self.storage.save(name, content, max_length=self.field.max_length) j5a2q File "/usr/local/lib/python3.8/site-packages/django/core/files/storage.py", line 52, in save j5a2q return self._save(name, content) j5a2q File "/usr/local/lib/python3.8/site-packages/storages/backends/sftpstorage.py", line 130, in _save j5a2q self._mkdir(dirname) j5a2q File "/usr/local/lib/python3.8/site-packages/storages/backends/sftpstorage.py", line 115, in _mkdir j5a2q self._mkdir(parent) j5a2q File "/usr/local/lib/python3.8/site-packages/storages/backends/sftpstorage.py", line 115, in _mkdir j5a2q self._mkdir(parent) j5a2q File "/usr/local/lib/python3.8/site-packages/storages/backends/sftpstorage.py", line 115, in _mkdir j5a2q self._mkdir(parent) j5a2q [Previous line repeated 904 more times] j5a2q File "/usr/local/lib/python3.8/site-packages/storages/backends/sftpstorage.py", line 114, in _mkdir j5a2q if not self.exists(parent): j5a2q File "/usr/local/lib/python3.8/site-packages/storages/backends/sftpstorage.py", line 151, in exists j5a2q self.sftp.stat(self._remote_path(name)) j5a2q File "/usr/local/lib/python3.8/site-packages/storages/backends/sftpstorage.py", line 87, in sftp j5a2q self._connect() j5a2q File "/usr/local/lib/python3.8/site-packages/storages/backends/sftpstorage.py", line 67, in _connect j5a2q self._ssh.connect(self._host, *self._params) j5a2q File "/usr/local/lib/python3.8/site-packages/paramiko/client.py", line 340, in connect j5a2q to_try = list(self._families_and_addresses(hostname, port)) j5a2q File "/usr/local/lib/python3.8/site-packages/paramiko/client.py", line 203, in _families_and_addresses j5a2q addrinfos = socket.getaddrinfo( j5a2q File "/usr/local/lib/python3.8/site-packages/gevent/_socketcommon.py", line 247, in getaddrinfo j5a2q addrlist = get_hub().resolver.getaddrinfo(host, port, family, type, proto, flags) j5a2q File "/usr/local/lib/python3.8/site-packages/gevent/resolver/thread.py", line 63, in getaddrinfo j5a2q return self.pool.apply(_socket.getaddrinfo, args, kwargs) j5a2q File "/usr/local/lib/python3.8/site-packages/gevent/pool.py", line 161, in apply j5a2q return self.spawn(func, args, **kwds).get() j5a2q File "src/gevent/event.py", line 329, in gevent._gevent_cevent.AsyncResult.get j5a2q File "src/gevent/event.py", line 359, in gevent._gevent_cevent.AsyncResult.get j5a2q File "src/gevent/event.py", line 347, in gevent._gevent_cevent.AsyncResult.get j5a2q File "src/gevent/event.py", line 327, in gevent._gevent_cevent.AsyncResult._raise_exception j5a2q File "src/gevent/event.py", line 272, in gevent.gevent_cevent.AsyncResult.excinfo.get j5a2q File "/usr/local/lib/python3.8/site-packages/gevent/_tblib.py", line 415, in g j5a2q return f(a) j5a2q File "/usr/local/lib/python3.8/site-packages/gevent/_tblib.py", line 476, in load_traceback j5a2q return loads(s) j5a2q File "/usr/local/lib/python3.8/site-packages/gevent/tblib.py", line 149, in _init j5a2q self.co_filename = code.co_filename j5a2q File "/usr/local/lib/python3.8/site-packages/gevent/tblib.py", line 133, in _getattr j5a2q return self[name] j5a2q RecursionError: maximum recursion depth exceeded while calling a Python object

PydPiper commented 3 years ago

Hi @AmrKhaledNowahy Thank you for considering using pylightxl. We’ll take a look at this issue this week. Thanks for posting it.

PydPiper commented 3 years ago

@AmrKhaledNowahy sorry but it is unclear as to where pylightxl has an issue in your Traceback. Can you help us better understand how this error came about?

PydPiper commented 3 years ago

closing for now due to inactivity