Skip to main content
# FluoSQL
Outil pour le SQL

Il faut savoir utiliser le SQL avant de se simplifier la vie.

Creez une base de donnée pour tester "Exemples" et importez le fichier sql dans le dossier exemples.

Auteur: Cyril Coelho

# Pas besoin de paniquer ceci va vous aider a comprendre comment ça marche
Les dependances sont locale a python
Après il est possible qu'il est necessaire d'installer: httplib, urllib
Installez le avec pip:
<pre><code>
pip install FluoSQL
</code></pre>

Si ça ne marche pas:
<pre><code>
git clone https://gitlab.com/LaGvidilo/FluoSQL.git
cd FluoSQL
sudo pip install -e .
</code></pre>
A noter que vous pouvez aussi utiliser "setup.py install"

Ensuite voilà comment utiliser cette librairie:

Juste se connecter a une base de donnée directement avec le connecteur par défault:
<pre><code>
from FluoSQL import FluoSQL as FSQL #import FluoSQL and alias this
SQL_base = FSQL(IP="192.168.1.20",user="admin",password="1234",base="Exemple")
</code></pre>

Et ensuite faire une requête:
<pre><code>
print SQL_base.make_simple_request(type_request = "select", selected_row="site,visit", selected_from="stats", WHERE={'visit>':0})
</code></pre>

Ensuite voilà un client http FluoSQL:
<pre><code>
IP = "localhost"#IP of http server
username = "name@mail.com"#username (in Auth Table of database "Exemple")
password = "1234"#password (in Auth Table of database "Exemple")
RESULT ="NO RETURN"#Start message

import FluoSQL#Import FluoSQL
try:
SQL = FluoSQL.FluoSQL(IP=IP, user=username, password=password,http=True)#connection


#utilisation
#Set request
SQL.make_simple_request(type_request = "select", selected_row="site,visit", selected_from="stats", WHERE={'visit>':0}, set_current=True,mode=-1)
RESULT = SQL.send_request()#And send request & commit
except:
print "error: connector"#if error of connector

print "RESULT:"
print RESULT
</code></pre>

Et voilà son serveur:
<pre><code>
#coding: utf-8
from FluoSQL import FluoSQL as FSQL
SQL_base = FSQL(IP="192.168.1.21",user="admin",password="1234",base="Exemple")#For make request simple
SQL_common = FSQL(IP="192.168.1.21",user="admin",password="1234",base="Exemple")#For send request


#SERVEUR FluoSQL======================================START
from bottle import route, run, template, get, post, request, response, static_file, redirect

@post('/connect')
def connect_fluo():
mode = request.POST['@mode']
username = request.POST['@username']
passhash = request.POST['@hash']
if mode == "connect":
print "\n/connect"
SQL_base.make_simple_request(type_request = "select", selected_row="email, HASH, blocked", selected_from="Auth", WHERE={'email':username,'HASH':passhash}, set_current=True)
print "REQUEST:",SQL_base.__REQUEST__
RES = SQL_common.set_request(SQL_base.__REQUEST__,1)
print "RESULT:",RES
return str(RES)
else:
return None

@post('/req')
def request_fluo():
username = request.POST['@username']
passhash = request.POST['@hash']
securelogin=False
SQL_base.make_simple_request(type_request = "select", selected_row="email, HASH, blocked", selected_from="Auth", WHERE={'email':username,'HASH':passhash}, set_current=True)
print "SQL_base.__REQUEST__",SQL_base.__REQUEST__,'\n'
RES = SQL_common.set_request(SQL_base.__REQUEST__,1)
try:
u,h,b = RES['email'],RES['HASH'],RES['blocked']
if b==0:
if u == username:
if h == passhash:
securelogin=True
except:
print "Pas connecté"

if (securelogin==False):
return "<AUTH_ERROR>"
else:
Req = str(request.POST['@req'])+';'
print "\n/req"
print "(",Req,")"
try:
print "REQUEST:",Req
print "RESULT:",str(SQL_common.set_request(Req))
return str(SQL_common.set_request(Req))
except:
return "<SQL_ERROR>"

run(host='0.0.0.0', port=8000)
#SERVEUR FluoSQL======================================END
</code></pre>

Je vous conseil de pas toucher au code serveur si vous voulez que ça marche.
Pour le serveur il y a une dépendance: bottle.
Installez le avant de tester:
<pre><code>
pip install bottle
</code></pre>

Voila c'est pas plus compliqué


Ensuite en détail:
Vous pouvez utiliser l'autoloader html & template de FluoSQL:
<pre><code>
from FluoSQL import autoload
autoload = autoload()
pages = autoload.load_html()
tpl = autoload.load_tpl()
</code></pre>

Sécuriser un mot de passe:
<pre><code>
from FluoSQL import hash_
print hash_("test")
</code></pre>

Charger un site en lecture seule:
<pre><code>
from FluoSQL import Fluo
a = Fluo()
a.make_simple_get()
a.execute()
</code></pre>


Se connecter avec le connecteur par défaut:
<pre><code>
From FluoSQL import FluoSQL
SQL = FluoSQL(IP="192.168.1.21",user="phpmyadmin",password="6345",base="Exemple",http=False)
</code></pre>

Se connecter avec le connecteur FluoSQL(http):
<pre><code>
From FluoSQL import FluoSQL
SQL = FluoSQL(IP="192.168.1.21",user="phpmyadmin",password="6345",base="Exemple",http=True)
</code></pre>

Se deconnecter:
<pre><code>
SQL.db_close()
</code></pre>


Un simple select:
id>2
<pre><code>
SQL.make_simple_request(type_request = "select", selected_row="*", values="", selected_from="Auth", WHERE={'id>':2}, mode=0, set_current=False, inc=False)
</code></pre>
id = 1
<pre><code>
SQL.make_simple_request(type_request = "select", selected_row="*", values="", selected_from="Auth", WHERE={'id':1}, mode=0, set_current=False, inc=False)
</code></pre>
Mode : 0 ----> fetchall (dict)
Mode : 1 ----> fetchone (dict)
Mode : -1 ---> fetch element


Retourner la reponse:
<pre><code>
SQL.get_reponse(mode=1)
</code></pre>
Mode : 0 ----> fetchall (dict)
Mode : 1 ----> fetchone (dict)
Mode : -1 ---> fetch element

Pour fabriquer une requete custom:
<pre><code>
SQL.set_request(request,mode=0)
</code></pre>
Mode : 0 ----> fetchall (dict)
Mode : 1 ----> fetchone (dict)
Mode : -1 ---> fetch element


Pour envoyer une requete:
<pre><code>
SQL.send_request()
</code></pre>


Voilà c'est tout, plutôt puissant comme outils hien?
Je l'ai créé a cause de nombreux problème pour faire des applications connectees propres et stable avec le framework kivy.

Fonctionne sous kivy et android! ;)


A venir: un exemple de serveur SQLITE3(SQLITE3 n'a pas de connecteur online mais je compte en fabriquer un)

Plus d'exemple si besoin.

Contactez moi si vous avez des questions intélligentes.

Release files for FluoSQL 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for FluoSQL 1.0.0
File Size Uploaded
FluoSQL-1.0.0.tar.gz 3.2 kB Details

Release files / FluoSQL-1.0.0.tar.gz

Download URL FluoSQL-1.0.0.tar.gz
Size 3.2 kB
Tags Source
SHA-256 checksum
How to use checksums
6effb5de2ced7e6b543eaa985a018cc1ecb1658b467b403771cf4406594f265d
BLAKE2b-256 checksum
How to use checksums
d7ac6fc8e7be39fed13896438fc1e6c229d07aecc90f2fd6a110334a92c0ee0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page