Exemple #1
0
def get_schema(context, request):
    """
        Webservice method to get a schema
    """
    schema = request.get('schema', '')
    if not schema:
        return helpers.error('You must give a schema name as parameter: /get_schema?schema=xxx.'
                             'The following schema names are available: %s' % ", ".join(all_schemas.keys()))
    if not schema in all_schemas:
        return helpers.error("The asked schema '%s' doesn't exist" % schema)
    jsonWriter = getUtility(IJSONWriter)
    return helpers.success("Got schema %s" % schema, schema=jsonWriter.write(all_schemas[schema]))
Exemple #2
0
def get_routes(context, request):
    """
        Webservice method to get routes
    """
    routes = [rules.rule for rules in DefaultRouter.url_map.iter_rules() if rules.rule != '/']
    return helpers.success("Available routes: %s" % ', '.join(routes))
Exemple #3
0
        return helpers.error("The configured folder '%s' doesn't exist in Plone" %
                             portal_types[input_params['type']]['folder'],
                             barcode=input_params['barcode'])

    (fo, size) = decodeToFile(input_params['data'], filepath=os.path.join(DATA_DIR, input_params['filename']))

    if input_params['filesize'] != size:
        return helpers.error("The decoded file content has not the original size: %d <> %d"
                             % (size, input_params['filesize']), barcode=input_params['barcode'])

    # preparing data to create object

    class dummy(object):
        def __init__(self, context, request):
            self.context = context
            self.request = request

    fo.seek(0)
    metadata = {
        'id': input_params['barcode'],
        'file_title': input_params['filename'],
        'reception_date': datetime.datetime.combine(scan_date, scan_time),
#        'internal_reference_no': '',
    }
    document_file = NamedBlobFile(fo.read(), filename=input_params['filename'])
    createDocument(dummy(context, request), folder, portal_types[input_params['type']]['pt'], '',
                   document_file, owner=input_params['creator'], metadata=metadata)
    fo.close()

    return helpers.success("Well done", barcode=input_params['barcode'])