Example #1
0
	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)
Example #2
0
    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()
Example #3
0
    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()
Example #4
0
	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()
Example #5
0
    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()
Example #6
0
	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()
Example #7
0
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) )
Example #8
0
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))
Example #9
0
#!/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")
Example #10
0
#!/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()
Example #12
0
	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)
Example #13
0
	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()