Show
Ignore:
Timestamp:
02/04/09 12:24:16 (5 years ago)
Author:
showyou
Message:

各種設定記憶. .chat/configは一回消したほうがいいかも

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/python/crochet/config.py

    r23420 r29508  
    11# -*- coding: utf-8 -*- 
     2import cPickle as pickle  
    23import wx 
    34 
     5class Config(): 
     6        def __init__(self): 
     7                self.Load() 
     8        def __del__(self): 
     9                self.Save()      
     10        def LoadDefaults(self): 
     11                self.d = {} 
     12                self.d['mycolor'] = wx.Color(240,248,255) 
     13                self.d['forMeColor'] = wx.Color(255,153,153) 
     14                self.d['listIcon'] = False 
     15                self.d['popup'] = True 
     16                self.d['narrowmsg'] = True 
     17                self.d['timestring_twitter_api'] = "%a %b %d %H:%M:%S +0000 %Y" 
     18                self.d['timestring_twitter_friend_scraping'] = "%Y-%m-%dT%H:%M:%S+00:00" 
     19                self.d['x'] = 0 
     20                self.d['y'] = 0 
     21                self.d['w'] = 600 
     22                self.d['h'] = 400 
    423 
    5 #chgdep = ConfigDialog(None, -1, 'crochet config') 
     24        def Load(self): 
     25                try: 
     26                        file = open(".chat/config","r") 
     27                        self.d = pickle.load(file) 
     28                        file.close() 
     29                except: 
     30                        print ("config file not exist: create config file") 
     31                        self.LoadDefaults() 
     32                        self.Save() 
    633 
    7 class ConfigDialog(wx.Dialog): 
    8     # ダイアログを表示しイベント処理を行う 
    9     def __init__(self, parent, id, title, user='', password=''): 
    10         self.dialog = wx.Dialog(parent, id, title, size=(250, 150)) 
    11         self.user = user 
    12         self.password = password 
    13          
    14         panel = wx.Panel(self.dialog, -1) 
    15         vbox = wx.BoxSizer(wx.VERTICAL) 
    1634 
    17         wx.StaticBox(panel, -1, 'Twitter Account', (5, 5), (240, 90)) 
    18         wx.StaticText(panel, -1, 'ID', (15, 30)) 
    19         wx.StaticText(panel, -1, 'Password', (15, 60)) 
    20         self.userFld = wx.TextCtrl(panel, -1, self.user, (100, 30)) 
    21         self.passwordFld = wx.TextCtrl(panel, -1, self.password, (100, 60), style=wx.TE_PASSWORD) 
     35        def Save(self): 
     36                 
     37                wfile = open(".chat/config","w")         
     38                pickle.dump(self.d, wfile) 
     39                wfile.close() 
     40                #except: 
     41                #       print ("write config error") 
    2242 
    23         okButton = wx.Button(self.dialog, 1, 'OK', size=(70, 30)) 
    24         okButton.SetDefault() 
    25         self.dialog.Bind(wx.EVT_BUTTON, self.OnSave, id=1) 
     43        def __getitem__(self,key): 
     44                return self.d[key] 
    2645 
    27         vbox.Add(panel) 
    28         vbox.Add(okButton, 1, wx.ALIGN_CENTER | wx.TOP | wx.BOTTOM, 10) 
    29         self.dialog.SetSizer(vbox) 
    30         self.dialog.ShowModal() # ダイアログが閉じられるまで待機 
    31         self.dialog.Destroy() 
    32  
    33     # OKボタンが押されたら値を保存してダイアログを閉じる 
    34     def OnSave(self, event): 
    35         self.user = self.userFld.GetValue() 
    36         self.password = self.passwordFld.GetValue() 
    37         self.dialog.EndModal(1) 
    38      
    39     # ユーザ,パスワードを返す 
    40     def GetAccount(self): 
    41         return {"user": self.user, "pass": self.password} 
     46        def __setitem__(self,key,item): 
     47                self.d[key] = item