Brython 3.9 āĻāĻ° āĻĒā§āĻ°āĻ•āĻžāĻļ, āĻ“āĻ¯āĻŧā§‡āĻŦ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ­āĻžāĻˇāĻžāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨

āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻŦā§āĻ°āĻžāĻ‡āĻĨāĻ¨ 3.9 (āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻĒāĻžāĻ‡āĻĨāĻ¨) āĻ“āĻ¯āĻŧā§‡āĻŦ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻ¸āĻžāĻ‡āĻĄā§‡ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻžāĻ‡āĻĨāĻ¨ 3 āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ˛ā§āĻ¯āĻžāĻ™ā§āĻ—ā§āĻ¯āĻŧā§‡āĻœ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ“āĻ¯āĻŧā§‡āĻŦā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ•ā§‹āĻĄ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡ āĻ˛ā§‡āĻ–āĻž āĻ†āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻŋāĻ¤āĻ°āĻŖ BSD āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡āĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻ°āĻŋāĻ˛āĻŋāĻœ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻĒāĻžāĻ‡āĻĨāĻ¨ 3.9 āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤

āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ brython.js и brython_stdlib.js, āĻāĻ•āĻœāĻ¨ āĻ“āĻ¯āĻŧā§‡āĻŦ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ° āĻĒāĻžāĻ°ā§‡āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¸āĻžāĻ‡āĻĄā§‡ āĻ¸āĻžāĻ‡āĻŸā§‡āĻ° āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ­āĻžāĻˇāĻžāĨ¤ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ•ā§‹āĻĄ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡, āĻŸā§āĻ¯āĻžāĻ—āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ Ņ mime-Ņ‚иĐŋĐžĐŧ ÂĢtext/pythonÂģ. ДоĐŋŅƒŅĐēĐ°ĐĩŅ‚ŅŅ ĐēĐ°Đē вŅŅ‚Ņ€Đ°Đ¸Đ˛Đ°ĐŊиĐĩ ĐēОда ĐŊĐ° ŅŅ‚Ņ€Đ°ĐŊиŅ†Ņƒ, Ņ‚Đ°Đē и СаĐŗŅ€ŅƒĐˇĐēĐ° вĐŊĐĩŅˆĐŊиŅ… ŅĐēŅ€Đ¸ĐŋŅ‚Ов (). ИС ŅĐēŅ€Đ¸ĐŋŅ‚Đ° ĐŋŅ€ĐĩĐ´ĐžŅŅ‚авĐģŅĐĩŅ‚ŅŅ ĐŋĐžĐģĐŊŅ‹Đš Đ´ĐžŅŅ‚ŅƒĐŋ Đē ŅĐģĐĩĐŧĐĩĐŊŅ‚Đ°Đŧ и ŅĐžĐąŅ‹Ņ‚иŅĐŧ DOM.
āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ¤ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻāĻŸāĻŋ DOM āĻāĻŦāĻ‚ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ¯ā§‡āĻŽāĻ¨ jQuery, D3, Highcharts āĻāĻŦāĻ‚ Raphael āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻļā§‡āĻˇ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ…āĻĢāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ CSS āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• Bootstrap3, LESS āĻāĻŦāĻ‚ SASS āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤āĨ¤

āĻŦā§āĻ˛āĻ• āĻĨā§‡āĻ•ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ•ā§‹āĻĄ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻš āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ ĐŋŅ€ĐžĐ¸ĐˇĐ˛ĐžĐ´Đ¸Ņ‚ŅŅ Ņ‡ĐĩŅ€ĐĩС ĐŋŅ€ĐĩдваŅ€Đ¸Ņ‚ĐĩĐģŅŒĐŊŅƒŅŽ ĐēĐžĐŧĐŋиĐģŅŅ†Đ¸ŅŽ ŅŅ‚ĐžĐŗĐž ĐēĐžĐŗĐ´Đ°, вŅ‹ĐŋĐžĐģĐŊŅĐĩĐŧŅƒŅŽ ОйŅ€Đ°ĐąĐžŅ‚Ņ‡Đ¸ĐēĐžĐŧ Brython ĐŋĐžŅĐģĐĩ СаĐŗŅ€ŅƒĐˇĐēи ŅŅ‚Ņ€Đ°ĐŊиŅ†Ņ‹. КоĐŧĐŋиĐģŅŅ†Đ¸Ņ иĐŊиŅ†Đ¸Đ¸Ņ€ŅƒĐĩŅ‚ŅŅ ĐŋŅ€Đ¸ ĐŋĐžĐŧĐžŅ‰Đ¸ вŅ‹ĐˇĐžĐ˛Đ° Ņ„ŅƒĐŊĐēŅ†Đ¸Đ¸ brython(), ĐŊĐ°ĐŋŅ€Đ¸ĐŧĐĩŅ€ Ņ‡ĐĩŅ€ĐĩС дОйавĐģĐĩĐŊиĐĩ ÂĢÂģ. На ĐžŅĐŊОвĐĩ Python ĐēОда Ņ„ĐžŅ€ĐŧиŅ€ŅƒĐĩŅ‚ŅŅ ĐŋŅ€ĐĩĐ´ŅŅ‚авĐģĐĩĐŊиĐĩ ĐŊĐ° ŅĐˇŅ‹ĐēĐĩ JavaScript, ĐēĐžŅ‚ĐžŅ€ĐžĐĩ СаŅ‚ĐĩĐŧ вŅ‹ĐŋĐžĐģĐŊŅĐĩŅ‚ŅŅ ŅˆŅ‚Đ°Ņ‚ĐŊŅ‹Đŧ JavaScript-двиĐļĐēĐžĐŧ ĐąŅ€Đ°ŅƒĐˇĐĩŅ€Đ° (Đ´ĐģŅ ŅŅ€Đ°Đ˛ĐŊĐĩĐŊиŅ, ĐŋŅ€ĐžĐĩĐēŅ‚ PyPy.js āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ•ā§‹āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ asm.js-āĻ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ CPython āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĒā§āĻ°ā§‡āĻŸāĻžāĻ° āĻ…āĻĢāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§āĻ•āĻžāĻ˛ā§āĻĒ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻāĻ•āĻŸāĻŋ āĻĻā§‹āĻ­āĻžāĻˇā§€ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡)āĨ¤

āĻ“āĻ¯āĻŧā§‡āĻŦ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻŽāĻŦā§‡āĻĄ āĻ•āĻ°āĻž āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦāĻ¨ā§āĻ§ CPython āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž. āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻ˜āĻŸā§‡, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻĻā§‚āĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻžāĻ•-āĻ¸āĻ‚āĻ•āĻ˛āĻŋāĻ¤ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ•ā§‹āĻĄ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻ˛ā§‹āĻĄāĻŋāĻ‚ āĻ—āĻ¤āĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ (Brython āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻŸā§āĻ˛āĻ¸ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡)āĨ¤

āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋāĻ° āĻ¸āĻŽāĻ¯āĻŧ
āĻ—āĻŖāĻŋāĻ¤ āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°ā§āĻ¨

āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ¨āĻĨāĻŋ āĻĨā§‡āĻ•ā§‡
āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°.āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°ā§āĻ¨

āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ = āĻ¨āĻĨāĻŋ["āĻ¸āĻžāĻŽāĻ—ā§āĻ°ā§€"]

...

āĻ•ā§āĻ¯āĻžāĻ¨āĻ­āĻžāĻ¸ = content.select_one(“.clock”)

āĻ¯āĻĻāĻŋ hasattr(āĻ•ā§āĻ¯āĻžāĻ¨āĻ­āĻžāĻ¸, 'getContext'):
ctx = canvas.getContext("2d")

browser.timer.set_interval(set_clock, 100)
show_hours()
āĻ…āĻ¨ā§āĻ¯:
content.select_one('.navig_zone').html = "āĻ•ā§āĻ¯āĻžāĻ¨āĻ­āĻžāĻ¸ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ"

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨