Best Python code snippet using playwright-python
geoimport_gui.py
Source:geoimport_gui.py  
...214            'Pixmap': 'Std_Tool1',215            'MenuText': 'Elevation Grid',216            'ToolTip': 'Create Elevation Grid '217        }218FreeCADGui.addCommand('Set Geo Location', set_geolocation())219FreeCADGui.addCommand('Import TMS', import_tms())220FreeCADGui.addCommand('Import WMS', import_wms())221FreeCADGui.addCommand('Import WFS', import_wfs())222FreeCADGui.addCommand('Import PDOK', import_pdok())223FreeCADGui.addCommand('Import OSM', import_osm())224FreeCADGui.addCommand('Import CSV', import_csv())225FreeCADGui.addCommand('Import GPX', import_gpx())226FreeCADGui.addCommand('Import Heights', importheights())227FreeCADGui.addCommand('Import SRTM', importsrtm())228FreeCADGui.addCommand('Import XYZ', import_xyz())229FreeCADGui.addCommand('Import LatLonZ', import_latlony())230FreeCADGui.addCommand('Import Image', import_image())231FreeCADGui.addCommand('Import ASTER', import_aster())232FreeCADGui.addCommand('Import LIDAR', import_lidar())...test_geolocation.py
Source:test_geolocation.py  
...15from playwright.async_api import BrowserContext, Error, Page16async def test_should_work(page: Page, server, context: BrowserContext):17    await context.grant_permissions(["geolocation"])18    await page.goto(server.EMPTY_PAGE)19    await context.set_geolocation({"latitude": 10, "longitude": 10})20    geolocation = await page.evaluate(21        """() => new Promise(resolve => navigator.geolocation.getCurrentPosition(position => {22      resolve({latitude: position.coords.latitude, longitude: position.coords.longitude});23    }))"""24    )25    assert geolocation == {"latitude": 10, "longitude": 10}26async def test_should_throw_when_invalid_longitude(context):27    with pytest.raises(Error) as exc:28        await context.set_geolocation({"latitude": 10, "longitude": 200})29    assert (30        "geolocation.longitude: precondition -180 <= LONGITUDE <= 180 failed."31        in exc.value.message32    )33async def test_should_isolate_contexts(page, server, context, browser):34    await context.grant_permissions(["geolocation"])35    await context.set_geolocation({"latitude": 10, "longitude": 10})36    await page.goto(server.EMPTY_PAGE)37    context2 = await browser.new_context(38        permissions=["geolocation"], geolocation={"latitude": 20, "longitude": 20}39    )40    page2 = await context2.new_page()41    await page2.goto(server.EMPTY_PAGE)42    geolocation = await page.evaluate(43        """() => new Promise(resolve => navigator.geolocation.getCurrentPosition(position => {44      resolve({latitude: position.coords.latitude, longitude: position.coords.longitude})45    }))"""46    )47    assert geolocation == {"latitude": 10, "longitude": 10}48    geolocation2 = await page2.evaluate(49        """() => new Promise(resolve => navigator.geolocation.getCurrentPosition(position => {50      resolve({latitude: position.coords.latitude, longitude: position.coords.longitude})51    }))"""52    )53    assert geolocation2 == {"latitude": 20, "longitude": 20}54    await context2.close()55async def test_should_use_context_options(browser, server):56    options = {57        "geolocation": {"latitude": 10, "longitude": 10},58        "permissions": ["geolocation"],59    }60    context = await browser.new_context(**options)61    page = await context.new_page()62    await page.goto(server.EMPTY_PAGE)63    geolocation = await page.evaluate(64        """() => new Promise(resolve => navigator.geolocation.getCurrentPosition(position => {65      resolve({latitude: position.coords.latitude, longitude: position.coords.longitude});66    }))"""67    )68    assert geolocation == {"latitude": 10, "longitude": 10}69    await context.close()70async def test_watch_position_should_be_notified(page, server, context):71    await context.grant_permissions(["geolocation"])72    await page.goto(server.EMPTY_PAGE)73    messages = []74    page.on("console", lambda message: messages.append(message.text))75    await context.set_geolocation({"latitude": 0, "longitude": 0})76    await page.evaluate(77        """() => {78      navigator.geolocation.watchPosition(pos => {79        const coords = pos.coords;80        console.log(`lat=${coords.latitude} lng=${coords.longitude}`);81      }, err => {});82    }"""83    )84    async with page.expect_console_message(lambda m: "lat=0 lng=10" in m.text):85        await context.set_geolocation({"latitude": 0, "longitude": 10})86    async with page.expect_console_message(lambda m: "lat=20 lng=30" in m.text):87        await context.set_geolocation({"latitude": 20, "longitude": 30})88    async with page.expect_console_message(lambda m: "lat=40 lng=50" in m.text):89        await context.set_geolocation({"latitude": 40, "longitude": 50})90    all_messages = "|".join(messages)91    "latitude=0 lng=10" in all_messages92    "latitude=20 lng=30" in all_messages93    "latitude=40 lng=50" in all_messages94async def test_should_use_context_options_for_popup(page, context, server):95    await context.grant_permissions(["geolocation"])96    await context.set_geolocation({"latitude": 10, "longitude": 10})97    async with page.expect_popup() as popup_info:98        await page.evaluate(99            "url => window._popup = window.open(url)",100            server.PREFIX + "/geolocation.html",101        )102    popup = await popup_info.value103    await popup.wait_for_load_state()104    geolocation = await popup.evaluate("() => window.geolocationPromise")...startbot.py
Source:startbot.py  
1from asyncio.windows_events import NULL2from typing import Set3from aiogram.types import location4from aiogram.types.message import Message5from aiogram.types.reply_keyboard import KeyboardButton, ReplyKeyboardMarkup, ReplyKeyboardRemove6from aiogram.contrib.fsm_storage.memory import MemoryStorage7from django.core.management.base import BaseCommand8import logging9import os10from aiogram import Bot, Dispatcher, executor, types11from aiogram.dispatcher.filters.state import State, StatesGroup12from aiogram.dispatcher import FSMContext13class Command(BaseCommand):14    help = "Start telegram bot"15    def handle(self, *args, **kwargs):16        17        API_TOKEN = str(os.getenv('BOT_TOKEN'))18        # Initialize bot and dispatcher19        bot = Bot(token=API_TOKEN)20        dp = Dispatcher(bot, storage=MemoryStorage())21        logging.basicConfig(level=logging.INFO)22        '''23        ÐонеÑнÑй авÑÐ¾Ð¼Ð°Ñ Ð´Ð»Ñ Ð½Ð°ÑÑÑоек:24        ÐÑли полÑзоваÑÐµÐ»Ñ Ð½Ð¾Ð²Ñй:25        #/start -> menu -> button-geo -> set_geolocation -> menu -> button-time -> set_sendtime ->  menu26        ÐÑли полÑзоваÑÐµÐ»Ñ ÑÑÑеÑвÑеÑ:27        #/settings -> menu -> button-geo/button-time -> add -> set_geolocation/set_sendtime28        #/settings -> menu -> button-geo/button-time -> delete -> delete_geolocation/delete_sendtime29        #30        '''31        keyboard = ReplyKeyboardMarkup(resize_keyboard=True)32        geo_button = KeyboardButton(text='Geolocation')33        alert_time = KeyboardButton(text='Time')34        buttons = [geo_button, alert_time]35        keyboard.add(*buttons)36        37        class Settings(StatesGroup):38            show_menu_settings = State()39            set_location = State()40            set_time = State()41            42        @dp.message_handler(commands=['start'])43        #пÑи нажаÑии кнопки, инÑоÑмаÑÐ¸Ñ Ð¾ полÑзоваÑеле должна падаÑÑ Ð² логи и ÑоздаваÑÑ Ð² моделÑÑ
 запиÑÑ Ð¾ ÑзеÑе44        async def send_welcome(message: types.Message):45            """46            This handler will be called when user sends `/start`47            """48            logging.info(f"User: {message.from_user.first_name}")49            await message.answer(f"Welcome to the weather app, {message.from_user.username}!\nPlease, set your location and alert time", reply_markup=keyboard)50            await Settings.show_menu_settings.set()51        @dp.message_handler(state=Settings.show_menu_settings)52        async def settings_menu(message:types.Message, state: FSMContext):        53            async with state.proxy():54                if message.text == "Geolocation":55                    await Settings.set_location.set()56                    await message.answer(f"Please, send your location:", reply_markup=ReplyKeyboardRemove())57                elif message.text == "Time":58                    await message.answer("Does not support")59        @dp.message_handler(state=Settings.set_location, content_types=types.ContentType.LOCATION)60        async def send_location(message: types.Message):61            if message.location:62                await message.answer(f'Your location is: {message.location}')63                await Settings.show_menu_settings.set()64            else:65                await message.answer(f"Please, send your location:")66        @dp.message_handler(commands=["settings"])67        async def settings(message: types.Message):68            """69            This handler allows you to change user preferences70            """71            keyboard = ReplyKeyboardMarkup(resize_keyboard=True)72            geo_button = KeyboardButton(text='Geolocation')73            alert_time = KeyboardButton(text='Time')74            buttons = [geo_button, alert_time]75            keyboard.add(*buttons)76            await message.answer("Settings are updated")77        ...Node.py
Source:Node.py  
1from graph.GeoLocation import GeoLocation2class Node(object):3    """4    This class represent a vertex in a graph.5    """6    def __init__(self, pos: GeoLocation = None, key: int = None):7        """8        a constructor for the Node class.9        :param pos: GeoLocation of the Node.10        :param key: the ID of the Node11        """12        self.key: int = key13        self.pos: GeoLocation = pos14        self.tag: int = 015        self.edges_in = {}16        self.edges_out = {}17        self.weight: float = 0.018        self.info: str = ""19    @classmethod20    def from_dict(cls, data: dict) -> 'Node':21        """22        this method creates a Node from a dictionary.23        :param data: Data dict24        :return: Node25        """26        # check for None values and raise exception27        # if 'id' not in data or 'key' not in data:28        #     raise ValueError("Cant create a Node without id and data")29        key: int = data.get('id')  # initialize the node ID30        # initialize the node location31        pos = data.get('pos')32        if pos is not None:33            pos = GeoLocation(*pos.split(','))  # create new GeoLocation34        node: Node = Node(pos, key)35        return node36    def to_dict(self) -> dict:37        """38        this method return a dict representing the Node39        :return: dict with the Node values40        """41        dic = {42            'pos': self.pos.__repr__(),43            'id': self.key44        }45        return dic46    def get_geoLocation(self) -> GeoLocation:47        """48        return the position of the Node49        :return: GeoLocation object50        """51        return self.pos52    def set_geoLocation(self, geo: GeoLocation):53        """54        set the position of the Node to a new position55        :param geo: GeoLocation object56        """57        if not isinstance(geo, GeoLocation):58            raise ValueError("should be GeoLocation type")59        self.pos = geo60    def get_key(self) -> int:61        return self.key62    def get_pos(self) -> GeoLocation:63        return self.pos64    def set_tag(self, tag: int):65        self.tag = tag66    def get_tag(self):67        return self.tag68    def __repr__(self):...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!!
