python
photo by centralasian CC BY 2.1 前回からの続きです。前回はダイスコードの構文を決め、(E)BNFでそれを書き下しました。そして、いろいろと置き換えて解析しやすい形にしました。今回は、いよいよこいつをpythonのコードに落とします。…っていってもその過…
photo by Tomi Tapio (CC BY-SA 2.1) あるアイデアをふと思い立った時に、それを最後まで実行するために役立つ手段の一つが、「やる」と宣言してしまうこと、だそうですね。そんなわけで思いついたことを実行してみます。 やりたいこと "2d6" とか "D12+5" …
あるいは 「"DLL not found" を解決するにはどうしたら…」今さら python + Django でウェブアプリなんか作っている thalion です。作ろうとしているのは: リポジトリのURLとリビジョンを入れるフォームがあって それを入れて「実行」ってやると そのリビジ…
表題の通り。スゲエ初歩的な部分でハマッたので、自戒の意味を込めて書いておきます。会社のデータベースから毎晩深夜に必要なデータを引っ張り出して、それを加工・集計してレポートをメールで送る、というスクリプトを作って動かしてました。Windows XP 上…
会社のトラブル管理データベースから自部門に関係あるものを抽出し、未解決のものとそのデータへのリンクを貼り付けたメールを毎日自動送信する、というプログラムを python で組みました。 問題 ところがそいつが最近コケるようになりました。やっつけで作…
lst = [ 0,0,1,1,2,3,3,4,5 ] lst = sorted( set(lst), key=lst.index ) もともとのリストの順序(=lst.index)をキーとして、set()で集合型に変換して重複を取り除いたシーケンスの中身を並べ替えたリストを得る、というシナリオ。
えー、題名どおり(笑)。 import smtplib from email.MIMEText import MIMEText from email.Header import Header from email.Utils import formatdate def create_message( from_addr, to_addr, subject, body, encoding='iso-2022-jp' ): """ creates MIMET…
環境: windows XP sp3, python 2.5.1いつもお世話になってますな「こちら」を参考にコード書いたんですが、encoding 周りでエラーとか出て、うまく行きませんでした。そんなわけであちこちぐぐってさまよった結果、以下のようなコードで、なんとか回避しま…
@accepts(object, (str, unicode)) def add_sheet(self, sheetname): import Worksheet self.__worksheets.append(Worksheet.Worksheet(sheetname, self)) return self.__worksheets[-1] @accepts(object, int) def get_sheet(self, sheetnum): return self.…
お年寄り各位から「やっぱ Excel 出力がほしいじゃん」とか言われる。「.csvでいいですよね?」って言ったら「.xlsでくれ」と言われた。悲しい。そんなわけで Python から生Excel(*.xls)ファイルを作るためのモジュールを探してみた。そしたらものすごいのが…
Tempitaは、小さくて軽快なテンプレート言語。今作っているツールを改良するときに、「あるテンプレート文中にあるキーワードをある一定の規則に基づいて置き換えてくれる」処理が必要になった。Python にはもともと String クラスに Template というのがあ…
…ってまだやってなかったのかよ、というツッコミは甘んじて受けます(笑)。 インストール PEAKで easy_install のインストーラーであるez_setup.pyをダウンロードし、適当な作業用ディレクトリに入れておく コマンドプロンプトを起動して、上の作業用ディレク…
というわけで、これまでアレコレやってきたチケット自動生成スクリプトはあらかた完成しました。今までは csv のインポート機能経由だったので人手が要ったけど、そこはxml-rpc使って全部オンラインでやるようにしたので完全無人化です。やたー。OralceDB →(…
ticket.getTicketFields() で得られるのは、辞書を要素として持つリスト。 [ {"type":"text", "name":"summary", ... }, {...}, .... ] 一つの辞書が一つの属性を記述している。対応関係は以下のとおり: trac型 とりうる値 type name label custom order op…
Hello Worldアプリに続く第2弾。ハッカーのNerveGasとiphone-shellスタッフが今度はiPhoneで使えるPython、Apache、オープンソースのアプリを作ったようです。これでiPhoneもウェブサーバーとして使えますね。 すげえ。でもウェブサーバーになんか使いたくね…
とりあえずはライブラリ・リファレンスにあるxmlrpclibを使ってみる。必要な手順 trac の管理メニューから、xml-rpc でアクセスするアカウントに XML_RPC 権限を与える リモートのクライアントからアクセスする 設定したら、公開されているAPIの名前を取得す…
Oracle データベースにクエリを投げてデータを拾ってくる(SJIS) 中身を解釈してチケットデータを作る(Unicode) csv 形式で書き出す(Utf-8) 悩んだのは 1.のところ。 import cx_Oracle con = cx_Oracle.connect( username/password@DTS ) cur = con.cursor() …
cx_Oracle でクエリを投げるとき、SQL文末の";"は必要ない。セミコロンは SQL Plus の拡張文法だから。…こんなことで一時間もつぶした…orz。参考:http://logbookx.blogspot.com/2008/03/ora-00911.html
やったこと: 会社の要件管理DB(OralceDB)から自分に関係ある新規の仕様変更要求をフィルタリングして、csvファイルに落とす 自作のスクリプトで、この中からリリース対象機種とそのブランチに合わせて1対Nの関係でtracのチケットをCSV形式で生成する このと…