kobot 1.2.1 → 1.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/bin/console +1 -0
- data/lib/kobot.rb +0 -2
- data/lib/kobot/config.rb +0 -1
- data/lib/kobot/credential.rb +0 -1
- data/lib/kobot/engine.rb +14 -16
- data/lib/kobot/exception.rb +0 -2
- data/lib/kobot/mailer.rb +0 -2
- data/lib/kobot/option.rb +0 -2
- data/lib/kobot/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5280569d35d3db17de90830bc1b6b2fa7fd4ec17c1b3efae0772a2329288fbe
|
4
|
+
data.tar.gz: 51a08ceb2e07e577a503e6c5bbd17352e664612a9b6ae6fd6e3ca9aedc56a71e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9ce2200116a9c36f384edbc2a0a2b47b37819ddb44fb8f590a1a1af1afd0859ea4d56c2022c4990f720f9bbd42eb4aaaf26986333298ed61580a4ad37b41bbed
|
7
|
+
data.tar.gz: 783cd8e9c729404108119fc2c26b49729852c68e40e415dad7d5ab92066021a4c2496fe3aaeab355911ad174b848af1cda99510496a53ff282f5d4fa42f8d244
|
data/CHANGELOG.md
CHANGED
@@ -14,3 +14,7 @@
|
|
14
14
|
- Improved logging for better readability in logs
|
15
15
|
- Switched to builtin Logger#deprecate from Logger#warn for deprecations
|
16
16
|
- Renamed internal method to skip? from holiday? as it was meant for skipping any specified date
|
17
|
+
|
18
|
+
### v1.2.2
|
19
|
+
- Improved login screen wait and logging
|
20
|
+
- Applied fix for offenses about empty lines and long lines reported by Rubocop
|
data/bin/console
CHANGED
data/lib/kobot.rb
CHANGED
data/lib/kobot/config.rb
CHANGED
data/lib/kobot/credential.rb
CHANGED
data/lib/kobot/engine.rb
CHANGED
@@ -6,7 +6,6 @@ module Kobot
|
|
6
6
|
# The core class that launches browser, logins to KOT, reads today
|
7
7
|
# record, and conducts clock in or clock out action based on config.
|
8
8
|
class Engine
|
9
|
-
|
10
9
|
def initialize
|
11
10
|
@now = Time.now.getlocal(Config.kot_timezone_offset)
|
12
11
|
@today = @now.strftime(Config.kot_date_format)
|
@@ -93,6 +92,8 @@ module Kobot
|
|
93
92
|
def login
|
94
93
|
Kobot.logger.info("Navigate to: #{@top_url}")
|
95
94
|
@browser.get @top_url
|
95
|
+
@wait.until { @browser.find_element(id: 'modal_window') }
|
96
|
+
Kobot.logger.info "Page title: #{@browser.title}"
|
96
97
|
Kobot.logger.debug do
|
97
98
|
"Login with id=#{Credential.kot_id} and password=#{Credential.kot_password}"
|
98
99
|
end
|
@@ -139,8 +140,12 @@ module Kobot
|
|
139
140
|
@kot_today = date_cell.text
|
140
141
|
@kot_today_css_class = date_cell.attribute('class')
|
141
142
|
@kot_today_type = tr.find_element(css: 'td.work_day_type').text
|
142
|
-
@kot_today_clock_in = tr.find_element(
|
143
|
-
|
143
|
+
@kot_today_clock_in = tr.find_element(
|
144
|
+
css: 'td.start_end_timerecord[data-ht-sort-index="START_TIMERECORD"]'
|
145
|
+
).text
|
146
|
+
@kot_today_clock_out = tr.find_element(
|
147
|
+
css: 'td.start_end_timerecord[data-ht-sort-index="END_TIMERECORD"]'
|
148
|
+
).text
|
144
149
|
Kobot.logger.debug do
|
145
150
|
{
|
146
151
|
kot_toay: @kot_today,
|
@@ -158,26 +163,19 @@ module Kobot
|
|
158
163
|
raise KotRecordError, "Today=#{@today} is not found on kot" if @kot_today.strip.empty?
|
159
164
|
|
160
165
|
if kot_weekend?
|
161
|
-
unless Config.force
|
162
|
-
raise KotRecordError,
|
163
|
-
"Today=#{@today} is marked as weekend on kot: #{@kot_today}"
|
164
|
-
end
|
166
|
+
raise KotRecordError, "Today=#{@today} is marked as weekend on kot: #{@kot_today}" unless Config.force
|
165
167
|
|
166
168
|
Kobot.logger.info(
|
167
169
|
"[Force] should have exited: today=#{@today} is marked as weekend on kot: #{@kot_today}"
|
168
170
|
)
|
169
171
|
end
|
170
172
|
|
171
|
-
|
172
|
-
|
173
|
-
raise KotRecordError,
|
174
|
-
"Today=#{@today} is marked as public holiday on kot: #{@kot_today}"
|
175
|
-
end
|
173
|
+
return unless kot_public_holiday?
|
174
|
+
raise KotRecordError, "Today=#{@today} is marked as public holiday on kot: #{@kot_today}" unless Config.force
|
176
175
|
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
end
|
176
|
+
Kobot.logger.info(
|
177
|
+
"[Force] should have exited: today=#{@today} is marked as public holiday on kot: #{@kot_today}"
|
178
|
+
)
|
181
179
|
end
|
182
180
|
|
183
181
|
def clock_in!
|
data/lib/kobot/exception.rb
CHANGED
data/lib/kobot/mailer.rb
CHANGED
@@ -3,11 +3,9 @@
|
|
3
3
|
require 'net/smtp'
|
4
4
|
|
5
5
|
module Kobot
|
6
|
-
|
7
6
|
# Responsible for sending email notifications in SMTP with Gmail
|
8
7
|
class Mailer
|
9
8
|
class << self
|
10
|
-
|
11
9
|
# Sends email in preconfigured Gmail SMTP credential and to the recipient
|
12
10
|
# configured by #{Config.gmail_notify_to} or self if not configured, with
|
13
11
|
# email subject set by #{Config.gmail_notify_subject}.
|
data/lib/kobot/option.rb
CHANGED
data/lib/kobot/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kobot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Jiang
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: webdrivers
|