瀏覽代碼

[Django 3.0] ImportError: cannot import name 'curry' from 'django.utils.functional'

ayush.goyal 4 年之前
父節點
當前提交
4f5058548c
共有 3 個文件被更改,包括 10 次插入10 次删除
  1. 3 3
      apps/filebrowser/src/filebrowser/views.py
  2. 2 2
      apps/oozie/src/oozie/forms.py
  3. 5 5
      apps/oozie/src/oozie/views/editor.py

+ 3 - 3
apps/filebrowser/src/filebrowser/views.py

@@ -41,7 +41,7 @@ from django.http import Http404, StreamingHttpResponse, HttpResponseNotModified,
 from django.views.decorators.http import require_http_methods
 from django.views.static import was_modified_since
 from django.shortcuts import redirect
-from django.utils.functional import curry
+from functools import partial
 from django.utils.http import http_date
 from django.utils.html import escape
 from django.utils.translation import ugettext as _
@@ -1273,7 +1273,7 @@ def chmod(request):
                "other_read", "other_write", "other_execute"]
   params = ["path"]
   def bulk_chmod(*args, **kwargs):
-    op = curry(request.fs.chmod, recursive=request.POST.get('recursive', False))
+    op = partial(request.fs.chmod, recursive=request.POST.get('recursive', False))
     for arg in args:
       op(urllib_unquote(arg['path']), arg['mode'])
   # mode here is abused: on input, it's a string, but when retrieved,
@@ -1298,7 +1298,7 @@ def chown(request):
   recurring = ["user", "group", "user_other", "group_other"]
   params = ["path"]
   def bulk_chown(*args, **kwargs):
-    op = curry(request.fs.chown, recursive=request.POST.get('recursive', False))
+    op = partial(request.fs.chown, recursive=request.POST.get('recursive', False))
     for arg in args:
       varg = [urllib_unquote(arg[param]) for param in param_names]
       op(*varg)

+ 2 - 2
apps/oozie/src/oozie/forms.py

@@ -23,7 +23,7 @@ from time import mktime, struct_time
 from django import forms
 from django.core.exceptions import ValidationError
 from django.forms.widgets import TextInput
-from django.utils.functional import curry
+from functools import partial
 from django.utils.translation import ugettext_lazy as _t
 
 from desktop.lib.django_forms import MultiForm, SplitDateTimeWidget
@@ -574,7 +574,7 @@ def design_form_by_type(node_type, user, workflow):
   klass_form = _node_type_TO_FORM_CLS[node_type]
 
   if node_type == 'subworkflow':
-    klass_form = curry(klass_form, user=user, workflow=workflow)
+    klass_form = partial(klass_form, user=user, workflow=workflow)
 
   return klass_form
 

+ 5 - 5
apps/oozie/src/oozie/views/editor.py

@@ -28,7 +28,7 @@ from django.forms.models import inlineformset_factory
 from django.http import HttpResponse
 from django.shortcuts import redirect
 from django.template.defaultfilters import strip_tags
-from django.utils.functional import curry
+from functools import partial
 from django.utils.http import http_date
 from django.utils.translation import ugettext as _, activate as activate_translation
 
@@ -475,17 +475,17 @@ def edit_coordinator(request, coordinator):
 
   DatasetFormSet = inlineformset_factory(Coordinator, Dataset, form=DatasetForm, max_num=0, can_order=False, can_delete=True)
   DataInputFormSet = inlineformset_factory(Coordinator, DataInput, form=DataInputForm, max_num=0, can_order=False, can_delete=True)
-  DataInputFormSet.form = staticmethod(curry(DataInputForm, coordinator=coordinator))
+  DataInputFormSet.form = staticmethod(partial(DataInputForm, coordinator=coordinator))
   DataOutputFormSet = inlineformset_factory(Coordinator, DataOutput, form=DataOutputForm, max_num=0, can_order=False, can_delete=True)
-  DataOutputFormSet.form = staticmethod(curry(DataOutputForm, coordinator=coordinator))
+  DataOutputFormSet.form = staticmethod(partial(DataOutputForm, coordinator=coordinator))
 
   dataset = Dataset(coordinator=coordinator)
   dataset_form = DatasetForm(instance=dataset, prefix='create')
 
   NewDataInputFormSet = inlineformset_factory(Coordinator, DataInput, form=DataInputForm, extra=0, can_order=False, can_delete=False)
-  NewDataInputFormSet.form = staticmethod(curry(DataInputForm, coordinator=coordinator))
+  NewDataInputFormSet.form = staticmethod(partial(DataInputForm, coordinator=coordinator))
   NewDataOutputFormSet = inlineformset_factory(Coordinator, DataOutput, form=DataOutputForm, extra=0, can_order=False, can_delete=False)
-  NewDataOutputFormSet.form = staticmethod(curry(DataOutputForm, coordinator=coordinator))
+  NewDataOutputFormSet.form = staticmethod(partial(DataOutputForm, coordinator=coordinator))
 
   enable_cron_scheduling = ENABLE_CRON_SCHEDULING.get()