def onRecentPrjMenu(self, evt):
     itemId = evt.GetId()
     p = self.recentPrjMenu.FindItemById(itemId).GetItemLabelText()
     print 'onRecentPrjMenu: name [%s]; id [%d]' % (p, itemId)
     if self.project.isPrjLoaded(p): return
     project = Project(p)
     self.project.populateGui(project, self.project.root)
     prj = self.project.latest()
     self.loadProject(prj)
     self.menu.Enable(PROJECT_SAVE, True)
     self.menu.Enable(PROJECT_SAVE_AS, True)
Ejemplo n.º 2
0
    def UpdateProjectList(self):
        new_project_paths = []
        for project in self.manifest.projects.values():
            if project.relpath:
                new_project_paths.append(project.relpath)
        file_name = 'project.list'
        file_path = os.path.join(self.manifest.repodir, file_name)
        old_project_paths = []

        if os.path.exists(file_path):
            fd = open(file_path, 'r')
            try:
                old_project_paths = fd.read().split('\n')
            finally:
                fd.close()
            for path in old_project_paths:
                if not path:
                    continue
                if path not in new_project_paths:
                    project = Project(
                        manifest=self.manifest,
                        name=path,
                        remote=RemoteSpec('origin'),
                        gitdir=os.path.join(self.manifest.topdir, path,
                                            '.git'),
                        worktree=os.path.join(self.manifest.topdir, path),
                        relpath=path,
                        revisionExpr='HEAD',
                        revisionId=None)
                    if project.IsDirty():
                        print >> sys.stderr, 'error: Cannot remove project "%s": \
uncommitted changes are present' % project.relpath
                        print >> sys.stderr, '       commit changes, then run sync again'
                        return -1
                    else:
                        print >> sys.stderr, 'Deleting obsolete path %s' % project.worktree
                        shutil.rmtree(project.worktree)
                        # Try deleting parent subdirs if they are empty
                        dir = os.path.dirname(project.worktree)
                        while dir != self.manifest.topdir:
                            try:
                                os.rmdir(dir)
                            except OSError:
                                break
                            dir = os.path.dirname(dir)

        new_project_paths.sort()
        fd = open(file_path, 'w')
        try:
            fd.write('\n'.join(new_project_paths))
            fd.write('\n')
        finally:
            fd.close()
        return 0
Ejemplo n.º 3
0
def save():
    projectOne = Project(title =request.form['titleForm'],
                          type = request.form['typeForm'],
                          start_from = request.form['startDateForm'],
                          end_at = request.form['endDateForm'],
                          description = request.form['descriptionForm'],
                          amount = request.form['amountForm'],
                          status = 1)
    projectOne.save()
    flash('SUCCESSFUL!')
    return redirect(url_for('home'))
Ejemplo n.º 4
0
    def create_project_run():
        """ Runs functions in order for user to create projectself.

        @returns dictionary containing project name, team size, names of team
            members and their votes (which are initialised to {} here)
        """
        team_size = get_team_size()
        project_members = get_member_names(team_size)
        project = Project(project_name, team_size, project_members)
        projects_dict[project.name] = project
        existing_projects = [i for i in projects_dict]
    def shift_to_this(self):
        if not self.selected_videos:
            return
        progress_global = QProgressDialog('Total progress shifting all files',
                                          'Abort', 0, 100, self)
        progress_global.setAutoClose(True)
        progress_global.setMinimumDuration(0)

        def callback_global(x):
            progress_global.setValue(x * 100)
            QApplication.processEvents()

        callback_global(0)
        manips = []
        for i, video_path in enumerate(self.selected_videos):
            callback_global(i / float(len(self.selected_videos)))
            progress = QProgressDialog('Shifting ' + video_path, 'Abort', 0,
                                       100, self)
            progress.setAutoClose(True)
            progress.setMinimumDuration(0)

            def callback(x):
                progress.setValue(x * 100)
                QApplication.processEvents()

            project_from = Project(os.path.dirname(self.selected_videos[i]))
            frames = file_io.load_file(video_path)
            [x_shift_from, y_shift_from] = project_from['origin']
            x_shift = self.x - x_shift_from
            y_shift = y_shift_from - self.y
            shift = [y_shift, x_shift]
            shifted_frames = self.apply_shift(frames, shift, callback)
            # and save to project
            pre_shifted_basename = os.path.splitext(
                os.path.basename(video_path))[0]
            manip = '_shift_from_' + project_from.name
            manips = manips + [manip]
            path_after = str(
                os.path.join(self.project.path, pre_shifted_basename + manip) +
                '.npy')
            file_io.save_file(path_after, shifted_frames)
            name_after = os.path.splitext(os.path.basename(path_after))[0]
            if path_after in [f['path'] for f in self.project.files]:
                raise FileAlreadyInProjectError(path_after)
            self.project.files.append({
                'name': name_after,
                'path': path_after,
                'type': 'video',
                'manipulations': str([manip])
            })
            self.project.save()
            # self.save_project(path_after, self.project, shifted_frames, manip, 'video')
            self.refresh_all_list(self.project, self.list_shifted, manips)
        callback_global(1)
Ejemplo n.º 6
0
def main(project, output):
    p = Project()
    p.read_data_from_xml(project)

    number_of_gcps = len(p.gcps)
    area_covered_by_gcps = p.gcps.polygon().area
    processing_area = p.processing_area.area
    ratio = float(area_covered_by_gcps) / processing_area

    data = [[number_of_gcps, area_covered_by_gcps, processing_area, ratio]]
    write_data_to_csv(output, data)
Ejemplo n.º 7
0
def deprecated_light_project(tmpdir):
    project = Project('light-deprecated-project', tmpdir, 'cartridge')

    remove_dependency(project, 'cartridge')
    remove_dependency(project, 'luatest')

    add_dependency_submodule(project)

    use_deprecated_files(project)

    return project
Ejemplo n.º 8
0
    def UpdateProjectList(self, opt):
        new_project_paths = []
        for project in self.GetProjects(None, missing_ok=True):
            if project.relpath:
                new_project_paths.append(project.relpath)
        file_name = 'project.list'
        file_path = os.path.join(self.manifest.repodir, file_name)
        old_project_paths = []

        if os.path.exists(file_path):
            with open(file_path, 'r') as fd:
                old_project_paths = fd.read().split('\n')
            # In reversed order, so subfolders are deleted before parent folder.
            for path in sorted(old_project_paths, reverse=True):
                if not path:
                    continue
                if path not in new_project_paths:
                    # If the path has already been deleted, we don't need to do it
                    gitdir = os.path.join(self.manifest.topdir, path, '.git')
                    if os.path.exists(gitdir):
                        project = Project(manifest=self.manifest,
                                          name=path,
                                          remote=RemoteSpec('origin'),
                                          gitdir=gitdir,
                                          objdir=gitdir,
                                          worktree=os.path.join(
                                              self.manifest.topdir, path),
                                          relpath=path,
                                          revisionExpr='HEAD',
                                          revisionId=None,
                                          groups=None)

                        if project.IsDirty() and opt.force_remove_dirty:
                            print(
                                'WARNING: Removing dirty project "%s": uncommitted changes '
                                'erased' % project.relpath,
                                file=sys.stderr)
                            self._DeleteProject(project.worktree)
                        elif project.IsDirty():
                            print(
                                'error: Cannot remove project "%s": uncommitted changes '
                                'are present' % project.relpath,
                                file=sys.stderr)
                            print('       commit changes, then run sync again',
                                  file=sys.stderr)
                            return 1
                        elif self._DeleteProject(project.worktree):
                            return 1

        new_project_paths.sort()
        with open(file_path, 'w') as fd:
            fd.write('\n'.join(new_project_paths))
            fd.write('\n')
        return 0
Ejemplo n.º 9
0
def createProject():

    projectName = getProjectName()
    teamSize = getTeamSize()
    members = getTeamNames(teamSize)

    ##  Create Project class instance to store project details
    project = Project(projectName, teamSize, members)
    print("\n \t\tProject Name: " + project.name)
    print("\n \t\tProject Members Size" + str(project.size))
    print("\n \t\tProject Members" + str(project.members))
Ejemplo n.º 10
0
def project_ignore_sigterm(cartridge_cmd, short_tmpdir):
    project = Project(cartridge_cmd, 'ignore-sigterm', short_tmpdir,
                      'cartridge')

    remove_all_dependencies(project)

    replace_project_file(project, 'init.lua', INIT_IGNORE_SIGTERM_FILEPATH)
    replace_project_file(project, 'stateboard.init.lua',
                         INIT_IGNORE_SIGTERM_FILEPATH)

    return project
Ejemplo n.º 11
0
def project_without_dependencies(cartridge_cmd, short_tmpdir):
    project = Project(cartridge_cmd, 'empty-project', short_tmpdir,
                      'cartridge')

    remove_all_dependencies(project)

    replace_project_file(project, 'init.lua', INIT_NO_CARTRIDGE_FILEPATH)
    replace_project_file(project, 'stateboard.init.lua',
                         INIT_NO_CARTRIDGE_FILEPATH)

    return project
Ejemplo n.º 12
0
def _build(args):
    '''Build project, obfuscate all files in the project'''
    project = Project()
    project.open(args.project)
    logging.info('Build project %s ...', args.project)
    capsule = build_path(project.capsule, args.project)

    if not args.only_runtime:
        output = project.output
        mode = project.get_obfuscate_mode()
        files = project.get_build_files(args.force)
        src = project.src
        filepairs = [(os.path.join(src, x), os.path.join(output, x))
                     for x in files]

        logging.info('%s increment build',
                     'Disable' if args.force else 'Enable')
        logging.info('Search scripts from %s', src)
        logging.info('Obfuscate %d scripts with mode %s', len(files), mode)
        for x in files:
            logging.info('\t%s', x)
        logging.info('Save obfuscated scripts to %s', output)

        obfuscate_scripts(filepairs, mode, capsule, output)

        # for x in targets:
        #     output = os.path.join(project.output, x)
        #     pairs = [(os.path.join(src, x), os.path.join(output, x))
        #              for x in files]
        #     for src, dst in pairs:
        #         try:
        #             shutil.copy2(src, dst)
        #         except Exception:
        #             os.makedirs(os.path.dirname(dst))
        #             shutil.copy2(src, dst)
        project['build_time'] = time.time()
        project.save(args.project)

    if not args.no_runtime:
        logging.info('Make runtime files')
        make_runtime(capsule, output)

    if project.entry:
        for x in project.entry.split(','):
            filename = os.path.join(output, x.strip())
            logging.info('Update entry script %s', filename)
            make_entry(filename, project.runtime_path)
    else:
        logging.info('\tIn order to import obfuscated scripts, insert ')
        logging.info('\t2 lines in entry script:')
        logging.info('\t\tfrom pytransfrom import pyarmor_runtime')
        logging.info('\t\tpyarmor_runtime()')

    logging.info('Build project OK.')
Ejemplo n.º 13
0
def main():
    project_dir = sys.argv[1]
    model_filename = os.path.join(project_dir, "project.json")
    project = Project(model_filename)

    residuals = compute_residuals(project, 0)
    plt.plot(residuals[:,0], residuals[:,1], '.', color="k")

    residuals = compute_residuals(project, -1)
    plt.plot(residuals[:,0], residuals[:,1], '+', color="k")

    plt.show()
Ejemplo n.º 14
0
	def test_no_stats(self):
		a_project = Project('project name')
		a_client = Client('a_client')
		listener = ServerListener( client=a_client, project=a_project )
		generator = WebGenerator(project_name= a_project.name)

		listener.current_time = lambda : "2006-04-04-00-00-00"
		task = Task(a_project, a_client, 'task')
		task.add_subtask("subtask", ["echo no stats"] )
		Runner(task, testinglisteners=[listener])
		
		self.assertEquals( {'a_client': {} }, generator.collect_stats() )
def test_create_project_without_params():
    project = Project()
    assert project.name == None
    assert project.edit_date == None
    assert project.description == None
    assert project.protocol == None
    assert project.change_protocol == None
    assert project.src_port == None
    assert project.dst_port == None
    assert project.author == None
    assert project.path == None
    assert project.dissector == None
Ejemplo n.º 16
0
 def new_project(self, menu):
     path = fefactory_api.choose_dir("选择工程文件夹")
     if path:
         project = Project(path)
         if project.exists():
             # TODO
             fefactory_api.confirm_yes("此工程已存在,是否覆盖", fefactory_api.NO)
         else:
             # TODO
             project.title = input("请输入工程名称", Path.basename(path))
         app.onChangeProject(project)
         self.on_open_project(project)
Ejemplo n.º 17
0
    def UpdateProjectList(self):
        new_project_paths = []
        for project in self.GetProjects(None, missing_ok=True):
            if project.relpath:
                new_project_paths.append(project.relpath)
        file_name = 'project.list'
        file_path = os.path.join(self.manifest.repodir, file_name)
        old_project_paths = []

        if os.path.exists(file_path):
            fd = open(file_path, 'r')
            try:
                old_project_paths = fd.read().split('\n')
            finally:
                fd.close()
            for path in old_project_paths:
                if not path:
                    continue
                if path not in new_project_paths:
                    # If the path has already been deleted, we don't need to do it
                    gitdir = os.path.join(self.manifest.topdir, path, '.git')
                    if os.path.exists(gitdir):
                        project = Project(manifest=self.manifest,
                                          name=path,
                                          remote=RemoteSpec('origin'),
                                          gitdir=gitdir,
                                          objdir=gitdir,
                                          worktree=os.path.join(
                                              self.manifest.topdir, path),
                                          relpath=path,
                                          revisionExpr='HEAD',
                                          revisionId=None,
                                          groups=None)

                        if project.IsDirty():
                            print(
                                'error: Cannot remove project "%s": uncommitted changes '
                                'are present' % project.relpath,
                                file=sys.stderr)
                            print('       commit changes, then run sync again',
                                  file=sys.stderr)
                            return -1
                        elif self._DeleteProject(project.worktree):
                            return -1

        new_project_paths.sort()
        fd = open(file_path, 'w')
        try:
            fd.write('\n'.join(new_project_paths))
            fd.write('\n')
        finally:
            fd.close()
        return 0
Ejemplo n.º 18
0
def _target(args):
    project = Project()
    project.open(args.project)

    name = args.name[0]
    if args.remove:
        logging.info('Remove target from project %s ...', args.project)
        project.remove_target(name)
    else:
        logging.info('Add target to project %s ...', args.project)
        project.add_target(name, args.platform, args.license)
    project.save(args.project)
Ejemplo n.º 19
0
    def get_project(self):
        # tiedoston merkkijonomuotoinen sisältö
        content = request.urlopen(self._url).read().decode("utf-8")

        # deserialisoi TOML-formaatissa oleva merkkijono ja muodosta Project-olio sen tietojen perusteella
        parsed_toml = toml.loads(content)
        name = parsed_toml['tool']['poetry']['name']
        description = parsed_toml['tool']['poetry']['description']
        dependencies = parsed_toml['tool']['poetry']['dependencies']
        dev_dependencies = parsed_toml['tool']['poetry']['dev-dependencies']

        return Project(name, description, dependencies, dev_dependencies)
 def list(self):
     """
     List the Project Resources on the Zanata server
     @return: list of Project object
     """
     res, content = self.restclient.request(self.base_url+'/seam/resource/restv1/projects',
                                            "get",
                                            None,
                                            self.http_headers)
     projects_json = self.messages(res,content)
     projects = [ Project(p) for p in projects_json]
     return projects
Ejemplo n.º 21
0
    def load_pdef(self, pdef):

        tables = []
        try:
            tables = pdef['dbinfo']['tables']
        except:
            pass

        # print pdef
        # 加载项目定义信息
        if not pdef['project'].has_key('group'):
            pdef['project']['group'] = "qdingweb-pro"

        self.project = Project(pdef['project']['folder_name'],
                               pdef['project']['name'],
                               pdef['project']['desc'], pdef['dbinfo']['host'],
                               pdef['dbinfo']['port'], pdef['dbinfo']['name'],
                               pdef['dbinfo']['username'],
                               pdef['dbinfo']['password'], tables,
                               pdef['project']['packageName'],
                               self.group_def[pdef['project']['group']])

        engine = create_engine(
            'mysql://%s:%s@%s:%s/%s' %
            (self.project.db_username, self.project.db_password,
             self.project.db_host, self.project.db_port, self.project.db_name))
        insp = reflection.Inspector.from_engine(engine)
        # print insp.get_table_names()

        self.dbconn = MySQLdb.connect(host=self.project.db_host,
                                      port=int(self.project.db_port),
                                      user=self.project.db_username,
                                      passwd=self.project.db_password,
                                      connect_timeout=6000,
                                      charset='utf8')
        self.cur = self.dbconn.cursor()

        self.field_dict = {}
        try:
            sql = """
            select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,COLUMN_COMMENT 
            from information_schema.`COLUMNS`  where 
            TABLE_SCHEMA = '%s'
            """
            results = self.cur.fetchmany(
                self.cur.execute(sql % self.project.db_name))

            for r in results:
                # print r[3].encode('utf-8')
                self.field_dict[(r[1], r[2])] = r[3].encode('utf-8')
        except Exception, e:
            print e
            print sql
Ejemplo n.º 22
0
 def test_sprint(self):
     delete_db.delete_data_in_db()
     user = self.create_user_and_login()
     project = Project(user.get_cookie(), user.get_user_id(), "1")
     project.create_project()
     sprint = Sprint(user.get_cookie(), project.get_id())
     sprint.add_sprint()
     sprint.update_sprint()
     sprint.get_all_sprint()
     sprint.get_sprint()
     sprint.get_tasks_of_sprint()
     sprint.delete_sprint()
Ejemplo n.º 23
0
def _config(args):
    '''Update project settings.'''
    for x in ('obf-module-mode', 'obf-code-mode', 'disable-restrict-mode'):
        if getattr(args, x.replace('-', '_')) is not None:
            logging.warning('Option --%s has been deprecated', x)

    project = Project()
    project.open(args.project)
    logging.info('Update project %s ...', args.project)

    def _relpath(p):
        return p if os.path.isabs(p) \
            else relpath(os.path.abspath(p), project._path)

    if args.src is not None:
        args.src = _relpath(args.src)
        logging.info('Format src to %s', args.src)
    if args.output is not None:
        args.output = _relpath(args.output)
        logging.info('Format output to %s', args.output)
    if args.license_file is not None:
        args.license_file = _relpath(args.license_file)
        logging.info('Format license file to %s', args.license_file)
    if args.entry is not None:
        src = os.path.abspath(args.src) if args.src else project.src
        args.entry = _format_entry(args.entry, src)
        logging.info('Format entry: %s', args.entry)
    if args.capsule is not None:
        logging.warning('The capsule %s is ignored', args.capsule)
    if args.plugins is not None:
        if ('clear' in args.plugins) or ('' in args.plugins):
            logging.info('Clear all plugins')
            args.plugins = []
    if args.platforms is not None:
        if '' in args.platforms:
            logging.info('Clear platforms')
            args.platform = ''
        else:
            args.platform = ','.join(args.platforms)
    if args.disable_restrict_mode is not None:
        if args.restrict_mode is not None:
            logging.warning('Option --disable_restrict_mode is ignored')
        else:
            args.restrict_mode = 0 if args.disable_restrict_mode else 1
    keys = project._update(dict(args._get_kwargs()))
    for k in keys:
        logging.info('Change project %s to "%s"', k, getattr(project, k))

    if keys:
        project.save(args.project)
        logging.info('Update project OK.')
    else:
        logging.info('Nothing changed.')
Ejemplo n.º 24
0
 def test_requirement(self):
     delete_db.delete_data_in_db()
     user = self.create_user_and_login()
     project = Project(user.get_cookie(), user.get_user_id(), "1")
     project.create_project()
     project.create_project()
     req = Requirement(user.get_cookie(), project.get_id())
     req.add_req(project.get_id())
     req.update_req()
     req.get_all_req()
     req.get_req()
     req.delete_req()
Ejemplo n.º 25
0
	def test_executions__one_green_execution(self):
		a_project = Project('project name')
		listener = ServerListener( project = a_project)
		listener.current_time = lambda : "a date"	
		generator = WebGenerator(project_name= a_project.name)
		a_client = Client('client name')
		task = Task(a_project, a_client, 'task')
		task.add_subtask('subtask1', [])	
		Runner(task, testinglisteners=[listener])
		self.assertEquals(
			{'testing_client' : [('a date', 'a date', 'task', 'stable')]}, 
			generator.get_executions() )
def test_create_project_firstparam():
    project = Project("New project")
    assert project.name == "New project"
    assert project.edit_date == None
    assert project.description == None
    assert project.protocol == None
    assert project.change_protocol == None
    assert project.src_port == None
    assert project.dst_port == None
    assert project.author == None
    assert project.path == None
    assert project.dissector == None
Ejemplo n.º 27
0
  def _ParseProject(self, node):
    """
    reads a <project> element from the manifest file
    """
    name = self._reqatt(node, 'name')

    remote = self._get_remote(node)
    if remote is None:
      remote = self._default.remote
    if remote is None:
      raise ManifestParseError, \
            "no remote for project %s within %s" % \
            (name, self._manifestFile)

    revisionExpr = node.getAttribute('revision')
    if not revisionExpr:
      revisionExpr = self._default.revisionExpr
    if not revisionExpr:
      raise ManifestParseError, \
            "no revision for project %s within %s" % \
            (name, self._manifestFile)

    path = node.getAttribute('path')
    if not path:
      path = name
    if path.startswith('/'):
      raise ManifestParseError, \
            "project %s path cannot be absolute in %s" % \
            (name, self._manifestFile)

    if self.IsMirror:
      relpath = None
      worktree = None
      gitdir = os.path.join(self.topdir, '%s.git' % name)
    else:
      worktree = os.path.join(self.topdir, path).replace('\\', '/')
      gitdir = os.path.join(self.repodir, 'projects/%s.git' % path)

    project = Project(manifest = self,
                      name = name,
                      remote = remote.ToRemoteSpec(name),
                      gitdir = gitdir,
                      worktree = worktree,
                      relpath = path,
                      revisionExpr = revisionExpr,
                      revisionId = None)

    for n in node.childNodes:
      if n.nodeName == 'copyfile':
        self._ParseCopyFile(project, n)

    return project
Ejemplo n.º 28
0
def create_model():
    dataset = None
    dataset_processed = None
    models = None
    scores = None
    best_model = None
    if request.method == 'POST':
        print(request.form)
        project_path = f'{PROJECTS_FOLDER}{request.form.get("project_name")}'
        if not os.path.exists(project_path):
            os.mkdir(project_path)
        dataset = pd.read_csv(request.form.get('dataset_path'))
        columns_types = [key for key in request.form.keys() if '_type' in key]
        for column in columns_types:
            col_data = column.split('_')
            dataset[col_data[0]] = dataset[col_data[0]].astype(request.form.get(column))
        dataset.to_csv(f'{project_path}/dataset.csv', index=False)
        dataBot = DataBot(dataset=dataset,
                          project_path=project_path,
                          target_name=request.form.get('target'),
                          null_threshold=float(request.form.get('null_threshold')) / 100,
                          cardinal_threshold=float(request.form.get('cardinal_threshold')) / 100)
        dataBot.pre_process()

        dataset_processed = dataBot.get_dataset()
        dataset_processed.to_csv(f'{project_path}/dataset_processed.csv', index=False)

        model = Model(dataset_processed, request.form.get('target'))
        model.train_models()
        best_model = model.save_best_model(f'{project_path}/model.joblib')
        models = list(model.training_results['learner'].values)
        scores = list(model.training_results['test_score'].values)

        project_info = {
            'project_name': [request.form.get("project_name")],
            'project_path': [project_path],
            'model_name': [best_model.learner.__class__.__name__],
            'model_score': [best_model.test_score],
            'target': [request.form.get("target")],
            'null_threshold': [request.form.get("null_threshold")],
            'cardinal_threshold': [request.form.get("cardinal_threshold")]
        }

        project = Project(project_info)
        project.save()

    return render_template(
        'model_info.html',
        dataset=dataset.head(3),
        dataset_processed=dataset_processed.head(),
        models=models,
        scores=scores)
Ejemplo n.º 29
0
    def getProjects(self):
        """
        Obtains all the projects and their items.
        Returns the a project dictionary.

        :return: a project dictionary {key=project_name, object=Project}
        :rtype: dict

        .. note:: This function is called in the constructor of this class.
        """
        total_projects = (self.api.project().get(
            limit=1, format=json))["meta"]["total_count"]

        json_projects_array = []
        #each element of the array is one get API call (if there are more than 1000 projects)

        i = 0
        while i < total_projects:
            json_projects_array.append(
                (self.api.project().get(offset=i, limit=1000,
                                        format=json))["objects"])
            i += 1000

        json_projects = []
        #array that is going to content all the projects

        for i in json_projects_array:
            for j in i:
                json_projects.append(j)

        projects_dict = {}
        for i in json_projects:
            projects_dict[i["name"]] = Project(i, self.api)

        for p in projects_dict.values():
            array_items = []
            total_project_items = (self.api.project(p.getIdd()).items.get(
                limit=1, format=json))["meta"]["total_count"]

            j = 0
            while j < total_project_items:
                array_items.append((self.api.project(p.getIdd()).items.get(
                    limit=1000, offset=j, format=json))["objects"])
                j += 1000

            for j in array_items:
                for k in j:
                    p.addItem(Item(k, self.api))

        self._projects = projects_dict

        return projects_dict
Ejemplo n.º 30
0
def project_ignore_sigterm(cartridge_cmd, short_tmpdir):
    project = Project(cartridge_cmd, 'ignore-sigterm', short_tmpdir,
                      'cartridge')

    remove_all_dependencies(project)
    # This is necessary, because default app config has parameter `stateboard: true`
    remove_project_file(project, '.cartridge.yml')

    replace_project_file(project, 'init.lua', INIT_IGNORE_SIGTERM_FILEPATH)
    replace_project_file(project, 'stateboard.init.lua',
                         INIT_IGNORE_SIGTERM_FILEPATH)

    return project