Esempio n. 1
0
    def create_project(self, output_path, args = []):
        """creates the project files"""
        project = Project(
            name = 'Default Project',
            skel = self.skel,
            params = args
        )

        project.create_files(output_path)
        self.parent().trayIcon.showMessage(
            self.tr('qgskel'),
            self.tr('Files created')
        )
Esempio n. 2
0
 def create_project(self, image_key):
     p = Project()
     p.title = self['project_title']
     p.description = self['description']
     if self['project_skills']:
         p.skills = self['project_skills'].split(',') if self['project_skills'] else []
     p.end_date = datetime.strptime(str(self['project_end_date']), "%Y-%m-%d").date()
     p.bid = float(self['project_bid'])
     if self['category']:
         p.category = self['category']
     p.image = image_key
     p.put()
     return p
Esempio n. 3
0
    def post(self):
        user = users.get_current_user()

        if not user:
            self.error(401)
            return

        # Load the json from the request
        try:
            new_project = json.loads(self.request.body)
        # If we get a malformed json send 400 - Bad Request and stop execution
        except ValueError:
            self.error(400)
            return

        # Try to parse the request json to useful project data
        # Stop execution and server error 400 if anything goes wrong
        try:
            # First check that we didn't get any empty values
            if new_project['title'] is None:
                raise ValueError('No title')
            if new_project['description'] is None:
                raise ValueError('No description')
            if new_project['location'] is None:
                raise ValueError('No location')
            if new_project['requested_amount'] is None:
                raise ValueError('No requested amount')
            if new_project['category'] is None:
                raise ValueError('No category')
            if new_project['due_date'] is None:
                raise ValueError('No due date')
            if new_project['tags'] is None:
                raise ValueError('No tags')
                
            # Try to construct a Project object from the given data
            project = Anna_Project()
            project.user_id = user.user_id()
            project.title = new_project['title']
            project.description = new_project['description']
            project.category = new_project['category']
            project.tags = new_project['tags']
            project.location = new_project['location']
            project.requested_amount = int(new_project['requested_amount'])
            # DateTime format ex. 24122016 (24th of January, 2016), %d%m%Y
            project.due_date = datetime.datetime.strptime(new_project['due_date'], "%d%m%Y")
            
        # Request data was somehow wrong (Datetime didnt match the specified format or something similar)
        except ValueError:
            self.error(400)
            return
        # Something else broke in trying to parse the new project data from the request
        except Exception, e:
            self.error(400)
            return
Esempio n. 4
0
 def get_all_projects(self, order, column):
     q = Project.all()
     if order == 'desc':
         q.order('-' + column)
     elif order == 'asc':
         q.order(column)
     return q.fetch(100)
Esempio n. 5
0
    def sched_builder(self):
        for project in sorted(Project.get_all(), key=lambda p: p.name):
            if (project.name == ""):
                continue
            try:
                log.msg("checking project: %s" % project.name)
                if project.is_building():
                    log.msg("project %s still building, skip" % project.name)
                    continue

                branch = "master"
                git = Git(project)
                if os.path.isdir(git.workdir):
                    git.checkout_branch(branch)
                    git.pull()
                else:
                    git.clone(branch)

                if not os.path.isdir(git.workdir):
                    continue

                for remote_branch in git.branches(remote=True):
                    git.checkout_remote_branch(remote_branch.replace('origin/', ''))

                for release in ('stable', 'testing', 'unstable'):
                    if project.last_tag(release) != git.last_tag(release):
                        try:
                            _, version = git.last_tag(release).split('_')
                            log.msg("new %s tag, building version: %s" % (release, version))
                            d = threads.deferToThread(self.send_job, project.name, branch, release, version)
                        except Exception, e:
                            log.msg("tag not parsed: %s:%s" % (project.name, git.last_tag(release)))

            except Exception, e:
                log.err(e)
Esempio n. 6
0
    def get(self):
        path = 'startup_selector.html'
        chart_axes = [('x_axis', 'X Axis'),
                      ('y_axis', 'Y Axis'),
                      ('radius', 'Radius')]
        axes_vals = ['Expertise', 'Influence', 'Size']
        axis_ids = [chart_axis[0] for chart_axis in chart_axes]
        chart_desc = {}
        for chart_axis in chart_axes:
            chart_desc[chart_axis] = axes_vals
        session = get_current_session()
        user_projects = []
        if 'me_email' in session:
            user_project_members = get_user_projects()
            if user_project_members:
                user_projects = [user_project_member['parent'] for user_project_member in user_project_members]
        else:
            user_projects = [project for project in Project.all()]

        projects = []
        if user_projects and len(user_projects) > 0:
            projects = self.prepare_projects(user_projects)

        template_values = {'chart_desc':chart_desc,
                           'axes_vals':axes_vals,
                           'skills_depth':range(len(skills_heirarchy)),
                           'projects':projects}
        self.write(self.get_rendered_html(path, template_values), 200)
def test_project_create(app):
    app.session.login_as("administrator", "root")
    old_list = app.soap.get_project_list("administrator", "root")
    new_project = Project.generate_random()
    app.project.create(project=new_project)
    old_list.append(new_project)
    new_list = app.soap.get_project_list("administrator", "root")
    assert sorted(old_list, key=Project.id_or_max) == sorted(new_list, key=Project.id_or_max)
Esempio n. 8
0
    def post(self):
        id = self.get_argument('id', 0)
        if id:
            project = ProjectM.get(ProjectM.id == id)
            if project:
                project.delete_instance()

        self.finish()
Esempio n. 9
0
 def get(self):
     current_time = time.time()
     time_day_back = current_time - (timedelta(seconds=one_day_in_seconds).total_seconds())
     until = self['until'] if self['until'] else str(int(current_time))
     since = self['since'] if self['since'] else str(int(time_day_back))
     params = {'key':typeform_key,
               'completed':True,
               'since':since,
               'until':until}
     url = typeform_url + '?' + urllib.urlencode(params)
     resp = urlfetch.fetch(url, deadline=60)
     result = json.loads(resp.content)
     if 200 <= result['http_status'] < 300:
         for response in result['responses']:
             project = {}
             for question in result['questions']:
                 q = question['question']
                 if q in self.questions_list:
                     qid = str(question['id'])
                     project[self.questions_list[q]] = response['answers'][qid] if qid in response['answers'] else None
             if project:
                 p = Project()
                 p.title = project['title']
                 p.description = project['description']
                 p.end_date = datetime.strptime(str(project['end_day'])+'-'+str(project['end_month'])+'-'+str(project['end_year']), "%d-%m-%Y").date() if project['end_day'] and project['end_month'] and project['end_year'] else None
                 p.category = project['category']
                 p.put() #logging.info(p)
def test_project_delete(app):
    app.session.login_as("administrator", "root")
    if app.project.get_count() == 0:
        app.project.create(Project.generate_random())
    old_list = app.soap.get_project_list("administrator", "root")
    project = random.choice(old_list)
    app.project.delete_by_id(project.id)
    new_list = old_list
    new_list.remove(project)
    assert sorted(old_list, key=Project.id_or_max) == sorted(new_list, key=Project.id_or_max)
Esempio n. 11
0
    def get(self):
        id = self.get_argument('id', 0)

        project = None
        if id:
            try:
                project = Project_.get(Project_.id == id)
            except Project_.DoesNotExist as e:
                pass

        self.render(project=model_to_dict(project))
Esempio n. 12
0
 def primitive(self):
     project = Project(self.complete_data)
     primitive = project.to_primitive()
     ok_(isinstance(primitive, dict))
     eq_('project', primitive['name'])
     eq_('alias', primitive['user'])
     eq_('*.log', primitive['logpattern'])
     eq_('MyFormat', primitive['logformat'])
     eq_('/dir/to/logs', primitive['logdir'])
     eq_([15, 30, 45], primitive['interval'])
     eq_('MyCollector', primitive['collector'])
     eq_(['host1', 'host2'], primitive['hosts'])
     eq_({
             "bingbot2": "157.57.0.0/16",
             "googlebot": "66.249.0.0/16",
             "bingbot": "157.55.0.0/16"
         }, primitive['whitelist'])
     eq_({'key': 'value'}, primitive['custom'])
     eq_(1e-8, primitive['cur_epsilon'])
     eq_([1e-9, 1e-10, 1e-8], primitive['list_epsilons'])
     ok_(isinstance(primitive['created_ts'], int))
Esempio n. 13
0
 def update_project(self, image_key):
     id = int(str(self['project_id']))
     if id:
         p = Project.get_by_id(id)
         p.title = self['project_title']
         p.description = self['description']
         p.skills = self['project_skills'].split(',') if self['project_skills'] else []
         p.end_date = datetime.strptime(str(self['project_end_date']), "%Y-%m-%d").date()
         p.bid = float(self['project_bid'])
         if p.image:
             delete_image(p.image)
         p.image = image_key
         p.put()
Esempio n. 14
0
def test_del_project(app):
    old_projects = app.mantis_soap_api.get_projects_list()

    if len(old_projects) == 0:
        app.projects.create(Project(name="test project"))
        old_projects = app.projects.get_projects_list()

    project = random.choice(old_projects)
    app.projects.delete(project)

    new_projects = app.mantis_soap_api.get_projects_list()
    old_projects.remove(project)

    assert sorted(old_projects, key=lambda p: p.name) == sorted(new_projects, key=lambda p: p.name)
Esempio n. 15
0
def test_delete_project(app, db):
    if len(db.get_projects_list()) == 0:
        app.project.create_project(
            Project(project_name="NEW NAME", project_description='DESCR'))
    old_projects = db.get_projects_list()
    project = random.choice(old_projects)
    app.project.delete_project(project.id)
    old_projects.remove(project)
    new_projects = db.get_projects_list()
    assert old_projects == new_projects
    #    if check_ui:
    #        assert sorted(new_projects, key=Project.id_or_max) == sorted(app.project.get_projects_list(), key=Project.id_or_max)
    assert sorted(new_projects, key=Project.id_or_max) == sorted(
        app.project.get_projects_list(), key=Project.id_or_max)
Esempio n. 16
0
 def get_list_project(self, username, password):
     client = Client(self.app.base_url + "/api/soap/mantisconnect.php?wsdl")
     try:
         projects = client.service.mc_projects_get_user_accessible(username, password)
         project_soap = []
         for row in projects:
             id = str(row.id)
             name = row.name
             description = row.description
             project_soap.append(
                 Project(id=id, name=name, description=description))
             return project_soap
     except WebFault:
         return False
Esempio n. 17
0
 def get(self):
     path = 'startups_search_results.html'
     project_id = long(self['project_id'])
     project = Project.get_by_id(project_id)
     skills = project.skills
     q = Company.all()
     sorted_companies = {}
     for c in q.fetch(50):
         expertise_dict = convert_string_list_to_dict(c.expertise_avg)
         score = 0.0
         matched_skills = 0.0
         fit = 0.0
         id = c.key().id()
         sorted_companies[id] = {}
         sorted_companies[id]['name'] = c.name
         sorted_companies[id]['influence'] = c.influence_avg
         sorted_companies[id]['skills'] = []
         if skills:
             for skill in skills:
                 skill = str(skill)
                 if skill in expertise_dict:
                     skill_dict = {
                         'name': skill,
                         'value': float(expertise_dict[skill])
                     }
                     score += float(expertise_dict[skill])
                     matched_skills += 1
                 else:
                     skill_dict = {'name': skill, 'value': 0.0}
                 sorted_companies[id]['skills'].append(skill_dict)
             score = float(score / len(skills))
             fit = float(matched_skills /
                         len(skills)) if matched_skills > 0.0 else 0.0
         sorted_companies[id]['combined'] = score
         sorted_companies[id]['fit'] = fit
     donuts = (len(skills) if skills else 0) + 3
     sorted_companies = sorted(sorted_companies.iteritems(),
                               key=lambda (k, v): v['combined'],
                               reverse=True)
     donut_size = 80 - (5 * donuts)
     score_font_size = 40 - (2.25 * donuts)
     tooltip_font_size = 14 - donuts
     template_values = {
         'startups': sorted_companies,
         'skills': skills,
         'donut_size': donut_size,
         'score_font_size': score_font_size,
         'tooltip_font_size': tooltip_font_size
     }
     self.write(self.get_rendered_html(path, template_values), 200)
Esempio n. 18
0
def test_delete_some_project(app, db):
    if len(db.get_project_list()) == 0:
        app.project.create(
            Project(name="Test Project to delete",
                    status="development",
                    inherit_global=True,
                    view_status="public",
                    description="Description of the project"))
    old_projects = app.soap.get_project_list()
    project = random.choice(old_projects)
    app.project.delete_project_by_id(project.id)
    new_projects = app.soap.get_project_list()
    old_projects.remove(project)
    assert old_projects == new_projects
Esempio n. 19
0
 def on_finished_predicting(self, result):
     image_path = result['image_paths'][0]
     image_name = os.path.basename(image_path)
     inspected_image_dir_path = Project.project_path(
     ) + self.__INSPECTED_IMAGES_DIR_NAME
     score = result['scores'][0]
     self.ui.loader_label.clear()
     if score >= Project.latest_threshold():
         self.ui.result.setCurrentWidget(self.ui.OK)
         move(image_path, inspected_image_dir_path + '/OK_' + image_name)
         self.ui.ok_score.setText('スコア: ' + str(score))
         self.ok_counter += 1
     else:
         ng_image = QPixmap(str(image_path))
         self.ui.ng_image.setPixmap(ng_image.scaled(
             self.ui.ng_image.size()))
         self.ui.result.setCurrentWidget(self.ui.NG)
         self.ui.ng_score.setText('スコア: ' + str(score) + '\n閾値: ' +
                                  str(Project.latest_threshold()))
         move(image_path, inspected_image_dir_path + '/NG_' + image_name)
         self.ng_counter += 1
     self.ui.inspect_button.setDisabled(False)
     self.ui.inspect_existing_image_button.setDisabled(False)
Esempio n. 20
0
 def get_project_list(self):
     client = Client(self.app.base_url + "api/soap/mantisconnect.php?wsdl")
     project_list = []
     soap_list = client.service.mc_projects_get_user_accessible(
         self.app.config['webadmin']['username'],
         self.app.config['webadmin']['password'])
     for object in soap_list:
         project_list.append(
             Project(id=str(object.id),
                     name=object.name,
                     status=object.status.name,
                     view_status=object.view_state.name,
                     description=object.description))
     return project_list
Esempio n. 21
0
 def get_projects(self):
     project_list = []
     client = Client(
         "http://localhost/mantisbt-1.2.20/api/soap/mantisconnect.php?wsdl")
     projects = client.service.mc_projects_get_user_accessible(
         self.app.config['webadmin']['username'],
         self.app.config['webadmin']['password'])
     for row in projects:
         project_list.append(
             Project(name=row.name,
                     status=row.status.name,
                     view_status=row.view_state.name,
                     description=row.description))
     return project_list
Esempio n. 22
0
 def get_projects_list(self):
     if self.project_cache is None:
         wd = self.app.wd
         self.open_page_projects()
         self.project_cache = []
         list_row_1 = wd.find_elements_by_css_selector("tr.row-1")
         list_row_2 = wd.find_elements_by_css_selector("tr.row-2")
         list_projects = list_row_1 + list_row_2
         for element in list_projects:
             cells = element.find_elements_by_tag_name("td")
             projectname = cells[0].text
             if projectname != "General":
                 self.project_cache.append(Project(projectname=projectname))
     return list(self.project_cache)
Esempio n. 23
0
 def get_project_list(self):
     wd = self.app.wd
     list = []
     self.go_to_project_page()
     project_table = wd.find_elements_by_xpath(
         "//table[@class='width100']//tr[@class='row-category']/following-sibling::tr"
     )
     for element in project_table:
         name = element.find_element_by_xpath(".//td[1]/a").text
         id = element.find_element_by_xpath(".//td[1]/a").get_attribute(
             "href").split("project_id=", 1)[1]
         description = element.find_element_by_xpath(".//td[5]").text
         list.append(Project(id=id, name=name, description=description))
     return list
def test_del_project(app):
    app.session.login("administrator", "root")
    app.project.open_project_page()
    # old_projects = app.project.get_project_list()
    old_projects = app.soap.get_project_from_soap()
    if len(old_projects) == 0:
        app.project.create_project(Project(name=random_string("Project_", 10)))
    deleted_project = random.choice(old_projects)
    app.project.delete_project(deleted_project.name)
    #new_projects = app.project.get_project_list()
    new_projects = app.soap.get_project_from_soap()
    assert len(old_projects) - 1 == len(new_projects)
    old_projects.remove(deleted_project)
    assert sorted(old_projects, key=Project.id_or_max) == sorted(new_projects, key=Project.id_or_max)
Esempio n. 25
0
def test_delete_group(app, db, config):
    username = config['webadmin']['username']
    password = config['webadmin']['password']
    app.project.open_project_page()
    if len(app.soap.project_list(username, password, config)) == 0:
        app.project.create(Project(name='New Project 1'))

    old_projects = app.soap.project_list(username, password, config)
    project = random.choice(old_projects)
    app.project.delete(project)
    new_projects = app.soap.project_list(username, password, config)
    assert len(old_projects) - 1 == len(new_projects)
    old_projects.remove(project)
    assert old_projects == new_projects
Esempio n. 26
0
def test_add_group(app, db, config):
    username = config['webadmin']['username']
    password = config['webadmin']['password']
    project = Project(name='New Project 1')
    old_projects = app.soap.project_list(username, password, config)
    app.project.open_project_page()
    for p in old_projects:
        if p.name == project.name:
            db.delete_project(p)
            old_projects.remove(p)
    app.project.create(project)
    new_projects = app.soap.project_list(username, password, config)
    old_projects.append(project)
    assert sorted(old_projects, key=Project.id_or_max) == sorted(new_projects, key=Project.id_or_max)
Esempio n. 27
0
 def get_project_list(self, username, password):
     client = Client(self.app.base_url + "/api/soap/mantisconnect.php?wsdl")
     try:
         projects = client.service.mc_projects_get_user_accessible(
             username, password)
         project_list = []
         for project in projects:
             project_list.append(
                 Project(id=project.id,
                         name=project.name,
                         description=project.description))
         return project_list
     except WebFault:
         return None
Esempio n. 28
0
 def get_projects(self):
     project_list = []
     soap_config = self.app.config["soap"]
     client = Client(soap_config["host"])
     projects = client.service.mc_projects_get_user_accessible(
         self.app.config['webadmin']['username'],
         self.app.config['webadmin']['password'])
     for row in projects:
         project_list.append(
             Project(name=row.name,
                     status=row.status.name,
                     view_status=row.view_state.name,
                     description=row.description))
     return project_list
def test_del_project(app):
    app.session.login("administrator", "root")
    if len(app.soap.get_projects_list("administrator", "root")) == 0:
        project = Project(name="Project for test ", description="test")
        app.projects.create_project(project)
    old_projects = app.soap.get_projects_list("administrator", "root")
    project = random.choice(old_projects)
    app.projects.delete_project(project)
    new_projects = app.soap.get_projects_list("administrator", "root")
    assert len(old_projects) - 1 == len(new_projects)
    old_projects.remove(project)
    assert sorted(old_projects,
                  key=Project.id_or_max) == sorted(new_projects,
                                                   key=Project.id_or_max)
Esempio n. 30
0
 def get_project_list(self):
     username = self.app.config['webadmin']['username']
     password = self.app.config['webadmin']['password']
     client = Client(
         "http://localhost/mantisbt-1.2.19/api/soap/mantisconnect.php?wsdl")
     self.project_list = []
     l = client.service.mc_projects_get_user_accessible(username, password)
     for element in l:
         id = element.id
         name = element.name
         description = element.description
         self.project_list.append(
             Project(id=id, name=name, description=description))
     return list(self.project_list)
Esempio n. 31
0
def test_add_project(app):
    app.session.login("administrator", "root")
    old_project_list = app.project.get_project_list()
    project = Project(name="tgesbt3h2hijjjjbffybyyut7i9954")
    app.project.add_project(project)
    new_project_list = app.project.get_project_list()
    old_project_list.append(project)
    assert sorted(old_project_list,
                  key=(lambda x: x.name)) == sorted(app.soap.get_projects_list(
                      "administrator", "root"),
                                                    key=(lambda x: x.name))

    #assert sorted(old_project_list, key=(lambda x: x.name)) == sorted(new_project_list, key=(lambda x: x.name))
    app.session.logout()
Esempio n. 32
0
def test_delete_project(app):
    username = "******"
    password = "******"
    app.session.login(username, password)
    old_projects = app.soap.get_projects_list(username, password)
    if len(old_projects) == 0:
        app.project.create(Project(project_name="My test project " + str(datetime.now())))
        old_projects = app.soap.get_projects_list(username, password)
    project = random.choice(old_projects)
    app.project.delete_project_by_id(project.project_id)
    old_projects.remove(project)
    new_projects = app.soap.get_projects_list(username, password)
    assert sorted(old_projects, key=Project.id_or_max) == sorted(new_projects, key=Project.id_or_max)
    app.session.logout()
Esempio n. 33
0
def test_delete_some_project(app):
    if app.project.count() == 0:
        app.project.create(
            Project(name="test_project", description="test_description"))
    username = app.config['webadmin']['username']
    password = app.config['webadmin']['password']
    old_projects = app.soap.get_project_list(username, password)
    project = random.choice(old_projects)
    app.project.delete_project(
        project.name)  # реализовать метод удаления проекта по имени
    new_projects = app.soap.get_project_list(username, password)
    assert len(old_projects) - 1 == len(new_projects)
    old_projects.remove(project)
    assert old_projects == new_projects
Esempio n. 34
0
 def get_projects(self):
     if self.projects_cache is None:
         wd = self.app.wd
         self.open_projects_page()
         self.projects_cache = []
         entries = wd.find_elements_by_xpath(
             "//div/div[4]/div[2]/table/tbody/tr")
         for element in entries:
             cells = element.find_elements_by_tag_name("td")
             name = cells[0].text
             description = cells[4].text
             self.projects_cache.append(
                 Project(name=name, description=description))
     return list(self.projects_cache)
Esempio n. 35
0
def test_add_project(app):
    app.session.login("administrator", "root")
    # project = json_projects
    symbols = string.ascii_letters + string.digits
    project = Project(
        name="Test" +
        "".join([random.choice(symbols) for i in range(random.randrange(3))]))
    old_projects_list = app.soap.get_projects_list("administrator", "root")
    app.project.create(project)
    new_projects_list = app.soap.get_projects_list("administrator", "root")
    old_projects_list.append(project)
    assert sorted(old_projects_list,
                  key=lambda pr: pr.name) == sorted(new_projects_list,
                                                    key=lambda pr: pr.name)
def test_add_project(app):
    app.project.open_projects_page()
    old_projects_list = app.project.get_projects_list_from_table()
    project_to_add = Project(
        name=("Project " + str(datetime.now().strftime("%m_%d %H:%M:%S"))),
        description="Project Description")
    app.project.create(project_to_add)
    app.project.open_projects_page()
    new_projects_list = app.project.get_projects_list_from_table()
    assert len(old_projects_list) == len(new_projects_list) - 1
    old_projects_list.append(project_to_add)
    assert sorted(old_projects_list,
                  key=Project.id_or_max) == sorted(new_projects_list,
                                                   key=Project.id_or_max)
Esempio n. 37
0
    def post(self):
        data = {k: self.get_argument(k) for k, v in self.request.arguments.iteritems()}
        if data.get('id', 0):
            project = ProjectM.get(ProjectM.id == data.get('id'))
            if project:
                for k, v in data.iteritems():
                    if k == 'id':
                        pass
                    else:
                        setattr(project, k, v)

                project.save()

        self.finish()
Esempio n. 38
0
def test_add_project(app, db):
    app.session.login(username="******", password="******")
    project = Project(name=random_string("name", 10),
                      description="description",
                      status="development",
                      view_state="private")
    old_project_list = db.get_project_list()
    app.project.create_new_project(project)
    app.session.logout()
    new_project_list = db.get_project_list()
    old_project_list.append(project)
    assert sorted(old_project_list,
                  key=Project.id_or_max) == sorted(new_project_list,
                                                   key=Project.id_or_max)
Esempio n. 39
0
 def get_project_list(self):
     driver = self.app.driver
     self.open_project_page()
     group_list = []
     projects = driver.find_elements_by_xpath("//*[@id='main-container']/div[2]/div[2]/div/div/div[2]/div[2]/div/div[2]/table/tbody/tr")
     for each in projects:
         project = each.find_elements_by_css_selector("td")
         adress = project[0].find_element_by_tag_name("a").get_attribute("href")
         project_id_str = re.search("id=.*", adress).group(0)
         project_id = project_id_str[3:len(project_id_str)]
         project_name = project[0].text
         project_description = project[4].text
         group_list.append(Project(id=project_id, name=project_name, description=project_description))
     return group_list
Esempio n. 40
0
 def get_project_list(self):
     if self.project_cache is None:
         wd = self.app.wd
         self.project_cache = []
         for element in wd.find_elements_by_xpath("(//tbody)[1]/tr"):
             id = element.find_element_by_css_selector("td:nth-child(1) > a").get_attribute("href").split("id=")[1]
             name = element.find_element_by_css_selector("td:nth-child(1) > a").text
             status = element.find_element_by_css_selector("td:nth-child(2)").text
             enabled = self.define_enabled(element.find_element_by_css_selector("td:nth-child(3)").text)
             view = element.find_element_by_css_selector("td:nth-child(4)").text
             description = element.find_element_by_css_selector("td:nth-child(5)").text
             self.project_cache.append(Project(id=str(id), name=name, status=status, enabled=enabled, view=view,
                                               description=description))
     return list(self.project_cache)
Esempio n. 41
0
def test_delete_project(app):
    if len(app.project.get_projects()) == 0:
        new_project = Project(name='NEW', description='DESCRIPTION')
        app.project.add(new_project)

    projects = app.soap.get_projects('administrator', 'secret')
    random_project = random.choice(projects)
    app.project.delete_by_name(random_project)

    new_projects = app.soap.get_projects('administrator', 'secret')
    projects.remove(random_project)
    assert sorted(projects,
                  key=Project.get_name) == sorted(new_projects,
                                                  key=Project.get_name)
Esempio n. 42
0
def test_delete_project(app, db):
    if len(db.get_project_list()) == 0:
        app.project.fill_project_form(Project(name='New', description='Try'))
    # old_list = db.get_project_list()
    old_list = app.soap.get_projects()
    project = random.choice(old_list)
    app.project.delete_by_name(project.name)
    # new_list = db.get_project_list()
    new_list = app.soap.get_projects()
    assert len(old_list) - 1 == len(new_list)
    old_list.remove(project)
    assert sorted(old_list,
                  key=Project.name_key) == sorted(new_list,
                                                  key=Project.name_key)
Esempio n. 43
0
def test_add_project(app):
    old_projects = app.soap.get_project_list()

    new_project = Project(name=random_string("qwerty", 10),
                          status=random_status(),
                          description="blablabla")
    app.project.create(new_project)
    new_projects = app.soap.get_project_list()

    assert len(old_projects) + 1 == len(new_projects)

    num_found = 0
    for project in new_projects:
        if project.name == new_project.name:
            num_found = num_found + 1
            new_project.project_id = project.project_id

    assert num_found > 0

    old_projects.append(new_project)
    assert sorted(old_projects,
                  key=Project.id_or_max) == sorted(new_projects,
                                                   key=Project.id_or_max)
    def add_track(self, name, width, height, index, is_video):
        """
        Creates a new Track.

        @param track_id: id of the track which will be created
        @return: Nothing
        """
        track_id = max(self.__timeline_view.tracks.keys()) + 1
        op = CreateTrackOperation(track_id, name, width, height, index,
                                  is_video, self)
        self.__history.do_operation(op)

        self.__timeline_view.changed.emit()
        Project.get_instance().changed = True
Esempio n. 45
0
    def get(self):
        # Query all projects and order by the creation date from newest to oldest
        project_query = Anna_Project.query().order(-Anna_Project.creation_date)
        
        all_projects = project_query.fetch()

        project_list = []

        # Append all projects in dict form to project_list
        for project in all_projects:
            project_list.append(project.to_dict())

        # Send the project_list in json form
        self.response.headers['Content-type'] = 'application/json'
        self.response.out.write(json.dumps(project_list))
Esempio n. 46
0
 def get(self):
     path = 'project_edit.html'
     template_values = {}
     template_values['duration_options'] = DURATION_OPTIONS
     template_values['skills'] = get_skills_json()
     template_values['form_url'] = blobstore.create_upload_url('/api/projects/update_project')
     project = {}
     id = int(str(self['project_id']))
     if id:
         p = Project.get_by_id(id)
         project['id'] = id
         project['title'] = p.title
         project['description'] = p.description
         project['skills'] = p.skills
         project['end_date'] = p.end_date.strftime("%Y-%m-%d")
         project['bid'] = p.bid
         project['image'] = '/api/common/download_image/'+p.image if p.image else None
     template_values['project'] = project
     self.write(self.get_rendered_html(path, template_values), 200)
Esempio n. 47
0
 def get(self):
     project_id = self['project_id']
     if not project_id:
         self.write('no project id')
         return
     p = Project.get_by_id(int(str(project_id)))
     if not p:
         self.write('no project with id: '+project_id)
         return
     path = 'project_skills.html'
     form_url = blobstore.create_upload_url('/api/projects/update_project_skills')
     breadcrumb_idx = 2
     template_values = {'form_url': form_url,
                        'breadcrumb_idx':breadcrumb_idx,
                        'breadcrumbs_len':len(registration_breadcrumbs),
                        'breadcrumb':registration_breadcrumbs[projects][breadcrumb_idx-1],
                        'progress': (100/len(registration_breadcrumbs))*breadcrumb_idx,
                        'project_id': p.id}
     template_values['skills'] = get_skills_json()
     self.write(self.get_rendered_html(path, template_values), 200)
Esempio n. 48
0
    def post(self, name):
        if Project(name).exists():
            self.write(escape.json_encode({"status":  "Project already exists"}))
            return

        try:
            project = Project()
            project.name = name
            project.git_url = self.get_argument('git_url')[0]
            project.group_name = self.get_argument('group_name')
            project.save()
            self.write(escape.json_encode({"status": "ok"}))
            log.msg('Project created:', project.name)
        except Exception, e:
            log.err()
            self.write(escape.json_encode({"status": "fail"}))
Esempio n. 49
0
 def get(self):
     path = 'startups_search_results.html'
     project_id = long(self['project_id'])
     project = Project.get_by_id(project_id)
     skills = project.skills
     q = Company.all()
     sorted_companies = {}
     for c in q.fetch(50):
         expertise_dict = convert_string_list_to_dict(c.expertise_avg)
         score = 0.0
         matched_skills = 0.0
         fit = 0.0
         id = c.key().id()
         sorted_companies[id] = {}
         sorted_companies[id]['name'] = c.name
         sorted_companies[id]['influence'] = c.influence_avg
         sorted_companies[id]['skills'] = []
         if skills:
             for skill in skills:
                 skill = str(skill)
                 if skill in expertise_dict:
                     skill_dict = { 'name':skill,'value':float(expertise_dict[skill]) }
                     score += float(expertise_dict[skill])
                     matched_skills += 1
                 else:
                     skill_dict = { 'name':skill,'value':0.0 }
                 sorted_companies[id]['skills'].append(skill_dict)
             score = float(score / len(skills))
             fit = float(matched_skills / len(skills)) if matched_skills > 0.0 else 0.0
         sorted_companies[id]['combined']=score
         sorted_companies[id]['fit']=fit
     donuts = (len(skills) if skills else 0) + 3
     sorted_companies = sorted(sorted_companies.iteritems(), key=lambda (k,v): v['combined'], reverse = True)
     donut_size = 80-(5*donuts)
     score_font_size = 40-(2.25*donuts)
     tooltip_font_size = 14-donuts
     template_values = {'startups' : sorted_companies, 'skills' : skills, 'donut_size' : donut_size, 'score_font_size' : score_font_size, 'tooltip_font_size' : tooltip_font_size}
     self.write(self.get_rendered_html(path, template_values), 200)
Esempio n. 50
0
 def test_validate_fails_no_data(self):
     project = Project()
     with assert_raises(ModelValidationError) as cm:
         project.validate()
     eq_(5, len(cm.exception.messages.keys()))
Esempio n. 51
0
 def test_before_save(self):
     project = Project(self.complete_data)
     project.cur_epsilon = None
     project.before_save()
     eq_([1e-10, 1e-9, 1e-8], project.list_epsilons)
     eq_(1e-9, project.cur_epsilon)
Esempio n. 52
0
 def test_validate_complete(self):
     project = Project(self.complete_data)
     project.validate()
Esempio n. 53
0
 def test_validate_minimum_data(self):
     project = Project(self.minimum_data)
     project.validate()
Esempio n. 54
0
def get_project(id):
    return Project.get_by_id(id)
Esempio n. 55
0
    def get(self):
        li = Project_.select().order_by(Project_.created_time.desc())

        self.render(li=li)
Esempio n. 56
0
 def get(self, branch="master"):
     projects = Project.get_all()
     response = map(lambda current: _project_json(current, branch), projects)
     self.write(escape.json_encode(response))
Esempio n. 57
0
 def getProjectName(self, pid):
     project = Project(pid)
     return project.getProjectName()
Esempio n. 58
0
 def saveProject(self, pid, projectname, startdate, enddate, description, currency):
     project = Project(pid)
     project.setData(projectname, startdate, enddate, description, currency)
Esempio n. 59
0
 def removeProjectCharacteristic(self, pid, characteristic, characteristictype):
     project = Project(pid)
     project.addCharacteristic(characteristic, characteristictype)
Esempio n. 60
0
 def addProjectCharacteristic(self, pid, characteristic, characteristictype, datatype):
     project = Project(pid)
     project.addCharacteristic(characteristic, characteristictype, datatype)