From df68cc8bfb5e9448c6181a101aff505ed85aa4fc Mon Sep 17 00:00:00 2001 From: Boris Tassou Date: Tue, 3 Dec 2019 11:11:52 +0100 Subject: [PATCH] First init --- manage_psql/__init__.py | 25 ++++++ manage_psql/__init__.pyc | Bin 0 -> 506 bytes .../__pycache__/__init__.cpython-35.pyc | Bin 0 -> 473 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 473 bytes .../__pycache__/manage_psql.cpython-35.pyc | Bin 0 -> 1523 bytes .../__pycache__/manage_psql.cpython-36.pyc | Bin 0 -> 2182 bytes manage_psql/conf.ini | 5 ++ manage_psql/manage_psql.py | 85 ++++++++++++++++++ manage_psql/manage_psql.pyc | Bin 0 -> 1485 bytes 9 files changed, 115 insertions(+) create mode 100755 manage_psql/__init__.py create mode 100644 manage_psql/__init__.pyc create mode 100644 manage_psql/__pycache__/__init__.cpython-35.pyc create mode 100644 manage_psql/__pycache__/__init__.cpython-36.pyc create mode 100644 manage_psql/__pycache__/manage_psql.cpython-35.pyc create mode 100644 manage_psql/__pycache__/manage_psql.cpython-36.pyc create mode 100755 manage_psql/conf.ini create mode 100755 manage_psql/manage_psql.py create mode 100644 manage_psql/manage_psql.pyc diff --git a/manage_psql/__init__.py b/manage_psql/__init__.py new file mode 100755 index 0000000..f37056b --- /dev/null +++ b/manage_psql/__init__.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +"""Psql connection module.""" + +# /* +# * ---------------------------------------------------------------------------- +# * "THE BEER-WARE LICENSE" (Revision 42): +# * wrote this file. As long as you retain this notice you +# * can do whatever you want with this stuff. If we meet some day, and you think +# * this stuff is worth it, you can buy me a beer in return Boris Tassou +# * ---------------------------------------------------------------------------- +# */ + +import sys + +# Global name +__version__ = '1.0' +__author__ = 'Boris Tassou ' +__license__ = 'Beerware' + +try: + import psycopg2 +except ImportError: + print('Psycopg2 library not found. Books-shelf cannot start.') + sys.exit(1) diff --git a/manage_psql/__init__.pyc b/manage_psql/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..49001b96cd4f417029b56b2ce83951ba923ba204 GIT binary patch literal 506 zcmYLFO-lnY5S?`UAyq-Wcnx^zL3dT~R*Dov1rb3(-Gd?Bq&2!t)=ai_&;A|%oj*Wl zw~7gQ$(xtVyiD}9+26kUe9Yi?bZ9@Ng--+uASGm=T97kH=@3EM0@a2z0@Z=E4b|4) z1)?3ew|mgmU3l$-e+0&u>caVjX7JJj)q@WP%rbbOgtvpWy3Q`a4Zh_(bJprC7-#w1 zsWR8G`KED=5#2b74{<>I*m;BeP9nOJ4<|K?L&Hu{XQiJ@lgCp(3U%(W)_y6y#*?N- zmAPVe%yTpG(pTKNz^AUXD&}M7Uhx2*bw1^pw6%gk`VbpNFB_ksM<*ea%Y+EEBdjp2 zH?f8GNUkZ~Z@4VOv-3n(a&9thQ4_B{6}Ym|h?n!i`EcevVVgw#ZbJP__y^o4nk=MG zmdj-_`8S%(rIj-+3hG@Vgs~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 literal 0 HcmV?d00001 diff --git a/manage_psql/__pycache__/manage_psql.cpython-35.pyc b/manage_psql/__pycache__/manage_psql.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..70ad17196e481fdb32164f65c7094ed6542aea29 GIT binary patch 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* literal 0 HcmV?d00001 diff --git a/manage_psql/conf.ini b/manage_psql/conf.ini new file mode 100755 index 0000000..29909f0 --- /dev/null +++ b/manage_psql/conf.ini @@ -0,0 +1,5 @@ +[psql] +host=localhost +database=books_shelf +user=books_shelf +passwd=blabli diff --git a/manage_psql/manage_psql.py b/manage_psql/manage_psql.py new file mode 100755 index 0000000..8681e60 --- /dev/null +++ b/manage_psql/manage_psql.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +"""Module psql connection.""" + +# /* +# * ---------------------------------------------------------------------------- +# * "THE BEER-WARE LICENSE" (Revision 42): +# * wrote this file. As long as you retain this notice you +# * can do whatever you want with this stuff. If we meet some day, and you think +# * this stuff is worth it, you can buy me a beer in return Boris Tassou +# * ---------------------------------------------------------------------------- +# */ + +from configparser import SafeConfigParser +import psycopg2 + + +class HandlePsql: + """Class to handle psql connection.""" + + conn = None + cur = None + + @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.cursor() + except (Exception, psycopg2.DatabaseError) as error: + print(error) + + @staticmethod + def psql_select(sql_select): + """Psql select request.""" + cur = conn.cursor() + cur.execute(sql_select) + sql_return = cur.fetchall() + return sql_return + + @staticmethod + def psql_delete(sql_delete): + """Psql delte request.""" + cur = conn.cursor() + cur.execute(sql_delete) + conn.commit() + + @staticmethod + def psql_insert(sql_insert): + """Psql insert request.""" + cur = conn.cursor() + cur.execute(sql_insert) + conn.commit() + + @staticmethod + def psql_update(sql_update): + """Psql insert request.""" + cur = conn.cursor() + cur.execute(sql_update) + conn.commit() + + @staticmethod + def psql_unconn(): + """End psql connection.""" + cur = conn.cursor() + cur.close() + conn.close() + +if __name__ == "__main__": + print("Module psql to handle the connection") diff --git a/manage_psql/manage_psql.pyc b/manage_psql/manage_psql.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b2f9e04202c2228bd6be97380c155d1598de73cd GIT binary patch literal 1485 zcmb_c&2G~`5T3Oir%78;3X~#H6(kN85{ZO3B7|rwT8UPbbAa|@x%TF#b?o5X5Gp07 z@;JN!7v6^>4*=gxA`+=LAjwW@(G{UUGnf8i4-7}yPvcHGgsMc(OmPvX+(^4Qj)J&5x((o7R*jpW=mR=6@4`J~a+vq+jik+O z>@-{G3hFL@%|7frXt`a&^a^9`3fCgG@p){tXh&!f0Kg7q9j9U-Y*D7i0h@;oH`>CyntgXP-uw?h5{z01=9Kym#y)5 z+&V9cOY_Y10HrmE^SG-c_O{G7hgXZ3?ENl#*=Ap^uWD-D-Bj|exax`8P}@qTktdRu zOe0%k4l#Zh0cB+nnZty(0|%RC6J$@%%Zb8Cx0}au1wy`vl1q{mMu%Gvqt&r1zbOAQ55CzKu3|>>nIw?s{oN36Gdr}L{azveE1M#f#|O* z9&+h;z73D5uY9MrH3u??`*{?ZC(tiHPK(FE_Vm(IH3P$5!W|I127*L!Wrp%p$)txo gloB(11nxg1AYfn4>hy}QkKqvh>V{f#?(D3o-%098+5i9m literal 0 HcmV?d00001