Пример #1
0
 def __setcoll(self, coll_name):
     try:
         if self.__db is not None:
             self.coll = self.__db[coll_name]
     except Exception, e:
         helper.perror('Error when setting collection!\n', e)
         self.coll = None
Пример #2
0
def load_context_from_skeleton(skeleton_path):
    try:
        sys.path.insert(0, '.')
        ligamentfile = imp.load_source('ligamentfile', skeleton_path)
    except IOError:
        perror("Error importing skeleton.py file found in current directory")
        exit (1)

    build_context = Context()

    for name, task in ligamentfile.ligament_tasks.iteritems():
        if isinstance(task, BuildTarget):
            pout("registered task '%s'" % name, groups=["debug"])
            task.register_with_context(name, build_context)
        elif isinstance(task, list):
            BuildTargetList(
                DeferredDependency(t) for t in task
                ).register_with_context(name, build_context)

    to_expose = (
        ligamentfile.exposed_tasks 
            if "exposed_tasks" in dir(ligamentfile)
            else build_context.tasks)

    for name in to_expose:
        if name in build_context.tasks:
            build_context.expose_task(name)
        else:
            perror("task '%s' not declared in ligament file" % name)

    return build_context
Пример #3
0
 def __setdb(self, db_name):
     try:
         if self.__client is not None:
             self.__db = self.__client[db_name]
     except Exception, e:
         helper.perror('Error when setting db!\n', e)
         self.__db = None
Пример #4
0
 def register_task(self, name, task):
     if name not in self.tasks:
         self.tasks[name] = ContextEntry(name, task)
     elif not self.tasks[name].task:
         self.tasks[name].task = task
     else:
         perror("tried to register duplicate tasks under name \"%s\"" %
                (name))
Пример #5
0
 def delete_many(self, *dic):
     try:
         if self.coll is not None and len(dic) == 1:
             return str(self.coll.delete_many(dic[0]))
         else:
             helper.perror('not set coll!\n')
             return
     except Exception, e:
         helper.perror('Error when update!\n', e)
         return
Пример #6
0
 def update_one(self, *dic):
     try:
         if self.coll is not None and len(dic) == 2:
             return str(self.coll.update_one(dic[0], dic[1]))
         else:
             helper.perror('not set coll!\n')
             return
     except Exception, e:
         helper.perror('Error when update!\n', e)
         return
Пример #7
0
 def insert(self, dic):
     try:
         if self.coll is not None:
             return str(self.coll.insert_one(dic).inserted_id)
         else:
             helper.perror('not set coll!\n')
             return
     except Exception, e:
         helper.perror('Error when insert!\n', e)
         return
Пример #8
0
 def query_one(self, *dic):
     if self.coll is not None:
         if len(dic) == 1:
             item = self.coll.find_one(dic[0])
             return item
         # for i in cursor....
         if len(dic) == 2:
             item = self.coll.find_one(dic[0], dic[1])
             return item
         helper.perror('query args error!\n')
         return None
     else:
         helper.perror('not set coll!\n')
         return None
Пример #9
0
 def query(self, *dic):
     if self.coll is not None:
         if len(dic) == 1:
             cursor = self.coll.find(dic[0])
             return cursor
         # for i in cursor....
         if len(dic) == 2:
             cursor = self.coll.find(dic[0], dic[1])
             return cursor
         helper.perror('query args error!\n')
         return None
     else:
         helper.perror('not set coll!\n')
         return None
Пример #10
0
 def __init__(
     self,
     db,
     coll,
     uri='mongodb://localhost:27017',
 ):
     self.coll = ''
     self.__db = ''
     try:
         self.__client = MongoClient(uri)
         self.__setdb(db)
         self.__setcoll(coll)
     except errors.ConnectionFailure, e:
         helper.perror('Error when init!\n', e)
         self.__client = None
         exit(0)
         return
Пример #11
0
    def build_task(self, name):
        """ Builds a task by name, resolving any dependencies on the way """

        try:
            self._gettask(name).value = (
                self._gettask(name).task.resolve_and_build())
        except TaskExecutionException as e:
            perror(e.header, indent="+0")
            perror(e.message, indent="+4")
            self._gettask(name).value = e.payload
        except Exception as e:
            perror("error evaluating target '%s' %s" %
                   (name, type(self._gettask(name).task)))
            perror(traceback.format_exc(e), indent='+4')
            self._gettask(name).value = None

        self._gettask(name).last_build_time = time.time()