diff options
Diffstat (limited to '')
-rw-r--r-- | lisp/my-cheeseboard.el | 55 | ||||
-rw-r--r-- | lisp/my-uptime.el | 55 |
2 files changed, 0 insertions, 110 deletions
diff --git a/lisp/my-cheeseboard.el b/lisp/my-cheeseboard.el deleted file mode 100644 index 9713e14..0000000 --- a/lisp/my-cheeseboard.el +++ /dev/null @@ -1,55 +0,0 @@ -;;; my-cheeseboard.el --- summary -*- lexical-binding: t -*- -;; Author: Franck Cuny <franck@fcuny.net> - -;;; Commentary: - -;; commentary: -;; As everybody knows, the best pizza in the world is at -;; cheeseboard[0]. I like to check during the week the pizzas for the -;; week and see if there are any we would like to have. This module -;; gets the list of pizzas for the week and display them in a buffer. -;; -;; [0] https://cheeseboardcollective.coop/ - -;;; Code: - -(require 'dom) - -(defconst my/cheeseboard-buffer "*cheeseboard-menu*" - "Name of the buffer for displaying the week's menu.") - -(defconst my/cheeseboard-url "https://cheeseboardcollective.coop/pizza/" - "URL to fetch to get the list of pizzas for the week.") - -(defun my/cheeseboard-menu () - "Display the list of pizzas for the week." - (interactive) - (let* ((dom (with-current-buffer (url-retrieve-synchronously my/cheeseboard-url) - (libxml-parse-html-region (point-min) (point-max)))) - ;; a class named `pizza-list' contains all the items for the - ;; week. they are wrapped in a `article' tag. - (menus (dom-by-tag (dom-by-class dom "pizza-list") 'article)) - (inhibit-read-only t) - (buffer-undo-list t)) - (pop-to-buffer my/cheeseboard-buffer) - (erase-buffer) - (insert (format "if you want to look at the menu on the website => %s\n\n" my/cheeseboard-url)) - (dolist (menu menus) - (my/pizza-of-the-day menu)) - (special-mode))) - -(defun my/pizza-of-the-day (menu) - "Print the pizzas for the day from the MENU." - (let* ((date (car (dom-strings (dom-by-tag (dom-by-class menu "date") 'p)))) - (pizza (dom-by-tag (dom-by-class menu "menu") 'p))) - (if (string= "The pizzeria is closed today." (nth 0 (dom-strings pizza))) - (insert (format "%s: cheeseboard is closed :(\n\n" (propertize date 'face 'italic))) - (insert (format "%s: 🍕 %s\n(note: %s, %s)\n\n" - (propertize date 'face 'italic) - (propertize (replace-regexp-in-string "\n" "" (nth 2 (dom-strings pizza))) 'face 'highlight) - (nth 0 (dom-strings pizza)) - (nth 1 (dom-strings pizza))))))) - -(provide 'my-cheeseboard) - -;;; my-cheeseboard.el ends here diff --git a/lisp/my-uptime.el b/lisp/my-uptime.el deleted file mode 100644 index 77c9957..0000000 --- a/lisp/my-uptime.el +++ /dev/null @@ -1,55 +0,0 @@ -;;; my-uptime.el --- calculates uptime for SLOs - -;;; Commentary: - -;; Calculate how much downtime is allowed for different period of time -;; based on a given SLO. - -;;; Code: - -(defconst my-uptime/buffer-name "*slo-calculator*") - -(defconst my-uptime/seconds-per-hour 3600 - "Number of seconds in an hour.") -(defconst my-uptime/seconds-per-day (* my-uptime/seconds-per-hour 24) - "Number of seconds in a day.") -(defconst my-uptime/seconds-per-week (* my-uptime/seconds-per-day 7) - "Number of seconds in a week.") -(defconst my-uptime/seconds-per-month (* my-uptime/seconds-per-day 30) - "Number of seconds in a month.") -(defconst my-uptime/seconds-per-quarter (* my-uptime/seconds-per-month 3) - "Number of seconds in a quarter.") -(defconst my-uptime/seconds-per-year (* my-uptime/seconds-per-month 12) - "Number of seconds in a year.") - -(defun my/uptime-is (slo) - "Return the amount of allowed downtime for a given SLO." - (interactive "nSLO:") - (let* ((slo (cond ((< slo 0) 0) - ((> slo 100) 100) - (t slo))) - (allowed (/ (- (* 100 100) (* slo 100.0)) (* 100 100)))) - (my/uptime--message allowed slo))) - -(defun my/uptime--message (seconds slo) - "Insert buffer text with allowed downtime based on SECONDS (derived from SLO)." - (let ((inhibit-read-only t) - (buffer-undo-list t)) - (pop-to-buffer my-uptime/buffer-name) - (erase-buffer) - (insert (format "calculated allowed downtime for %s%% availability.\n" slo)) - (insert - (format "daily: %s\n" (format-seconds "%H %M %S" (seconds-to-time (* my-uptime/seconds-per-day seconds))))) - (insert - (format "weekly: %s\n" (format-seconds "%H %M %S" (seconds-to-time (* my-uptime/seconds-per-week seconds))))) - (insert - (format "monthly: %s\n" (format-seconds "%D %H %M %S" (seconds-to-time (* my-uptime/seconds-per-month seconds))))) - (insert - (format "quarterly: %s\n" (format-seconds "%D %H %M %S" (seconds-to-time (* my-uptime/seconds-per-quarter seconds))))) - (insert - (format "yearly: %s\n" (format-seconds "%D %H %M %S" (seconds-to-time (* my-uptime/seconds-per-year seconds)))))) - (special-mode)) - -(provide 'my-uptime) - -;;; my-uptime.el ends here |