Skip to content

Instantly share code, notes, and snippets.

@sugiana
Created October 17, 2013 04:16
Show Gist options
  • Save sugiana/7019152 to your computer and use it in GitHub Desktop.
Save sugiana/7019152 to your computer and use it in GitHub Desktop.
import os
import wx
class FormUtama(wx.Frame):
def __init__(self, parent=None):
super(FormUtama, self).__init__(parent)
self.edit_data = wx.TextCtrl(self, style=wx.TE_MULTILINE, size=(350,200))
self.button_simpan = wx.Button(self, label='Simpan')
# Events
self.button_simpan.Bind(wx.EVT_BUTTON, self.simpan)
# Layout
sizerGrid = wx.GridSizer(1, 1)
sizerGrid.Add(self.edit_data, 0, wx.EXPAND)
sizer = wx.BoxSizer( wx.VERTICAL )
sizer.Add(sizerGrid, 1, wx.EXPAND)
sizer.Add(self.button_simpan, 0, wx.ALIGN_CENTER)
self.SetAutoLayout(True)
self.SetSizer(sizer)
self.SetSize((400, 300))
self.Centre()
# Default
self.SetTitle('Pendataan')
self.reset()
def simpan(self, event):
lines = self.edit_data.GetValue()
results = []
for line in lines.splitlines():
line = clean(line)
if not line:
continue
if tulis(line):
s = 'Data "%s" sudah ditambahkan di %s.' % (line, filename)
else:
s = 'Data "%s" sudah ada di %s.' % (line, filename)
results.append(s)
s = '\n'.join(results)
wx.MessageBox(s)
self.reset()
def reset(self):
self.edit_data.Clear()
self.edit_data.SetFocus()
def clean(s):
s = s.strip()
if s.find('http://') == 0:
s = s[7:]
if s.find('www.') == 0:
s = s[4:]
return s
def baca():
if os.path.exists(filename):
f = open(filename)
s = f.read()
f.close()
return s.splitlines()
return []
def tulis(new):
lines = baca()
if new in lines:
return
lines.append(new)
s = '\n'.join(lines)
f = open(filename, 'w')
f.write(s)
f.close()
return True
filename = 'data.txt'
if __name__ == '__main__':
app = wx.App()
fm = FormUtama()
fm.Show()
app.MainLoop()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment