From 0bf4af7056079ea4098530f70ba4d26aaac3007b Mon Sep 17 00:00:00 2001
From: Dariusz Kedzierski <dkedzierski@syncad.com>
Date: Wed, 5 Aug 2020 15:59:33 +0200
Subject: [PATCH] Initial commit

- added get_info api call
- command line args listed in proper way at startup
---
 hive/conf.py                   |  8 ++++++--
 hive/server/hive_api/public.py | 19 +++++++++++++++++++
 hive/server/serve.py           |  3 +++
 3 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/hive/conf.py b/hive/conf.py
index ee80ad065..5541277e8 100644
--- a/hive/conf.py
+++ b/hive/conf.py
@@ -61,8 +61,12 @@ class Conf():
         # configure logger and print config
         root = logging.getLogger()
         root.setLevel(conf.log_level())
-        root.info("loaded configuration:\n%s",
-                  _sanitized_conf(parser))
+
+        from sys import argv
+        root.info("Used command line args: %s", " ".join(argv[1:]))
+
+        args_list = ["--" + k + " " + str(v) for k,v in vars(args).items()]
+        root.info("Full command line args: %s", " ".join(args_list))
 
         if conf.mode() == 'server':
             #DbStats.SLOW_QUERY_MS = 750
diff --git a/hive/server/hive_api/public.py b/hive/server/hive_api/public.py
index 290cf7779..37d336268 100644
--- a/hive/server/hive_api/public.py
+++ b/hive/server/hive_api/public.py
@@ -10,6 +10,7 @@ from hive.server.condenser_api.cursor import get_followers, get_following
 from hive.server.bridge_api.cursor import (
     pids_by_blog, pids_by_comments, pids_by_feed_with_reblog)
 
+from hive.db.schema import DB_VERSION as SCHEMA_DB_VERSION
 
 log = logging.getLogger(__name__)
 
@@ -108,3 +109,21 @@ async def list_account_feed(context, account, limit=10, observer=None, last_post
         if rby: post['reblogged_by'] = list(rby)
 
     return posts
+
+async def get_info(context):
+    db = context['db']
+
+    sql = "SELECT num FROM hive_blocks ORDER BY num DESC LIMIT 1"
+    database_head_block = await db.query_one(sql)
+
+    import pkg_resources
+    hivemind_version, hivemind_git_rev = pkg_resources.get_distribution("hivemind").version.split("+")
+
+    ret = {
+        "hivemind_version" : hivemind_version,
+        "hivemind_git_rev" : hivemind_git_rev,
+        "database_schema_version" : SCHEMA_DB_VERSION,
+        "database_head_block" : database_head_block
+    }
+
+    return ret
diff --git a/hive/server/serve.py b/hive/server/serve.py
index 03789a5bc..56c2a2f96 100644
--- a/hive/server/serve.py
+++ b/hive/server/serve.py
@@ -27,6 +27,7 @@ from hive.server.bridge_api.support import get_post_header as bridge_api_get_pos
 from hive.server.hive_api import community as hive_api_community
 from hive.server.hive_api import notify as hive_api_notify
 from hive.server.hive_api import stats as hive_api_stats
+from hive.server.hive_api.public import get_info as hive_api_get_info
 
 from hive.server.follow_api import methods as follow_api
 from hive.server.tags_api import methods as tags_api
@@ -62,6 +63,8 @@ def build_methods():
         db_head_state,
     )})
 
+    methods.add(**{'hive.get_info' : hive_api_get_info})
+
     methods.add(**{'condenser_api.' + method.__name__: method for method in (
         condenser_api.get_followers,
         condenser_api.get_following,
-- 
GitLab