From 0810e4cfbb68266efea9e45a56160bc030e173c6 Mon Sep 17 00:00:00 2001 From: Boris Tassou Date: Tue, 3 Dec 2019 12:12:25 +0100 Subject: [PATCH] Maj module --- manage_psql/__init__.py | 9 ++++ .../__pycache__/__init__.cpython-35.pyc | Bin 473 -> 0 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 473 -> 0 bytes .../__pycache__/manage_psql.cpython-35.pyc | Bin 1523 -> 0 bytes .../__pycache__/manage_psql.cpython-36.pyc | Bin 2182 -> 0 bytes manage_psql/conf.ini | 5 -- manage_psql/config/conf.ini.sample | 5 ++ manage_psql/manage_psql.py | 51 +++++++++++++----- 8 files changed, 52 insertions(+), 18 deletions(-) delete mode 100644 manage_psql/__pycache__/__init__.cpython-35.pyc delete mode 100644 manage_psql/__pycache__/__init__.cpython-36.pyc delete mode 100644 manage_psql/__pycache__/manage_psql.cpython-35.pyc delete mode 100644 manage_psql/__pycache__/manage_psql.cpython-36.pyc delete mode 100755 manage_psql/conf.ini create mode 100644 manage_psql/config/conf.ini.sample diff --git a/manage_psql/__init__.py b/manage_psql/__init__.py index f37056b..0d31332 100755 --- a/manage_psql/__init__.py +++ b/manage_psql/__init__.py @@ -12,6 +12,7 @@ # */ import sys +from configparser import SafeConfigParser # Global name __version__ = '1.0' @@ -23,3 +24,11 @@ try: except ImportError: print('Psycopg2 library not found. Books-shelf cannot start.') sys.exit(1) + +try: + ini_conf = "./config/conf.ini" + config = SafeConfigParser() + config.read(ini_conf) +except config.Error as error: + print(error) + sys.exit(1) \ No newline at end of file diff --git a/manage_psql/__pycache__/__init__.cpython-35.pyc b/manage_psql/__pycache__/__init__.cpython-35.pyc deleted file mode 100644 index 330800e633a9a7d6cb86111ab89f018cd4e6b9f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 473 zcmYjOO=}x55FL5_v0cZI^x~_IHMF})AU9)zp@%{Uh6d8?MaU~TQL~mdBW;}ZwZA5i zU$obp@)vUI#BFFb%wwKL=sjk}qfv5j_H=a^0X)NhXGrxarB?)$IUxhpfs#Q^MFe>V zR2T9HR1fklH2d!li1y&pPN1v%aGL-MV2tSjs6PB+z%+xOF{r_gTv-M`=-cm;cspMB zyOI~qT3rO=EMGfSmpXkR3vj-Tj?%;Jr@2Gp`Gxe})qJ{qV`s+7;2yY*lEjV@QbkoK+PgT#=&FjAd-Xa_!(+tm*y zJOU;pu!Gmn*}cSUv)N?Je|EC9wDMYuil&kYVXO&4q*c?#(?5fm(bB+wB9QMA~K}k;;2iQ)$iD z^bh(iT07+zI+bz~pnTx*-Mit)sEWv$Q*2;%&(a zXRR*0ah6q1HKooTf*twP#b?=R_j=*LAp0y4UBfP}2bTFAo1-oosH7>gHC*y^p*7q| z(B0c5wuP%V=d3i>AfaW}dA4?qRT*12cY`Om)#aKM(hdrG2|jzE!F9IZkA+aK5TcK< z#eOQp4-FV@7bX)SWaGCEgy2CaO`$F7K+^ijv7dgZY6t#3fP;QigR#C(^iSh|5tsyn z9sHf=4MM(kmCiS&t6aW%e#*%^RT*p0gB&8sD{19Mi#jBg3lS7AL{_(bdhr<6W%x9L TM*)&)8YeVV6ww3vf~NEzD|Cv8 diff --git a/manage_psql/__pycache__/manage_psql.cpython-35.pyc b/manage_psql/__pycache__/manage_psql.cpython-35.pyc deleted file mode 100644 index 70ad17196e481fdb32164f65c7094ed6542aea29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1523 zcmZXUOK;mo5XWcvmP{eeQ!P@UI;01psDuPP6h%=4aDuidss_*@2`>aqu5H;ANiV57 zCZt@POFv41ev5vCUJC5Br+$T=`k$5R2oCKX4QC(on+JC|81(;`{r>t_kLYjOd2HxU zF`Azta-tYgP;OBnXkk%ok>Gcm3Y%h^zRMlTU3!OAE?r^XA?Z@?(V0c+N0J`pK3xfH zvS}6t-SDR>UlwvyH|NDDtIASl?Yt_-|G*nXLhsMgBY9AjNAu$sscNK}W<2x%V?lX} z(R>XdK?f8_iy1)!O!xr|Fs{L3!vhSqgC_t;Pxrr1%e;^;z|oBkinM7)Z8bVE#t-N+ z0eAfLF!nJHFq*$0;CC&kCAuP7TePz1RM1M8kog5bh6$-z+h%%WaX49PXUAgFw{~|d zo>}A3<(Jgjbc&F00)oUYlk^n=^J#@;1-;rNsJs6|Id4D6M0a~ULD^6q^D~~8^Vs2HYUiYC zS{>wRn;xc()Xoysi@h3|y~uT7ek+wvqrT!QYDdX5*Y>f*rna6*qIf0MKA}!NnnefJ4eOzDajWb5S z#|`ok1lgYGiGh7bm_OIH9*KSNP;~d+H{jSn@V1Oo!;g)@x@ojep`gXkS*UJmQH#bx zE0`|ZG~Fx`)5uXF7ODY@yAax!Z)CP?Wn`<{c#rouRwd7u64~f)UfQK9O|%>FfcJ%l zXS?uoSQ^|C;0eVo(G72MZ`WOaBmAxKFzB3uYjnZjCJ4SmW|7t1c_umR%_U%(Z9E07 zp?9;QLJM(BkuU+=_i|a0j7zTVuI+y8WNLzA7Gcrjb zu^{!LTzl!Mf1$_zm|o`EQ~yFQ?R%tR3sqnjD9{o3<{R>n{NBPxJ=ofce=C2@{^}6& zJ6U@?z@I_WAA=AiBZ3N6(J{*yMeJ2x=6y{B7ye5k{3Xk{^hNNDsSjl!!X*VQ?~tU? z?9QV`Oe@)&=+mlKHgzpaGivJoAFwbMO&pDCrp+}O8 z0vRS~<_Xvmnh)D~g1;n7nuUOYgvAlk5Rt_lz#S1=90Tr(#NsaCEwOEJA{fxU*2doy zwW#C)u$}dGt3vCZX?jE3xnaWv)ezWShqen%{|rLV1uJ?5 z|8p@O)gx_Gfl(Vk03lHJ)rbC!V^~{0Y_w@3QJCUsp=Hab5XUT-fcKt@lq(JnQ9gAeBMv472Rt$Ptu4Exv?^wbr6Ma@Tlj9HCaFs1BN6-d9NjIwP?7b-E1lhD(U#@oC zQwm1>i5k@=4YLTSl7z$;sRaE(<$GF4jq9YUPNOW(b?^P8srquO+s_7 zFbRwVld$4|No;o0nj~apn5pNuqFn5JRX^pIqsk@jZ}AF==BCTg^yrdV}3dV zHt9RH|3KeGWK_f9xQNImfAt1%ctzf6Uqap~e0mjmr}jUSpH848T;_SF@YPl1omvTM z_Q5lO&7Os~0j$mfnUfQS=>p&Oy-J&%y;^M4yZzK#I|_bTHCm?h5=T#KJdlrIyYno0 zU6MPsbgPZ>ye`Hv&)Yc9$MzBgoaFiGw5V1iVV;Yo%yY*CGqg>#fl^zJr5QFt?Le2p zvZ3BY@fHfSSYZiR%Vw-r3eTj%LV;fzMMOE{(2~1Jl!W-RT=YogGPsbp5H=&WY{Y6Co E1{WY3MF0Q* diff --git a/manage_psql/conf.ini b/manage_psql/conf.ini deleted file mode 100755 index 29909f0..0000000 --- a/manage_psql/conf.ini +++ /dev/null @@ -1,5 +0,0 @@ -[psql] -host=localhost -database=books_shelf -user=books_shelf -passwd=blabli diff --git a/manage_psql/config/conf.ini.sample b/manage_psql/config/conf.ini.sample new file mode 100644 index 0000000..d647b62 --- /dev/null +++ b/manage_psql/config/conf.ini.sample @@ -0,0 +1,5 @@ +[psql] +host=localhost +database=books +user=books_shelf +passwd=blabli \ No newline at end of file diff --git a/manage_psql/manage_psql.py b/manage_psql/manage_psql.py index 8681e60..0fe0302 100755 --- a/manage_psql/manage_psql.py +++ b/manage_psql/manage_psql.py @@ -11,9 +11,21 @@ # * ---------------------------------------------------------------------------- # */ +import socket from configparser import SafeConfigParser import psycopg2 +# Read conf.ini +INI_CONF = "./config/conf.ini" +CONFIG = SafeConfigParser() +CONFIG.read(INI_CONF) + +# DB parameters +PSQL_HOST = CONFIG.get('psql', 'host') +PSQL_DB = CONFIG.get('psql', 'database') +PSQL_USER = CONFIG.get('psql', 'user') +PSQL_PWD = CONFIG.get('psql', 'passwd') + class HandlePsql: """Class to handle psql connection.""" @@ -21,28 +33,39 @@ class HandlePsql: conn = None cur = None + @staticmethod + def psql_checkport(): + """Check pgsql port.""" + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + check_port = sock.connect_ex((PSQL_HOST, 5432)) + if check_port: + return True + return False + + @staticmethod + def psql_checkcon(): + """Check pgsql connexion to database.""" + try: + conn = psycopg2.connect(host=PSQL_HOST, database=PSQL_DB, + user=PSQL_USER, password=PSQL_PWD, + connect_timeout=5) + conn.close() + return True + except conn.error: + return False + @staticmethod def psql_conn(): """Init psql connection.""" - # Read conf.ini - ini_conf = "/usr/local/Securmail-Administration/config/conf.ini" - config = SafeConfigParser() - config.read(ini_conf) - - # DB parameters - psql_host = config.get('psql', 'host') - psql_db = config.get('psql', 'database') - psql_user = config.get('psql', 'user') - psql_pwd = config.get('psql', 'passwd') - # connexion DB # http://initd.org/psycopg/docs/usage.html # http://www.postgresqltutorial.com/postgresql-python/ try: global conn - conn = psycopg2.connect(host=psql_host, database=psql_db, user=psql_user, password=psql_pwd) + conn = psycopg2.connect(host=PSQL_HOST, database=PSQL_DB, + user=PSQL_USER, password=PSQL_PWD) conn.cursor() - except (Exception, psycopg2.DatabaseError) as error: + except psycopg2.DatabaseError as error: print(error) @staticmethod @@ -77,9 +100,11 @@ class HandlePsql: @staticmethod def psql_unconn(): """End psql connection.""" + global conn cur = conn.cursor() cur.close() conn.close() + if __name__ == "__main__": print("Module psql to handle the connection")