Commits

Jacek Bzdak committed d342a86

Version check for bd_checker

Comments (0)

Files changed (1)

 
 import getpass
 
+VERSION = 1
 
 class DataPackage(object):
     def __init__(self, user_id_1, user_id_2, user_pass_1, user_pass_2, unit_no,
                                "tego polecenia jest taka że podajesz "
                                "nazwa=ścieżka. Na przykład "
                                "--arg foo=5.1")
+check_parser.add_argument("--query", action="store_true", default=False)
 
 query = subparsers.add_parser("query", help = "Kasuje bazę danych zapamiętanych haseł")
 
     uri = "PYRO:executor@{}:{}".format(config.HOST,
                                        config.PORT)
 
-    print(uri)
+    # print(uri)
     return Pyro4.Proxy(uri)
 
 
+def get_query(arg_dict):
+    query = []
+    line = ""
+
+    print("Podaj zapytanie (może mieć wiele linii, zakończ pustą linią)")
+    line = sys.stdin.readline()
+    while len(line) > 1:
+        # print(len(line))
+        query.append(line)
+        line = sys.stdin.readline()
+    arg_dict['query'] = "".join(query)
+
+
 def do_magic():
 
     args = parser.parse_args()
 
     settings = importlib.import_module(args.settings)
 
+    proxy = create_pyro_proxy(settings)
+
+    if proxy.version() != VERSION:
+        print("\n\nUwaga! Używasz starej wersji oprogramowania, pobierz nową z "
+              "https://bitbucket.org/jbzdak/bazy_danych_checker")
+
     arg_dict = {}
     if args.action == "show_marks":
         password = get_password(args.user_id)
             print("Pierwsza kolumna: zajęcia, druga suma ocen za zasdania. "
                   "Proszę samodzielnie podzielić przez ilość zadań "
                   "do wykonania")
-        proxy = create_pyro_proxy(settings)
+
         results = proxy.show_marks(args.user_id, password, args.details)
         for row in results:
             print(row)
         if args.arg:
             arg_dict.update(dict(args.arg))
 
-    elif  args.action == 'query':
-        query = []
-        line = ""
+        if args.query:
+            get_query(arg_dict)
 
-        print("Podaj zapytanie (może mieć wiele linii, zakończ pustą linią)")
-        line = sys.stdin.readline()
-        while len(line) > 1:
-            # print(len(line))
-            query.append(line)
-            line = sys.stdin.readline()
-        arg_dict['query'] = "".join(query)
+    elif args.action == 'query':
+        print("Polecenie query będzie usunięte proszę używać 'check --query'")
+        get_query(arg_dict)
 
     pack = DataPackage(
         args.user_id,
 
     if not settings.USE_PYRO:
         from bdchecker.unit_util import execute_test_checker
-        passes, mark, result = execute_test_checker(pack)
+        passes, mark, result = execute_test_checker(pack, True)
     else:
 
-        proxy = create_pyro_proxy(settings)
-        try:
-            passes, mark, result = proxy.execute_test_checker(pack.__dict__)
-        finally:
-            del proxy
+        passes, mark, result = proxy.execute_test_checker(pack.__dict__, True)
+
 
     if result:
         print(result)