moosey-cms 0.6.0__py3-none-any.whl → 0.7.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
moosey_cms/filters.py CHANGED
@@ -47,13 +47,15 @@ def iso_date(dt):
47
47
  return dt.strftime('%Y-%m-%d')
48
48
 
49
49
 
50
- def relative_time(dt):
50
+ def relative_time(dt, showAgo=True):
51
51
  """Format date as relative time (e.g., '2 hours ago', 'yesterday')"""
52
52
  if not dt:
53
53
  return ""
54
54
 
55
55
  now = datetime.now()
56
56
  diff = now - dt
57
+
58
+ ago = " ago" if showAgo else ""
57
59
 
58
60
  seconds = diff.total_seconds()
59
61
 
@@ -61,10 +63,10 @@ def relative_time(dt):
61
63
  return "just now"
62
64
  elif seconds < 3600:
63
65
  minutes = int(seconds / 60)
64
- return f"{minutes} minute{'s' if minutes != 1 else ''} ago"
66
+ return f"{minutes} minute{'s' if minutes != 1 else ''}{ago}"
65
67
  elif seconds < 86400:
66
68
  hours = int(seconds / 3600)
67
- return f"{hours} hour{'s' if hours != 1 else ''} ago"
69
+ return f"{hours} hour{'s' if hours != 1 else ''}{ago}"
68
70
  elif seconds < 172800:
69
71
  return "yesterday"
70
72
  elif seconds < 604800:
@@ -72,13 +74,13 @@ def relative_time(dt):
72
74
  return f"{days} days ago"
73
75
  elif seconds < 2592000:
74
76
  weeks = int(seconds / 604800)
75
- return f"{weeks} week{'s' if weeks != 1 else ''} ago"
77
+ return f"{weeks} week{'s' if weeks != 1 else ''}{ago}"
76
78
  elif seconds < 31536000:
77
79
  months = int(seconds / 2592000)
78
- return f"{months} month{'s' if months != 1 else ''} ago"
80
+ return f"{months} month{'s' if months != 1 else ''}{ago}"
79
81
  else:
80
82
  years = int(seconds / 31536000)
81
- return f"{years} year{'s' if years != 1 else ''} ago"
83
+ return f"{years} year{'s' if years != 1 else ''}{ago}"
82
84
 
83
85
 
84
86
  def time_only(dt):
@@ -90,7 +92,8 @@ def time_only(dt):
90
92
  formatted = formatted[1:]
91
93
  return formatted
92
94
 
93
-
95
+ def strptime(s, fmt):
96
+ return datetime.strptime(s, fmt)
94
97
  # ============================================================================
95
98
  # CURRENCY FILTERS
96
99
  # ============================================================================
@@ -529,6 +532,7 @@ def register_filters(jinja_env):
529
532
  'short_date': short_date,
530
533
  'iso_date': iso_date,
531
534
  'relative_time': relative_time,
535
+ 'strptime': strptime,
532
536
  'time_only': time_only,
533
537
  'currency': currency,
534
538
  'compact_currency': compact_currency,
@@ -550,7 +554,8 @@ def register_filters(jinja_env):
550
554
  'yesno': yesno,
551
555
  'read_time':read_time,
552
556
  'strip_comments': strip_comments,
553
- 'minify_html': minify_html
557
+ 'minify_html': minify_html,
558
+
554
559
  }
555
560
 
556
561
  for name, func in filters_dict.items():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: moosey-cms
3
- Version: 0.6.0
3
+ Version: 0.7.0
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.9
6
6
  Requires-Dist: cachetools>=6.2.4
@@ -1,7 +1,7 @@
1
1
  moosey_cms/__init__.py,sha256=y7gzxC1LB7qRmjqJHJpN4kEqBNAbuIwNc4xeEI2clMY,184
2
2
  moosey_cms/cache.py,sha256=YI6rRb4OVi-Mb1CmMW-jRz0CC9U6YZyszqLmjqLOsq8,2067
3
3
  moosey_cms/file_watcher.py,sha256=0miTFpKZuT8aZPTByC0OVRr8A0mIG-fgPGrz2QfMG1k,915
4
- moosey_cms/filters.py,sha256=8bMVixNbjlnOMfxXATpj4K1xRIxLrIZf8W-c6ecFpHg,17255
4
+ moosey_cms/filters.py,sha256=BjU30NAqV5viptVHRT__sSBLTxlQ-zObo571kc-cTfE,17410
5
5
  moosey_cms/helpers.py,sha256=m94mDAaDKiH6wvzqoICQuavJ53EVTJ5VmJiRsfLT38o,10277
6
6
  moosey_cms/hot_reload_script.py,sha256=394R-AtjCWEMjLp1ONdvzfg6ETp8TXMF8psoklW_z5c,3074
7
7
  moosey_cms/main.py,sha256=oj_tePjiZXeOT4ujv8dMqodgZ7n5OCUYr5wROFboYwg,9815
@@ -9,6 +9,6 @@ moosey_cms/md.py,sha256=m857SKApJkK62wNrMVsypuJAqumbBt5GuPvcnuN1O6w,4970
9
9
  moosey_cms/models.py,sha256=kYNIf7utTq94PUdqqZXfil5vpp0wciI5UgqRHJ56A0E,3070
10
10
  moosey_cms/seo.py,sha256=jQ2FVuELNoytJkbp0ILK_IF7sZSaz9fkl59HM7xlg70,5246
11
11
  moosey_cms/static/js/reload-script.js,sha256=hnrVXEWeTK-Y2vLeADmtlZ7fOXpDJMF-0zK09o3mrOA,2247
12
- moosey_cms-0.6.0.dist-info/METADATA,sha256=ghuwQT1ZZXLEtG_zLQT9-AzWdpDuLx5PcR7KAAM0iB4,11005
13
- moosey_cms-0.6.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
14
- moosey_cms-0.6.0.dist-info/RECORD,,
12
+ moosey_cms-0.7.0.dist-info/METADATA,sha256=rq8Yc8AzMBXrJq11PhxT9vEXOTI4WPBLOTCbLYhtm7s,11005
13
+ moosey_cms-0.7.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
14
+ moosey_cms-0.7.0.dist-info/RECORD,,