Esempio n. 1
0
def add_sample_file(community, i):
    files = community['files']

    title = generate_title('SampleF')
    log.info('adding file %s', title)

    filename = get_sample_filename(subdir='samplefiles')
    stream = open(filename, 'rb')

    class FakeFieldStorage:
        pass
    filename = 'sample%d-%s' % (i, os.path.basename(filename))
    mimetype, _ = mimetypes.guess_type(filename)
    fs = SchemaFile(stream, filename, mimetype)

    request = testing.DummyRequest()
    request.environ.update(DEFAULT_ENV)
    request.POST = FauxPost(request.POST)

    converted = {}
    converted['title'] = title
    converted['file'] = fs
    converted['security_state'] = 'inherits'
    converted['tags'] = ['sample']

    controller = AddFileFormController(files, request)
    response  = controller.handle_submit(converted)
    file = _parse_add_response(request, response, files)

    stream.close()

    return file
Esempio n. 2
0
 def _makeOne(self, context, request, check_upload_size=None):
     from karl.content.views.files import AddFileFormController
     controller = AddFileFormController(context, request)
     if check_upload_size is not None:
         controller.check_upload_size = check_upload_size
     return controller