def get_project(self, _id): d = self.browser.get_project(_id) project = Project(_id, d['name']) project.members = list(self._iter_members(project.id)) project.statuses = list(STATUSES.values()) project.categories = [] project.versions = list(self._iter_versions(project.id)) return project
def iter_projects(self): """ Iter projects. @return [iter(Project)] projects """ for project in self.browser.iter_projects(): yield Project(project['id'], project['name'])
def get_project(self, _id): d = self.browser.get_project(_id) project = Project(_id, d['name']) project.members = list(self._iter_members(project.id)) project.statuses = list(STATUSES.values()) project.fields = [] # not supported by github project.categories = [] project.versions = list(self._iter_versions(project.id)) project.tags = list(self.browser.iter_labels(project.id)) return project
def _make_project(self, data): p = Project(str(data['id']), data['name']) p.url = 'https://app.asana.com/0/%s' % p.id if 'members' in data: p.members = [self._make_user(u) for u in data['members']] p.statuses = [self.STATUS_OPEN, self.STATUS_CLOSED] p._workspace = data['workspace']['id'] # these fields don't exist in asana p.priorities = [] p.versions = [] return p
def _build_project(cls, project_dict): project = Project(project_dict['name'], project_dict['name']) project.members = [User(int(u[0]), u[1]) for u in project_dict['members']] project.versions = [Version(int(v[0]), v[1]) for v in project_dict['versions']] project.categories = [c[1] for c in project_dict['categories']] # TODO set the value of status project.statuses = [Status(int(s[0]), s[1], 0) for s in project_dict['statuses']] return project