From 100f61ff5787233904717056f1b11efde3e11f51 Mon Sep 17 00:00:00 2001 From: Andrea Papotti Date: Tue, 27 Nov 2012 22:21:08 +0100 Subject: [PATCH] rimosso file progetto wingide\naggiunta licenza creative common --- nanowsgi.wpu | 750 ---------------------------------------------- static/index.html | 8 +- 2 files changed, 5 insertions(+), 753 deletions(-) delete mode 100644 nanowsgi.wpu diff --git a/nanowsgi.wpu b/nanowsgi.wpu deleted file mode 100644 index 8a3f2d5..0000000 --- a/nanowsgi.wpu +++ /dev/null @@ -1,750 +0,0 @@ -#!wing -#!version=4.0 -################################################################## -# Wing IDE project file : User-specific branch # -################################################################## -[user attributes] -console.id-seed = 6 -console.toolbox = [{'autosave': False, - 'ctype': ('cmd', - 'tail -f /var/log/apache2/error.log'), - 'env': ('project', - ['']), - 'id': 'cmd-1', - 'io_encoding': None, - 'key_binding': '', - 'line_mode': True, - 'pseudo_tty': True, - 'pypath': ('project', - ''), - 'raise_panel': True, - 'rundir': ('project', - ''), - 'title': 'apache error log'}] -guimgr.overall-gui-state = {'windowing-policy': 'combined-window', - 'windows': [{'name': 'T8mo9t3gr2UfAuntANdsFb69OL'\ - 'cVmlgL', - 'size-state': '', - 'type': 'dock', - 'view': {'area': 'tall', - 'constraint': None, - 'current_pages': [1, - 2], - 'full-screen': False, - 'notebook_display': 'tabs only', - 'notebook_percent': 0.41268292682926833, - 'override_title': None, - 'pagelist': [('debug-stack', - 'tall', - 1, - {'codeline-mode': 'below'}), - ('debug-io', - 'tall', - 0, - {'attrib-starts': [], - 'first-line': 0, - 'folded-linenos': [], - 'sel-line': 0, - 'sel-line-start': 0, - 'selection_end': 0, - 'selection_start': 0}), - ('indent', - 'tall', - 2, - {}), - ('project', - 'tall', - 0, - {'tree-state': {'file-sort-method': 'by name', - 'list-files-first': False, - 'tree-states': {'deep': {'column-widths': None, - 'expanded-nodes': [(0,), - (1,), - (1, - 0), - (2,), - (3,)], - 'selected-nodes': [(1, - 0, - 1)], - 'top-node': (0,)}}, - 'tree-style': 'deep'}}), - ('refactoring', - 'tall', - 0, - {}), - ('snippets', - 'tall', - 0, - {'tree-states': {'__all__': [], - u'c': [], - u'django': [], - u'html': [], - u'py': []}}), - ('source-assistant', - 'tall', - 2, - {'docstring-during-complete': False, - 'wrap-lines': True}), - ('browser', - 'tall', - 0, - {'all_tree_states': {u'By Module': {'column-w'\ - 'idths': [1.0], - 'expanded-nodes': [], - 'selected-nodes': [], - 'top-node': None}}, - 'browse_mode': u'By Module', - 'follow-selection': False, - 'sort_mode': 'Alphabetically', - 'visibility_options': {u'Derived Classes': False, - u'Imported': False, - u'Modules': True}})], - 'primary_view_state': {'area': 'wide', - 'constraint': None, - 'current_pages': [6], - 'notebook_display': 'tabs only', - 'notebook_percent': 0.39739413680781754, - 'override_title': None, - 'pagelist': [('bookmarks', - 'wide', - 1, - {}), - ('debug-breakpoints', - 'wide', - 0, - {'tree-state': []}), - ('debug-probe', - 'wide', - 2, - {'attrib-starts': [], - 'first-line': 0, - 'folded-linenos': [], - 'history': {None: [], - u'file:/home/joshua/CIA/PROJECTS/oeseo/iniezione24/importer.py': [''\ - 'fields\n', - 'eval( fields)\n', - 'parse_month( value )\n'], - u'file:/home/joshua/CIA/PROJECTS/quake time machine/ingv_grabber.py': [''\ - 'query\n', - 'print query\n'], - u'file:/home/joshua/CIA/PROJECTS/scribd/scribd_grabber.py': [''\ - 'value.split()\n', - 'path.exists( fname)\n', - 'path.isfile( fname )\n', - "fcontent[ fcontent.find('('): ]\n", - "fcontent[ fcontent.find('['): ]\n", - "print fcontent[ fcontent.find('['): ]\n", - "print fcontent[ fcontent.find('['):-4 ]\n", - "print fcontent[ fcontent.find('['):-3]\n", - "print fcontent[ fcontent.find('[')+1:-3]\n", - 'fcontent\n', - "json.loads( fcontent[ fcontent.find('[')+1:-3] )\n", - "print json.loads( fcontent[ fcontent.find('[')+1:-3] )\n", - "jcontent.encode('utf-8')\n", - 'self.rawdata\n', - "self.rawdata += jcontent.encode('utf-8')\n", - 'len( self.rawdata )\n', - 'econtent\n'], - u'file:/home/joshua/Desktop/ir-audio.py': [''\ - 'type( data )\n', - 'l\n', - 'data\n', - 'for c in data:\n print ord( c )\n\n', - 'len( data )\n'], - u'file:/home/joshua/Projects/corso_python/decoratori.py': [''\ - 'time()\n', - 't0\n'], - u'file:/home/joshua/Projects/corso_python/mille_code.py': [''\ - 'self.__obj_list\n', - 'self\n', - 'self.__class__\n', - 'self.__class__.__init_code()\n', - 'self.__class__.__init_code\n', - 'self.__class__.\n', - '_Supermarket__init_code\n', - 'self.__init_code\n', - 'self.__code\n', - 'self.__store\n', - 'self.store\n', - 'self.code\n', - 'coda.len()\n'], - u'file:/media/Kindle/screensaver/renumber.py': [''\ - 'file_list\n']}, - 'sel-line': 4, - 'sel-line-start': 46, - 'selection_end': 46, - 'selection_start': 46}), - ('debug-exceptions', - 'wide', - 0, - {}), - ('messages', - 'wide', - 2, - {'current-domain': 8}), - ('debug-modules', - 'wide', - 1, - {}), - ('os-command', - 'wide', - 1, - {'last-percent': 0.80000000000000004, - 'toolbox-percent': 1.0, - 'toolbox-tree-sel': 'cmd-1'}), - ('python-shell', - 'wide', - 2, - {'attrib-starts': [], - 'first-line': 4, - 'folded-linenos': [], - 'history': {None: ['import stat\n', - 'imporet urllib2\n', - 'import urllib2\n', - 'INGV_PAGE = "http://cnt.rm.ingv.it/"\n', - 'html = urllib2.urlopen(INGV_PAGE).read()\n', - 'print html\n', - 'import MySQLdb\n', - 'x = ["
\\n
\\n \\n
\\nChiss\xc3\x83 da quanto tempo s'\ - 'i era accorta che lui la stavaosservando?- Siamo in due, direi. \xc3\xa2\xe2\x82\xac\xe2\x80\x9c Ris'\ - 'pose sulla difensiva, alzandosie raggiun'\ - 'gendola sul balcone. \xc3\xa2\xe2\x82\xac\xe2\x80\x9c Eppure dovres'\ - 'ti esserestanca. Non riposi da due giorni'\ - ' almeno.- Non dormo mai molto, da un anno'\ - ' a questa parte. \xc3\xa2\xe2\x82\xac\xe2\x80\x9c\xc3\x82 Il suo tono si fece all\xc3\xa2\xe2\x82\xac\xe2\x84'\ - '\xa2improvviso fragile, da donnaimpaurita.- Pensieri?Si accorse quasi su'\ - 'bito di quanto fosse superficiale la sua'\ - 'domanda, che per\xc3\x83\xc2\xb2 parve aprire un varco tra le ferre'\ - 'edifese di Sara.\xc3\x82 \xc3\xa2\xe2\x82\xac\xe2\x80'\ - '\x9c Incubi.Lei lo guard\xc3\x83\xc2\xb2. Sembrava che avesse vogli'\ - 'a di parlare eche si stesse domandando se'\ - ' lui fosse la persona adatta.Robert non '\ - 'disse nulla, Sara stava seguendo il filo di
\\n
\\'\ - 'n
\\n
\\n
\\n\\n
\\n
\\n
\\n\\n"]\n', - 'x\n', - 'print x\n', - 'len( x )\n', - 'x.length\n', - 'x.size()\n', - 'dir( x )\n', - 'y = x\n', - 'y.sort\n', - 'y.sort()\n', - 'y = x[0]\n', - 'y\n', - 'print y\n', - '"%05d" % 42\n', - '"%05d" % 42.5\n', - '"%05f" % 42.5\n', - '"%05.3f" % 42.5\n', - '"%05.1f" % 42.5\n', - '"%05.1f" % 42.545\n', - '"%05.1f" % 42.567\n', - '"%5.1f" % 42.567\n', - '"%9.1f" % 42.567\n', - '"%9.7f" % 42.567\n', - '"%9.9f" % 42.567\n', - '"%-9.9f" % 42.567\n', - '"%5f" % 1.234567\n', - '"%5f" % 1.23456789\n', - '"%5.2f" % 1.23456789\n', - '"%7.2f" % 1.23456789\n', - "'%f' % 12.34567\n", - "'%0f' % 12.34567\n", - "'%3f' % 12.34567\n", - "'%3f' % 12.345678\n", - '345678\n\n', - "'%1.3f' % 12.345678\n", - "'%1.3f' % 435243512.345678\n", - "'%.3f' % 435243512.345678\n", - "'%.3f' % 12.345678\n", - "'%4.3f' % 12.345678\n", - "'%-4.3f' % 12.345678\n", - "'%4.2f' % 12.345678\n", - "'%.2f' % 12.345678\n", - "'%.-2f' % 12.345678\n", - "'%10.2f' % 12.345678\n", - "'%-10.2f' % 12.345678\n", - '"%-8s" % "loremipsum"\n', - '"%8s" % "loremipsum"\n', - '"%4s" % "loremipsum"\n', - '"%-4s" % "loremipsum"\n', - '"%-40s" % "loremipsum"\n', - '"%40s" % "loremipsum"\n', - '"%-5s" % "loremipsum"\n', - '"%-.5s" % "loremipsum"\n', - '"%.5s" % "loremipsum"\n', - '"%10.5s" % "loremipsum"\n', - '"%-10.5s" % "loremipsum"\n', - '2.56**5\n', - "giorni = \"\"\"\n Lunedi Martedi Mercoledi\n Giovedi Venerdi "\ - "Sabato\n Domenica\n \"\"\".split()\n\nfor i, g in enumerate( "\ - "giorni ):\n print \"il\", i+1, \"^ giorno e' un\", g\n\n", - 'giorni\n', - 'help( len )\n', - 'a = 1\n', - 'b = 2\n', - 'a, b = b,a\n', - 'print a, b\n', - '34\n', - 'x = 34\n', - "x=input('valore di x ')\n", - 'pippo\n', - 'x = pippo\n', - 'a = [ 1, 2, 3, 4 ]\n', - 'len( a )\n', - 'a[5] = 7\n', - 'a.insert(0, 7)\n', - 'a.insert(-1, 17)\n', - 'a[::-1].insert(0,44)\n', - 'a\n', - 'import paste\n', - 'import webob\n', - 'import sys\n', - 'sys.argv()\n', - 'sys.argv\n', - '*sys.argv\n', - "\"{0}\".format( 'hello' )\n", - "\"{0}\".format( ['hello'] )\n", - "\"{0}\".format( *['hello'] )\n", - "*['hello']\n", - 'None()\n', - 'import subprocess\n', - 'p = Popen( "ls -lR", stdin = PIPE )\n', - 'p = subprocess.Popen( "ls -lR", stdin = PIPE )\n', - 'p = subprocess.Popen( "ls -lR", stdin = subprocess.PIPE )\n', - 'import re\n']}, - 'sel-line': 3, - 'sel-line-start': 130, - 'selection_end': 130, - 'selection_start': 130}), - ('interactive-search', - 'wide', - 0, - {'fScope': {'fFileSetName': u'All Source Files', - 'fLocation': None, - 'fRecursive': True, - 'fType': 'project-files'}, - 'fSearchSpec': {'fEndPos': None, - 'fIncludeLinenos': True, - 'fInterpretBackslashes': False, - 'fMatchCase': False, - 'fOmitBinary': True, - 'fRegexFlags': 46, - 'fReplaceText': u"po'", - 'fReverse': False, - 'fSearchText': u'po"', - 'fStartPos': 0, - 'fStyle': 'text', - 'fWholeWords': False, - 'fWrap': True}, - 'fUIOptions': {'fAutoBackground': True, - 'fFilePrefix': 'short-file', - 'fFindAfterReplace': True, - 'fInSelection': False, - 'fIncremental': True, - 'fReplaceOnDisk': False, - 'fShowFirstMatch': False, - 'fShowLineno': True, - 'fShowReplaceWidgets': True}, - 'replace-entry-expanded': False, - 'search-entry-expanded': False}), - ('batch-search', - 'wide', - 0, - {'fScope': {'fFileSetName': u'All Source Files', - 'fLocation': None, - 'fRecursive': True, - 'fType': 'current-file'}, - 'fSearchSpec': {'fEndPos': None, - 'fIncludeLinenos': True, - 'fInterpretBackslashes': False, - 'fMatchCase': False, - 'fOmitBinary': True, - 'fRegexFlags': 38, - 'fReplaceText': u'\\1', - 'fReverse': False, - 'fSearchText': u'__([^(]+?[^_ ])', - 'fStartPos': 0, - 'fStyle': 'regex', - 'fWholeWords': False, - 'fWrap': True}, - 'fUIOptions': {'fAutoBackground': True, - 'fFilePrefix': 'short-file', - 'fFindAfterReplace': True, - 'fInSelection': False, - 'fIncremental': True, - 'fReplaceOnDisk': False, - 'fShowFirstMatch': False, - 'fShowLineno': True, - 'fShowReplaceWidgets': True}, - 'replace-entry-expanded': False, - 'search-entry-expanded': False}), - ('debug-data', - 'wide', - 0, - {}), - ('testing', - 'wide', - 0, - {'added-files': [], - 'filter': '', - 'recent-filters': None, - 'sort-order': 'alpha'}), - ('debug-watch', - 'wide', - 0, - {'node-states': [('eval', - 'attrs')], - 'tree-state': {'column-widths': [0.4008515815085158, - 0.59914841849148415], - 'expanded-nodes': [(0,)], - 'selected-nodes': [], - 'top-node': (0,)}})], - 'primary_view_state': {'editor_states': {'bookmarks': ([(loc('controllers/demo.py'), - {'attrib-starts': [('get', - 14)], - 'first-line': 0, - 'folded-linenos': [], - 'sel-line': 19, - 'sel-line-start': 511, - 'selection_end': 535, - 'selection_start': 535}, - 1353075633.076438), - (loc('../corso_python/www/wsgi/sqlpooler.py'), - {'attrib-starts': [('WSGISqlPoolMySQL', - 4), - ('WSGISqlPoolMySQL.__call__', - 34)], - 'first-line': 0, - 'folded-linenos': [], - 'sel-line': 54, - 'sel-line-start': 1723, - 'selection_end': 1739, - 'selection_start': 1739}, - 1353075665.5788369), - (loc('../corso_python/www/static/dispatch_wsgi.py'), - {'attrib-starts': [], - 'first-line': 39, - 'folded-linenos': [], - 'sel-line': 45, - 'sel-line-start': 1075, - 'selection_end': 1196, - 'selection_start': 1075}, - 1353075682.988924), - (loc('decorators.py'), - {'attrib-starts': [('WSGITemplate', - 8), - ('WSGITemplate.__init__', - 11)], - 'first-line': 22, - 'folded-linenos': [], - 'sel-line': 15, - 'sel-line-start': 430, - 'selection_end': 461, - 'selection_start': 461}, - 1353075698.5145061), - (loc('dispatch_wsgi.py'), - {'attrib-starts': [], - 'first-line': 14, - 'folded-linenos': [], - 'sel-line': 29, - 'sel-line-start': 601, - 'selection_end': 601, - 'selection_start': 601}, - 1353075701.1062429), - [loc('sql.py'), - {'attrib-starts': [], - 'first-line': 0, - 'folded-linenos': [], - 'sel-line': 3, - 'sel-line-start': 81, - 'selection_end': 164, - 'selection_start': 81}, - 1353075751.1481929], - (loc('../corso_python/www/static/dispatch_wsgi.py'), - {'attrib-starts': [], - 'first-line': 39, - 'folded-linenos': [], - 'sel-line': 45, - 'sel-line-start': 1075, - 'selection_end': 1196, - 'selection_start': 1075}, - 1353075829.8857551), - (loc('../corso_python/www/wsgi/sqlpooler.py'), - {'attrib-starts': [('WSGISqlPoolMySQL', - 4), - ('WSGISqlPoolMySQL.__call__', - 34)], - 'first-line': 0, - 'folded-linenos': [], - 'sel-line': 54, - 'sel-line-start': 1723, - 'selection_end': 1739, - 'selection_start': 1739}, - 1353075837.216579), - (loc('dispatch_wsgi.py'), - {'attrib-starts': [], - 'first-line': 59, - 'folded-linenos': [], - 'sel-line': 29, - 'sel-line-start': 601, - 'selection_end': 601, - 'selection_start': 601}, - 1353075862.859385), - (loc('test_mysql.py'), - {'attrib-starts': [('simple_mysql', - 3)], - 'first-line': 15, - 'folded-linenos': [], - 'sel-line': 16, - 'sel-line-start': 415, - 'selection_end': 727, - 'selection_start': 415}, - 1353075879.6448979), - (loc('controllers/demo/sql.py'), - {'attrib-starts': [('application', - 11)], - 'first-line': 9, - 'folded-linenos': [], - 'sel-line': 26, - 'sel-line-start': 547, - 'selection_end': 547, - 'selection_start': 547}, - 1353075896.5156269), - (loc('decorators.py'), - {'attrib-starts': [('WSGIMySQL', - 34), - ('WSGIMySQL.db', - 51), - ('WSGIMySQL.db.real_decorator', - 52), - ('WSGIMySQL.db.real_decorator.wrapper', - 53)], - 'first-line': 42, - 'folded-linenos': [], - 'sel-line': 59, - 'sel-line-start': 1904, - 'selection_end': 1954, - 'selection_start': 1954}, - 1353075950.644135), - (loc('controllers/demo/sql.py'), - {'attrib-starts': [('application', - 11)], - 'first-line': 9, - 'folded-linenos': [], - 'sel-line': 14, - 'sel-line-start': 304, - 'selection_end': 304, - 'selection_start': 304}, - 1353076011.1992331), - (loc('decorators.py'), - {'attrib-starts': [('WSGIMySQL', - 34), - ('WSGIMySQL.db', - 55), - ('WSGIMySQL.db.real_decorator', - 56), - ('WSGIMySQL.db.real_decorator.wrapper', - 57)], - 'first-line': 30, - 'folded-linenos': [], - 'sel-line': 63, - 'sel-line-start': 1985, - 'selection_end': 2038, - 'selection_start': 2038}, - 1353076048.7585621), - (loc('controllers/demo/sql.py'), - {'attrib-starts': [('application', - 11)], - 'first-line': 9, - 'folded-linenos': [], - 'sel-line': 29, - 'sel-line-start': 597, - 'selection_end': 633, - 'selection_start': 633}, - 1353076170.14289), - (loc('test_mysql.py'), - {'attrib-starts': [], - 'first-line': 0, - 'folded-linenos': [], - 'sel-line': 0, - 'sel-line-start': 0, - 'selection_end': 0, - 'selection_start': 0}, - 1353076484.6436961), - (loc('dispatch_wsgi.py'), - {'attrib-starts': [('fallback', - 54)], - 'first-line': 39, - 'folded-linenos': [], - 'sel-line': 61, - 'sel-line-start': 1549, - 'selection_end': 1554, - 'selection_start': 1554}, - 1353076572.715292), - (loc('controllers/demo/sql.py'), - {'attrib-starts': [], - 'first-line': 0, - 'folded-linenos': [], - 'sel-line': 10, - 'sel-line-start': 205, - 'selection_end': 228, - 'selection_start': 228}, - 1353078077.1347899), - (loc('dispatch_wsgi.py'), - {'attrib-starts': [('fallback', - 54)], - 'first-line': 0, - 'folded-linenos': [], - 'sel-line': 61, - 'sel-line-start': 1549, - 'selection_end': 1554, - 'selection_start': 1554}, - 1353078144.7990141), - [loc('controllers/demo/sql.py'), - {'attrib-starts': [], - 'first-line': 0, - 'folded-linenos': [], - 'sel-line': 10, - 'sel-line-start': 205, - 'selection_end': 228, - 'selection_start': 228}, - 1353078225.3298531]], - 19), - 'current-loc': loc('controllers/demo/sql.py'), - 'editor-states': {loc('../corso_python/www/static/dispatch_wsgi.py'): {''\ - 'attrib-starts': [], - 'first-line': 39, - 'folded-linenos': [], - 'sel-line': 45, - 'sel-line-start': 1075, - 'selection_end': 1196, - 'selection_start': 1075}, - loc('../corso_python/www/wsgi/sqlpooler.py'): {'at'\ - 'trib-starts': [('WSGISqlPoolMySQL', - 4), - ('WSGISqlPoolMySQL.__call__', - 34)], - 'first-line': 0, - 'folded-linenos': [], - 'sel-line': 54, - 'sel-line-start': 1723, - 'selection_end': 1739, - 'selection_start': 1739}, - loc('controllers/demo.py'): {'attrib-starts': [('g'\ - 'et', - 14)], - 'first-line': 0, - 'folded-linenos': [], - 'sel-line': 19, - 'sel-line-start': 511, - 'selection_end': 535, - 'selection_start': 535}, - loc('controllers/demo/due.py'): {'attrib-starts': [], - 'first-line': 0, - 'folded-linenos': [], - 'sel-line': 0, - 'sel-line-start': 0, - 'selection_end': 598, - 'selection_start': 0}, - loc('controllers/demo/sql.py'): {'attrib-starts': [], - 'first-line': 9, - 'folded-linenos': [], - 'sel-line': 10, - 'sel-line-start': 205, - 'selection_end': 228, - 'selection_start': 228}, - loc('decorators.py'): {'attrib-starts': [('WSGIMyS'\ - 'QL', - 34), - ('WSGIMySQL.db', - 55), - ('WSGIMySQL.db.real_decorator', - 56), - ('WSGIMySQL.db.real_decorator.wrapper', - 57)], - 'first-line': 30, - 'folded-linenos': [], - 'sel-line': 63, - 'sel-line-start': 1985, - 'selection_end': 2038, - 'selection_start': 2038}, - loc('dispatch_wsgi.py'): {'attrib-starts': [('fall'\ - 'back', - 54)], - 'first-line': 0, - 'folded-linenos': [], - 'sel-line': 61, - 'sel-line-start': 1549, - 'selection_end': 1554, - 'selection_start': 1554}, - loc('static/index.html'): {'attrib-starts': [], - 'first-line': 0, - 'folded-linenos': [], - 'sel-line': 14, - 'sel-line-start': 539, - 'selection_end': 590, - 'selection_start': 590}}, - 'has-focus': True}, - 'open_files': [u'../corso_python/www/static/dispatch_wsgi.py', - u'../corso_python/www/wsgi/sqlpooler.py', - u'controllers/demo.py', - u'controllers/demo/due.py', - u'decorators.py', - u'dispatch_wsgi.py', - u'static/index.html', - u'controllers/demo/sql.py']}, - 'saved_notebook_display': None, - 'split_percents': {0: 0.33189122373300373}, - 'splits': 1, - 'tab_location': 'top', - 'user_data': {}}, - 'saved_notebook_display': None, - 'split_percents': {0: 0.7046688382193268}, - 'splits': 2, - 'tab_location': 'left', - 'user_data': {}}, - 'window-alloc': (10, - 33, - 1639, - 965)}]} -guimgr.recent-documents = [loc('controllers/demo/sql.py'), - loc('static/index.html'), - loc('dispatch_wsgi.py'), - loc('decorators.py'), - loc('../corso_python/www/wsgi/sqlpooler.py'), - loc('../corso_python/www/static/dispatch_wsgi.py'), - loc('controllers/demo.py'), - loc('controllers/demo/due.py')] diff --git a/static/index.html b/static/index.html index 0d77337..f384eff 100644 --- a/static/index.html +++ b/static/index.html @@ -13,9 +13,11 @@
  • test autorouting (longest path possible)
  • test sql access
  • -
    - - nanoWSGI™ (CC) 2012, Alchimie Digitali S.r.l. +
    + Creative Commons License +
    +
    + nanoWSGI™ by Alchimie Digitali S.r.l. is licensed under
    a Creative Commons Attribution 3.0 Unported License.