aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2019-09-10 03:33:52 +0300
committerEgor Tensin <Egor.Tensin@gmail.com>2019-09-10 20:03:21 +0300
commitac7561ed3809e4fcef0dd9ab183974292cbc7217 (patch)
treee574a088a75ba3676e5fce847a2a2104387cab0b
parentTravis: fix printf usage in trask_status.sh (diff)
downloadvk-scripts-ac7561ed3809e4fcef0dd9ab183974292cbc7217.tar.gz
vk-scripts-ac7561ed3809e4fcef0dd9ab183974292cbc7217.zip
Travis: add online_sessions.sh
-rw-r--r--.travis.yml2
-rw-r--r--.travis/.gitattributes1
-rwxr-xr-x.travis/online_sessions.sh46
-rw-r--r--.travis/test_db.csv45
-rw-r--r--requirements.txt4
5 files changed, 97 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml
index 01191d9..a6896ed 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,7 +4,6 @@ python:
- '3.5'
- '3.6'
- '3.7'
-install:
script:
- python3 -m bin.mutual_friends --format csv kreed58 maxkorzh_official
- python3 -m bin.mutual_friends --format json kreed58 maxkorzh_official
@@ -12,3 +11,4 @@ script:
- python3 -m bin.show_status egor.tensin
- ./.travis/track_status.sh
+ - ./.travis/online_sessions.sh
diff --git a/.travis/.gitattributes b/.travis/.gitattributes
new file mode 100644
index 0000000..dfdb8b7
--- /dev/null
+++ b/.travis/.gitattributes
@@ -0,0 +1 @@
+*.sh text eol=lf
diff --git a/.travis/online_sessions.sh b/.travis/online_sessions.sh
new file mode 100755
index 0000000..79ce878
--- /dev/null
+++ b/.travis/online_sessions.sh
@@ -0,0 +1,46 @@
+#!/usr/bin/env bash
+
+set -o errexit -o nounset -o pipefail
+
+readonly db_path='.travis/test_db.csv'
+
+_online_sessions() {
+ local output_path
+ output_path="$( mktemp --dry-run )"
+
+ local rm_aux_files
+ rm_aux_files="$( printf -- 'rm -f -- %q' "$output_path" )"
+
+ trap "$rm_aux_files" RETURN
+
+ echo "Running online_sessions.py..."
+ python3 -m bin.online_sessions "$@" "$db_path" "$output_path"
+
+ if file --brief --dereference --mime -- "$output_path" | grep --quiet -- '^binary'; then
+ return 0
+ fi
+
+ echo "Output:"
+ cat "$output_path"
+}
+
+online_sessions() {
+ # Get rid of:
+ # tkinter.TclError: no display name and no $DISPLAY environment variable
+ mkdir -p -- ~/.config/matplotlib
+ echo 'backend: Agg' > ~/.config/matplotlib/matplotlibrc
+
+ _online_sessions --group-by user --output-format csv
+ _online_sessions --group-by user --output-format json
+
+ _online_sessions --group-by user --output-format plot
+ _online_sessions --group-by hour --output-format plot
+ _online_sessions --group-by date --output-format plot
+ _online_sessions --group-by weekday --output-format plot
+}
+
+main() {
+ online_sessions
+}
+
+main "$@"
diff --git a/.travis/test_db.csv b/.travis/test_db.csv
new file mode 100644
index 0000000..2b087a8
--- /dev/null
+++ b/.travis/test_db.csv
@@ -0,0 +1,45 @@
+2019-09-09T20:35:46Z,5245998,Egor,Tensin,egor.tensin,True,2019-09-09T20:35:01Z,7
+2019-09-09T20:35:46Z,80387804,David,Makeev,david.makeev,False,2019-09-09T17:44:23Z,7
+2019-09-09T20:35:46Z,1172984,Darya,Meluzova,dmeluzova,False,2019-09-09T11:56:03Z,2
+2019-09-09T20:35:46Z,1052036,Alisa,Bakaeva,alisa.bakaeva,False,2019-09-09T13:30:40Z,4
+2019-09-09T20:35:46Z,60534,Dina,Semenenko,dina_semenenko,False,2019-09-09T17:20:36Z,1
+2019-09-09T20:35:46Z,631289,Nikita,Fedorov,nicksarkozy,False,2019-09-09T19:56:54Z,2
+2019-09-09T20:40:55Z,5245998,Egor,Tensin,egor.tensin,False,2019-09-09T20:35:52Z,7
+2019-09-09T21:16:33Z,5245998,Egor,Tensin,egor.tensin,True,2019-09-09T21:16:31Z,7
+2019-09-09T21:23:13Z,5245998,Egor,Tensin,egor.tensin,False,2019-09-09T21:18:10Z,7
+2019-09-09T21:34:50Z,60534,Dina,Semenenko,dina_semenenko,True,2019-09-09T21:34:49Z,1
+2019-09-09T21:40:54Z,60534,Dina,Semenenko,dina_semenenko,False,2019-09-09T21:35:52Z,1
+2019-09-09T22:06:00Z,5245998,Egor,Tensin,egor.tensin,True,2019-09-09T22:05:57Z,7
+2019-09-09T22:11:29Z,5245998,Egor,Tensin,egor.tensin,False,2019-09-09T22:06:24Z,7
+2019-09-09T23:28:11Z,5245998,Egor,Tensin,egor.tensin,True,2019-09-09T23:28:06Z,7
+2019-09-09T23:33:10Z,5245998,Egor,Tensin,egor.tensin,False,2019-09-09T23:28:06Z,7
+2019-09-09T23:44:42Z,5245998,Egor,Tensin,egor.tensin,True,2019-09-09T23:44:37Z,7
+2019-09-09T23:49:40Z,5245998,Egor,Tensin,egor.tensin,False,2019-09-09T23:44:37Z,7
+2019-09-10T00:52:03Z,80387804,David,Makeev,david.makeev,True,2019-09-10T00:52:00Z,4
+2019-09-10T00:54:50Z,80387804,David,Makeev,david.makeev,False,2019-09-10T00:54:46Z,4
+2019-09-10T02:50:01Z,80387804,David,Makeev,david.makeev,True,2019-09-10T02:49:58Z,7
+2019-09-10T03:02:25Z,80387804,David,Makeev,david.makeev,False,2019-09-10T02:57:21Z,7
+2019-09-10T06:26:08Z,1172984,Darya,Meluzova,dmeluzova,True,2019-09-10T06:26:05Z,2
+2019-09-10T06:33:23Z,1172984,Darya,Meluzova,dmeluzova,False,2019-09-10T06:28:21Z,2
+2019-09-10T06:58:01Z,60534,Dina,Semenenko,dina_semenenko,True,2019-09-10T06:58:00Z,1
+2019-09-10T07:06:47Z,60534,Dina,Semenenko,dina_semenenko,False,2019-09-10T07:01:44Z,1
+2019-09-10T07:09:24Z,80387804,David,Makeev,david.makeev,True,2019-09-10T07:09:22Z,7
+2019-09-10T07:15:44Z,80387804,David,Makeev,david.makeev,False,2019-09-10T07:10:42Z,7
+2019-09-10T07:17:20Z,60534,Dina,Semenenko,dina_semenenko,True,2019-09-10T07:17:15Z,1
+2019-09-10T07:52:46Z,60534,Dina,Semenenko,dina_semenenko,False,2019-09-10T07:47:45Z,1
+2019-09-10T07:54:17Z,60534,Dina,Semenenko,dina_semenenko,True,2019-09-10T07:54:13Z,1
+2019-09-10T08:00:36Z,1172984,Darya,Meluzova,dmeluzova,True,2019-09-10T08:00:35Z,2
+2019-09-10T08:05:45Z,1172984,Darya,Meluzova,dmeluzova,False,2019-09-10T08:00:43Z,2
+2019-09-10T08:09:02Z,60534,Dina,Semenenko,dina_semenenko,False,2019-09-10T08:04:00Z,1
+2019-09-10T08:18:39Z,60534,Dina,Semenenko,dina_semenenko,True,2019-09-10T08:18:36Z,1
+2019-09-10T08:24:19Z,60534,Dina,Semenenko,dina_semenenko,False,2019-09-10T08:19:17Z,1
+2019-09-10T08:41:56Z,60534,Dina,Semenenko,dina_semenenko,True,2019-09-10T08:41:53Z,1
+2019-09-10T08:52:59Z,60534,Dina,Semenenko,dina_semenenko,False,2019-09-10T08:47:57Z,1
+2019-09-10T09:37:33Z,60534,Dina,Semenenko,dina_semenenko,True,2019-09-10T09:37:30Z,1
+2019-09-10T09:44:03Z,60534,Dina,Semenenko,dina_semenenko,False,2019-09-10T09:39:02Z,1
+2019-09-10T10:20:35Z,5245998,Egor,Tensin,egor.tensin,True,2019-09-10T10:20:29Z,7
+2019-09-10T10:25:34Z,5245998,Egor,Tensin,egor.tensin,False,2019-09-10T10:20:29Z,7
+2019-09-10T10:27:35Z,631289,Nikita,Fedorov,nicksarkozy,True,2019-09-10T10:27:30Z,7
+2019-09-10T10:33:14Z,631289,Nikita,Fedorov,nicksarkozy,False,2019-09-10T10:28:10Z,7
+2019-09-10T10:36:22Z,631289,Nikita,Fedorov,nicksarkozy,True,2019-09-10T10:36:17Z,7
+2019-09-10T10:41:21Z,631289,Nikita,Fedorov,nicksarkozy,False,2019-09-10T10:36:17Z,7
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..8fe1f23
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,4 @@
+numpy>1.11.0
+matplotlib==1.5.1; python_version == '3.4'
+matplotlib==2.1.2; python_version == '3.5'
+matplotlib==3.1.1; python_version > '3.5'