Exemple #1
0
def process_uploaded_files(files, user):
    gateway      = _init_processor()[0]
    logging.debug(str(gateway))

    # pick all files that are send in this API
    # support sending multiple files in a single request
    for key, the_file in files.iteritems():
        content_type = the_file.content_type

        if content_type == 'application/octet-stream':
            content_type = guess_mime_type(the_file.name)

        asset_class  = models.manager(models.AssetClass).get(
                                            name = models.AssetClass.UPLOAD)

        if not asset_class.has_consumers(content_type):
            raise HttpRequestValidationError(
                'Unsupported content type: %s' % content_type)

        upload = operations.create_asset_from_stream(
            data_stream  = StringIO(the_file.read()),
            owner        = user,
            producer     = gateway,
            asset_class  = models.AssetClass.UPLOAD,
            file_name    = the_file.name,
            child_number = 0,
            mime_type    = content_type)

        operations.publish_work_item(upload)
Exemple #2
0
def create_asset_from_file(file_name, **kwargs):
    """ Create a page view work item on the output channel (given by name)
        from the contents of the file denoted by path.

    """
    kwargs = kwargs.copy()
    kwargs.setdefault('orig_file_name', os.path.basename(file_name))
    kwargs.setdefault('mime_type', misc.guess_mime_type(file_name))

    logging.info(kwargs)

    asset = manager(Asset).create(**kwargs)
    upload_asset_file(asset, file_name)

    return asset
Exemple #3
0
def create_asset_from_file( file_name, **kwargs ):

    """ Create a page view work item on the output channel (given by name)
        from the contents of the file denoted by path.

    """
    kwargs = kwargs.copy()
    kwargs.setdefault('orig_file_name', os.path.basename(file_name))
    kwargs.setdefault('mime_type', misc.guess_mime_type(file_name))

    logging.info(kwargs)
    
    asset = manager(Asset).create(**kwargs)
    upload_asset_file( asset, file_name)

    return asset