When it’s ready.

出来るまで出来ない

GoogleAppEngineで動くGyazoクローンgaezooのソースをアップしました。

開発サーバとappspot.comで、アプリに返すURLを適宜変更する部分を書くのに手間取ったけど、なんとか簡単に使用出来るようになったので晒してみる。ツッコミ歓迎です。思いっきり公開先書くの忘れてた。

http://bitbucket.org/a2c/gaezoo/

今動いているのは、gaezoo.appspot.comです。特にアクセスしても何も無いですけど・・・
サンプルは、http://gaezoo.appspot.com/4c7f4a666917d03fb0c7dac080103b23.png

追記:Twitterへのポストボタンつけました。

末尾のpngをpostに変えることで、挙動が変わります。
サンプルは、http://gaezoo.appspot.com/4c7f4a666917d03fb0c7dac080103b23.post

ファイル構成

-- app.yaml
-- index.yaml
-- main.py
-- settings.py
-- static
`-- favicon.ico
-- utils.py

設定

自分のGAEアプリとして公開するには、AppIDを事前に取得してください。> http://appspot.com から取得出来ます。
AppIDが無事に取得出来たら、2つのファイルを1行ずつ変更します。以下詳細

app.yaml

application: gaezoo # ここを自分のAppIDに書き換える
version: 2
runtime: python
api_version: 1

handlers:
- url: .*
  script: main.py

- url: /favicon.ico
  static_files: static/favicon.ico
  upload: static/favicon.ico

net_servの値を、取得したAppID.appspot.comに書き換えてください。
また、ローカルでも動作チェックしたければ、dev-servのポートの番号をdev_portに指定すると動作します。
settings.py

#!coding:utf-8
#!/usr/bin/env python

# 開発サーバのホスト名とポート番号
dev_serv = 'localhost'
dev_port = '8081'

# 公開サーバーのホスト名とポート番号(通常:80)
net_serv = 'gaezoo.appspot.com'
net_port = '80'

Gyazo.app を改造する。

素のGyazo.app(http://gyazo.com/ja)をDLして、Gaezoo.appにコピーします。
画像のアップロード先を変更します。以下手順 (Gyazo.appは、/Applicationにインスコされて居る想定です)
注)gaezooをご自分のAppIDに読み替えてください。

  1. cp -r /Applications/Gyazo.app /Applications/Gaezoo.app
  2. vim /Applications/Gaezoo.app/Contents/Resources/script
    1. 6行目
      1. idfile = File.dirname(program) + "/Gaezoo.app/Contents/Resources/id"
    2. 34行目
      1. HOST = 'gaezoo.appspot.com'
    3. 35行目
      1. CGI = '/upload'

パッチは以下のような感じ

6c6
< idfile = File.dirname(program) + "/gyazo.app/Contents/Resources/id"
---
> idfile = File.dirname(program) + "/Gaezoo.app/Contents/Resources/id"
34,35c34,35
< HOST = 'gyazo.com'
< CGI = '/upload.cgi'
---
> HOST = 'gaezoo.appspot.com'
> CGI = '/upload'

Gyazo.appって、改造済みのやつを再配布するのがライセンス的(GPL?)によくわからなかったのだけど、ソースごとDL出来るようにして、出元を明らかにしておけば再配布しても大丈夫なのかな?

スナップしまくれ!

後は、SpotlightからGaezoo.appを検索して即実行!
画像はどんどんgaezoo.appspot.comに貯められるぜ!

今後

Gyazo.appの中にcontent-disposition: の設定があるぽいので
オプションでユーザ(かメアド?)を埋め込んで過去の自分のやつとか
一覧出せるように出来たらいいなぁとか、イメージを表示してる部分に
Twitterに投稿するフォームつけられるようにしたいなぁとか

夢は膨らむが、先にすることあるのでそっちを先にしなければ・・・