Beispiel #1
0
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()
Beispiel #2
0
 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)
Beispiel #4
0
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, '已经在线')
Beispiel #8
0
def send_reading(server, device, readings):
    req.post('http://localhost:48080/api/v1/event', {
        "device": device,
        "readings": readings
    })
Beispiel #9
0
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'])
Beispiel #10
0
def previous_track(channel):
    req.post('/v1/me/player/previous')
Beispiel #11
0
def next_track(channel):
    req.post('/v1/me/player/next')
Beispiel #12
0
def send_tasks(selections):
    return req.post('/api/v1/tasks?allow_defaults=true', selections).json()