def main(apps=None, network='test'): # create virtual file system /sdram # for temp untrusted data storage rampath = platform.mount_sdram() # define hosts - USB, QR, SDCard # each hosts gets it's own RAM folder for data hosts = [ QRHost(rampath + "/qr"), USBHost(rampath + "/usb"), # SDHost(rampath+"/sd"), # not implemented yet ] # define GUI gui = SpecterGUI() # folder where keystore will store it's data keystore_path = platform.fpath("/flash/keystore") # define KeyStore keystore = FlashKeyStore(keystore_path) # loading apps if apps is None: apps = load_apps() # make Specter instance settings_path = platform.fpath("/flash") specter = Specter(gui=gui, keystore=keystore, hosts=hosts, apps=apps, settings_path=settings_path, network=network) specter.start()
def main(apps=None, network="main", keystore_cls=None): """ apps: list of apps to load network: default network to operate keystores: list of KeyStore classes that can be used """ # create virtual file system /sdram # for temp untrusted data storage rampath = platform.mount_sdram() # define hosts - USB, QR, SDCard # each hosts gets it's own RAM folder for data Host.SETTINGS_DIR = platform.fpath("/qspi/hosts") hosts = [ USBHost(rampath + "/usb"), QRHost(rampath + "/qr"), SDHost(rampath + "/sd"), ] # temp storage in RAM for host commands processing BaseApp.TEMPDIR = rampath + "/tmp" # define GUI if not platform.simulator: gui = SpecterGUI() else: # this GUI can simulate user actions for automated testing from gui.tcp_gui import TCPGUI gui = TCPGUI() # inject the folder where keystore stores it's data KeyStore.path = platform.fpath("/flash/keystore") # detect keystore to use if keystore_cls is not None: keystores = [keystore_cls] else: keystores = [ MemoryCard, SDKeyStore, ] # loading apps if apps is None: apps = load_apps() # make Specter instance settings_path = platform.fpath("/flash") specter = Specter( gui=gui, keystores=keystores, hosts=hosts, apps=apps, settings_path=settings_path, network=network, ) specter.start()
def specter_regtest_configured(bitcoin_regtest): # Make sure that this folder never ever gets a reasonable non-testing use-case data_folder = './test_specter_data_3456778' shutil.rmtree(data_folder, ignore_errors=True) config = { "rpc": { "autodetect": False, "user": bitcoin_regtest.rpcuser, "password": bitcoin_regtest.rpcpassword, "port": bitcoin_regtest.rpcport, "host": bitcoin_regtest.ipaddress, "protocol": "http" }, } yield Specter(data_folder=data_folder, config=config) shutil.rmtree(data_folder, ignore_errors=True)
def main(apps=None, network="test", keystore_cls=None): """ apps: list of apps to load network: default network to operate keystores: list of KeyStore classes that can be used """ # create virtual file system /sdram # for temp untrusted data storage rampath = platform.mount_sdram() # define hosts - USB, QR, SDCard # each hosts gets it's own RAM folder for data hosts = [ QRHost(rampath + "/qr"), USBHost(rampath + "/usb"), # SDHost(rampath+"/sd"), # not implemented yet ] # define GUI gui = SpecterGUI() # inject the folder where keystore stores it's data KeyStore.path = platform.fpath("/flash/keystore") # detect keystore to use if keystore_cls is not None: keystores = [keystore_cls] else: keystores = [ SDKeyStore, # uncomment this if you want to # enable smartcard support: # MemoryCard, ] # loading apps if apps is None: apps = load_apps() # make Specter instance settings_path = platform.fpath("/flash") specter = Specter( gui=gui, keystores=keystores, hosts=hosts, apps=apps, settings_path=settings_path, network=network, ) specter.start()
def display(text): header = [ "Press ESC to quit. Use the keys to navigate, or use the hotkeys:", "(h)ome, (e)nd, (n)ext, (p)revious, page_(u)p and page_(d)own" ] nav = { "home": "h", "end": "e", "next": "n", "prev": "p", "pg_up": "u", "pg_dn": "d" } screen = Specter() screen.start() screen.scroll(text, header=header, nav=nav) screen.stop()
def loadSpecterFromFiles(self): self.dirPath = QtGui.QFileDialog.getExistingDirectory( self.main_frame, "Open Directory", "D:") fileList = glob.glob(self.dirPath + '\*.asc') for fileName in fileList: self.specter.append( Specter(np.loadtxt(fileName), fileName, self.specterCenter, self.windowLength)) if len(self.specter) > 0: self.currentSpecter = 0 self.updateSpecterInput() for specNum in range(0, len(self.specter)): self.statusBar().showMessage('Busy...') self.computeAbelTransform(specNum) self.statusBar().showMessage('Ready') self.on_draw()
def create_app(): if getattr(sys, 'frozen', False): template_folder = os.path.join(os.path.realpath(__file__), 'templates') static_folder = os.path.join(os.path.realpath(__file__), 'static') app = Flask(__name__, template_folder=template_folder, static_folder=static_folder) else: app = Flask(__name__, template_folder="templates", static_folder="static") QRcode(app) # enable qr codes generation specter = Specter(DATA_FOLDER) specter.check() # Attach specter instance so child views (e.g. hwi) can access it app.specter = specter app.register_blueprint(hwi_views, url_prefix='/hwi') with app.app_context(): import controller return app