Created
June 4, 2019 01:13
-
-
Save SammyOut/64f39e8e43e04e7ae24c0be8951d6b7f to your computer and use it in GitHub Desktop.
dsm camp server
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| from flask import Flask | |
| from views import MemoListView, MemoView | |
| app = Flask(__name__) | |
| app.add_url_rule('/memo', view_func=MemoListView.as_view('memo_list')) | |
| app.add_url_rule('/memo/<int:pk>', view_func=MemoView.as_view('memo')) | |
| if __name__ == '__main__': | |
| app.run('0.0.0.0', port=604) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| from uuid import uuid4 | |
| from os import listdir, remove | |
| from os.path import isfile, exists | |
| from typing import List, Dict | |
| def load_file_names() -> List[str]: | |
| return [file_name for file_name in listdir('memos') if isfile(f'memos/{file_name}')] | |
| def load_all_memos() -> List[Dict[str, str]]: | |
| memos = [] | |
| for file_name in load_all_memos(): | |
| with open(f'memos/{file_name}') as f: | |
| memos.append({ | |
| 'file_name': file_name, | |
| 'memo': f.read() | |
| }) | |
| return memos | |
| def create_memo(content: str): | |
| with open(f'memos/{str(uuid4())}', 'w') as f: | |
| f.write(content) | |
| def update_memo(file_name: str, content: str): | |
| with open(f'memos/{file_name}', 'w') as f: | |
| f.write(content) | |
| def delete_memo(file_name: str): | |
| if exists(f'memos/{file_name}'): | |
| remove(f'memos/{file_name}') |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| from flask import jsonify, request, Response | |
| from flask.views import MethodView | |
| from memo_manager import * | |
| class MemoListView(MethodView): | |
| def get(self): | |
| memos = load_all_memos() | |
| return jsonify(memos, ensure_ascii=False) | |
| def post(self): | |
| create_memo(request.get_data()) | |
| return Response('', 201) | |
| class MemoView(MethodView): | |
| def delete(self, file_name: str): | |
| delete_memo(file_name) | |
| return Response(204) | |
| def put(self, file_name: str): | |
| update_memo(file_name, request.get_data()) | |
| return Response(200) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment