~dkuhlman/python-training-materials/Materials

« back to all changes in this revision

Viewing changes to Code_python/DocServer/docserver.txt

  • 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:
47
47
    sql = 'insert into documents values ({}, "{}", "{}", "{}")'.format(
48
48
        new_id, tags, description, body)
49
49
 
 
50
More information about SQLite: http://www.sqlite.org/docs.html
 
51
 
50
52
 
51
53
Exercises
52
54
===========
76
78
   
77
79
   Your document server should provide these capabilities:
78
80
 
79
 
   - Store (save) a document in the data store.  Return a new
80
 
     document ID.
 
81
   - Return a list of all the documents in the database.  Return
 
82
     these fields: ID, tags, description.
81
83
 
82
84
   - Search for documents and return a set of document IDs (and
83
85
     possibly their descriptions).
84
86
 
85
87
   - Retrieve a document by ID.
86
88
 
87
 
   - Add a new document given tags, description, and the name of a
88
 
     file to store in the database.
 
89
   - Add a new document given tags, description, and the body
 
90
     (contents) of a file to store in the database.
89
91
 
90
92
   You can find templates for the ZeroMQ parts in
91
93
   ``Templates/hwserver.py`` and ``Templates/hwclient.py``
93
95
3. Implement a ZeroMQ client for your document server.  The client
94
96
   should be able to perform these functions:
95
97
 
96
 
   1. Store a new document
 
98
   1. Retrieve a list of all the documents in the database.
97
99
   2. Search a set of documents, given a tag.
98
100
   3. Retrieve a document, given its ID.
99
101
   4. Add a new document, given the tags, description, and name of a
107
109
   In your command line shell, implement the same commands: list,
108
110
   search, get, and add.
109
111
 
110
 
4. Implement a Web application server that provides access to the
 
112
   Optional task -- Use one of the Python command line parsers
 
113
   (getopt or argparse) to parse the command line passed into this
 
114
   program.  Implement support for options "-v", "--verbose", "-h",
 
115
   and "--help".
 
116
 
 
117
5. Implement a Web application server that provides access to the
111
118
   documents in our document store.  Build your Web application with
112
119
   Pyramid.
113
120