def get_doc(cls, url, summary=False): http_util = HttpUtil(url=url, headers={'Content-Type': 'text/plain'}) doc = http_util.request() text = doc.content.decode(encoding='utf8') if summary: return cls.get_summary(text) return text
def list_base_repository(cls, page_num=1, page_size=10): base_project = cls.get_base_project() base_project_id = base_project.get('project_id') url = f'{cls.harbor_api}/repositories?page={page_num}&page_size={page_size}&project_id={base_project_id}' http_util = HttpUtil(url) response = http_util.get() return response.json()
def list_project_image(cls, project_id): project = Project.select().get(project_id) url = f'{cls.harbor_api}/repositories/{project.harbor_project}/{project.name}/tags' http_util = HttpUtil(url) tags = http_util.get().json() images = [] for tag in tags: tag_name = tag.pop('name') images.append( dict( { 'name': f'{cls.harbor_host}/{project.harbor_project}/{project.name}:{tag_name}' }, **tag)) return images
def get_all_properties(cls, app_id='flask-template', cluster_name='default', namespace_name='application'): assert app_id is not None assert cluster_name is not None assert namespace_name is not None if is_prod(): server_url = 'http://pro.apollo.client.bchen.xyz/' else: server_url = 'http://dev.apollo.client.bchen.xyz/' http_util = HttpUtil( url= f'{server_url}/configfiles/json/{app_id}/{cluster_name}/{namespace_name}' ) return http_util.get().json()
def get_all_properties(cls, app_id='galio', cluster_name='default', namespace_name='application'): assert app_id is not None assert cluster_name is not None assert namespace_name is not None if is_prod(): server_url = 'http://pro.apollo.client.bchen.xyz/' else: server_url = 'http://dev.apollo.client.bchen.xyz/' http_util = HttpUtil( url= f'{server_url}/configfiles/json/{app_id}/{cluster_name}/{namespace_name}', headers={ 'Content-Type': 'application/json', 'Authorization': '' }) return http_util.get().json()
def login(): user = session.get('user') if user is not None: user = json.loads(user) g.user = User.fill_model(User(), user) return flask.redirect( request.args.get('redirect') or ConfigUtil.get_str_property(config.FRONT_URL)) ticket = request.args.get('ticket') http_util = HttpUtil( url= f'{ConfigUtil.get_str_property(config.CAS_URL)}/cas/p3/serviceValidate?' f'format=json&service={request.url}&ticket={ticket}') response = http_util.get() user = UserService.get_user_from_cas_resp(response) g.user = user session['user'] = json.dumps(user.to_dict(), ensure_ascii=False) return flask.redirect( request.args.get('redirect') or ConfigUtil.get_str_property(config.FRONT_URL))
def crawler(cls): user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36' accept = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' url = 'https://www.zhihu.com/2019-nCoV/trends' http_util = HttpUtil( url, method=['GET'], headers={ 'user-agent': user_agent, 'accept': accept } ) raw_data = http_util.get() soup = BeautifulSoup(raw_data.content, features="html.parser") values = soup.find_all(name='script', attrs={'type': 'text/json'}) now = datetime.now().strftime('%Y-%m-%d_%H') log.info(f"{'--' * 20}starting {now}{'--' * 20}") f = open(f"./data/{now}.json", 'w') f.write(values[0].contents[0]) log.info(json.loads(values[0].contents[0])) log.info(f"{'--' * 20}{now} done{'--' * 20}")
def get_img_info(cls, url): url = f'{url}?imageInfo' http_util = HttpUtil(url=url, method='GET') return http_util.request().json()
def get_repository_tags(cls, name): url = f"{cls.harbor_api}/repositories/{name}/tags?detail=true" http_util = HttpUtil(url) return http_util.get().json()
def search(cls, q): url = f'{cls.harbor_api}/search?q={q}' http_util = HttpUtil(url=url) response = http_util.get() return response.json()