Page MenuHomeSoftware Heritage

No OneTemporary

diff --git a/api/server.py b/api/server.py
index 16a672b..968ef46 100644
--- a/api/server.py
+++ b/api/server.py
@@ -1,96 +1,97 @@
# Copyright (C) 2015 The Software Heritage developers
# See the AUTHORS file at the top-level directory of this distribution
# License: GNU General Public License version 3, or any later version
# See top-level LICENSE file for more information
import click
import logging
from flask import Flask, g, request
from swh.core import config
-from swh.storage.objstorage import ObjStorage
+from swh.storage.objstorage import PathSlicingObjStorage
from swh.storage.api.common import (BytesRequest, decode_request,
error_handler,
encode_data_server as encode_data)
DEFAULT_CONFIG = {
'storage_base': ('str', '/tmp/swh-storage/objects/'),
'storage_depth': ('int', 3)
}
app = Flask(__name__)
app.request_class = BytesRequest
@app.errorhandler(Exception)
def my_error_handler(exception):
return error_handler(exception, encode_data)
@app.before_request
def before_request():
- g.objstorage = ObjStorage(app.config['storage_base'],
- app.config['storage_depth'])
+ g.objstorage = PathSlicingObjStorage(app.config['storage_base'],
+ app.config['storage_depth'],
+ slicing=2)
@app.route('/')
def index():
return "SWH Objstorage API server"
@app.route('/content')
def content():
return str(list(g.storage))
@app.route('/content/add', methods=['POST'])
def add_bytes():
- return encode_data(g.objstorage.add_bytes(**decode_request(request)))
+ return encode_data(g.objstorage.add(**decode_request(request)))
@app.route('/content/get', methods=['POST'])
def get_bytes():
- return encode_data(g.objstorage.get_bytes(**decode_request(request)))
+ return encode_data(g.objstorage.get(**decode_request(request)))
@app.route('/content/get/random', methods=['POST'])
def get_random_contents():
return encode_data(
- g.objstorage.get_random_contents(**decode_request(request))
+ g.objstorage.get_random(**decode_request(request))
)
@app.route('/content/check', methods=['POST'])
def check():
return encode_data(g.objstorage.check(**decode_request(request)))
def run_from_webserver(environ, start_response):
"""Run the WSGI app from the webserver, loading the configuration.
"""
config_path = '/etc/softwareheritage/storage/objstorage.ini'
app.config.update(config.read(config_path, DEFAULT_CONFIG))
handler = logging.StreamHandler()
app.logger.addHandler(handler)
return app(environ, start_response)
@click.command()
@click.argument('config-path', required=1)
@click.option('--host', default='0.0.0.0', help="Host to run the server")
@click.option('--port', default=5000, type=click.INT,
help="Binding port of the server")
@click.option('--debug/--nodebug', default=True,
help="Indicates if the server should run in debug mode")
def launch(config_path, host, port, debug):
app.config.update(config.read(config_path, DEFAULT_CONFIG))
app.run(host, port=int(port), debug=bool(debug))
if __name__ == '__main__':
launch()

File Metadata

Mime Type
text/x-diff
Expires
Fri, Jul 4, 11:06 AM (3 w, 6 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3281465

Event Timeline