This function return supported browser. :return: browser name, browser known, browser version
()
| 342 | |
| 343 | |
| 344 | def _get_supported_browser(): |
| 345 | """ |
| 346 | This function return supported browser. |
| 347 | :return: browser name, browser known, browser version |
| 348 | """ |
| 349 | browser = request.user_agent.browser |
| 350 | version = request.user_agent.version and int( |
| 351 | request.user_agent.version.split('.')[0]) |
| 352 | |
| 353 | browser_name = None |
| 354 | browser_known = True |
| 355 | if browser == 'chrome' and version < 72: |
| 356 | browser_name = 'Chrome' |
| 357 | elif browser == 'firefox' and version < 65: |
| 358 | browser_name = 'Firefox' |
| 359 | # comparing EdgeHTML engine version |
| 360 | elif browser == 'edge' and version < 18: |
| 361 | browser_name = 'Edge' |
| 362 | # browser version returned by edge browser is actual EdgeHTML |
| 363 | # engine version. Below code gets actual browser version using |
| 364 | # EdgeHTML version |
| 365 | engine_to_actual_browser_version = { |
| 366 | 16: 41, |
| 367 | 17: 42, |
| 368 | 18: 44 |
| 369 | } |
| 370 | version = engine_to_actual_browser_version.get(version, '< 44') |
| 371 | elif browser == 'safari' and version < 12: |
| 372 | browser_name = 'Safari' |
| 373 | elif browser == 'msie': |
| 374 | browser_name = 'Internet Explorer' |
| 375 | elif browser != 'chrome' and browser != 'firefox' and \ |
| 376 | browser != 'edge' and browser != 'safari': |
| 377 | browser_name = browser |
| 378 | browser_known = False |
| 379 | |
| 380 | return browser_name, browser_known, version |
| 381 | |
| 382 | |
| 383 | @blueprint.add_app_template_filter |