[GH-ISSUE #1483] manage.py modo export fails with 'TypeError: "delimiter" must be string, not bytes' #1166

Closed
opened 2026-02-27 11:15:38 +03:00 by kerem · 0 comments
Owner

Originally created by @altergui on GitHub (May 1, 2018).
Original GitHub issue: https://github.com/modoboa/modoboa/issues/1483

Impacted versions

Steps to reproduce

  1. do a fresh install of modoboa==1.10.5.dev8+gf604aacb on a fresh debian 9.3
  2. log in through web admin and create a test domain (blah.com)
  3. over ssh try doing a cli export
sudo -u <modoboa_user> -i
source <virtualenv_path>/bin/activate
python <virtualenv_path>/instance/manage.py modo export --sepchar , domains
# or the equivalent (gives same result)
python <virtualenv_path>/instance/manage.py modo export domains

Full trace using --debug option or current behaviour

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    execute_from_command_line(sys.argv)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/subcommand/base.py", line 53, in run_from_argv
    return super(SubcommandCommand, self).run_from_argv(argv)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/subcommand/base.py", line 84, in handle
    return command.run_from_argv(argv)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/modoboa/admin/management/commands/subcommands/_export.py", line 64, in handle
    self.csvwriter = csv.writer(sys.stdout, delimiter=options["sepchar"])
  File "/srv/modoboa/env/local/lib/python2.7/site-packages/backports/csv.py", line 185, in __init__
    raise TypeError(*e.args)
TypeError: "delimiter" must be string, not bytes

Expected behavior

a correct export line of the test domain (blah.com)

Additional info (pip freeze)

$ source <virtualenv_path>/bin/activate
(env) $ pip freeze
asn1crypto==0.24.0
backports.csv==1.0.5
bcrypt==3.1.4
caldav==0.5.0
certifi==2018.4.16
cffi==1.11.5
chardet==3.0.4
click==6.7
coreapi==2.3.3
coreapi-cli==1.0.6
coreschema==0.0.4
coverage==4.5.1
cryptography==2.2.2
dj-database-url==0.5.0
Django==1.11.12
django-braces==1.11.0
django-ckeditor==5.2.2
django-filter==1.0.4
django-reversion==2.0.12
django-subcommand2==0.1.1
django-webpack-loader==0.6.0
django-xforwardedfor-middleware==2.0
djangorestframework==3.7.3
dnspython==1.15.0
drf-nested-routers==0.90.2
enum34==1.1.6
feedparser==5.2.1
future==0.16.0
gevent==1.2.2
greenlet==0.4.13
html2text==2018.1.9
icalendar==4.0.1
idna==2.6
ipaddress==1.0.22
itypes==1.1.0
Jinja2==2.10
jsonfield==2.0.2
LEPL==5.1.3
lxml==4.2.1
MarkupSafe==1.0
modoboa==1.10.5.dev8+gf604aacb
modoboa-admin==1.1.2
modoboa-admin-limits==1.0.2
modoboa-admin-relaydomains==1.1.0
modoboa-amavis==1.2.2
modoboa-contacts==0.5.0
modoboa-imap-migration==1.2.0
modoboa-pdfcredentials==1.3.1
modoboa-postfix-autoreply==1.4.1
modoboa-radicale==1.3.2
modoboa-sievefilters==1.4.1
modoboa-stats==1.4.0
modoboa-webmail==1.4.2
nose==1.3.7
passlib==1.7.1
Pillow==5.1.0
pkg-resources==0.0.0
progressbar33==2.4
psycopg2-binary==2.7.4
py-dateutil==2.2
pycparser==2.18
python-dateutil==2.7.2
pytz==2018.4
reportlab==3.4.0
requests==2.18.4
rfc6266==0.0.4
rrdtool==0.1.14
sievelib==1.1.1
six==1.11.0
uritemplate==3.0.0
urllib3==1.22
Originally created by @altergui on GitHub (May 1, 2018). Original GitHub issue: https://github.com/modoboa/modoboa/issues/1483 # Impacted versions * Modoboa: 1.10.5.dev8+gf604aacb * installer used: Yes (with workaround https://github.com/modoboa/modoboa-installer/issues/197#issuecomment-385621392 to install f604aacb) * Webserver: Nginx # Steps to reproduce 1) do a fresh install of modoboa==1.10.5.dev8+gf604aacb on a fresh debian 9.3 2) log in through web admin and create a test domain (blah.com) 3) over ssh try doing a cli export ``` sudo -u <modoboa_user> -i source <virtualenv_path>/bin/activate python <virtualenv_path>/instance/manage.py modo export --sepchar , domains # or the equivalent (gives same result) python <virtualenv_path>/instance/manage.py modo export domains ``` # Full trace using --debug option or current behaviour ``` Traceback (most recent call last): File "manage.py", line 22, in <module> execute_from_command_line(sys.argv) File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line utility.execute() File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 356, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/srv/modoboa/env/local/lib/python2.7/site-packages/subcommand/base.py", line 53, in run_from_argv return super(SubcommandCommand, self).run_from_argv(argv) File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 283, in run_from_argv self.execute(*args, **cmd_options) File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 330, in execute output = self.handle(*args, **options) File "/srv/modoboa/env/local/lib/python2.7/site-packages/subcommand/base.py", line 84, in handle return command.run_from_argv(argv) File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 283, in run_from_argv self.execute(*args, **cmd_options) File "/srv/modoboa/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 330, in execute output = self.handle(*args, **options) File "/srv/modoboa/env/local/lib/python2.7/site-packages/modoboa/admin/management/commands/subcommands/_export.py", line 64, in handle self.csvwriter = csv.writer(sys.stdout, delimiter=options["sepchar"]) File "/srv/modoboa/env/local/lib/python2.7/site-packages/backports/csv.py", line 185, in __init__ raise TypeError(*e.args) TypeError: "delimiter" must be string, not bytes ``` # Expected behavior a correct export line of the test domain (blah.com) # Additional info (pip freeze) ``` $ source <virtualenv_path>/bin/activate (env) $ pip freeze asn1crypto==0.24.0 backports.csv==1.0.5 bcrypt==3.1.4 caldav==0.5.0 certifi==2018.4.16 cffi==1.11.5 chardet==3.0.4 click==6.7 coreapi==2.3.3 coreapi-cli==1.0.6 coreschema==0.0.4 coverage==4.5.1 cryptography==2.2.2 dj-database-url==0.5.0 Django==1.11.12 django-braces==1.11.0 django-ckeditor==5.2.2 django-filter==1.0.4 django-reversion==2.0.12 django-subcommand2==0.1.1 django-webpack-loader==0.6.0 django-xforwardedfor-middleware==2.0 djangorestframework==3.7.3 dnspython==1.15.0 drf-nested-routers==0.90.2 enum34==1.1.6 feedparser==5.2.1 future==0.16.0 gevent==1.2.2 greenlet==0.4.13 html2text==2018.1.9 icalendar==4.0.1 idna==2.6 ipaddress==1.0.22 itypes==1.1.0 Jinja2==2.10 jsonfield==2.0.2 LEPL==5.1.3 lxml==4.2.1 MarkupSafe==1.0 modoboa==1.10.5.dev8+gf604aacb modoboa-admin==1.1.2 modoboa-admin-limits==1.0.2 modoboa-admin-relaydomains==1.1.0 modoboa-amavis==1.2.2 modoboa-contacts==0.5.0 modoboa-imap-migration==1.2.0 modoboa-pdfcredentials==1.3.1 modoboa-postfix-autoreply==1.4.1 modoboa-radicale==1.3.2 modoboa-sievefilters==1.4.1 modoboa-stats==1.4.0 modoboa-webmail==1.4.2 nose==1.3.7 passlib==1.7.1 Pillow==5.1.0 pkg-resources==0.0.0 progressbar33==2.4 psycopg2-binary==2.7.4 py-dateutil==2.2 pycparser==2.18 python-dateutil==2.7.2 pytz==2018.4 reportlab==3.4.0 requests==2.18.4 rfc6266==0.0.4 rrdtool==0.1.14 sievelib==1.1.1 six==1.11.0 uritemplate==3.0.0 urllib3==1.22 ```
kerem 2026-02-27 11:15:38 +03:00
  • closed this issue
  • added the
    bug
    label
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/modoboa-modoboa#1166
No description provided.