Пример #1
0
 def _createResourceId(self, fileShortName):
     fileShortName = sanitizeFileName(fileShortName)
     if not os.path.exists( self._getStorePath(fileShortName) ):
         return fileShortName
     (name, ext) = os.path.splitext(fileShortName)
     # ext include "." (dot)
     if not ext:
         ext = u"" #$NON-NLS-1$
     count = 1
     while count < 10000:
         fileShortName = u"%s_%04d%s" % (name, count, ext) #$NON-NLS-1$
         if not os.path.exists( self._getStorePath(fileShortName) ):
             return fileShortName
         count = count + 1
     # filename on numbering failed. used guids
     fileShortName = u"%s_%s%s" % (name, generate(), ext) #$NON-NLS-1$
     return fileShortName
Пример #2
0
 def _createResourceId(self, fileShortName):
     fileShortName = sanitizeFileName(fileShortName)
     if not os.path.exists(self._getStorePath(fileShortName)):
         return fileShortName
     (name, ext) = os.path.splitext(fileShortName)
     # ext include "." (dot)
     if not ext:
         ext = u""  #$NON-NLS-1$
     count = 1
     while count < 10000:
         fileShortName = u"%s_%04d%s" % (name, count, ext)  #$NON-NLS-1$
         if not os.path.exists(self._getStorePath(fileShortName)):
             return fileShortName
         count = count + 1
     # filename on numbering failed. used guids
     fileShortName = u"%s_%s%s" % (name, generate(), ext)  #$NON-NLS-1$
     return fileShortName
Пример #3
0
def send_data(v_vars, v_files, boundary, sock=None):
    l = 0
    for (k, v) in v_vars:
        buffer = u''  #$NON-NLS-1$
        buffer += u'--%s\r\n' % boundary  #$NON-NLS-1$
        buffer += u'Content-Disposition: form-data; name="%s"\r\n' % k  #$NON-NLS-1$
        buffer += u'\r\n'  #$NON-NLS-1$
        buffer += v + u'\r\n'  #$NON-NLS-1$
        if sock:
            sock.send(buffer)
        l += len(buffer)
    for (k, v) in v_files:
        fd = v
        file_size = os.fstat(fd.fileno())[stat.ST_SIZE]
        name = fd.name
        name = os.path.basename(name)
        name = sanitizeFileName(name)
        buffer = u''  #$NON-NLS-1$
        buffer += u'--%s\r\n' % boundary  #$NON-NLS-1$
        buffer += u'Content-Disposition: form-data; name="%s"; filename="%s"\r\n' % (
            k, name)  #$NON-NLS-1$
        buffer += u'Content-Type: %s\r\n' % get_content_type(
            name)  #$NON-NLS-1$
        buffer += u'Content-Length: %s\r\n' % file_size  #$NON-NLS-1$
        buffer += u'\r\n'  #$NON-NLS-1$

        l += len(buffer)
        if sock:
            sock.send(buffer)
            if hasattr(fd, u'seek'):  #$NON-NLS-1$
                fd.seek(0)
            while True:
                chunk = fd.read(CHUNK_SIZE)
                if not chunk: break
                sock.send(chunk)
            sock.send(u'\r\n')  #$NON-NLS-1$
        l += file_size + 2  # +2 = account for trailing \r\n
    buffer = u''  #$NON-NLS-1$
    buffer += u'--%s--\r\n' % boundary  #$NON-NLS-1$
    buffer += u'\r\n'  #$NON-NLS-1$
    if sock:
        sock.send(buffer)
    l += len(buffer)
    return l
Пример #4
0
def send_data(v_vars, v_files, boundary, sock=None):
    l = 0
    for (k, v) in v_vars:
        buffer=u'' #$NON-NLS-1$
        buffer += u'--%s\r\n' % boundary #$NON-NLS-1$
        buffer += u'Content-Disposition: form-data; name="%s"\r\n' % k #$NON-NLS-1$
        buffer += u'\r\n' #$NON-NLS-1$
        buffer += v + u'\r\n' #$NON-NLS-1$
        if sock:
            sock.send(buffer)
        l += len(buffer)
    for (k, v) in v_files:
        fd = v
        file_size = os.fstat(fd.fileno())[stat.ST_SIZE]
        name = fd.name
        name = os.path.basename(name)
        name = sanitizeFileName(name)
        buffer=u'' #$NON-NLS-1$
        buffer += u'--%s\r\n' % boundary #$NON-NLS-1$
        buffer += u'Content-Disposition: form-data; name="%s"; filename="%s"\r\n' % (k, name) #$NON-NLS-1$
        buffer += u'Content-Type: %s\r\n' % get_content_type(name) #$NON-NLS-1$
        buffer += u'Content-Length: %s\r\n' % file_size #$NON-NLS-1$
        buffer += u'\r\n' #$NON-NLS-1$

        l += len(buffer)
        if sock:
            sock.send(buffer)
            if hasattr(fd, u'seek'): #$NON-NLS-1$
                fd.seek(0)
            while True:
                chunk = fd.read(CHUNK_SIZE)
                if not chunk: break
                sock.send(chunk)
            sock.send(u'\r\n') #$NON-NLS-1$
        l += file_size + 2  # +2 = account for trailing \r\n
    buffer = u'' #$NON-NLS-1$
    buffer += u'--%s--\r\n' % boundary #$NON-NLS-1$
    buffer += u'\r\n' #$NON-NLS-1$
    if sock:
        sock.send(buffer)
    l += len(buffer)
    return l
Пример #5
0
 def upload(self, fileName, listener = None, bypassRegistry = False):
     if listener is None:
         listener = IZMediaStorageUploadListener()
     uploadResponse = None
     (shortName, filePath, size, timestamp) = getFileMetaData(fileName)
     shortName = sanitizeFileName(shortName)
     listener.onUploadStarted(fileName, size)
     try:
         if not bypassRegistry and self.registry.hasFile(filePath, size, timestamp):
             listener.onUploadChunk(fileName, size)
             uploadResponse = self.registry.getUploadResponse(filePath)
         else:
             metaData = self.registry.getMetaData(filePath)
             uploadResponse = self.provider.uploadFile(shortName, filePath, listener, metaData)
             if uploadResponse is not None:
                 self.registry.addFileEntry(filePath, size, timestamp, uploadResponse)
         listener.onUploadComplete(fileName)
     except Exception, e:
         listener.onUploadFailed(fileName, e)
         listener.onUploadComplete(fileName)
         raise e
Пример #6
0
 def upload(self, fileName, listener=None, bypassRegistry=False):
     if listener is None:
         listener = IZMediaStorageUploadListener()
     uploadResponse = None
     (shortName, filePath, size, timestamp) = getFileMetaData(fileName)
     shortName = sanitizeFileName(shortName)
     listener.onUploadStarted(fileName, size)
     try:
         if not bypassRegistry and self.registry.hasFile(
                 filePath, size, timestamp):
             listener.onUploadChunk(fileName, size)
             uploadResponse = self.registry.getUploadResponse(filePath)
         else:
             metaData = self.registry.getMetaData(filePath)
             uploadResponse = self.provider.uploadFile(
                 shortName, filePath, listener, metaData)
             if uploadResponse is not None:
                 self.registry.addFileEntry(filePath, size, timestamp,
                                            uploadResponse)
         listener.onUploadComplete(fileName)
     except Exception, e:
         listener.onUploadFailed(fileName, e)
         listener.onUploadComplete(fileName)
         raise e