~dkuhlman/python-training-materials/Materials

« back to all changes in this revision

Viewing changes to Code_python/DocServer/Solutions/doc_database_lib.py

  • Committer: Dave Kuhlman
  • Date: 2015-10-09 19:50:18 UTC
  • mfrom: (35.1.6 Materials)
  • Revision ID: dkuhlman@davekuhlman.org-20151009195018-8rfrdur2zxdjn5ds
Merge after training at Cisco 10/05/2015

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
        self.cursor = None
29
29
 
30
30
    def connect(self, db_name):
 
31
        """Create and save a connection to the database (file)."""
31
32
        self.db_name = db_name
32
33
        self.connection = sqlite3.connect(self.db_name)
33
34
        self.cursor = self.connection.cursor()
34
35
 
35
36
    def close(self):
 
37
        """Close the database connection."""
36
38
        self.connection.close()
37
39
        self.connection = None
38
40
        self.cursor = None
39
41
 
40
42
    def commit(self):
 
43
        """Commit changes to the database."""
41
44
        self.connection.commit()
42
45
    flush = commit
43
46
 
44
47
    def list(self):
 
48
        """Return a list of all the documents in the database.
 
49
        Each list item is a list containing: [id, tags, description].
 
50
        """
45
51
        sql = 'select id, tags,description from documents'
46
52
        self.cursor.execute(sql)
47
53
        result_block = [
49
55
        return result_block
50
56
 
51
57
    def get(self, id):
 
58
        """Retrieve a document by ID and return it."""
52
59
        sql = 'select * from documents where id = {}'.format(id)
53
60
        self.cursor.execute(sql)
54
61
        rows = self.cursor.fetchall()
59
66
        return result_block
60
67
 
61
68
    def search(self, tag):
 
69
        """Retrieve and return a list of all documents that have a tag.
 
70
        Each list item is a list containing: [id, tags, description].
 
71
        """
62
72
        sql = 'select id, tags, description from documents'
63
73
        self.cursor.execute(sql)
64
74
        result_block = []
69
79
        return result_block
70
80
 
71
81
    def add(self, tags, description, body):
 
82
        """Add a document to the database given its tags, description,
 
83
        and body.
 
84
        """
72
85
        body = body.replace('"', '')
73
86
        sql = 'select latest_id from config'
74
87
        self.cursor.execute(sql)
101
114
    docs = database.list()
102
115
    for doc in docs:
103
116
        print 'doc: {}'.format(doc)
104
 
 
105
117
    id = docs[0][0]
106
118
    doc = database.get(id)
107
119
    print '-' * 60
109
121
 
110
122
 
111
123
if __name__ == '__main__':
112
 
    #import pdb; pdb.set_trace()
 
124
    import pdb; pdb.set_trace()
113
125
    main()