Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(264)

Unified Diff: native_client_sdk/src/doc/cds2014/python.rst

Issue 731453002: Adding two codelabs for cds2014. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixes Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « native_client_sdk/src/doc/cds2014/index.rst ('k') | native_client_sdk/src/doc/cds2014/python_summary.inc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: native_client_sdk/src/doc/cds2014/python.rst
diff --git a/native_client_sdk/src/doc/cds2014/python.rst b/native_client_sdk/src/doc/cds2014/python.rst
new file mode 100644
index 0000000000000000000000000000000000000000..bc4b5d21224badcd090d69ea637bd5f4b9e9bf5c
--- /dev/null
+++ b/native_client_sdk/src/doc/cds2014/python.rst
@@ -0,0 +1,117 @@
+.. _cds2014_python:
+
+########################################
+What a difference Python Makes - Codelab
+########################################
+
+Introduction
+------------
+
+.. include:: python_summary.inc
+
+.. include:: ../nacldev/setup_web.inc
+
+
+Get the Code!
+-------------
+
+Rather than start from nothing, for this codelab we've provided
+you with a zip file containing a starting point.
+
+Download the codelab::
+
+ geturl https://nacltools.storage.googleapis.com/cds2014/cds2014_python.zip cds2014_python.zip
+
+Unzip it::
+
+ unzip cds2014_python.zip
+
+Go into the codelab directory::
+
+ cd cds2014_python
+
+Create a new local git repo::
+
+ git init
+
+Add everything::
+
+ git add .
+
+Commit it::
+
+ git commit -am "initial"
+
+While working, you can see what you've changed by running::
+
+ git diff
+
+
+Your challenge, should you choose to accept it...
+-------------------------------------------------
+
+Javascript has many wonderful features out of the box.
+Unfortunately, generating textual diffs is not one of them.
+Python on the other hand has the |difflib| module in its standard library.
+
+The starting point you've just extracted contains the shell
+of a web app using Portable Native Client Python to generate a diff.
+Just one thing is missing, that whole diffing thing...
+
+To see where things stand, deploy the sample like this::
+
+ make
+
+This will copy the sample to /tmp/differ (clobbering whatever is already
+there). It will also attempt to open the sample, but will be blocked by
+a popup blocker. Click on the URL to accept the popup.
+
+As you can see, this isn't quite what we're going for.
+
+You'll want to modify diff.py, using the editor you selected earlier.
+You'll probably want to consult the |difflib| documentation.
+I would suggest you check out the HtmlDiff class and make use of
+the make_file member function. I would also suggest the splitlines
+function may come in handy.
+
+You can test diff.py manually as you would in a normal UNIX environment.
+It can be run like this::
+
+ ./diff.py before.txt after.txt out.html
+
+Once everything is working diff.html will contain an html diff.
+Run `make` again to deploy and test the full app.
+
+Now get to it, and good luck!
+
+
+What you've learned
+-------------------
+
+While the details of building and packaging Python have been
+insulated from you for the purpose of this exercise, the key take-home lesson
+is how easy it is to leverage Python using PNaCl.
+As you've likely experienced, the initial start time is non-trivial.
+We're working on improving this, both by improving PNaCl,
+and our Python port.
+
+The same approach to deploying Python apps can be used for the other
+interpreted languages that have been ported to PNaCl.
+
+Check out the range of interpreters, libraries, and tools
+`already ported to PNaCl and ready to be integrated with your Web App
+<https://code.google.com/p/naclports/wiki/PortList>`_.
+
+While our in-browser environment is rapidly evolving
+to become a complete development solution,
+for the broadest range of development options, check out the
+`NaCl SDK
+<https://developer.chrome.com/native-client/sdk/download>`_.
+
+For questions, concerns, and help contact us at
+`native-client-discuss@googlegroups.com
+<https://groups.google.com/forum/#!forum/native-client-discuss>`_.
+
+Bring your interpreted app to PNaCl today!
+
+.. include:: ../nacldev/cleanup_web.inc
« no previous file with comments | « native_client_sdk/src/doc/cds2014/index.rst ('k') | native_client_sdk/src/doc/cds2014/python_summary.inc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698