~dkuhlman/python-training-materials/Materials

« back to all changes in this revision

Viewing changes to Code_python/DocServer/docserver.html

  • 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:
239
239
sql = 'insert into documents values ({}, "{}", "{}", "{}")'.format(
240
240
    new_id, tags, description, body)
241
241
</pre>
 
242
<p>More information about SQLite: <a class="reference external" href="http://www.sqlite.org/docs.html">http://www.sqlite.org/docs.html</a></p>
242
243
</div>
243
244
<div class="section" id="exercises">
244
245
<h1>Exercises</h1>
263
264
ZeroMQ.</p>
264
265
<p>Your document server should provide these capabilities:</p>
265
266
<ul class="simple">
266
 
<li>Store (save) a document in the data store.  Return a new
267
 
document ID.</li>
 
267
<li>Return a list of all the documents in the database.  Return
 
268
these fields: ID, tags, description.</li>
268
269
<li>Search for documents and return a set of document IDs (and
269
270
possibly their descriptions).</li>
270
271
<li>Retrieve a document by ID.</li>
271
 
<li>Add a new document given tags, description, and the name of a
272
 
file to store in the database.</li>
 
272
<li>Add a new document given tags, description, and the body
 
273
(contents) of a file to store in the database.</li>
273
274
</ul>
274
275
<p>You can find templates for the ZeroMQ parts in
275
276
<tt class="docutils literal">Templates/hwserver.py</tt> and <tt class="docutils literal">Templates/hwclient.py</tt></p>
277
278
<li><p class="first">Implement a ZeroMQ client for your document server.  The client
278
279
should be able to perform these functions:</p>
279
280
<ol class="arabic simple">
280
 
<li>Store a new document</li>
 
281
<li>Retrieve a list of all the documents in the database.</li>
281
282
<li>Search a set of documents, given a tag.</li>
282
283
<li>Retrieve a document, given its ID.</li>
283
284
<li>Add a new document, given the tags, description, and name of a
290
291
directly or (2) use your ZeroMQ client.</p>
291
292
<p>In your command line shell, implement the same commands: list,
292
293
search, get, and add.</p>
 
294
<p>Optional task -- Use one of the Python command line parsers
 
295
(getopt or argparse) to parse the command line passed into this
 
296
program.  Implement support for options &quot;-v&quot;, &quot;--verbose&quot;, &quot;-h&quot;,
 
297
and &quot;--help&quot;.</p>
293
298
</li>
294
 
</ol>
295
 
<ol class="arabic" start="4">
296
299
<li><p class="first">Implement a Web application server that provides access to the
297
300
documents in our document store.  Build your Web application with
298
301
Pyramid.</p>
327
330
<div class="footer">
328
331
<hr class="footer" />
329
332
<a class="reference external" href="docserver.txt">View document source</a>.
330
 
Generated on: 2015-10-03 17:18 UTC.
 
333
Generated on: 2015-10-07 20:01 UTC.
331
334
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
332
335
 
333
336
</div>