From 7752e7fb57a4af55352dd984e19c477d89cd529e Mon Sep 17 00:00:00 2001
From: Patrick Jentsch <pjentsch@sfb1288inf-Laptop.fritz.box>
Date: Fri, 20 Mar 2020 15:12:19 +0100
Subject: [PATCH] Add changes from cqiclient repository

---
 app/corpora/CQiWrapper/CQi.py        | 31 +++++++++++++++++++---------
 app/corpora/CQiWrapper/CQiWrapper.py |  7 ++++---
 2 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/app/corpora/CQiWrapper/CQi.py b/app/corpora/CQiWrapper/CQi.py
index 88a57fff..30896494 100644
--- a/app/corpora/CQiWrapper/CQi.py
+++ b/app/corpora/CQiWrapper/CQi.py
@@ -1,16 +1,16 @@
-# ########################################################################### #
-# IMS CQi specification                                                       #
-#                                                                             #
-# Version:       0.1a ;o)                                                     #
-# Author:        Stefan Evert (evert@ims.uni-stuttgart.de)                    #
-# Modified by:   Patrick Jentsch <p.jentsch@uni-bielefeld.de                  #
-# Modified date: Thurs Oct 10 <Uhrzeit>                                       #
-# ########################################################################### #
 from time import sleep
 import socket
 import struct
 
 
+# ########################################################################### #
+# IMS CQi specification                                                       #
+#                                                                             #
+# Version: 0.1a ;o)                                                           #
+# Author: Stefan Evert (evert@ims.uni-stuttgart.de)                           #
+# Modified by (codestyle): Patrick Jentsch (p.jentsch@uni-bielefeld.de)       #
+# Modified date: Thurs Oct 10                                                 #
+# ########################################################################### #
 """ 1. padding """
 PAD = 0x00
 
@@ -409,13 +409,24 @@ lookup = {
 }
 
 
-class Client:
-    def __init__(self, host='127.0.0.1', port=4877):
+# ########################################################################### #
+# IMS CQi client                                                              #
+#                                                                             #
+# Version: 0.1a                                                               #
+# Author: Patrick Jentsch (p.jentsch@uni-bielefeld.de)                        #
+# ########################################################################### #
+class APIClient:
+    def __init__(self, host, port=4877):
         self.host = host
         self.port = port
         self.socket = socket.socket()
+
+    def setup(self):
         self.socket.connect((self.host, self.port))
 
+    def teardown(self):
+        self.socket.close()
+
     def ctrl_connect(self, username, password):
         # INPUT: (STRING username, STRING password)
         # OUTPUT: CQI_STATUS_CONNECT_OK, CQI_ERROR_CONNECT_REFUSED
diff --git a/app/corpora/CQiWrapper/CQiWrapper.py b/app/corpora/CQiWrapper/CQiWrapper.py
index dcd5d8f0..981c0e3c 100644
--- a/app/corpora/CQiWrapper/CQiWrapper.py
+++ b/app/corpora/CQiWrapper/CQiWrapper.py
@@ -3,7 +3,7 @@ from . import CQi
 import time
 
 
-class CQiWrapper(CQi.Client):
+class CQiWrapper(CQi.APIClient):
     '''
     CQIiWrapper object
 
@@ -21,7 +21,7 @@ class CQiWrapper(CQi.Client):
 
     def __init__(self, host='127.0.0.1', port=4877, username='anonymous',
                  password=''):
-        super(CQiWrapper, self).__init__(host=host, port=port)
+        super(CQiWrapper, self).__init__(host, port=port)
         self.username = username
         self.password = password
 
@@ -32,6 +32,7 @@ class CQiWrapper(CQi.Client):
         Connects via socket to the CQP server using the given username and
         password from class initiation.
         '''
+        super(CQiWrapper, self).setup()
         self.ctrl_connect(self.username, self.password)
 
     def __create_attribute_strings(self):
@@ -78,7 +79,7 @@ class CQiWrapper(CQi.Client):
         Disconnects from the CQP server. Closes used socket after disconnect.
         '''
         self.ctrl_bye()
-        self.connection.close()
+        super(CQiWrapper, self).teardown()
         logger.warning('Disconnected from cqp server.')
 
     def query_subcorpus(self, query, result_subcorpus_name='Query-results'):
-- 
GitLab