summaryrefslogtreecommitdiff
path: root/github-activity-widget
diff options
context:
space:
mode:
Diffstat (limited to 'github-activity-widget')
-rw-r--r--github-activity-widget/github-activity-widget.lua31
1 files changed, 18 insertions, 13 deletions
diff --git a/github-activity-widget/github-activity-widget.lua b/github-activity-widget/github-activity-widget.lua
index 84b5320..5374081 100644
--- a/github-activity-widget/github-activity-widget.lua
+++ b/github-activity-widget/github-activity-widget.lua
@@ -22,9 +22,12 @@ local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/github-activ
local ICONS_DIR = WIDGET_DIR .. '/icons/'
local CACHE_DIR = HOME_DIR .. '/.cache/awmw/github-activity-widget'
-local GET_EVENTS_CMD = [[bash -c "cat %s/activity.json | jq '.[:%d] | [.[] | {type: .type, actor: .actor, repo: .repo, action: .payload.action, issue_url: .payload.issue.html_url, pr_url: .payload.pull_request.html_url, created_at: .created_at}]'"]]
-local DOWNLOAD_AVATAR_CMD = [[bash -c "curl -n --create-dirs -o %s/avatars/%s %s"]]
-local UPDATE_EVENTS_CMD = [[bash -c "curl -s --show-error https://api.github.com/users/%s/received_events > %s/activity.json"]]
+local GET_EVENTS_CMD = [[sh -c "cat %s/activity.json | jq '.[:%d] | [.[] ]]
+ .. [[| {type: .type, actor: .actor, repo: .repo, action: .payload.action, issue_url: .payload.issue.html_url, ]]
+ .. [[pr_url: .payload.pull_request.html_url, created_at: .created_at}]'"]]
+local DOWNLOAD_AVATAR_CMD = [[sh -c "curl -n --create-dirs -o %s/avatars/%s %s"]]
+local UPDATE_EVENTS_CMD = [[sh -c "curl -s --show-error https://api.github.com/users/%s/received_events ]]
+ ..[[> %s/activity.json"]]
--- Utility function to show warning messages
local function show_warning(message)
@@ -37,7 +40,7 @@ end
--- Converts string representation of date (2020-06-02T11:25:27Z) to date
local function parse_date(date_str)
local pattern = "(%d+)%-(%d+)%-(%d+)T(%d+):(%d+):(%d+)%Z"
- local y, m, d, h, min, sec, mil = date_str:match(pattern)
+ local y, m, d, h, min, sec, _ = date_str:match(pattern)
return os.time{year = y, month = m, day = d, hour = h, min = min, sec = sec}
end
@@ -129,13 +132,13 @@ local github_widget = wibox.widget {
}
-local function worker(args)
+local function worker(user_args)
if not gfs.dir_readable(CACHE_DIR) then
gfs.make_directories(CACHE_DIR)
end
- local args = args or {}
+ local args = user_args or {}
local icon = args.icon or ICONS_DIR .. 'github.png'
local username = args.username or show_warning('No username provided')
@@ -147,7 +150,7 @@ local function worker(args)
layout = wibox.layout.fixed.vertical,
}
- local rebuild_widget = function(widget, stdout, stderr, _, _)
+ local rebuild_widget = function(stdout, stderr, _, _)
if stderr ~= '' then
show_warning(stderr)
return
@@ -197,7 +200,8 @@ local function worker(args)
local repo_info = wibox.widget {
{
- markup = '<b> ' .. event.actor.display_login .. '</b> ' .. action_and_link.action_string .. ' <b>' .. event.repo.name .. '</b>',
+ markup = '<b> ' .. event.actor.display_login .. '</b> ' .. action_and_link.action_string
+ .. ' <b>' .. event.repo.name .. '</b>',
wrap = 'word',
widget = wibox.widget.textbox
},
@@ -261,10 +265,11 @@ local function worker(args)
if popup.visible then
popup.visible = not popup.visible
else
- spawn.easy_async(string.format(GET_EVENTS_CMD, CACHE_DIR, number_of_events), function (stdout, stderr)
- rebuild_widget(github_widget, stdout, stderr)
- popup:move_next_to(mouse.current_widget_geometry)
- end)
+ spawn.easy_async(string.format(GET_EVENTS_CMD, CACHE_DIR, number_of_events),
+ function (stdout, stderr)
+ rebuild_widget(stdout, stderr)
+ popup:move_next_to(mouse.current_widget_geometry)
+ end)
end
end)
)
@@ -276,7 +281,7 @@ local function worker(args)
call_now = true,
autostart = true,
callback = function()
- spawn.easy_async(string.format(UPDATE_EVENTS_CMD, username, CACHE_DIR), function(stdout, stderr)
+ spawn.easy_async(string.format(UPDATE_EVENTS_CMD, username, CACHE_DIR), function(_, stderr)
if stderr ~= '' then show_warning(stderr) return end
end)
end