Précédent   Forum du club des développeurs et IT Pro > Autres langages > Python & Zope > Contribuez
Contribuez Proposez vos articles, cours, tutoriels, faq, sources pour Python & Zope
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 30/08/2009, 17h36   #1
vincent.mbg
Membre confirmé
 
Avatar de vincent.mbg
 
Homme Vincent Maillol
Développeur Python
Inscription : décembre 2007
Messages : 270
Détails du profil
Informations personnelles :
Nom : Homme Vincent Maillol
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Développeur Python

Informations forums :
Inscription : décembre 2007
Messages : 270
Points : 260
Points : 260
Par défaut [source][python 3.0]client sqlite3

Bonjour à tous, voici mon petit dernier en python 3000 avec tkinter.

C'est un client sqlite3 pour l'édition et la création de base de données.

Il permet la saisie de requête SQL en offrant la coloration syntaxique et l'autocomplementation. Il possède également des outils pour voir la définition des tables et des trigger ainsi que le MLD/R des bases de données.

N'hésitez pas apporter vos critiques ainsi qu'à me faire remonter les bugs qui auraient pu m'échapper.

Bonjour, j'ai apporté quelque correction au programme :

- Estimation du temps corrigé (été tout le temps égal à zéro sur les petites requêtes)

- Dans virtualConsol, l'événement '<<query_interpreted>>' est généré que quand la
requête est finie sans erreur. Cela permet une mise à jour des onglets "outil"
moins systématique. En cas d'erreur, un événement <<query_error>> est généré.

- le problème de l'importation du module arbre dans virtualConsole lorsque celui-ci
est lancé comme programme principal est corrigé.

- Un filtre pour les fichier .db3 dans filedialog.askopenfilename dans la
fonction ouvrir_bdd dans le module mbgSqlite.py a été ajouté.

- Lorsque l'utilisateur ouvre une bdd erroné, l'application ne plante plus et signale
l'erreur à l'utilisateur.

- Une mise à jour du menu connexion est effectuée lorsque l'utilisateur ouvre une
nouvelle connexion absente du fichier "old.pkl"

- Une erreur (IndexError: tuple index out of range) était générée en cas de clique
sur le widget MLD quand celui-ci été vide. Le problème a été corrigé.

Dans le module merise :

- La gestion des liens entre les entités a été re-vue. Lors du déplacement
d'une entité,

- les liens sont effacés par une réduction sur eux-même puis ré agrandit aux
nouvelles coordonnées.

- Une méthode delete a été apportée.

- Les bugs concernant les liens lors du déplacement des entités à la souris
n'existent plus.

- Correction du bug de l'apparition multiple des trigger créés
Fichiers attachés
Type de fichier : zip mbgSqlite.zip (40,6 Ko, 21 affichages)
vincent.mbg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2009, 17h26   #2
vincent.mbg
Membre confirmé
 
Avatar de vincent.mbg
 
Homme Vincent Maillol
Développeur Python
Inscription : décembre 2007
Messages : 270
Détails du profil
Informations personnelles :
Nom : Homme Vincent Maillol
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Développeur Python

Informations forums :
Inscription : décembre 2007
Messages : 270
Points : 260
Points : 260
Bonjour.

En réponse a qu'elle que remarque, voici les modifications
  • Possibilité d'éditer la dernière requête et de la ré-injecter.
  • Possibilité de forcer l'interprétation d'une requête si celle-ci ne veut pas s'exécuter naturellement. Ceci a engendré des modifications mineures aux modules VirtualConsol et client.
  • Amélioration de l'autocomplementation. Lors d'un appui sur "tab" et qu'il y a plusieurs possibilités, la liste des mots possibles s'affiche.
  • Possibilité de coller un texte sur plusieurs lignes dans la console.
  • Les clés étrangères dans le MLD apparaissent en italique.
  • Pour une connexion donnée, les lignes saisies dans la console sont enregistrées automatiquement à la fermeture du programme et peuvent être rappelées lors d'une future ouverture de cette connexion.


A par ça, j'ai mis cette sous licence GNU GPL.
vincent.mbg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2009, 23h13   #3
olaxius
Membre régulier
 
Inscription : novembre 2004
Messages : 130
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 130
Points : 71
Points : 71
Bonsoir,
J'ai voulu tester votre application, mais je n'ai pas réussi.
En regardant le code j'ai été obliger de modifier les déclarations
Code :
1
2
3
4
 
from tkinter import Tk, Text, PanedWindow, Menu, StringVar, Listbox, Scrollbar
import tkinter.messagebox as messagebox
import tkinter.filedialog as filedialog
en :
Code :
1
2
3
4
 
from Tkinter import Tk, Text, PanedWindow, Menu, StringVar, Listbox, Scrollbar
import tkMessageBox as messagebox
import tkFileDialog as filedialog
afin au moins de passer l'étape des import .

Maintenant le code me plante à ce niveau du module mbgSqlite.py
Code :
1
2
 
  self.anciennes_connexions = pickle.loads( file_ac.read() )
voici le msg d'erreur
Citation:
Traceback (most recent call last):
File "C:\PythonFic\mbgSqlite\mbgSqlite\mbgSqlite.py", line 302, in <module>
root = ClientWindow()
File "C:\PythonFic\mbgSqlite\mbgSqlite\mbgSqlite.py", line 158, in __init__
self.anciennes_connexions = pickle.loads( file_ac.read() )
File "C:\Python26\lib\pickle.py", line 1374, in loads
return Unpickler(file).load()
File "C:\Python26\lib\pickle.py", line 858, in load
dispatch[key](self)
File "C:\Python26\lib\pickle.py", line 886, in load_proto
raise ValueError, "unsupported pickle protocol: %d" % proto
ValueError: unsupported pickle protocol: 3
Espérant que vous eclairiez ma lanterne afin de pouvoir tester votre application qui semble prometteuse
olaxius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2009, 16h51   #4
vincent.mbg
Membre confirmé
 
Avatar de vincent.mbg
 
Homme Vincent Maillol
Développeur Python
Inscription : décembre 2007
Messages : 270
Détails du profil
Informations personnelles :
Nom : Homme Vincent Maillol
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Développeur Python

Informations forums :
Inscription : décembre 2007
Messages : 270
Points : 260
Points : 260
Bonjour,
j'ai remarqué que je n'avais pas remis à zéro l'application.

Il y a un petit script pour ça (remise_a_zero.py). malheureusement, pour les personnes possédant des versions 2.x de python ce script n'est pas compatible, il faut changer :

Code :
1
2
 
buffer = input("Sqlite3 --> ")
par :

Code :
1
2
 
buffer = raw_input("Sqlite3 --> ")

Comme le fait remarquer Olaxius, sous python 2.6, il y a également toutes les importations concernant Tkinter à refaire notamment dans les modules dans otherWidget, mais également dans searchconnect.py

Je me rends compte que le fait d'avoir développé ce projet en 3.1 pose un problème d'accessibilité.
Je vais essayer de faire une version pour python 2.6 que je maintiendrai le temps nécessaire.

Bonjour.

Finalement, j'ai inséré des testes de version pour rendre cette source compatible python 2.6 et python 3.0
vincent.mbg est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 01h09.


 
 
 
 
Partenaires

Hébergement Web