Drkcore

10 04 2007 Python turbogears Tweet

TurboGearsのモデルだけいじる

TurboGearsでなんか作ってて、とりあえずテスト用になんかデータをモデルに突っ込んでおきたい場合

tg-admin shell

で対話的にモデルを操作できるのが便利。あとはtg-admin toolsでcatwarkとか。

単純なモデルの場合はこれで十分だったりするんだけど、ちょっと複雑になるとスクリプトから操作したい。

コネクションの書き方が違うみたいなので、少し悩んだ挙句、

from turbogears import update_config
update_config(configfile="dev.cfg",modulename="myapp.config")
from myapp.model import *

とやるといいらしいことがわかった。普通にSQLObjectだと下のように書くようだ。

from sqlobject import *

connection_string = 'sqlite:///home/kzfm/myapp/devdata.sqlite'
connection = connectionForURI(connection_string)
sqlhub.processConnection = connection

これで、feedparserを使ってRSSをとってきてテストデータを作ってみた。

from turbogears import update_config
update_config(configfile="dev.cfg",modulename="pectin.config")

from pectin.model import *
import feedparser

rss_sites = ['/index.rss10', \
            'http://kzfm.vox.com/library/posts/atom.xml']

for rss in rss_sites:
   f = feedparser.parse(rss)
   newfeed = Feed(url=rss,link=f.feed.link, \
        title=f.feed.title,description=f.feed.subtitle)

   for e in f.entries:
       newentry = Entry(read=False, link=e.link, title=e.title, \
                        content=e.content[0].value ,feed=newfeed)

   hub.commit()

なんかeがエラーキャッチみたいだけどentryってことで。あと、feedparserはatomとかrssとか考えなくてもいいみたいで便利。

ちなみに、今はイントラで使う用にちょっとしたRSSリーダーを作ろうとしている。会社ではfeed on feeds使ってるんだけど、LDRに慣れてしまうと、ストレスが溜まりまくってどうしようもない。せめて、キー操作が欲しいのそれぐらいやれそうな簡易なやつを作ってみることにした。

ではじめて使ったRSSリーダーであるglucoseにちなんでペクチンという名前にしてみた。

ベタすぎ。

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021