Best Python code snippet using playwright-python
documentation_provider.py
Source:documentation_provider.py
...156 code_type = self.serialize_python_type(value)157 print(f"{indent}{to_snake_case(original_name)} : {code_type}")158 if doc_value.get("comment"):159 print(160 f"{indent} {self.indent_paragraph(self.render_links(doc_value['comment']), f'{indent} ')}"161 )162 self.compare_types(code_type, doc_value, f"{fqname}({name}=)", "in")163 if (164 signature165 and "return" in signature166 and str(signature["return"]) != "<class 'NoneType'>"167 ):168 value = signature["return"]169 doc_value = method170 self.compare_types(value, doc_value, f"{fqname}(return=)", "out")171 print("")172 print(" Returns")173 print(" -------")174 print(f" {self.serialize_python_type(value)}")175 print(f'{indent}"""')176 for name in args:177 if args[name].get("deprecated"):178 continue179 self.errors.add(180 f"Parameter not implemented: {class_name}.{method_name}({name}=)"181 )182 def indent_paragraph(self, p: str, indent: str) -> str:183 lines = p.split("\n")184 result = [lines[0]]185 for line in lines[1:]:186 result.append(indent + line)187 return "\n".join(result)188 def beautify_method_comment(self, comment: str, indent: str) -> str:189 comment = comment.replace("\\", "\\\\")190 comment = comment.replace('"', '\\"')191 lines = comment.split("\n")192 result = []193 skip_example = False194 last_was_blank = True195 for line in lines:196 if not line.strip():197 last_was_blank = True198 continue199 match = re.match(r"\s*```(.+)", line)200 if match:201 lang = match[1]202 if lang in ["html", "yml", "sh", "py", "python"]:203 skip_example = False204 elif lang == "python " + ("async" if self.is_async else "sync"):205 skip_example = False206 line = "```py"207 else:208 skip_example = True209 if not skip_example:210 if last_was_blank:211 last_was_blank = False212 result.append("")213 result.append(self.render_links(line))214 if skip_example and line.strip() == "```":215 skip_example = False216 return self.indent_paragraph("\n".join(result), indent)217 def render_links(self, comment: str) -> str:218 for [old, new] in self.links.items():219 comment = comment.replace(old, new)220 return comment221 def make_optional(self, text: str) -> str:222 if text.startswith("Union["):223 if text.endswith("NoneType]"):224 return text225 return text[:-1] + ", NoneType]"226 return f"Union[{text}, NoneType]"227 def compare_types(228 self, value: Any, doc_value: Any, fqname: str, direction: str229 ) -> None:230 if "(arg=)" in fqname or "(pageFunction=)" in fqname:...
miscs.py
Source:miscs.py
...6from django.core.cache import cache7from django.http import JsonResponse, HttpResponse8from django.views.decorators.cache import cache_page9from hanziconv import HanziConv10def indent_paragraph(para):11 return para.replace('<br />', '</p><p>').replace('<p>', '<p>\u3000\u3000')12@cache_page(timeout=60 * 60 * 24)13def dazuoshou(request):14 feed = {15 'version': 'https://jsonfeed.org/version/1',16 'title': '大ä½æéç¥',17 'description': '大ä½æç½ç«éç¥RSS',18 'home_page_url': 'http://www.dazuoshou.com.cn',19 'items': []20 }21 ann_link = 'http://www.dazuoshou.com.cn/ann/'22 lists = BeautifulSoup(requests.get(ann_link).content, 'html.parser').find_all('li', class_='clearfix')23 for x in lists:24 a = x.find('a')25 url = ann_link + a['href']26 if cache.get(url):27 feed['items'].append(cache.get(url))28 else:29 date = x.find('span').text30 title = date + ' ' + a.text31 b = BeautifulSoup(requests.get(url).content, 'html.parser')32 description = str(b.find('div', class_='content'))33 item = {34 'id': url,35 'url': url,36 'title': title,37 'content_html': description38 }39 cache.set(url, item)40 feed['items'].append(item)41 return JsonResponse(feed)42def fangeqiang(request):43 # feedjsonæ å https://jsonfeed.org/version/144 feed = {45 'version': 'https://jsonfeed.org/version/1',46 'title': '翻个å¢SSRæ´æ°éç¥',47 'description': '翻个å¢SSRæ´æ°éç¥',48 'home_page_url': 'https://fangeqiang.com/408.html',49 'items': []50 }51 b = BeautifulSoup(requests.get(feed['home_page_url']).content, 'html.parser')52 controls = b.find_all('div', class_='xControl')53 if controls:54 for c in controls:55 if 'ssr' in c.a.text.lower():56 pt = c.find_next('pre', class_='prettyprint')57 urls = [x for x in pt.text.split() if 'ssr://' in x]58 description = '<a href="{ssrurl}">{ssrurl}</a><br/><br/><img src="{imgurl}"/>'.format(ssrurl=urls[0], imgurl=urls[1])59 title = c.a.text.strip()60 feed['items'].append({61 'id': title,62 'title': title,63 'content_html': description64 })65 return JsonResponse(feed)66# å¢å¤æ¥¼å»å¹¿å67@cache_page(timeout=60 * 60 * 3)68def letscorp(request):69 letscorp_feed_url = 'http://feeds.feedburner.com/letscorp/aDmw?format=xml'70 b = BeautifulSoup(requests.get(letscorp_feed_url).content, 'xml')71 feed = {72 'version': 'https://jsonfeed.org/version/1',73 'title': b.rss.channel.title.text,74 'description': b.rss.channel.description.text,75 'home_page_url': b.rss.channel.link.text,76 'items': []77 }78 for item in b.find_all('item'):79 post_url = item.guid.text80 post_title = item.title.text81 post_date = rfc3339.rfc3339(parser.parse(item.pubDate.text))82 dit = {83 'id': post_url,84 'title': HanziConv.toSimplified(post_title),85 'url': post_url,86 'date_published': post_date87 }88 if not cache.get(post_url):89 content = item.find('content:encoded').text90 # å»å¹¿å91 ad1 = content.find('<span>éåé¾æ¥ï¼</span>')92 if ad1 != -1:93 content = content[:ad1]94 bs = BeautifulSoup(content, 'html.parser')95 # ææå¨hrefå±æ§å
å«å¨ads_href_listçè¶
é¾æ¥ä¼è¢«å æ96 ads_href_list = ['amazon.com/gp',97 'chrome.google.com/webstore']98 all_ads_link = bs.find_all(lambda tag: tag.name == 'a' and (tag.has_attr('href') and any(x in tag.get('href') for x in ads_href_list)))99 if all_ads_link:100 for link in all_ads_link:101 link.decompose()102 # å é¤å享å¾ç103 feedflare = bs.find('div', class_='feedflare')104 if feedflare:105 feedflare.decompose()106 # å é¤å¹¿åå¾ç107 ads_keywords = ['letscorp/aDmw']108 ads_images = bs.find_all(lambda tag: tag.name == 'img' and (tag.has_attr('src') and any(x in tag.get('src') for x in ads_keywords)))109 if ads_images:110 for image in ads_images:111 image.decompose()112 # å é¤ç¸å
³æ¥å¿113 rpt = bs.find('h2', class_='related_post_title')114 if rpt:115 rpt.decompose()116 rp = bs.find('ul', class_='related_post')117 if rp:118 rp.decompose()119 content = str(bs)120 # æ¢è¡åå段121 content = content.replace('<br />', '</p><p>')122 # 段è½ç¼©è¿123 content = re.sub(r'<p>(\n)?\u3000*', '<p>\u3000\u3000', content)124 # ç¹ä½è½¬ç®ä½125 content = HanziConv.toSimplified(content)126 dit['content_html'] = content127 feed['items'].append(dit)128 cache.set(post_url, content)129 else:130 dit['content_html'] = cache.get(post_url)131 feed['items'].append(dit)132 return JsonResponse(feed)133# èåæ©æ¥ï¼ç¨äºfeedx.netç订é
æº134@cache_page(timeout=60 * 60 * 12)135def zaobaotoday(request):136 zaobao_feed_url = 'https://feedx.net/rss/zaobaotoday.xml'137 b = BeautifulSoup(requests.get(zaobao_feed_url).content, 'xml')138 item_list = []139 for item in b.find_all('item'):140 # å»é141 if item.title.text not in item_list:142 item_list.append(item.title.text)143 # 段è½ç¼©è¿144 dt = indent_paragraph(item.description.text)145 # å»æ广ååæ¨è146 pos = dt.find('<div class="tagcloud">')147 if pos != -1:148 dt = dt[:pos]149 pos = dt.find('è·åæ´å¤RSSï¼')150 if pos != -1:151 dt = dt[:pos]152 dt = dt.replace('<hr>','')153 item.description.string.replace_with(dt)154 else:155 item.extract()156 return HttpResponse(str(b), content_type='application/xml')157# èªç±äºæ´²å½å
æ°é»158def rfa_mandarin(request):159 feed_url = 'https://www.rfa.org/mandarin/yataibaodao/rss2.xml'160 b = BeautifulSoup(requests.get(feed_url).content, 'html.parser')161 response_str = indent_paragraph(str(b))...
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!