YaneuraLabsさんのブログ記事「GAEのアップローダを作ってみた」はファイルアップロードを どうやったらよいかで大変参考になったのだが、画像だけにしぼった時に、 『画像の横幅、縦幅をどうやったら取得できるのか?』 のやり方が分からなかったので画像アップローダを作ってみた。 以下詳細。 なぜそんなことがやりたかったかというと、 ・アップされた画像が規定の横幅サイズより大きかったらそのサイズにリサイズ また、 ・大きな画像アップロード時に横幅サイズを指定してそのサイズにリサイズ というようなことをしたい時にアップした画像の横幅を取得する必要があったのです。 GAEに触るまではPythonなんてやったことがないので慣習とか右も左もわからず、PHPでは簡単な画像周りの処理方法がま~ったくわからず、GAEのImage APIはリサイズや諸々はできても画
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
削除は手動で画面を Reload して繰り返し実行すればいいが r = db.GqlQuery("select * from Stock limit 100") for rr in r: rr.delete() 後方一致 ( like *key_word ) の場合、offset で移動させた。 r = db.GqlQuery("select * from Model limit 100 offset " + str(offset) ) start = int(offset) + 100 self.response.out.write('<a href="/xxx?offset=%s">del</a>' % str(start) ) for rr in r: if rr.trackback_url.find('</td></tr>') <>-1: ・・・ プログラムで LOOP させて o
Google App Engine | 07:12 | いわゆる「まとめサイト」系をふらふらと回ってみて、少し気付いたことがある。1.一部の記事の存在に気づけてもらっておらず、飛び飛びでリンクがはられている場合がある2.記事によっては、言及されているトピックに誤解があるよう。例えば2つのトピックに触れているのに1つだけ訳したものと理解されてしまっている場合アリ3.どうやら自分以外にも翻訳を始めた人がいるみたい。ガンバレ!1番目の問題については、このブログそのものにアピール力が足りないので、新着記事を上手く拾ってもらうのが難しい以上、今はどうしようもないだろう。2番目の問題については、やっぱり1つのエントリーが長すぎて「読む気にならん!」って人が多くいる証なんだろうなぁ、、と。記事を複数のエントリーに分散させると読んでもらえない可能性が高い、ってのを気にして出来る限りひとまとめにしてきたが、
実はGoogle App Engine(以下GAE)で全文検索を行おうと思っても 現状APIは提供されていません。 まさかGoogleのアプリで検索ができないなんて 考えてもいなかったのでかなり驚きました。 といいつつもある程度対応は可能です。 ・前方一致検索 以下のように範囲検索を利用してユニコードを 擬似的に前方一致検索することができます。 db.GqlQuery('SELECT * FROM Test WHERE w >= :1 and w < :2', word, word + u'\uFFFD') ・全文検索(非公開。英語のみ) 非公開ではありますが、全文検索を行うSearchableModelという クラスが提供されています。 使用方法はモデルが継承するdb.Modelをsearch.SearchableModel に変更し、検索時に Test.all().search(sea
google appengineには全文検索がないらしい。 「googleなのに!そんな馬鹿な!自分で作るしかないのか!!」 と思ったんだけど、そんなのすでに作ってる人がいるんじゃないかと思い立ち、探してみたら・・・なんと隠し機能ですでに存在しているご様子!ドキュメント化されてないけど! 以下参考リンク How-to: Full-text search in Google App Engine というわけで、使い方としてはdb.Modelの代わりにsearch.SearchableModelを使って、検索対象はStringPropertyあるいはTextPropertyにしといたらいいと。検索するときはArticle.all().search(“検索単語”)とすると。db.Modelから切り替えるのはすごい簡単なので、ちょこっとやってみたら確かに検索できた。・・・英語は。英単語のみならば。
Google App Engine の SDK で 何か作ってみよう! というわけで、 Tropy みたいなやつを作ってみる python で 20 行以上のプログラムを書くのはたぶん初めてだ Tropy とは 以下が詳しいです。 Tropyとは - はてなキーワード ちなみに、以下のスクリーンショットは id:naoya さんが作った Tropy のクローンの Haropy です。 で、僕もそんな感じのものを作ってみた ソースを晒しておきます。 ファイル構成 PyGropy |-- app.yaml |-- edit.html |-- entry.html `-- pygropy.py app.yaml 設定ファイル application: pygropy version: 1 runtime: python api_version: 1 handlers: - url: /.* sc
Google App Engine において、CSS を独立したファイルにして扱おうと思ったけれど、なぜかアプリケーションのルートディレクトリに置いてもファイルが認識されない。仕方がないので、スタイルシートの情報は HTML ファイル内に埋め込んだ。そして、今度は画像を表示させようと思い、 HTML の img 要素や CSS の background で指定したみたけれどダメ。うーん… (+_+) これは何か表示させるための仕組みがあるということか。 静的ファイルの扱い 静的ファイルの使用 - Google App Engine - Google Code によると、 Google App Engine では、特に設定しない限り、アプリケーションのソース ディレクトリからファイルを直接供給することはありません。(…) 画像、CSS スタイルシート、JavaScript コード、映像、Fl
GAppEngineで作ったアプリはギャラリーに登録できるようだったので、せっかくだからやってみました。 http://appgallery.appspot.com/ 特に審査とかないようだし、出来の良し悪しなんて(゚ε゚)キニシナイ!! 登録はAppGalleryトップの右サイドバーにある「Add your app now ≫」をクリックして、必要な情報を入力するだけ。 おー、ギャラリーのトップに表示されとる。 自動的に紹介ページ作ってくれるし、ホンキアプリなら登録しない手はないし単なる練習用でもとりあえず登録しておいて損はない気がします。 http://appgallery.appspot.com/about_app?app_id=agphcHBnYWxsZXJ5chMLEgxBcHBsaWNhdGlvbnMYoQYM GAEで公開したアプリにfaviconを設定してないとダッシュボー
Developer's Guideより。自分用メモ。 Datastore API: google.appengine.ext.db Modelクラス: データモデルの定義を扱う基底クラス。 class Model(parent=None, key_name=None, **kw) クラスメソッド Model.get(keys) Model.get_by_id() Model.get_by_key_name(key_names, parent=None) Model.get_or_insert(key_name, **kwds) Model.all() Model.gql(query_string, *args, **kwds) Model.kind() Model.properties() インスタンスメソッド key() put() delete() is_saved() parent(
ふつうに Python の logging モジュールが使えます!! http://www.python.org/doc/2.5/lib/module-logging.html すごいですね!! でも、サーバに ssh とか出きないけど どうやってログみるかというと…… こんな風に管理画面から見えます!! 鼻血が出るほどすごいですね!!! local の開発環境だと debug レベルが出力されないんじゃ!! そんなときは logging.getLogger().setLevel(logging.DEBUG) って書けばOK def main(): application = webapp.WSGIApplication( [('/',MainPage), ('/edit',EditPage), ('/photo/([^/]+)',Photo)], debug=True) logging.
1. ログを出力するための概略 Logging Events in Your Application - Google App Engine - Google Code の説明に従った。 概略は次の通り。 loggin モジュールのインポート。 ログを出力するレベルをアプリケーションにおいて設定する。 loggin のメソッドを使って出力したいログの内容を書く。 2. logging モジュール まず、logging モジュールをインポートする。 import logging 3. ログのレベルに対応したメソッド logging のメソッドには、debug(), info(), error() などがあり、 14.5 logging -- Logging facility for Python によると、 Logged messages also have levels of import
Google App Engine | 02:16 | 正直、リファレンスを全て真面目に訳そうとすると、あまりの単調作業に気力がもたないので、各クラスのイントロ簡略版だけを並べていくような形で整理することにする。どのクラスが何をするためのものか?が分かれば、後のメソッドの使い方は名前を見れば分かるでしょう、、そして、さすがに短文が続くと超訳も難しいので今回は普通に「意訳」くらいのレベルに止めておくのが良さそう。 Modelクラス (詳細はココで)データモデルを規定するためのスーパークラス。アプリはこれを継承したサブクラスを規定する事によってデータモデルを定義する。以下は使い方の例。 class Story(db.Model): title = db.StringProperty() body = db.TextProperty() created = db.DateTimeProperty
You want to create your own custom Django filters in App Engine without running a whole Django stack? Here’s how in a few lines of code. First create a specific python file to hold your custom filters at the root of your application. In my case I use customfilters.py like this: import re from google.appengine.ext import webapp register = webapp.template.create_template_register() def escapeimg(bod
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く