def uploader(request): """Quick Uploader server-side support. Responds to a POST request with the file uploaded as NewFile.""" # extract the command, type and folder path try: resource_type, resource_type_path = \ support.get_resource_type_folder(request) if resource_type is None: # no type specified resource_type_path = '' # determine the actual folder path folder_path = actual_path(settings.FCKEDITOR_CONNECTOR_ROOT, resource_type_path, '') # handle the upload status, filename = actions.file_upload(request, folder_path) # calculate the resulting file URL file_url = actual_url(settings.FCKEDITOR_CONNECTOR_URL, resource_type_path, '', filename) except Exception, e: print e raise e
def browser(request): # extract the command, type and folder path command_name = request.REQUEST.get('Command', None) resource_type, resource_type_path = \ support.get_resource_type_folder(request) folder_path = request.REQUEST.get('CurrentFolder', None) # set the default return values to successful completion err_no = 0 err_txt = 'Successful' xml_response = ElementTree.ElementTree( ElementTree.Element("Connector", {'command':command_name, 'resourceType':resource_type}) ) if None in (command_name, resource_type, folder_path): err_no = 1 err_txt = 'Incomplete command.' else: # construct the response # append current folder information abs_path = actual_path(settings.FCKEDITOR_CONNECTOR_ROOT, resource_type_path, folder_path) abs_url = actual_url(settings.FCKEDITOR_CONNECTOR_URL, resource_type_path, folder_path) xml_response.getroot().append( ElementTree.Element("CurrentFolder", {'path':folder_path, 'url': abs_url, }) ) if (command_name == 'GetFolders'): # append Folder list actions.get_folders(xml_response, abs_path) elif (command_name == 'GetFoldersAndFiles'): # append Folder and list actions.get_folders_and_files(xml_response, abs_path) elif (command_name == 'CreateFolder'): new_folder_name = request.REQUEST.get('NewFolderName', None) if new_folder_name is None: err_no = 102 err_txt = 'Invalid folder name.' else: try: os.mkdir(os.path.join(abs_path, new_folder_name)) except Exception, e: err_no = 110 err_txt = str(e) elif (command_name == 'FileUpload'): status, filename = actions.file_upload(request, abs_path) if int(status) == 201: # upload through the browser requires a conjoined # status and filename if the file was renamed status = "%s, '%s'" % (status, filename) return HttpResponse( """<script type="text/javascript"> window.parent.frames['frmUpload'].OnUploadCompleted(%s) </script>""" % status)