2du 3 лет назад
Родитель
Сommit
2050f44512
1 измененных файлов с 32 добавлено и 2 удалено
  1. 32 2
      route/tool/func_render_namumark.py

+ 32 - 2
route/tool/func_render_namumark.py

@@ -348,9 +348,39 @@ class class_do_render_namumark:
                     '</ruby>' + \
                 ''
             elif name_data == 'age':
-                return ''
+                if re.search(r'^[0-9]{4}-[0-9]{2}-[0-9]{2}$', match[1]):
+                    try:
+                        date = datetime.datetime.strptime(match[1], '%Y-%m-%d')
+                    except:
+                        return 'invalid date'
+
+                    date_now = datetime.datetime.today()
+
+                    if date > date_now:
+                        return 'invalid date'
+                    else:
+                        return str((date_now - date).days // 365)
+                else:
+                    return 'invalid date'
             elif name_data == 'dday':
-                return ''
+                if re.search(r'^[0-9]{4}-[0-9]{2}-[0-9]{2}$', match[1]):
+                    try:
+                        date = datetime.datetime.strptime(match[1], '%Y-%m-%d')
+                    except:
+                        return 'invalid date'
+
+                    date_now = datetime.datetime.today()
+                    
+                    date_end = (date_now - date).days
+                    if date_end > 0:
+                        return '+' + str(date_end)
+                    else:
+                        if date_end == 0:
+                            return '-' + str(date_end)
+                        else:
+                            return str(date_end)
+                else:
+                    return 'invalid date'
             else:
                 return '<macro>' + match[0] + '(' + match[1] + ')' + '</macro>'