Fix whitespace issues in Python files
[demo.git] / vnfs / DAaaS / sample-apps / sample-minio-save-model / build / save-model-to-minio.py
1 #!/usr/bin/env python
2 #
3 # -------------------------------------------------------------------------
4 #   Copyright (c) 2019 Intel Corporation Intellectual Property
5 #
6 #   Licensed under the Apache License, Version 2.0 (the "License");
7 #   you may not use this file except in compliance with the License.
8 #   You may obtain a copy of the License at
9 #
10 #       http://www.apache.org/licenses/LICENSE-2.0
11 #
12 #   Unless required by applicable law or agreed to in writing, software
13 #   distributed under the License is distributed on an "AS IS" BASIS,
14 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 #   See the License for the specific language governing permissions and
16 #   limitations under the License.
17 #
18 # -------------------------------------------------------------------------
19 #
20
21 '''Sample Python application to save model to Minio'''
22
23 # python imports
24
25 import json
26 import os
27 import time
28 from minio import Minio
29 from minio.error import ResponseError
30
31
32 client = Minio(os.environ['S3_ENDPOINT'],
33                access_key=os.environ['AWS_ACCESS_KEY_ID'],
34                secret_key=os.environ['AWS_SECRET_ACCESS_KEY'],
35                secure=False)
36
37
38 def load_model(bucket_name, object_name, filepath):
39     try:
40         client.fget_object(bucket_name, object_name, filepath)
41     except ResponseError as err:
42         print(err)
43
44 if __name__ == "__main__":
45     bucket_name = os.environ['MODEL_BUCKET']
46     location = os.environ['S3_REGION']
47     model = os.environ['MODEL_FILE']
48     filepath = "/app/" + model
49     if not client.bucket_exists(bucket_name):
50         client.make_bucket(bucket_name, location=location)
51
52     found = False
53     try:
54         client.stat_object(bucket_name, model);
55         found = True
56     except Exception as err:
57         found = False
58
59     metadata = {
60         "X-Amz-Meta-model-description": "Sample numpy model",
61         "X-Amz-Meta-model-type": "scikit-learn/numpy",
62         "X-Amz-Meta-model-version": "v1.0.0",
63     }
64     if not found:
65         try:
66             client.fput_object(bucket_name, model, filepath, metadata=metadata)
67         except expression as identifier:
68             print(err)