Selaa lähdekoodia

兼容python3 修改

已在 python3.4 + django1.8 上测试过,可以正常使用,只是上传图片一直失败。

Revert "Revert "兼容Python3改进""

This reverts commit
f612eeb776320a73b5cb7d40de64e7e323fbde27.

Revert "兼容Python3改进"

This reverts commit
39742666ce8ea9987be7f062f71e0a802f8ee27a.
xinyvz 10 vuotta sitten
vanhempi
sitoutus
61785d9d00

BIN
DjangoUeditor/__pycache__/__init__.cpython-34.pyc


BIN
DjangoUeditor/__pycache__/commands.cpython-34.pyc


BIN
DjangoUeditor/__pycache__/models.cpython-34.pyc


BIN
DjangoUeditor/__pycache__/settings.cpython-34.pyc


BIN
DjangoUeditor/__pycache__/urls.cpython-34.pyc


BIN
DjangoUeditor/__pycache__/views.cpython-34.pyc


BIN
DjangoUeditor/__pycache__/widgets.cpython-34.pyc


+ 1 - 1
DjangoUeditor/commands.py

@@ -1,6 +1,6 @@
 # coding:utf-8
 import urllib
-import settings as USettings
+import DjangoUeditor.settings as USettings
 
 
 class UEditorEventHandler(object):

+ 1 - 1
DjangoUeditor/models.py

@@ -1,7 +1,7 @@
 #coding: utf-8
 from django.db import models
 from django.contrib.admin import widgets as admin_widgets
-from widgets import UEditorWidget,AdminUEditorWidget
+from .widgets import UEditorWidget,AdminUEditorWidget
 
 
 class UEditorField(models.TextField):

+ 2 - 2
DjangoUeditor/settings.py

@@ -94,8 +94,8 @@ UEditorUploadSettings={
 #更新配置:从用户配置文件settings.py重新读入配置UEDITOR_SETTINGS,覆盖默认
 def UpdateUserSettings():
     UserSettings=getattr(gSettings,"UEDITOR_SETTINGS",{}).copy()
-    if UserSettings.has_key("config"):UEditorSettings.update(UserSettings["config"])
-    if UserSettings.has_key("upload"):UEditorUploadSettings.update(UserSettings["upload"])
+    if "config" in UserSettings: UEditorSettings.update(UserSettings["config"])
+    if "upload" in UserSettings: UEditorUploadSettings.update(UserSettings["upload"])
 
 #读取用户Settings文件并覆盖默认配置
 UpdateUserSettings()

+ 1 - 1
DjangoUeditor/urls.py

@@ -5,7 +5,7 @@ if VERSION[0:2]>(1,3):
 else:
     from django.conf.urls.defaults import patterns, url
 
-from views import get_ueditor_controller
+from .views import get_ueditor_controller
 
 urlpatterns = patterns('',
     url(r'^controller/$',get_ueditor_controller)

+ 15 - 8
DjangoUeditor/views.py

@@ -1,10 +1,12 @@
 #coding:utf-8
+from importlib import import_module
 from django.http import HttpResponse
-import settings as USettings
+import DjangoUeditor.settings as USettings
 import os
 import json
 from django.views.decorators.csrf import csrf_exempt
-import datetime,random
+from datetime import datetime
+import random
 import urllib
 
 def get_path_format_vars():
@@ -24,7 +26,7 @@ def save_upload_file(PostFile,FilePath):
         f = open(FilePath, 'wb')
         for chunk in PostFile.chunks():
             f.write(chunk)
-    except Exception,E:
+    except Exception as E:
         f.close()
         return u"写入文件错误:"+ E.message
     f.close()
@@ -193,10 +195,15 @@ def UploadFile(request):
     #所有检测完成后写入文件
     if state=="SUCCESS":
         if action=="uploadscrawl":
-            state=save_scrawl_file(request,os.path.join(OutputPath,OutputFile))
+            state=save_scrawl_file(request, os.path.join(OutputPath,OutputFile))
         else:
             #保存到文件中,如果保存错误,需要返回ERROR
-            state=save_upload_file(file,os.path.join(OutputPath,OutputFile))
+            upload_module_name = USettings.UEditorUploadSettings.get("upload_module", None)
+            if upload_module_name:
+                mod = import_module(upload_module_name)
+                state = mod.upload(file, OutputPathFormat)
+            else:
+                state = save_upload_file(file, os.path.join(OutputPath, OutputFile))
 
     #返回数据
     return_info = {
@@ -248,9 +255,9 @@ def catcher_remote_image(request):
                     f.write(remote_image.read())
                     f.close()
                     state="SUCCESS"
-                except Exception,E:
+                except Exception as E:
                     state=u"写入抓取图片文件错误:%s" % E.message
-            except Exception,E:
+            except Exception as E:
                 state=u"抓取图片错误:%s" % E.message
 
             catcher_infos.append({
@@ -293,7 +300,7 @@ def save_scrawl_file(request,filename):
         f.write(base64.decodestring(content))
         f.close()
         state="SUCCESS"
-    except Exception,E:
+    except Exception as E:
         state="写入图片文件错误:%s" % E.message
     return state
 

+ 5 - 4
DjangoUeditor/widgets.py

@@ -5,8 +5,8 @@ from django.contrib.admin.widgets import AdminTextareaWidget
 from django.template.loader import render_to_string
 from django.utils.safestring import mark_safe
 from django.utils.http import urlencode
-import settings as USettings
-from  commands import *
+import DjangoUeditor.settings as USettings
+from  .commands import *
 
 # 修正输入的文件路径,输入路径的标准格式:abc,不需要前后置的路径符号
 #如果输入的路径参数是一个函数则执行,否则可以拉接受时间格式化,用来生成如file20121208.bmp的重命名格式
@@ -63,10 +63,11 @@ class UEditorWidget(forms.Textarea):
         #以下处理工具栏设置,将normal,mini等模式名称转化为工具栏配置值
         if toolbars == "full":
             del self.ueditor_settings['toolbars']
-        elif isinstance(toolbars, basestring) and toolbars in USettings.TOOLBARS_SETTINGS:
+        elif isinstance(toolbars, str) and toolbars in USettings.TOOLBARS_SETTINGS:
             self.ueditor_settings["toolbars"]=USettings.TOOLBARS_SETTINGS[toolbars]
         else:
-            raise ValueError('toolbars should be a string defined in DjangoUeditor.settings.TOOLBARS_SETTINGS, options are full(default), besttome, mini and normal!')
+            self.ueditor_settings["toolbars"] = toolbars
+            # raise ValueError('toolbars should be a string defined in DjangoUeditor.settings.TOOLBARS_SETTINGS, options are full(default), besttome, mini and normal!')
         self.ueditor_settings.update(settings)
         super(UEditorWidget, self).__init__(attrs)