Merge lp:~oscarolar/addons-vauxoo/addons-vauxoo into lp:addons-vauxoo/7.0

Proposed by OscarAlca
Status: Merged
Merged at revision: 565
Proposed branch: lp:~oscarolar/addons-vauxoo/addons-vauxoo
Merge into: lp:addons-vauxoo/7.0
Diff against target: 132 lines (+52/-48)
1 file modified
bzr_to_task/bzr_to_task.py (+52/-48)
To merge this branch: bzr merge lp:~oscarolar/addons-vauxoo/addons-vauxoo
Reviewer Review Type Date Requested Status
Nhomar - Vauxoo Pending
Jose Antonio Morales Ponce(vauxoo) - - http://www.vauxoo.com Pending
Review via email: mp+166914@code.launchpad.net

Description of the change

Improvements in the algorythm,
-unecessary instances of object removed
-unecessary iteration, reduced the range to "from_revno to revno"

To post a comment you must log in.
565. By Jose Antonio Morales Ponce(vauxoo) - - http://www.vauxoo.com

[MERGE] Merge to avoid unnecessary iteration in bzr_to_task module

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'bzr_to_task/bzr_to_task.py'
--- bzr_to_task/bzr_to_task.py 2013-05-31 18:12:16 +0000
+++ bzr_to_task/bzr_to_task.py 2013-05-31 22:30:38 +0000
@@ -46,9 +46,10 @@
46 def get_works(self, cr, uid, ids, context=None):46 def get_works(self, cr, uid, ids, context=None):
47 user_obj = self.pool.get('res.users')47 user_obj = self.pool.get('res.users')
48 task_obj = self.pool.get('project.task')48 task_obj = self.pool.get('project.task')
49 url = self.browse(cr, uid, ids)[0].url_branch49 self_obj = self.browse(cr, uid, ids)[0]
50 res_id = self.browse(cr, uid, ids)[0].res_id50 url = self_obj.url_branch
51 inferior = self.browse(cr, uid, ids)[0].from_revno51 res_id = self_obj.res_id
52 inferior = self_obj.from_revno
52 if url and res_id and inferior and int(res_id) > inferior:53 if url and res_id and inferior and int(res_id) > inferior:
53 project_branch = branch.Branch.open(url)54 project_branch = branch.Branch.open(url)
54 b_revno = project_branch.revno()55 b_revno = project_branch.revno()
@@ -57,27 +58,28 @@
57 revision_map = project_branch.get_revision_id_to_revno_map()58 revision_map = project_branch.get_revision_id_to_revno_map()
58 if revision_map:59 if revision_map:
59 for revision_id in revision_map.keys():60 for revision_id in revision_map.keys():
60 task_data = {}61 if revision_map[revision_id][0] in range(inferior, int(res_id) + 1):
61 revision = repo.get_revision(revision_id)62 task_data = {}
62 date = datetime.datetime.fromtimestamp(int(63 revision = repo.get_revision(revision_id)
63 revision.timestamp)).strftime('%Y-%m-%d %H:%M:%S')64 date = datetime.datetime.fromtimestamp(int(
64 splitted_revision_id = revision_id.split('-')65 revision.timestamp)).strftime('%Y-%m-%d %H:%M:%S')
65 email = revision_id[0]66 splitted_revision_id = revision_id.split('-')
66 user_ids = user_obj.search(67 email = revision_id[0]
67 cr, uid, [('email', '=', email)])68 user_ids = user_obj.search(
68 task_data = {69 cr, uid, [('email', '=', email)])
69 'name': revision.message,70 task_data = {
70 'date_deadline': date,71 'name': revision.message,
71 'revno': revision_map[revision_id][0],72 'date_deadline': date,
72 }73 'revno': revision_map[revision_id][0],
73 if user_ids:74 }
74 task_data['user_id'] = user_ids[0]75 if user_ids:
75 task_ids = task_obj.search(cr, uid, [('project_id', '=', ids[76 task_data['user_id'] = user_ids[0]
76 0]), ('revno', '=', task_data['revno'])])77 task_ids = task_obj.search(cr, uid, [('project_id', '=', ids[
77 if not task_ids:78 0]), ('revno', '=', task_data['revno'])])
78 if inferior and inferior <= task_data['revno'] and int(res_id) >= task_data['revno']:79 if not task_ids:
79 self.write(cr, uid, ids, {80 if inferior and inferior <= task_data['revno'] and int(res_id) >= task_data['revno']:
80 'tasks': [(0, 0, task_data)]})81 self.write(cr, uid, ids, {
82 'tasks': [(0, 0, task_data)]})
81 else:83 else:
82 raise osv.except_osv(('Error'), ('Fields: URL Branch, From Revno and Revno are required to execute this operation, \84 raise osv.except_osv(('Error'), ('Fields: URL Branch, From Revno and Revno are required to execute this operation, \
83 also From Revno must be minor than Revno'))85 also From Revno must be minor than Revno'))
@@ -122,10 +124,11 @@
122124
123 def get_works(self, cr, uid, ids, context=None):125 def get_works(self, cr, uid, ids, context=None):
124 tw_obj = self.pool.get('project.task.work')126 tw_obj = self.pool.get('project.task.work')
127 obj_self = self.browse(cr, uid, ids)[0]
125 user_obj = self.pool.get('res.users')128 user_obj = self.pool.get('res.users')
126 url = self.browse(cr, uid, ids)[0].url_branch129 url = obj_self.url_branch
127 res_id = self.browse(cr, uid, ids)[0].res_id130 res_id = obj_self.res_id
128 inferior = self.browse(cr, uid, ids)[0].from_revno131 inferior = obj_self.from_revno
129 if url and res_id and inferior and int(res_id) > inferior:132 if url and res_id and inferior and int(res_id) > inferior:
130 task_branch = branch.Branch.open(url)133 task_branch = branch.Branch.open(url)
131 b_revno = task_branch.revno()134 b_revno = task_branch.revno()
@@ -134,27 +137,28 @@
134 revision_map = task_branch.get_revision_id_to_revno_map()137 revision_map = task_branch.get_revision_id_to_revno_map()
135 if revision_map:138 if revision_map:
136 for k in revision_map.keys():139 for k in revision_map.keys():
137 tw_data = {}140 if revision_map[k][0] in range(inferior, int(res_id) + 1):
138 revision = repo.get_revision(k)141 tw_data = {}
139 date = datetime.datetime.fromtimestamp(int(142 revision = repo.get_revision(k)
140 revision.timestamp)).strftime('%Y-%m-%d %H:%M:%S')143 date = datetime.datetime.fromtimestamp(int(
141 revision_id = k.split('-')144 revision.timestamp)).strftime('%Y-%m-%d %H:%M:%S')
142 email = revision_id[0]145 revision_id = k.split('-')
143 user_ids = user_obj.search(146 email = revision_id[0]
144 cr, uid, [('email', '=', email)])147 user_ids = user_obj.search(
145 tw_data = {148 cr, uid, [('email', '=', email)])
146 'name': revision.message,149 tw_data = {
147 'date': date,150 'name': revision.message,
148 'revno': revision_map[k][0],151 'date': date,
149 }152 'revno': revision_map[k][0],
150 if user_ids:153 }
151 tw_data['user_id'] = user_ids[0]154 if user_ids:
152 tw_ids = tw_obj.search(cr, uid, [('task_id', '=', ids[155 tw_data['user_id'] = user_ids[0]
153 0]), ('revno', '=', tw_data['revno'])])156 tw_ids = tw_obj.search(cr, uid, [('task_id', '=', ids[
154 if not tw_ids:157 0]), ('revno', '=', tw_data['revno'])])
155 if inferior and inferior <= tw_data['revno'] and int(res_id) >= tw_data['revno']:158 if not tw_ids:
156 self.write(cr, uid, ids, {159 if inferior and inferior <= tw_data['revno'] and int(res_id) >= tw_data['revno']:
157 'work_ids': [(0, 0, tw_data), ], })160 self.write(cr, uid, ids, {
161 'work_ids': [(0, 0, tw_data), ], })
158 deadline = self.set_work_time(cr, uid, ids, context)162 deadline = self.set_work_time(cr, uid, ids, context)
159 self.write(cr, uid, ids, {'date_deadline': deadline})163 self.write(cr, uid, ids, {'date_deadline': deadline})
160 else:164 else: