Mycroft-core: mycroft.format.nice_duration() ์ถœ๋ ฅ์ด ์žฅ๊ธฐ๊ฐ„์— ๊ฑธ์ณ ์–ด์ƒ‰ํ•จ

์— ๋งŒ๋“  2019๋…„ 09์›” 10์ผ  ยท  8์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: MycroftAI/mycroft-core

์˜ˆ๋ฅผ ๋“ค์–ด nice_duration์„ ์‚ฌ์šฉํ•˜์—ฌ 2016๋…„ 7์›” ์ดˆ์˜ datetime ์ดํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„์„ ํ™•์ธํ•˜๋ฉด "1166์ผ 5์‹œ๊ฐ„ 1์ดˆ"๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

Mycroft์—๊ฒŒ ๊ทธ ์งˆ๋ฌธ์„ ํ•˜๋ฉด ์›ํ•˜๋Š” ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•˜๋Š” Wolfram์œผ๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค. ์œค๋…„ ๋“ฑ์„ ๊ฐ์•ˆํ•  ๋•Œ ๋ฉฐ์น ์—์„œ ๋ช‡ ๋…„๊นŒ์ง€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ์•…๋ชฝ ๊ฐ™์€ ์ž‘์—…์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์ ์–ด๋„ ์ˆ˜๋ฐฑ ์ผ๋กœ ์˜ฎ๊ฒจ์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. "1166์ผ..."(๋˜๋Š” "1166์ผ...") ๋‚ ")

help wanted

๋ชจ๋“  8 ๋Œ“๊ธ€

์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :)

๋ˆ„๊ตฐ๊ฐ€ ๊ทธ๊ฒƒ์„ ํ•ด๊ฒฐํ•˜๊ธฐ๋ฅผ ์—ด๋งํ•˜๊ณ  ์œค๋…„์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ตœ๊ทผ Date-Time Skill์—์„œ ๋‹ค์Œ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

def is_leap_year(self, year):
    return (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0))

ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—๋Š” calendar.isleap ํ•จ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค...

Humanize ๋ชจ๋“ˆ๋„ ์‚ดํŽด๋ด์•ผ ํ•  ๋ถ€๋ถ„์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

>>> humanize.naturaldelta(timedelta(minutes=40, hours=360000))
'41 years'

๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ด ํ•จ์ˆ˜๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•˜๋ ค๊ณ  ํ•œ๋‹ค๋ฉด, ๊ทธ๋“ค์ด ๊ฑฐ๊ธฐ์— ์žˆ๋Š” ๋™์•ˆ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์ œ๊ณตํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Mycroft๊ฐ€ ์˜ค๋ž˜ ์ „ ๊ทธ๋‚  ์ดํ›„๋กœ ๋ช‡ ์ดˆ๊ฐ€ ์ง€๋‚ฌ๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ์€ ์žฌ๋ฏธ์žˆ๊ณ  ์„ฑ๊ฒฉ์ƒ 100%์ด์ง€๋งŒ ์ฝ”๋”๋Š” nice_duration_years() ๋˜๋Š” nice_duration(dt1, dt2, <str>resolution) ๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋„ค, ์ €๋Š” ์ด๋Ÿฌํ•œ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ "ํ•ด์ƒ๋„"์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด ์™”์ง€๋งŒ ํš๊ธฐ์ ์ธ ๋ณ€๊ฒฝ์„ ํ•˜๊ณ  ์‹ถ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜๋งŒ ์ถ”๊ฐ€ํ•˜๊ณ  ์—ฌ์ „ํžˆ ๋ฌธ์ž์—ด๋งŒ ๋ฐ˜ํ™˜ํ•œ๋‹ค๋ฉด ๋ฌธ์ œ๊ฐ€ ๋œ ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์˜ˆ:
nice_duration(<int>seconds, <str>resolution)

๋‚˜๋Š” ์ด๊ฒƒ์„ ์ง์ ‘ ์ฝ”๋”ฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ฒœ ๊ฐ€์ง€ ์ œ์•ˆ์„ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค!

์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์ด ํ•ด๊ฒฐ๋˜๋ฉด ๋ช‡ ๋…„ ๋™์•ˆ ์‚ผ ๋ถ„๊ธฐ ๋™์•ˆ ์ž‘๋™ํ•˜๊ฑฐ๋‚˜ "์•ฝ 2๋…„", "๊ฑฐ์˜ 2๋…„", "2๋…„ ์กฐ๊ธˆ ๋„˜์Œ" ๋˜๋Š” "2๋…„" ์‚ฌ์ด์˜ ์ฐจ์ด๋ฅผ ๋งŒ๋“œ๋Š” ๋ช‡ ๊ฐœ์›” ๋“ฑ์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๋ น"

๋ฐฉ๊ธˆ ํ†ต์—ญ์‚ฌ์—์„œ ์ด๊ฒƒ์— ๋Œ€ํ•ด ์†Œ๋ž€์„ ํ”ผ์šฐ๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ  ์ƒ๊ฐ๋งŒํผ ์–ด๋ ต์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์•„์ง ์•„๋ฌด๋„ ์‹œ์ž‘ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์ €๋… ์‹์‚ฌ ํ›„์— ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ณ‘ํ•ฉ ์ˆ˜์ •.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰

๊ด€๋ จ ๋ฌธ์ œ

tiagochiavericosta picture tiagochiavericosta  ยท  6์ฝ”๋ฉ˜ํŠธ

forslund picture forslund  ยท  6์ฝ”๋ฉ˜ํŠธ

Ahmed-Benj picture Ahmed-Benj  ยท  7์ฝ”๋ฉ˜ํŠธ

el-tocino picture el-tocino  ยท  4์ฝ”๋ฉ˜ํŠธ

WSLUser picture WSLUser  ยท  9์ฝ”๋ฉ˜ํŠธ