I fixed it in this pull request: https://github.com/edx/edx-platform/pull/15125
On Thursday, 4 May 2017 16:24:10 UTC+2, Maarten de Waard wrote: > > Hi all, > > I'm trying to export all courses, so I can have an automated backup of the > courses my colleagues are making. I've tried running this on ficus.1 on a > manually deployed live stack as well as on ficus.2 on the docker devstack: > > "source /edx/app/edxapp/edxapp_env && \ > > python /edx/app/edxapp/edx-platform/manage.py \ > > cms --settings=devstack_docker export_all_courses > /edx/app/courses/export/" > > > But this leads to > > manage.py export_all_courses: error: unrecognized arguments: /edx/app/ > courses/export/ > > I tried fixing this problem like so: > > class Command(BaseCommand): > > """ > > Export all courses from mongo to the specified data directory and list > the courses which failed to export > """ > > help = 'Export all courses from mongo to the specified data directory > and list the courses which failed to export' > > > def add_arguments(self, parser): > > parser.add_argument( > > 'output_path', > > type=str, > > help="output path for the course export") > > > > def handle(self, *args, **options): > > """ > > Execute the command > > """ > > # if len(args) != 1: > > # raise CommandError("export requires maarten one argument: > <output path>") > > > output_path = options['output_path'] > > courses, failed_export_courses = export_courses_to_output_path( > output_path) > > > print "=" * 80 > > print u"=" * 30 + u"> Export summary" > > print u"Total number of courses to export: {0}".format(len(courses > )) > print u"Total number of courses which failed to export: {0}". > format(len(failed_export_courses)) > print u"List of export failed courses ids:" > > print u"\n".join(failed_export_courses) > > print "=" * 80 > > But now I have a new error! > > Traceback (most recent call last): > File "/edx/app/edxapp/edx-platform/manage.py", line 116, in <module> > execute_from_command_line([sys.argv[0]] + django_args) > File > "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/__init__.py" > , line 354, in execute_from_command_line > utility.execute() > File > "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/__init__.py" > , line 346, in execute > self.fetch_command(subcommand).run_from_argv(self.argv) > File > "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/base.py" > , line 394, in run_from_argv > self.execute(*args, **cmd_options) > File > "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/base.py" > , line 445, in execute > output = self.handle(*args, **options) > File > "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/management/commands/export_all_courses.py" > , line 30, in handle > courses, failed_export_courses = export_courses_to_output_path( > output_path) > File > "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/management/commands/export_all_courses.py" > , line 48, in export_courses_to_output_path > courses = module_store.get_courses() > File > "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/mixed.py" > , line 90, in inner > retval = func(field_decorator=strip_key_collection, *args, **kwargs) > File > "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/mixed.py" > , line 322, in get_courses > course_id = self._clean_locator_for_mapping(course.id) > AttributeError: 'HiddenDescriptorWithMixins' object has no attribute 'id' > > > > > Any ideas? Did this work at some point and is it broken, or is it just me? > -- You received this message because you are subscribed to the Google Groups "General Open edX discussion" group. To view this discussion on the web visit https://groups.google.com/d/msgid/edx-code/bf865432-cb50-4b40-9535-f75f439e5c14%40googlegroups.com.