Example #1
0
    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())
Example #8
0
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)
Example #10
0
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
Example #11
0
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
Example #12
0
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')
Example #15
0
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())
Example #17
0
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
Example #18
0
 def ClearStore(self):
   _CloseStoreObject(self.store)
   RemoveExistingStore(self.store_file)
   CreateNewStore(self.store_file, redhawk.GetVersion())
   self.store = shelve.open(self.store_file)
   return