def __init__(self, database_file, parser, store_new=True): self.database_file = database_file self.parser = parser self.store_new = store_new # logging.info("Reading..\n") if self.database_file is None: self.database = None return if not os.path.exists(database_file): logging.warning("Database %s does not exist." % (self.database_file)) self.database = None return if not KVStore.IsValidStore(database_file): print(database_file) logging.error("Not a valid store. Recreating..\n") KVStore.RemoveExistingStore(database_file) KVStore.CreateNewStore(database_file, redhawk.GetVersion()) self.database = KVStore.KeyValueStore(database_file, redhawk.GetVersion()) # logging.info("Done.") return
def TestBadVersionInitKeyValueStore(): temp_file = GetTempFile() KV.CreateNewStore(temp_file, redhawk.GetVersion()) store = shelve.open(temp_file, 'c') store[KV.VERSION_KEY] = '0.0.0' store = KV.KeyValueStore(temp_file, redhawk.GetVersion()) return
def TestCreateAndRemoveStores(): temp_file = GetTempFile() KV.CreateNewStore(temp_file, redhawk.GetVersion()) store = KV.KeyValueStore(temp_file, redhawk.GetVersion()) assert (store.GetVersion() == redhawk.GetVersion()) store.Close() KV.RemoveExistingStore(temp_file) assert (not os.path.exists(temp_file))
def setUp(self): setUp() self.temp_file = GetTempFile() KV.CreateNewStore(self.temp_file, redhawk.GetVersion()) store = shelve.open(self.temp_file, 'c') store['dog'] = 'woof' store['cat'] = 'meow' store.close() self.store = KV.KeyValueStore(self.temp_file, redhawk.GetVersion()) return
def TestChangeVersion(self): self.store.Close() store = shelve.open(self.temp_file, 'c') store[KV.VERSION_KEY] = '0.0.0' store.close() temp_file = GetTempFile() fp = sys.stderr sys.stderr = sys.stdout print("Expected Error :") self.store = KV.KeyValueStore(self.temp_file, redhawk.GetVersion()) sys.stderr = fp assert (self.store.GetVersion() == redhawk.GetVersion())
def TestWrite(self): self.store.Set('pig', 'grunt') self.store.Write() assert (self.store.Get('pig') == 'grunt') store2 = KV.KeyValueStore(self.temp_file, redhawk.GetVersion()) assert (store2.Get('pig') == 'grunt') store2.Close()
def TestClearStore(self): assert (self.store.HasKey('dog')) assert (self.store.HasKey('cat')) self.store.ClearStore() assert (not self.store.HasKey('dog')) assert (not self.store.HasKey('cat')) assert (self.store.GetVersion() == redhawk.GetVersion())
def SetUp(filename, rel_path=RELATIVE_TEST_PATH): """ SetUp returns a parsed C Program.""" if not os.path.exists(PICKLE_FILE): KVStore.CreateNewStore(PICKLE_FILE, redhawk.GetVersion()) return G.GetLanguageSpecificTree(os.path.join(rel_path, filename), PICKLE_FILE, language='c')
def TestIsValidStore(): temp_file = GetTempFile() KV.CreateNewStore(temp_file, redhawk.GetVersion()) assert KV.IsValidStore(temp_file) fp = open(temp_file, 'w') fp.close() assert not KV.IsValidStore(temp_file)
def Main(args): parser = optparse.OptionParser(usage, description=description) options, args = parser.parse_args(args) if len(args): parser.error("Extra options given. This command takes no options!") if os.path.exists(S.DB_NAME): S.ExitWithError("An AST index already exists.") KVStore.CreateNewStore(redhawk.GetDBName(), redhawk.GetVersion()) return
def Main(args): parser = optparse.OptionParser(usage, description=description) options, args = parser.parse_args(args) if len(args): parser.error("Extra options given. This command takes no options!") database_file = S.GetDatabase() if database_file is None: S.ExitWithError( S.MakeStringFromTemplate( "No database found. Maybe $prog init first?")) store = KVStore.KeyValueStore(database_file, redhawk.GetVersion()) for i in store.GetKeys(): print(U.GetDBPathRelativeToCurrentDirectory(i)) store.Close() return
def Main(args): parser = optparse.OptionParser(usage, description=description) options, args = parser.parse_args(args) if not len(args): parser.error("No files given.") database_file = S.GetDatabase() if database_file is None: S.ExitWithError( S.MakeStringFromTemplate( "No database found. Maybe $prog init first?")) store = KVStore.KeyValueStore(database_file, redhawk.GetVersion()) for f in S.GetSupportedFiles(args): key = S.GetKey(f, database_file) if store.HasKey(key): print("Removing: %s" % (U.GetDBPathRelativeToCurrentDirectory(f))) store.RemoveKey(key) else: print("Not found: %s" % (U.GetDBPathRelativeToCurrentDirectory(f))) store.Close() return
def TestNiceInitKeyValueStore(): temp_file = GetTempFile() KV.CreateNewStore(temp_file, redhawk.GetVersion()) store = KV.KeyValueStore(temp_file, redhawk.GetVersion()) return
def TestRetainOnClose(self): self.store.Set('pig', 'grunt') self.store.Close() self.store = KV.KeyValueStore(self.temp_file, redhawk.GetVersion()) assert (self.store.Get('pig') == 'grunt')
from setuptools import setup, find_packages import redhawk def ReadFile(f): fp = open(f) result=fp.read() fp.close() return result.strip() setup( include_package_data = True, name='redhawk', description='An AST based navigation system.', version=redhawk.GetVersion(), long_description=ReadFile("README.rst"), author="Pranesh Srinivasan", author_email="*****@*****.**", license="The BSD 2-Clause License", url="http://pypi.python.org/pypi/redhawk/", # packages = find_packages() packages=[ 'redhawk', 'redhawk.c', 'redhawk.c.utils', 'redhawk.common', 'redhawk.common.readers', 'redhawk.common.writers', 'redhawk.examples', 'redhawk.python',
def TestCreateNewStoreOverExistingStore(): temp_file = GetTempFile() fp = open(temp_file, 'w') fp.close() KV.CreateNewStore(temp_file, redhawk.GetVersion())
def Main(): dispatch = { 'add': add.Main, 'init': init.Main, 'listfiles': listfiles.Main, 'prompt': prompt.Main, 'query': query.Main, 'remove': remove.Main, 'show': show.Main, 'where': where.Main, } (main_args, dispatch_args) = SplitArgs(dispatch, sys.argv[1:]) parser = optparse.OptionParser(usage=usage, description=description) parser.add_option( "-v", dest="verbose", action="count", default=1, help="Increase verbosity (specify multiple times for more)" + S.OPTIONS_DEFAULT_STRING) parser.add_option('--version', action="store_true", dest="version", default=False, help="Print version and exit.") # Hack to get redhawk to show formatted help with optparse if len(sys.argv) == 1 or sys.argv[1] in "-h --help".split(): parser.print_help() print(epilog) sys.exit(0) options, args = parser.parse_args(main_args) if len(args): parser.error("Unrecognised command: %s" % " ".join(args)) log_level = logging.CRITICAL if options.verbose == 1: log_level = logging.CRITICAL if options.verbose == 2: log_level = logging.ERROR if options.verbose == 3: log_level = logging.WARNING if options.verbose == 4: log_level = logging.INFO if options.verbose > 4: log_level = logging.DEBUG logging.basicConfig(level=log_level) if options.version: print("Redhawk Version: v%s" % (redhawk.GetVersion())) sys.exit(0) if len(dispatch_args) is 0: parser.error("No Commands given") if dispatch_args[0] in dispatch: dispatch[dispatch_args[0]](dispatch_args[1:]) else: print("Command %s not found." % args[0]) print(usage) sys.exit(1) return
def ClearStore(self): _CloseStoreObject(self.store) RemoveExistingStore(self.store_file) CreateNewStore(self.store_file, redhawk.GetVersion()) self.store = shelve.open(self.store_file) return