wimleers / fileconveyor

File Conveyor is a daemon written in Python to detect, process and sync files. In particular, it's designed to sync files to CDNs. Amazon S3 and Rackspace Cloud Files, as well as any Origin Pull or (S)FTP Push CDN, are supported. Originally written for my bachelor thesis at Hasselt University in Belgium.
https://wimleers.com/fileconveyor
The Unlicense
341 stars 95 forks source link

Could not start transporter 'cf'. Error: '__init__() takes at most 3 arguments (7 given) #153

Open dwatts3624 opened 10 years ago

dwatts3624 commented 10 years ago

I'm getting the following error when trying to run python arbitrator.py.

Running the lastest version, installed via pip running Python 2.7.3 and Django 1.5.4.

2013-09-15 16:59:35,796 - Arbitrator - ERROR - Could not start transporter 'cf'. Error: 'init() takes at most 3 arguments (7 given)'. 2013-09-15 16:59:35,797 - Arbitrator - ERROR - Could not start transporter 's3'. Error: 'init() takes at most 3 arguments (7 given)'. 2013-09-15 16:59:35,797 - Arbitrator - ERROR - Server connection tests: could not connect with 2 servers.

Thanks, in advance, for any help here.

wimleers commented 10 years ago

Hrm. Something seems seriously broken there :( I don't have time to dig in further though. If you can do some debugging yourself first, I might be able to help you.

raymondlai commented 10 years ago

I have the same issue with the s3 transporter.

What i is discovered was that the exception was raised in transport_s3.py 31 self.storage = S3BotoStorage( 32 self.settings["bucket_name"].encode('utf-8'), 33 self.settings["access_key_id"].encode('utf-8'), 34 self.settings["secret_access_key"].encode('utf-8'), 35 "public-read", 36 "public-read", 37 self.class.headers 38 )

the init function parameters of S3BotoStorage was changed in this revision https://bitbucket.org/david/django-storages/diff/storages/backends/s3boto.py?diff2=02b9d8304c93&at=default

so i suspect the the code doesn't work with recent versions of django-storages anymore?

adityamukho commented 10 years ago

Replace the offending class instantiation with the following:

self.storage = S3BotoStorage(
    settings=self.settings
)
aftabnaveed commented 9 years ago

@adityamukho but that won't pass the S3 credentials and bucket information, I tried that and it worked, but it won't pass the credentials.

levmyshkin commented 7 years ago

I downgraded django-storages and Django, it helped me: sudo pip uninstall django-storages sudo pip install django-storages==1.1.5 sudo pip install Django==1.6.10