def __init__( _self ): """hook up database, framer, and bind UDP""" _self.db = db_manager() settings = settings_manager() _self.my_uuid = settings.get( "uuid" ) _self.my_last_seq = _self.db.get_seq_from_uuid( _self.my_uuid ) _self.handlers={ dbframe.framer.typeDbUpsert:_self.handle_frame_upsert, dbframe.framer.typeDbDelete:_self.handle_frame_delete, dbframe.framer.typeNetHello:_self.handle_frame_hello, dbframe.framer.typeNetReqClientList:_self.handle_frame_req_client_list, dbframe.framer.typeNetClientList:_self.handle_frame_client_list, dbframe.framer.typeNetReqClientUpdates:_self.handle_frame_req_client_updates, } _self.framer = dbframe.framer() #broadcast to everybody. #Should be able to programatically #compute local broadcast address #but also seems that most routers drop these #so this should work fine _self.UDP_IP = "255.255.255.255" _self.UDP_PORT = 32250 _self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) _self.sock.bind((_self.UDP_IP, _self.UDP_PORT)) if hasattr(socket,'SO_BROADCAST'): #add broadcast abilities _self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
def __init__(self): ################### CREATE MANAGERS ################### #Settings Manager self.settings_manager = settings_manager() self.history_command_manager = history_command_manager() self.social_search_manager = social_search_manager()
def __init__(self, parent, title): super(Example, self).__init__(parent, title=title, size=(790, 200)) self.db = db_manager() s = settings_manager() self.uuid = s.get("uuid") self.InitUI() self.Centre() self.Show()
def __init__(self, parent, title): super(Example, self).__init__(parent, title=title, size=(790, 300)) self.db = db_manager() settings = settings_manager() self.uuid = settings.get( "uuid" ) self.InitUI() self.Centre() self.Show()
def __init__(self): ################### CREATE MANAGERS ################### self.settings_manager = settings_manager() self.history_command_manager = history_command_manager() self.social_search_manager = social_search_manager() self.command_parse_manager = command_parse_manager() self.publish_subscribe_manager = publish_subscribe_manager() ################### CREATE MODULES ################### self.terminal_modules = {} self.terminal_modules['search'] = terminal_overflow_search_module() self.terminal_modules['search'].build_initial_layout() self.terminal_modules['search'].begin(self.publish_subscribe_manager) self.terminal_modules[ 'command_info'] = terminal_overflow_command_info_module() self.terminal_modules['command_info'].build_initial_layout() self.terminal_modules['command_info'].begin( self.publish_subscribe_manager) ################### PUBLISH/SUBSCRIBE ################### ################### CREATE UI ################### # Place Holder #self.main_spot_1 = urwid.WidgetPlaceholder(self.menu_original) # Create Header self.settings_popup = terminal_overflow_settings_module( self.text_title_header, self.palette, self.settings_manager) self.header = urwid.AttrMap(self.settings_popup, 'titlebar') self.w = urwid.Columns( [('weight', 1, self.terminal_modules['search'].get_base_layout_widget()), ('weight', 1, self.terminal_modules['command_info'].get_base_layout_widget())], dividechars=1, focus_column=0) # Assemble the widgets into the widget layout self.layout = urwid.Frame(header=self.header, body=self.w, footer=None) # Create the event loop self.main_loop = urwid.MainLoop(self.layout, self.palette, unhandled_input=self.handle_input, pop_ups=True) self.main_loop.run()
def OnCloseButtonClicked(self,evnt): settings = settings_manager() for i in range( 0, len( self.bands ) ): if( self.bandswitches[i].GetValue() ): settings.put( "logger.band", self.bands[i] ) for i in range( 0, len( self.modes ) ): if( self.modeswitches[i].GetValue() ): settings.put( "logger.mode", self.modes[i] ) settings.save() self.Destroy()
def send_periodic_packets(): global id s = settings_manager() uuid = s.get( "uuid" ) messages = dbframe.framer() messages.frame_upsert( uuid, id, 3, "Wednesday", "KD0LIX", "KD0IXY" ) id = id + 1 messages.frame_delete( uuid, id, 3 ) id = id + 1 packets = messages.pack( 1200 ) for p in packets: sock.sendto( p, (UDP_IP, UDP_PORT) )
def send_periodic_packets(): global id s = settings_manager() uuid = s.get("uuid") messages = dbframe.framer() messages.frame_upsert(uuid, id, 3, "Wednesday", "KD0LIX", "KD0IXY") id = id + 1 messages.frame_delete(uuid, id, 3) id = id + 1 packets = messages.pack(1200) for p in packets: sock.sendto(p, (UDP_IP, UDP_PORT))
#!/usr/bin/python # -*- coding: utf-8 -*- from db_manager import db_manager from settings_manager import settings_manager from dbframe import framer from localtimeutil import local8601 db = db_manager() s = settings_manager() uuid = s.get("uuid") db.insert_local_contact(uuid, local8601(), "KD0LIX", "KC5YTI", "80m", "testmode", "1A", "KS")
#!/usr/bin/python # -*- coding: utf-8 -*- import os import paths os.remove(paths.dbdir + 'contacts.db') from db_manager import db_manager from settings_manager import settings_manager from dbframe import framer db = db_manager() s = settings_manager() f = {} f['uuid'] = s.get('uuid') f['type'] = framer.typeDbUpsert f['rec'] = 1 f['seq'] = 1 f['mycall'] = "KD0LIX" f['theircall'] = "KD0IXY" db.insert_frames([f]) db.process_new_frames() count = 0 filt = db_manager.filter() filt.contains = "" for r in db.search(filt): count = count + 1 if (count == 1):
def __init__(self): ################### CREATE MANAGERS ################### self.settings_manager = settings_manager() self.command_parse_manager = command_parse_manager()
def InitUI(self): settings = settings_manager() panel = wx.Panel(self) font = wx.SystemSettings_GetFont(wx.SYS_SYSTEM_FONT) font.SetPointSize(9) vbox = wx.BoxSizer(wx.VERTICAL) hbox = wx.BoxSizer(wx.HORIZONTAL) if(True): st1 = wx.StaticText(panel, label='TheirCall') st1.SetFont(font) hbox.Add(st1, flag=wx.TOP, border=8) self.tcTheirCall = wx.TextCtrl(panel) hbox.Add(self.tcTheirCall, flag=wx.EXPAND, proportion=1) st1 = wx.StaticText(panel, label='Class') st1.SetFont(font) hbox.Add(st1, flag=wx.LEFT|wx.TOP, border=6) self.tcTheirClass = wx.TextCtrl(panel) hbox.Add(self.tcTheirClass, flag=wx.EXPAND, proportion=1) st1 = wx.StaticText(panel, label='Section') st1.SetFont(font) hbox.Add(st1, flag=wx.LEFT|wx.TOP, border=6) self.tcTheirSection = wx.TextCtrl(panel) hbox.Add(self.tcTheirSection, flag=wx.EXPAND, proportion=1) vbox.Add(hbox, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10) vbox.Add((-1, 10)) hbox = wx.BoxSizer(wx.HORIZONTAL) self.bands = [ 'Satellite', '1.25m', '2m', '6m', '10m', '20m', '40m', '80m', '160m' ] self.bandswitches = [] last_band = settings.get( "logger.band" ) style = wx.RB_GROUP for band in self.bands: rb = wx.RadioButton(panel, label=band, style=style ) rb.SetFont(font) if( band == last_band ): rb.SetValue( True ) hbox.Add(rb, flag=wx.RIGHT, border=8, proportion=1) self.bandswitches.append( rb ) style = 0 vbox.Add(hbox, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10) hbox = wx.BoxSizer(wx.HORIZONTAL) self.modes = [ 'cw', 'digital', 'phone' ] self.modeswitches = [] last_mode = settings.get( "logger.mode" ) style = wx.RB_GROUP for mode in self.modes: rb = wx.RadioButton(panel, label=mode, style=style) rb.SetFont(font) if( mode == last_mode ): rb.SetValue( True ) hbox.Add(rb, flag=wx.RIGHT, border=8) self.modeswitches.append( rb ) style = 0 vbox.Add(hbox, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10) vbox.Add((-1, 10)) hbox = wx.BoxSizer(wx.HORIZONTAL) st1 = wx.StaticText(panel, label='MyCall') st1.SetFont(font) hbox.Add(st1, flag=wx.LEFT|wx.TOP, border=6) self.tcMyCall = wx.TextCtrl(panel) self.tcMyCall.SetValue( settings.get( "logger.mycall" ) ) hbox.Add(self.tcMyCall, flag=wx.BOTTOM, border=5) btnClear = wx.Button(panel, label='Clear', size=(70, 30)) btnClear.Bind(wx.EVT_BUTTON, self.OnClearButtonClicked) hbox.Add(btnClear, flag=wx.BOTTOM, border=5) btnCreate = wx.Button(panel, label='Create Log', size=(200, 30)) btnCreate.Bind(wx.EVT_BUTTON, self.OnLogButtonClicked) hbox.Add(btnCreate, flag=wx.BOTTOM, border=5) btnClose = wx.Button(panel, label='Close', size=(70, 30)) btnClose.Bind(wx.EVT_BUTTON, self.OnCloseButtonClicked) hbox.Add(btnClose, flag=wx.BOTTOM, border=5) vbox.Add(hbox, flag=wx.ALIGN_RIGHT|wx.RIGHT, border=10) panel.SetSizer(vbox)
def InitUI(self): settings = settings_manager() panel = wx.Panel(self) font = wx.SystemSettings_GetFont(wx.SYS_SYSTEM_FONT) font.SetPointSize(9) vbox = wx.BoxSizer(wx.VERTICAL) hbox1 = wx.BoxSizer(wx.HORIZONTAL) st1 = wx.StaticText(panel, label='MyCall') st1.SetFont(font) hbox1.Add(st1, flag=wx.RIGHT, border=8) self.tc1 = wx.TextCtrl(panel) self.tc1.Bind(wx.EVT_TEXT, self.OnSearchBoxUpdate) hbox1.Add(self.tc1, proportion=1) vbox.Add(hbox1, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10) vbox.Add((-1, 10)) hbox2 = wx.BoxSizer(wx.HORIZONTAL) st1 = wx.StaticText(panel, label='TheirCall') st1.SetFont(font) hbox2.Add(st1, flag=wx.RIGHT, border=8) self.tc2 = wx.TextCtrl(panel) self.tc2.Bind(wx.EVT_TEXT, self.OnSearchBoxUpdate) hbox2.Add(self.tc2, proportion=1) vbox.Add(hbox2, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10) vbox.Add((-1, 10)) hbox3 = wx.BoxSizer(wx.HORIZONTAL) self.bands = [ 'Satellite', '1.25m', '2m', '6m', '10m', '20m', '40m', '80m', '160m' ] self.bandswitches = [] last_band = settings.get( "logger.band" ) style = wx.RB_GROUP for band in self.bands: rb = wx.RadioButton(panel, label=band, style=style ) rb.SetFont(font) if( band == last_band ): rb.SetValue( True ) hbox3.Add(rb, flag=wx.RIGHT, border=8, proportion=1) self.bandswitches.append( rb ) style = wx.RB_SINGLE vbox.Add(hbox3, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10) hbox4 = wx.BoxSizer(wx.HORIZONTAL) self.modes = [ 'cw', 'digital', 'phone' ] self.modeswitches = [] last_mode = settings.get( "logger.mode" ) style = wx.RB_GROUP for mode in self.modes: rb = wx.RadioButton(panel, label=mode, style=style) rb.SetFont(font) if( mode == last_mode ): rb.SetValue( True ) hbox4.Add(rb, flag=wx.RIGHT, border=8) self.modeswitches.append( rb ) style = wx.RB_SINGLE vbox.Add(hbox4, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10) vbox.Add((-1, 10)) hbox5 = wx.BoxSizer(wx.HORIZONTAL) btn1 = wx.Button(panel, label='Create Log', size=(200, 30)) btn1.Bind(wx.EVT_BUTTON, self.OnLogButtonClicked) hbox5.Add(btn1) btn2 = wx.Button(panel, label='Close', size=(70, 30)) btn2.Bind(wx.EVT_BUTTON, self.OnCloseButtonClicked) hbox5.Add(btn2, flag=wx.LEFT|wx.BOTTOM, border=5) vbox.Add(hbox5, flag=wx.ALIGN_RIGHT|wx.RIGHT, border=10) panel.SetSizer(vbox) self.DisplayView()