def start(cdxjFilePath=INDEX_FILE, proxy=None): hostPort = ipwbConfig.getIPWBReplayConfig() app.proxy = proxy if not hostPort: ipwbConfig.setIPWBReplayConfig(IPWBREPLAY_IP, IPWBREPLAY_PORT) hostPort = ipwbConfig.getIPWBReplayConfig() if ipwbConfig.isDaemonAlive(): if cdxjFilePath == INDEX_FILE: ipwbConfig.firstRun() ipwbConfig.setIPWBReplayIndexPath(cdxjFilePath) app.cdxjFilePath = cdxjFilePath else: print('Sample data not pulled from IPFS.') print('Check that the IPFS daemon is running.') try: print('IPWB replay started on http://{0}:{1}'.format( IPWBREPLAY_IP, IPWBREPLAY_PORT)) app.run(host='0.0.0.0', port=IPWBREPLAY_PORT) except gaierror: print('Detected no active Internet connection.') print('Overriding to use default IP and port configuration.') app.run() except socketerror: print('Address {0}:{1} already in use!'.format(IPWBREPLAY_IP, IPWBREPLAY_PORT)) sys.exit()
def start(cdxjFilePath, proxy=None): hostPort = ipwbUtils.getIPWBReplayConfig() app.proxy = proxy if not hostPort: ipwbUtils.setIPWBReplayConfig(IPWBREPLAY_HOST, IPWBREPLAY_PORT) hostPort = ipwbUtils.getIPWBReplayConfig() if ipwbUtils.isDaemonAlive(): ipwbUtils.setIPWBReplayIndexPath(cdxjFilePath) app.cdxjFilePath = cdxjFilePath else: print('Sample data not pulled from IPFS.') print('Check that the IPFS daemon is running.') # Perform checks for CDXJ file existence, TODO: reuse cached contents app.cdxjFileContents = getIndexFileContents(cdxjFilePath) try: print('IPWB replay started on http://{0}:{1}'.format( IPWBREPLAY_HOST, IPWBREPLAY_PORT)) app.run(host='0.0.0.0', port=IPWBREPLAY_PORT) except gaierror: print('Detected no active Internet connection.') print('Overriding to use default IP and port configuration.') app.run() except socketerror: print('Address {0}:{1} already in use!'.format(IPWBREPLAY_HOST, IPWBREPLAY_PORT)) sys.exit()
def start(cdxjFilePath=INDEX_FILE): hostPort = ipwbConfig.getIPWBReplayConfig() if not hostPort: ipwbConfig.setIPWBReplayConfig(IPWBREPLAY_IP, IPWBREPLAY_PORT) hostPort = ipwbConfig.getIPWBReplayConfig() ipwbConfig.firstRun() ipwbConfig.setIPWBReplayIndexPath(cdxjFilePath) app.cdxjFilePath = cdxjFilePath app.run(host=IPWBREPLAY_IP, port=IPWBREPLAY_PORT)
def getCDXLines(surtURI): with open('index.cdx', 'r') as cdxFile: cdxlobj = [] bsResp = iter_exact(cdxFile, surtURI) for cdxl in bsResp: (suri, dttm, jobj) = cdxl.split(' ', 2) if suri != surtURI: break cdxlobj.append((suri, dttm, jobj)) return cdxlobj ''' if __name__ == "__main__": hostPort = ipwbConfig.getIPWBReplayConfig() if not hostPort: ipwbConfig.setIPWBReplayConfig(IPWBREPLAY_IP, IPWBREPLAY_PORT) hostPort = ipwbConfig.getIPWBReplayConfig() # print hostPort # sys.exit() app.run(host=IPWBREPLAY_IP, port=IPWBREPLAY_PORT) # Read in URI, convert to SURT # surt(uriIn) # Get SURTed URI lines in CDXJ # Read CDXJ # Do bin search to find relevant lines # read IPFS hash from relevant lines (header, payload) # Fetch IPFS data at hashes