Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Membre confirmé Avatar de vincent.mbg
    Homme Profil pro Vincent Maillol
    Développeur Python
    Inscrit en
    décembre 2007
    Messages
    274
    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 : 274
    Points : 266
    Points
    266

    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 Fichiers attachés

  2. #2
    Membre confirmé Avatar de vincent.mbg
    Homme Profil pro Vincent Maillol
    Développeur Python
    Inscrit en
    décembre 2007
    Messages
    274
    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 : 274
    Points : 266
    Points
    266

    Par défaut

    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.

  3. #3
    Membre régulier
    Inscrit en
    novembre 2004
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : novembre 2004
    Messages : 149
    Points : 91
    Points
    91

    Par défaut

    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
    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

  4. #4
    Membre confirmé Avatar de vincent.mbg
    Homme Profil pro Vincent Maillol
    Développeur Python
    Inscrit en
    décembre 2007
    Messages
    274
    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 : 274
    Points : 266
    Points
    266

    Par défaut

    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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •