Contact Me
7 |Thank you for your message.
8 |├── utils ├── __init__.py ├── external │ ├── __init__.py │ └── simplejson │ │ └── scanner.py ├── django_libs │ ├── __init__.py │ ├── gravatar.py │ └── description.py ├── codehighlighter.py ├── authorized.py ├── sanitizer.py └── template.py ├── handlers ├── __init__.py ├── bloog │ ├── __init__.py │ ├── cache_stats.py │ ├── contact.py │ └── timings.py ├── shell │ └── __init__.py └── restful.py ├── dev ├── docs │ └── BloogTalk.key │ │ ├── .typeAttributes.dict │ │ ├── Contents │ │ └── PkgInfo │ │ ├── index.apxl.gz │ │ ├── thumbs │ │ ├── st0.tiff │ │ ├── st1.tiff │ │ ├── st2.tiff │ │ ├── st3.tiff │ │ └── st4.tiff │ │ ├── RESTfulBook-1.jpg │ │ ├── droppedImage.tiff │ │ ├── ROA Diagram (Just Bloog).png │ │ └── ROA Diagram transparent.png ├── tests │ ├── curl │ │ ├── put_edit_file │ │ ├── edit_user_blog │ │ └── add_user_comment │ ├── restclient-2.1-jar-with-dependencies.jar │ ├── restclient_requests │ │ ├── PUT_blog_entry_user.rcq │ │ └── PUT_blog_entry_admin.rcq │ └── test.py └── scripts │ └── clear_datastore.py ├── static ├── robots.txt ├── favicon.ico ├── spinner.gif ├── screenshot.png ├── ajax-loader.gif ├── images │ ├── meetup.png │ ├── meetup-bw.png │ ├── architecture1.png │ ├── architecture2.png │ └── appengine-noborder-120x30.gif ├── default │ ├── images │ │ ├── js.gif │ │ ├── li.gif │ │ ├── py.gif │ │ ├── rb.gif │ │ ├── css.gif │ │ ├── dot.gif │ │ ├── html.gif │ │ ├── php.gif │ │ ├── avatar.png │ │ ├── li_dark.gif │ │ ├── arrow_next.gif │ │ ├── arrow_prev.gif │ │ ├── btn_search.gif │ │ ├── btn_submit.gif │ │ ├── chat_grey.gif │ │ ├── guide │ │ │ ├── is.gif │ │ │ └── grid_focus_531.gif │ │ ├── lgrey_diag.gif │ │ ├── arrow_nextno.gif │ │ └── arrow_prevno.gif │ ├── js │ │ ├── ojay │ │ │ ├── pkg │ │ │ │ ├── mouse-min.js │ │ │ │ ├── history-min.js │ │ │ │ ├── keyboard-min.js │ │ │ │ ├── http-min.js │ │ │ │ ├── paginator-min.js │ │ │ │ ├── overlay-min.js │ │ │ │ └── mouse.js │ │ │ └── js-class-min.js │ │ ├── bloog_base.js │ │ └── bloog_comments.js │ └── editor.css ├── chili │ ├── python.js │ ├── java.js │ ├── csharp.js │ ├── delphi.js │ ├── js.js │ ├── html.js │ ├── cplusplus.js │ ├── lotusscript.js │ ├── mysql.js │ ├── php.js │ └── css.js └── shell.js ├── views ├── default │ ├── bloog │ │ ├── blog │ │ │ ├── blog_entry.html │ │ │ ├── root.html │ │ │ ├── articles.html │ │ │ ├── sitemap.xml │ │ │ ├── month.html │ │ │ ├── year.html │ │ │ ├── tag.html │ │ │ ├── comment.html │ │ │ ├── search.html │ │ │ ├── atom.xml │ │ │ ├── form_comment.html │ │ │ └── article.html │ │ ├── contact │ │ │ ├── contact.post.html │ │ │ └── contact.get.html │ │ ├── pager.html │ │ ├── article_excerpt.html │ │ ├── form_editor.html │ │ ├── timings │ │ │ └── timing.admin.html │ │ ├── cache_stats │ │ │ └── cache_stats.admin.html │ │ ├── bloog_intro.html │ │ └── base.html │ ├── notfound.html │ └── unauthorized.html └── shell │ └── shell.html ├── .gitignore ├── .gitmodules ├── legacy_aliases.py ├── app.yaml ├── index.yaml ├── main.py ├── config.py └── models └── blog.py /utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /handlers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /handlers/bloog/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /handlers/shell/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /utils/external/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /utils/django_libs/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dev/docs/BloogTalk.key/.typeAttributes.dict: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dev/docs/BloogTalk.key/Contents/PkgInfo: -------------------------------------------------------------------------------- 1 | ???????? -------------------------------------------------------------------------------- /static/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: /tag/* 3 | -------------------------------------------------------------------------------- /views/default/bloog/blog/blog_entry.html: -------------------------------------------------------------------------------- 1 | {% extends "article.html" %} -------------------------------------------------------------------------------- /views/default/bloog/blog/root.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | .DS_Store 3 | .project 4 | .pydevproject 5 | *~ 6 | *.swp 7 | -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/favicon.ico -------------------------------------------------------------------------------- /static/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/spinner.gif -------------------------------------------------------------------------------- /static/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/screenshot.png -------------------------------------------------------------------------------- /static/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/ajax-loader.gif -------------------------------------------------------------------------------- /static/images/meetup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/images/meetup.png -------------------------------------------------------------------------------- /static/default/images/js.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/js.gif -------------------------------------------------------------------------------- /static/default/images/li.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/li.gif -------------------------------------------------------------------------------- /static/default/images/py.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/py.gif -------------------------------------------------------------------------------- /static/default/images/rb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/rb.gif -------------------------------------------------------------------------------- /static/images/meetup-bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/images/meetup-bw.png -------------------------------------------------------------------------------- /static/default/images/css.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/css.gif -------------------------------------------------------------------------------- /static/default/images/dot.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/dot.gif -------------------------------------------------------------------------------- /static/default/images/html.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/html.gif -------------------------------------------------------------------------------- /static/default/images/php.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/php.gif -------------------------------------------------------------------------------- /static/images/architecture1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/images/architecture1.png -------------------------------------------------------------------------------- /static/images/architecture2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/images/architecture2.png -------------------------------------------------------------------------------- /dev/tests/curl/put_edit_file: -------------------------------------------------------------------------------- 1 | name=Bill&email=f@bill.com&title=My%20Edited%20Title&body=This%20is%20a%20PUT%20body. 2 | -------------------------------------------------------------------------------- /static/default/images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/avatar.png -------------------------------------------------------------------------------- /static/default/images/li_dark.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/li_dark.gif -------------------------------------------------------------------------------- /dev/docs/BloogTalk.key/index.apxl.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/dev/docs/BloogTalk.key/index.apxl.gz -------------------------------------------------------------------------------- /static/default/images/arrow_next.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/arrow_next.gif -------------------------------------------------------------------------------- /static/default/images/arrow_prev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/arrow_prev.gif -------------------------------------------------------------------------------- /static/default/images/btn_search.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/btn_search.gif -------------------------------------------------------------------------------- /static/default/images/btn_submit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/btn_submit.gif -------------------------------------------------------------------------------- /static/default/images/chat_grey.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/chat_grey.gif -------------------------------------------------------------------------------- /static/default/images/guide/is.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/guide/is.gif -------------------------------------------------------------------------------- /static/default/images/lgrey_diag.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/lgrey_diag.gif -------------------------------------------------------------------------------- /dev/docs/BloogTalk.key/thumbs/st0.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/dev/docs/BloogTalk.key/thumbs/st0.tiff -------------------------------------------------------------------------------- /dev/docs/BloogTalk.key/thumbs/st1.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/dev/docs/BloogTalk.key/thumbs/st1.tiff -------------------------------------------------------------------------------- /dev/docs/BloogTalk.key/thumbs/st2.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/dev/docs/BloogTalk.key/thumbs/st2.tiff -------------------------------------------------------------------------------- /dev/docs/BloogTalk.key/thumbs/st3.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/dev/docs/BloogTalk.key/thumbs/st3.tiff -------------------------------------------------------------------------------- /dev/docs/BloogTalk.key/thumbs/st4.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/dev/docs/BloogTalk.key/thumbs/st4.tiff -------------------------------------------------------------------------------- /static/default/images/arrow_nextno.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/arrow_nextno.gif -------------------------------------------------------------------------------- /static/default/images/arrow_prevno.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/arrow_prevno.gif -------------------------------------------------------------------------------- /dev/docs/BloogTalk.key/RESTfulBook-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/dev/docs/BloogTalk.key/RESTfulBook-1.jpg -------------------------------------------------------------------------------- /dev/docs/BloogTalk.key/droppedImage.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/dev/docs/BloogTalk.key/droppedImage.tiff -------------------------------------------------------------------------------- /dev/tests/curl/edit_user_blog: -------------------------------------------------------------------------------- 1 | curl -T put_edit_file -b dev_appserver_login=foo@user.com http://localhost:8080/2008/8/New-Blog 2 | -------------------------------------------------------------------------------- /static/images/appengine-noborder-120x30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/images/appengine-noborder-120x30.gif -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "utils/external/firepython"] 2 | path = utils/external/firepython 3 | url = git://github.com/darwin/firepython.git 4 | -------------------------------------------------------------------------------- /static/default/images/guide/grid_focus_531.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/static/default/images/guide/grid_focus_531.gif -------------------------------------------------------------------------------- /dev/docs/BloogTalk.key/ROA Diagram (Just Bloog).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/dev/docs/BloogTalk.key/ROA Diagram (Just Bloog).png -------------------------------------------------------------------------------- /dev/docs/BloogTalk.key/ROA Diagram transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/dev/docs/BloogTalk.key/ROA Diagram transparent.png -------------------------------------------------------------------------------- /dev/tests/restclient-2.1-jar-with-dependencies.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcherry/bloog/master/dev/tests/restclient-2.1-jar-with-dependencies.jar -------------------------------------------------------------------------------- /dev/tests/curl/add_user_comment: -------------------------------------------------------------------------------- 1 | curl -d name=Bill&email=f@bill.com&title=My%20Title&body=This%20is%20body. -b dev_appserver_login=foo@user.com http://localhost:8080/2008/8/New-Blog 2 | -------------------------------------------------------------------------------- /views/default/bloog/contact/contact.post.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block first_column %} 3 |
10 | {% endblock %} 11 | -------------------------------------------------------------------------------- /views/default/bloog/pager.html: -------------------------------------------------------------------------------- 1 |3 | {% if prev_offset %} 4 | Prev, 5 | {% endif %} 6 | {% if next_offset %} 7 | Next 8 | {% endif %} 9 |
10 |{{ article.html|truncatewords_html:68 }}
11 |9 | {{ article.title }} 10 |
Todo -- Show list of articles which are available by year...
18 |Todo -- Show list of articles which are available by year...
19 |Sorry, the page you tried to access isn't available.
10 |I realize this message is little consolation, but you could try:
11 |It's possible that an article with the tag was removed.
19 |Please try another tag or use the full-text search.
20 |{{ search_error_message }}
19 |Please try your search again.
20 |If you feel that you should be staring at something a little more concrete, 21 | try one of the tags or browse the archives.
22 |Sorry. You are trying to access a web page without proper authorization.
10 | {% if user %} 11 |You are currently logged in as {{ user.email }}, and this account doesn't have permission to access the information.
12 |If you believe this is a mistake, try logging out and then 13 | logging in again.
14 | {% else %} 15 |You should try to log in with your Google ID if you feel you should have access.
16 | {% endif %} 17 |After logging in with an authorized account, revisit the desired web page.
18 |We're sorry. The administrator of this blog hasn't set his or her e-mail yet.
10 |This poses a conundrum. How are you to let the blog author know this blog is 11 | improperly setup when this blog contact form is the only way you can reach the author?
12 |Most vexing. I haven't got a clue. You might want to try Facebook or a general Google search 13 | to see if the author has a public contact address.
14 |12 | The following data is in the global cache of the currently selected server: 13 |
14 || url | 17 |time/call | 18 |min call | 19 |max call | 20 |total time | 21 |calls (uncached) | 22 |
|---|---|---|---|---|---|
| All URLs combined | 25 |{{ avg_speed|floatformat:4 }} | 26 |27 | | 28 | | {{ total_time|floatformat:3 }} | 29 |{{ total_calls }} ({{ total_full_renders }}) | 30 |
| {{ urlstat.url }} | 34 |{{ urlstat.avg_speed|floatformat:4 }} | 35 |{{ urlstat.min_time|floatformat:4 }} | 36 |{{ urlstat.max_time|floatformat:4 }} | 37 |{{ urlstat.duration|floatformat:3 }} | 38 |{{ urlstat.runs }} ({{ urlstat.full_renders }}) | 39 |
12 | The following data is from memcache: 13 |
14 || Stat | 17 |Value | 18 |Explanation | 19 |
|---|---|---|
| Hits | 22 |{{ stats.hits }} | 23 |Number of cache get requests resulting in a cache hit. | 24 |
| Misses | 27 |{{ stats.misses }} | 28 |Number of cache get requests resulting in a cache miss. | 29 |
| Byte Hits | 32 |{{ stats.byte_hits }} | 33 |Sum of bytes transferred on get requests. Rolls over to zero on overflow. | 34 |
| Items | 37 |{{ stats.items }} | 38 |Number of key/value pairs in the cache. | 39 |
| Bytes | 42 |{{ stats.bytes }} | 43 |Total size of all items in the cache. | 44 |
| Oldest Age | 47 |{{ stats.oldest_item_age }} | 48 |How long in seconds since the oldest item in the cache was accessed. | 49 |
', 54 | re.MULTILINE) 55 | languages = set([]) 56 | soup = BeautifulSoup(html) 57 | clean_html = '' 58 | for section in soup.contents: 59 | txt = str(section) 60 | matchobj = re.match(code_tag, txt) 61 | if matchobj: 62 | languages.add(matchobj.group(1)) 63 | clean_html += re.sub(r'100 | 101 | 102 | 103 |
', "\n", txt) 64 | else: 65 | clean_html += txt 66 | 67 | # Map the language class names to the spelling for javascript files 68 | list_language_files = [language_jsfiles[lang] for lang in list(languages)] 69 | return clean_html.decode('utf-8'), list_language_files 70 | 71 | -------------------------------------------------------------------------------- /static/chili/js.js: -------------------------------------------------------------------------------- 1 | /* 2 | =============================================================================== 3 | Chili is the jQuery code highlighter plugin 4 | ............................................................................... 5 | LICENSE: http://www.opensource.org/licenses/mit-license.php 6 | WEBSITE: http://noteslog.com/chili/ 7 | 8 | Copyright 2008 / Andrea Ercolino 9 | =============================================================================== 10 | */ 11 | 12 | { 13 | _name: 'js' 14 | , _case: true 15 | , _main: { 16 | ml_comment: { 17 | _match: /\/\*[^*]*\*+(?:[^\/][^*]*\*+)*\// 18 | , _style: 'color: gray;' 19 | } 20 | , sl_comment: { 21 | _match: /\/\/.*/ 22 | , _style: 'color: green;' 23 | } 24 | , string: { 25 | _match: /(?:\'[^\'\\\n]*(?:\\.[^\'\\\n]*)*\')|(?:\"[^\"\\\n]*(?:\\.[^\"\\\n]*)*\")/ 26 | , _style: 'color: teal;' 27 | } 28 | , num: { 29 | _match: /\b[+-]?(?:\d*\.?\d+|\d+\.?\d*)(?:[eE][+-]?\d+)?\b/ 30 | , _style: 'color: red;' 31 | } 32 | , reg_not: { //this prevents "a / b / c" to be interpreted as a reg_exp 33 | _match: /(?:\w+\s*)\/[^\/\\\n]*(?:\\.[^\/\\\n]*)*\/[gim]*(?:\s*\w+)/ 34 | , _replace: function( all ) { 35 | return this.x( all, '//num' ); 36 | } 37 | } 38 | , reg_exp: { 39 | _match: /\/[^\/\\\n]*(?:\\.[^\/\\\n]*)*\/[gim]*/ 40 | , _style: 'color: maroon;' 41 | } 42 | , brace: { 43 | _match: /[\{\}]/ 44 | , _style: 'color: red; font-weight: bold;' 45 | } 46 | , statement: { 47 | _match: /\b(with|while|var|try|throw|switch|return|if|for|finally|else|do|default|continue|const|catch|case|break)\b/ 48 | , _style: 'color: navy; font-weight: bold;' 49 | } 50 | , error: { 51 | _match: /\b(URIError|TypeError|SyntaxError|ReferenceError|RangeError|EvalError|Error)\b/ 52 | , _style: 'color: Coral;' 53 | } 54 | , object: { 55 | _match: /\b(String|RegExp|Object|Number|Math|Function|Date|Boolean|Array)\b/ 56 | , _style: 'color: DeepPink;' 57 | } 58 | , property: { 59 | _match: /\b(undefined|arguments|NaN|Infinity)\b/ 60 | , _style: 'color: Purple; font-weight: bold;' 61 | } 62 | , 'function': { 63 | _match: /\b(parseInt|parseFloat|isNaN|isFinite|eval|encodeURIComponent|encodeURI|decodeURIComponent|decodeURI)\b/ 64 | , _style: 'color: olive;' 65 | } 66 | , operator: { 67 | _match: /\b(void|typeof|this|new|instanceof|in|function|delete)\b/ 68 | , _style: 'color: RoyalBlue; font-weight: bold;' 69 | } 70 | , liveconnect: { 71 | _match: /\b(sun|netscape|java|Packages|JavaPackage|JavaObject|JavaClass|JavaArray|JSObject|JSException)\b/ 72 | , _style: 'text-decoration: overline;' 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /static/chili/html.js: -------------------------------------------------------------------------------- 1 | /* 2 | =============================================================================== 3 | Chili is the jQuery code highlighter plugin 4 | ............................................................................... 5 | LICENSE: http://www.opensource.org/licenses/mit-license.php 6 | WEBSITE: http://noteslog.com/chili/ 7 | 8 | Copyright 2008 / Andrea Ercolino 9 | =============================================================================== 10 | */ 11 | 12 | { 13 | _name: 'html' 14 | , _case: false 15 | , _main: { 16 | doctype: { 17 | _match: // 18 | , _style: "color: #CC6600;" 19 | } 20 | , ie_style: { 21 | _match: /()/ 22 | , _replace: function( all, open, content, close ) { 23 | return "" + this.x( open ) + "" 24 | + this.x( content, '//style' ) 25 | + "" + this.x( close ) + ""; 26 | } 27 | , _style: "color: DarkSlateGray; font-weight: bold;" 28 | } 29 | , comment: { 30 | _match: // 31 | , _style: "color: #4040c2;" 32 | } 33 | , script: { 34 | _match: /( 8 | 73 | 74 | 75 | 76 | 77 |Interactive server-side Python shell 78 | (original source) 79 |
80 |81 | Return to Bloog home 82 |
83 | 84 | 88 | 89 |
104 | {% if user %} 105 | {{ user.nickname }} 106 | (log out) 107 | {% else %} 108 | log in 109 | {% endif %} 110 | | Shift-Up/Down for history | 111 | 115 | 116 |
117 | 118 | 121 | 122 | 123 |