From ac7561ed3809e4fcef0dd9ab183974292cbc7217 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Tue, 10 Sep 2019 03:33:52 +0300 Subject: Travis: add online_sessions.sh --- .travis.yml | 2 +- .travis/.gitattributes | 1 + .travis/online_sessions.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ .travis/test_db.csv | 45 +++++++++++++++++++++++++++++++++++++++++++++ requirements.txt | 4 ++++ 5 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 .travis/.gitattributes create mode 100755 .travis/online_sessions.sh create mode 100644 .travis/test_db.csv create mode 100644 requirements.txt 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' -- cgit v1.2.3