Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from flask import Flask
- from flask_restful import Api, Resource, reqparse
- import requests
- import getpass
- import os
- app = Flask(__name__)
- api = Api(app)
- myusr = getpass.getuser()
- lispost = os.listdir('/home/{}/artctrl-backup/wcmckee/artcontrolme/posts/'.format(myusr))
- users = list()
- for user in lispost:
- if '.meta' in user:
- with open('/home/{}/artctrl-backup/wcmckee/artcontrolme/posts/{}'.format(myusr, user)) as metaf:
- lines= metaf.readlines()
- lintit = (lines[0][10:])
- linslug = (lines[1][9:])
- lindate = (lines[2][9:])
- somedict = dict()
- somedict.update({'title' : lintit.replace('\n', ''), 'name': lines[1][9:].replace('\n', ''), 'date': lines[2][9:].replace('\n', '')})
- users.append(somedict)
- print(users)
- class User(Resource):
- def get(self, name):
- for user in users:
- print(user)
- if(name == user["name"]):
- return user, 200
- return "User not found", 404
- def post(self, name):
- parser = reqparse.RequestParser()
- parser.add_argument("age")
- parser.add_argument("occupation")
- args = parser.parse_args()
- for user in users:
- if(name == user["name"]):
- return "User with name {} already exists".format(name), 400
- user = {
- "name": name,
- "age": args["age"],
- "occupation": args["occupation"]
- }
- users.append(user)
- return user, 201
- def put(self, name):
- parser = reqparse.RequestParser()
- parser.add_argument("age")
- parser.add_argument("occupation")
- args = parser.parse_args()
- for user in users:
- if(name == user["name"]):
- user["age"] = args["age"]
- user["occupation"] = args["occupation"]
- return user, 200
- user = {
- "name": name,
- "age": args["age"],
- "occupation": args["occupation"]
- }
- users.append(user)
- return user, 201
- def delete(self, name):
- global users
- users = [user for user in users if user["name"] != name]
- return "{} is deleted.".format(name), 200
- api.add_resource(User, "/user/<string:name>")
- app.run(debug=True)
Add Comment
Please, Sign In to add comment