123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- # -*- coding: utf-8 -*-
- import re
- import sys
- from .base import AipBase
- from .base import base64
- from .base import json
- from .base import urlencode
- from .base import quote
- class AipImageCensor(AipBase):
- """
- Aip ImageCensor
- """
- __antiPornUrl = 'https://aip.baidubce.com/rest/2.0/antiporn/v1/detect'
- __antiPornGifUrl = 'https://aip.baidubce.com/rest/2.0/antiporn/v1/detect_gif'
- __antiTerrorUrl = 'https://aip.baidubce.com/rest/2.0/antiterror/v1/detect'
- __faceAuditUrl = 'https://aip.baidubce.com/rest/2.0/solution/v1/face_audit'
-
- __imageCensorCombUrl = 'https://aip.baidubce.com/api/v1/solution/direct/img_censor'
- __imageCensorUserDefinedUrl = 'https://aip.baidubce.com/rest/2.0/solution/v1/img_censor/v2/user_defined'
-
- __textCensorUserDefinedUrl = 'https://aip.baidubce.com/rest/2.0/solution/v1/text_censor/v2/user_defined'
- __antiSpamUrl = 'https://aip.baidubce.com/rest/2.0/antispam/v2/spam'
-
- def antiPorn(self, image):
- """
- antiporn
- """
- data = {}
- data['image'] = base64.b64encode(image).decode()
- return self._request(self.__antiPornUrl, data)
- def antiPornGif(self, image):
- """
- antiporn gif
- """
- data = {}
- data['image'] = base64.b64encode(image).decode()
- return self._request(self.__antiPornGifUrl, data)
- def antiTerror(self, image):
- """
- antiterror
- """
- data = {}
- data['image'] = base64.b64encode(image).decode()
- return self._request(self.__antiTerrorUrl, data)
- def faceAudit(self, images, configId=''):
- """
- faceAudit
- """
- # 非数组则处理为数组
- if not isinstance(images, list):
- images = [images]
- data = {
- 'configId': configId
- }
- isUrl = images[0][0:4] == 'http'
- if not isUrl:
- data['images'] = ','.join([
- base64.b64encode(image).decode() for image in images
- ])
- else:
- data['imgUrls'] = ','.join([
- quote(url) for url in images
- ])
- return self._request(self.__faceAuditUrl, data)
- def imageCensorComb(self, image, scenes='antiporn', options=None):
- """
- imageCensorComb
- """
- options = options or {}
- if not isinstance(scenes, list):
- scenes = scenes.split(',')
-
- data = {
- 'scenes': scenes,
- }
- isUrl = image.strip()[0:4] == 'http'
- if not isUrl:
- data['image'] = base64.b64encode(image).decode()
- else:
- data['imgUrl'] = image
- data.update(options)
- return self._request(self.__imageCensorCombUrl, json.dumps(data), {
- 'Content-Type': 'application/json',
- })
- def imageCensorUserDefined(self, image):
- """
- imageCensorUserDefined
- """
-
- data = {}
- isUrl = image[0:4] == 'http'
- if not isUrl:
- data['image'] = base64.b64encode(image).decode()
- else:
- data['imgUrl'] = image
- return self._request(self.__imageCensorUserDefinedUrl, data)
- def textCensorUserDefined(self, text):
- """
- textCensorUserDefined
- """
-
- data = {}
- data['text'] = text
- return self._request(self.__textCensorUserDefinedUrl, data)
- def antiSpam(self, content, options=None):
- """
- anti spam
- """
- data = {}
- data['content'] = content
- return self._request(self.__antiSpamUrl, data)
|