ホーム > タグ > Python
Python
Flickrから自分のアップロードした写真を全部ダウンロードする
ふと思い立ってやってみようとしたけれど、これが結構大変。一括してダウンロードする方法がFlickrの機能としては見当たらない。
誰か他の人の写真じゃなくて自分のアップロードした写真ぐらい、機能があってもよさそうだけれど。
検索してみると、いくつかソフトウエアがあって、2つ試してみたけれど、認証に失敗して先に進めないのがひとつと、そもそもインストールできないのがひとつ(.Net Frameworkを使うやつ)。
意地になってしまって、flickr.pyを使ったPythonスクリプトを書いてみた。
Pythonとflickr.pyがあれば使えます。ユーザID(ユーザ名じゃない)、API KeyとかSecretとか難しいのが必要。やっぱり、Flickr自身で実装しないと普通の人には難しいんじゃないか。
下のスクリプトをローカルに保存して、設定を3ヶ所書き換えて(ユーザID、API Key、API Secret)、flickr.pyを同じディレクトリにおいて、実行するとサブディレクトリを作成してその中にズンズンダウンロードします。
FeinCMSメモ#1
- 2009-11-12 (木)
- Tech
予定しているちっちゃなサイトに使えないかとFeinCMSを試してみている。
Django CMS 2と比較するとシンプルで始める為の敷居が低い。
一通りexampleにあるものが動くようになって、テンプレートをカスタマイズして見映えを変えてみたりして、これいいかも、という感じになってきたので、まずはexampleが動くためにやることをメモしておく。
ドキュメントのinstallの通りにやってもちゃんと動かないのよこれが。次のリリースぐらいで直りそうだけれど。
Solace
- 2009-09-03 (木)
- Tech
Solace http://opensource.plurk.com/Solace/
Plurk Solace Released http://lucumr.pocoo.org/2009/9/2/plurk-solace-released
Stack OverflowインスパイアードのQ&Aサイト構築システム。最初のリリースだけど、とても完成度が高い。Werkzeugの人(たち)が作っている。Ubuntuで動かしてみるのに5分とかかからないから試してみるといいと思う。
Pinaxをいろいろいじっているけれど、カスタマイズのベースにするにはこっちの方が僕にはとっつきやすい感じがしてきた。
トリガーで変更した値を反映させるには、flush()+invalidate()
- 2009-06-10 (水)
- Tech
stormの話。
def invalidate(self, obj=None):
Set an object or all objects to be invalidated.
This prevents Storm from returning the cached object without first verifying that the object is still available in the database.
This should almost never be called by application code; it is only necessary if it is possible that an object has disappeared through some mechanism that Storm was unable to detect, like direct SQL statements within the current transaction that bypassed the ORM layer. The Store automatically invalidates all cached objects on transaction boundaries.
http://twistedmatrix.com/users/radix/storm-api/storm.store.Store.html#invalidate
これだけじゃ、ダメで、
store.flush()
store.invalidate()
とした後で使わないと、データベースとstorm.storeの同期が取れていない状況になる。
トリガーでバリバリとStormの知らないところでデータを変更していると、わかりにくいエラーになってしまう。
ちなみに、更新後にstore.commit()を発行していればこういう問題は起きない。
ユニットテストでロールバックしながら繰り返しテストしていてはまった。
SQLAlchemyでも同じだよなあ。後で調べる。
Stormの方が
- 2009-06-08 (月)
- Tech
SQLAlchemy http://www.sqlalchemy.org/
新しいプロジェクトのモデルをSQLAlchemyで書いてみようかとやってみたけれど、難しくて、なかなか理解が進まない。
ドキュメントは豊富だし、きっちり感があるし、ちゃんと理解できればいいんだけれど。
いろいろ調べてみたけれど、PostgreSQLのスキーマの取り扱いがどうもちょっと変な気がする。使い方が悪いのか、調べ方が悪いのか目先の問題を解くためには、もっと多くの知識が必要な感じ。
で、
Storm https://storm.canonical.com/
Stormでやってみたら、ほぼ同様のことがあっさりできた。
Clean and lightweight API offers a short learning curve and long-term maintainability.
こっちにするかあ。ドキュメントは事実上チュートリアルだけ。でもまあなんとかなる。
SQLAlchemyのMetaData.reflect()相当をどうしようかと探したら、こんなのが見つかった。
https://lists.ubuntu.com/archives/storm/2008-March/000521.html
これは助かる。Viewをテーブル同様に扱うので、少し困ったけれど何でもないね。
ドキュメントが少ないのが気になるけれど、このぐらいのサイズのライブラリならなんとか読めそうな気もする。
排他的でもないから、SQLAlchemyの学習もしながら、基本的にはStormを使うという感じで行ってみようか。
mtimeの修正はos.utime
- 2009-04-16 (木)
- Tech
/bin/touchと同じことをするos.touch()があるかとリファレンスを探しても見つからず。
結局、os.utime()だとわかるまでに10分ほどかかった。
Googleではノイズだらけで全然ダメだし。
関係ないけれど、前からきになってはいたんだけれど、 ja.pastebin.ca のページがたくさんヒットする。
僕の環境ではこのサイトを表示すると、Firefoxがクラッシュしてしまう。
特定のサイトを検索結果から取り除くFirefox Add-Onとかないかなあ、探してみよう。
…あっという間に見つかった。CustomizeGoogle
Home > タグ > Python
-
- 球速47キロ 2010年3月11日(木曜日)
- フラミンゴもいいけど、 2010年3月11日(木曜日)
- これはいいんじゃないか?1万円だし。 AssistOn / LEDICEXARM “mono” 2010年3月11日(木曜日)
- デスクライト候補。1万台ならなあ、ちょっと高いかな。 AssistOn / BALMUDA design “Highwire” 2010年3月11日(木曜日)
- Tさんが休んでいると、ここは電話と来客の応対でとても忙しい。集中できないなあ。 2010年3月11日(木曜日)
- スキー合宿は2泊3日全部込み込みで4万3千円。 2010年3月11日(木曜日)
- スケジュール帳を買うのは好きだけど、今年ほど活用している年はないな。Googleカレンダーの携帯版と併用中。 2010年3月11日(木曜日)
- 半額かあ。あっ、しかも新しいプランが。これ買っちゃいそう・・・ UQ WiMAX | UQ WiMAX端末 半額キャンペーン 2010年3月10日(水曜日)