IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Python Discussion :

[source][python 3.0]client sqlite3


Sujet :

Contribuez Python

  1. #1
    Membre confirmé
    Avatar de vincent.mbg
    Homme Profil pro
    Développeur Python
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Python

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Points : 618
    Points
    618
    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
    Mon guide pour apprendre Tkinter - N'oubliez pas de consulter les FAQ Python ou de visiter mon blog

  2. #2
    Membre confirmé
    Avatar de vincent.mbg
    Homme Profil pro
    Développeur Python
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Python

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Points : 618
    Points
    618
    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.
    Mon guide pour apprendre Tkinter - N'oubliez pas de consulter les FAQ Python ou de visiter mon blog

  3. #3
    Membre éclairé
    Profil pro
    maçon
    Inscrit en
    Novembre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : maçon

    Informations forums :
    Inscription : Novembre 2004
    Messages : 264
    Points : 680
    Points
    680
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Développeur Python
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Python

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Points : 618
    Points
    618
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    buffer = input("Sqlite3 --> ")
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Mon guide pour apprendre Tkinter - N'oubliez pas de consulter les FAQ Python ou de visiter mon blog

Discussions similaires

  1. [Open Source] [Python] ImASCII - Générateur d'art ASCII
    Par clic4 dans le forum Mon programme
    Réponses: 1
    Dernier message: 05/04/2009, 03h24
  2. [Open-Source][Python]Snake like
    Par the_dorian dans le forum Mon programme
    Réponses: 3
    Dernier message: 21/03/2008, 11h22
  3. enregistrer/lancer un code source python
    Par laulau69 dans le forum Général Python
    Réponses: 7
    Dernier message: 21/01/2006, 10h05
  4. [OLD] FAQ Python / Sources Python - Participez
    Par Guigui_ dans le forum Contribuez
    Réponses: 8
    Dernier message: 14/06/2005, 20h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo