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
1=== modified file 'bzr_to_task/bzr_to_task.py'
2--- bzr_to_task/bzr_to_task.py 2013-05-31 18:12:16 +0000
3+++ bzr_to_task/bzr_to_task.py 2013-05-31 22:30:38 +0000
4@@ -46,9 +46,10 @@
5 def get_works(self, cr, uid, ids, context=None):
6 user_obj = self.pool.get('res.users')
7 task_obj = self.pool.get('project.task')
8- url = self.browse(cr, uid, ids)[0].url_branch
9- res_id = self.browse(cr, uid, ids)[0].res_id
10- inferior = self.browse(cr, uid, ids)[0].from_revno
11+ self_obj = self.browse(cr, uid, ids)[0]
12+ url = self_obj.url_branch
13+ res_id = self_obj.res_id
14+ inferior = self_obj.from_revno
15 if url and res_id and inferior and int(res_id) > inferior:
16 project_branch = branch.Branch.open(url)
17 b_revno = project_branch.revno()
18@@ -57,27 +58,28 @@
19 revision_map = project_branch.get_revision_id_to_revno_map()
20 if revision_map:
21 for revision_id in revision_map.keys():
22- task_data = {}
23- revision = repo.get_revision(revision_id)
24- date = datetime.datetime.fromtimestamp(int(
25- revision.timestamp)).strftime('%Y-%m-%d %H:%M:%S')
26- splitted_revision_id = revision_id.split('-')
27- email = revision_id[0]
28- user_ids = user_obj.search(
29- cr, uid, [('email', '=', email)])
30- task_data = {
31- 'name': revision.message,
32- 'date_deadline': date,
33- 'revno': revision_map[revision_id][0],
34- }
35- if user_ids:
36- task_data['user_id'] = user_ids[0]
37- task_ids = task_obj.search(cr, uid, [('project_id', '=', ids[
38- 0]), ('revno', '=', task_data['revno'])])
39- if not task_ids:
40- if inferior and inferior <= task_data['revno'] and int(res_id) >= task_data['revno']:
41- self.write(cr, uid, ids, {
42- 'tasks': [(0, 0, task_data)]})
43+ if revision_map[revision_id][0] in range(inferior, int(res_id) + 1):
44+ task_data = {}
45+ revision = repo.get_revision(revision_id)
46+ date = datetime.datetime.fromtimestamp(int(
47+ revision.timestamp)).strftime('%Y-%m-%d %H:%M:%S')
48+ splitted_revision_id = revision_id.split('-')
49+ email = revision_id[0]
50+ user_ids = user_obj.search(
51+ cr, uid, [('email', '=', email)])
52+ task_data = {
53+ 'name': revision.message,
54+ 'date_deadline': date,
55+ 'revno': revision_map[revision_id][0],
56+ }
57+ if user_ids:
58+ task_data['user_id'] = user_ids[0]
59+ task_ids = task_obj.search(cr, uid, [('project_id', '=', ids[
60+ 0]), ('revno', '=', task_data['revno'])])
61+ if not task_ids:
62+ if inferior and inferior <= task_data['revno'] and int(res_id) >= task_data['revno']:
63+ self.write(cr, uid, ids, {
64+ 'tasks': [(0, 0, task_data)]})
65 else:
66 raise osv.except_osv(('Error'), ('Fields: URL Branch, From Revno and Revno are required to execute this operation, \
67 also From Revno must be minor than Revno'))
68@@ -122,10 +124,11 @@
69
70 def get_works(self, cr, uid, ids, context=None):
71 tw_obj = self.pool.get('project.task.work')
72+ obj_self = self.browse(cr, uid, ids)[0]
73 user_obj = self.pool.get('res.users')
74- url = self.browse(cr, uid, ids)[0].url_branch
75- res_id = self.browse(cr, uid, ids)[0].res_id
76- inferior = self.browse(cr, uid, ids)[0].from_revno
77+ url = obj_self.url_branch
78+ res_id = obj_self.res_id
79+ inferior = obj_self.from_revno
80 if url and res_id and inferior and int(res_id) > inferior:
81 task_branch = branch.Branch.open(url)
82 b_revno = task_branch.revno()
83@@ -134,27 +137,28 @@
84 revision_map = task_branch.get_revision_id_to_revno_map()
85 if revision_map:
86 for k in revision_map.keys():
87- tw_data = {}
88- revision = repo.get_revision(k)
89- date = datetime.datetime.fromtimestamp(int(
90- revision.timestamp)).strftime('%Y-%m-%d %H:%M:%S')
91- revision_id = k.split('-')
92- email = revision_id[0]
93- user_ids = user_obj.search(
94- cr, uid, [('email', '=', email)])
95- tw_data = {
96- 'name': revision.message,
97- 'date': date,
98- 'revno': revision_map[k][0],
99- }
100- if user_ids:
101- tw_data['user_id'] = user_ids[0]
102- tw_ids = tw_obj.search(cr, uid, [('task_id', '=', ids[
103- 0]), ('revno', '=', tw_data['revno'])])
104- if not tw_ids:
105- if inferior and inferior <= tw_data['revno'] and int(res_id) >= tw_data['revno']:
106- self.write(cr, uid, ids, {
107- 'work_ids': [(0, 0, tw_data), ], })
108+ if revision_map[k][0] in range(inferior, int(res_id) + 1):
109+ tw_data = {}
110+ revision = repo.get_revision(k)
111+ date = datetime.datetime.fromtimestamp(int(
112+ revision.timestamp)).strftime('%Y-%m-%d %H:%M:%S')
113+ revision_id = k.split('-')
114+ email = revision_id[0]
115+ user_ids = user_obj.search(
116+ cr, uid, [('email', '=', email)])
117+ tw_data = {
118+ 'name': revision.message,
119+ 'date': date,
120+ 'revno': revision_map[k][0],
121+ }
122+ if user_ids:
123+ tw_data['user_id'] = user_ids[0]
124+ tw_ids = tw_obj.search(cr, uid, [('task_id', '=', ids[
125+ 0]), ('revno', '=', tw_data['revno'])])
126+ if not tw_ids:
127+ if inferior and inferior <= tw_data['revno'] and int(res_id) >= tw_data['revno']:
128+ self.write(cr, uid, ids, {
129+ 'work_ids': [(0, 0, tw_data), ], })
130 deadline = self.set_work_time(cr, uid, ids, context)
131 self.write(cr, uid, ids, {'date_deadline': deadline})
132 else: