#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved. @AUTHOR: ASJRD018 @NAME: AnsjerFormal @software: PyCharm @DATE: 2018/12/15 15:30 @Version: python3.6 @MODIFY DECORD:ansjer dev @file: VodBucket.py @Contact: chanjunkai@163.com """ import datetime import json import time import oss2 import paypalrestsdk from aliyunsdkcore import client from aliyunsdksts.request.v20150401 import AssumeRoleRequest from django.http import JsonResponse from django.utils import timezone from django.utils.decorators import method_decorator from django.views.decorators.csrf import csrf_exempt from django.views.generic.base import View import urllib from var_dump import var_dump from Ansjer.config import OSS_BUCKET_ENDPOINT, OSS_BUCKET_VOD_LIST, OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, \ OSS_REGION_ID, OSS_ROLE_ARN, SERVER_DOMAIN from Model.models import Device_Meal, Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, VodBucketModel from Object.ResponseObject import ResponseObject from Object.TokenObject import TokenObject from Object.UidTokenObject import UidTokenObject from Service.CommonService import CommonService from Service.ModelService import ModelService class VodBucketView(View): @method_decorator(csrf_exempt) def dispatch(self, *args, **kwargs): return super(VodBucketView, self).dispatch(*args, **kwargs) def get(self, request, *args, **kwargs): request.encoding = 'utf-8' operation = kwargs.get('operation') return self.validation(request.GET, operation) def post(self, request, *args, **kwargs): request.encoding = 'utf-8' operation = kwargs.get('operation') request_dict = json.loads(request.body.decode('utf-8')) return self.validation(request_dict, operation) def validation(self, request_dict, operation): response = ResponseObject() if operation is None: return response.json(444, 'error path') token = request_dict.get('token', None) # 设备主键uid tko = TokenObject(token) tko.valid() response.lang = tko.lang if tko.code != 0: return response.json(tko.code) userID = tko.userID own_perm = ModelService.check_permission(userID, 50) if not own_perm: return response.json(404) if operation == 'add': return self.do_add(request_dict, response) elif operation == 'delete': return self.do_delete(request_dict, response) elif operation == 'update': return self.do_update(request_dict, response) elif operation == 'query': return self.do_query(response) else: return response.json(414) def do_add(self, request_dict, response): request_dict.pop('token') nowTime = int(time.time()) try: VodBucketModel.objects.create(addTime=nowTime, updTime=nowTime, **request_dict) except Exception as e: return response.json(10, repr(e)) res = list(VodBucketModel.objects.values()) return response.json(0, res) def do_query(self, response): res = list(VodBucketModel.objects.values()) return response.json(0, res) def do_update(self, request_dict, response): request_dict.pop('token') nowTime = int(time.time()) id = request_dict.get('id', None) try: VodBucketModel.objects.filter(id=id).update(updTime=nowTime, **request_dict) except Exception as e: return response.json(10, repr(e)) # res = list(VodBucketModel.objects.values()) return response.json(0, {'updTime': nowTime}) def do_delete(self, request, response): id = request.get('id', None) try: VodBucketModel.objects.filter(id=id).delete() except Exception as e: return response.json(10, repr(e)) res = list(VodBucketModel.objects.values()) return response.json(0, res)