def set_pool_status(pool_id, change): if change == 1: s = 'open' if change == 0: s = 'close' r = req.post(f'/api/v1/pools/{pool_id}/{s}', obj=None) return r.json()
def login(self): self.r = req.post('https://api.zoomeye.org/user/login', params={"username": self.username, "password": self.password}) if self.requestisok(): self.access_token += self.r.json()['access_token'] return True else: return False
def create_device_service(name, server, description, addressable_name, adminState='unlocked', operatingState='enabled'): url = 'http://' + server + ':48081/api/v1/deviceservice' body = {'name':name, 'description':description, 'labels': [name], 'adminState':adminState, 'operatingState':operatingState, 'addressable': {'name':addressable_name}} return req.post(url, body)
def map_image(detail_url): #다이닝 코드 상세 맛집 url에서 위도, 경도 정보 파싱해서 가져오기 html = req.get(detail_url).text soup = bfs(html, 'html.parser') soup_lat = soup.select('#hdn_lat') #위도 soup_lng = soup.select('#hdn_lng') #경도 if soup_lat is not None and len( soup_lat) > 0 and soup_lng is not None and len(soup_lng) > 0: latitude = soup_lat[0]['value'] longitude = soup_lng[0]['value'] real_latitude = float(latitude) real_longitude = float(longitude) #folium 라이브러리 활용, 맛집에 마커된 지도 html파일 생성 food_location = [real_latitude, real_longitude] map = folium.Map(location=food_location, zoom_start=25) folium.Marker(food_location, popup='destination').add_to(map) map.save('./location.html') map #selenium 라이브러리 활용, 지도 html파일을 스크린샷캡쳐해서 정적이미지 파일로 생성 browser = webdriver.Chrome( 'C:/Users/yurim/Desktop/chromedriver.exe') #크롬드라이버경로넣어줘야함 browser.get( 'C:/Users/yurim/Documents/GitHub/capstone-capyou/code/complete_code/location.html' ) #지도 html경로 browser.save_screenshot('restaurant_location.png') #time.sleep(2) #browser.quit() #동적 지도창 닫지 않기 위해서 주석 처리 #다른 맛집 검색하거나 끝 누르면 html 창 자동으로 사라짐, 그 전에 마음대로 닫으면 오류 발생 # slackbot 답변으로 위에서 저장된 이미지 파일 답변하기 map_image_file = { 'file': ('restaurant_location.png', open('restaurant_location.png', 'rb'), 'png') } map_image_file_detail = { "filename": "restaurant_location.png", "token": token, "channels": ['#general'] } r = req.post("https://slack.com/api/files.upload", params=map_image_file_detail, files=map_image_file) else: return
def value_descriptor(name, server, description, type, unit, default='', formatting='%s', mini='', maxi=''): url = 'http://' + server + ':48080/api/v1/valuedescriptor' body = {'name':name, 'description':description, 'min':mini, 'max':maxi, 'type':type, 'uomLabel':unit, 'defaultValue':default, 'formatting':formatting, 'labels': [name] } return req.post(url, body)
def addressable(name, server, deviceip, deviceport, device_endpoint, publisher = 'none', username = '******', password = '******',topic = 'none'): url = 'http://' + server + ':48081/api/v1/addressable' body = {'name':name, 'protocol': 'HTTP', 'address': deviceip, 'port':deviceport, 'path': device_endpoint, 'publisher':publisher, 'user': username, 'password': password, 'topic': topic} return req.post(url, body)
def login(self, user, pwd, type, code=''): ''' 输入参数登入校园网,自动检测当前网络是否认证。 :param user:登入id :param pwd:登入密码 :param type:认证服务 :param code:验证码 :return:元祖第一项:是否认证状态;第二项:详细信息 ''' if self.isLogined == None: self.tst_net() if self.isLogined == False: if user == '' or pwd == '': return (False, '用户名或密码为空') self.data = { 'userId': user, 'password': pwd, 'service': self.services[type], 'operatorPwd': '', 'operatorUserId': '', 'validcode': code, 'passwordEncrypt': 'False' } res = req.get('http://auth.ysu.edu.cn', headers=self.header) queryString = re.findall(r"href='.*?\?(.*?)'", res.read().decode('utf-8'), re.S) self.data['queryString'] = queryString[0] res = req.post(self.url + 'login', headers=self.header, data=self.data) login_json = json.loads(res.read().decode('utf-8')) self.userindex = login_json['userIndex'] #self.info = login_json self.info = login_json['message'] if login_json['result'] == 'success': return (True, '认证成功') else: return (False, self.info) return (True, '已经在线')
def send_reading(server, device, readings): req.post('http://localhost:48080/api/v1/event', { "device": device, "readings": readings })
def clone_pool(pool_id): r = req.post(f'/api/v1/pools/{pool_id}/clone', None) op = r.json()['id'] r = req.get(f'/api/v1/operations/{op}') return int(r.json()['details']['pool_id'])
def previous_track(channel): req.post('/v1/me/player/previous')
def next_track(channel): req.post('/v1/me/player/next')
def send_tasks(selections): return req.post('/api/v1/tasks?allow_defaults=true', selections).json()