comparison rhodecode/lib/celerylib/tasks.py @ 2165:dc2584ba5fbc

merged beta into default branch
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 28 Mar 2012 19:54:16 +0200
parents 82a88013a3fd 747c1c7040a8
children a437a986d399
comparison
equal deleted inserted replaced
2097:8fd6650bb436 2165:dc2584ba5fbc
38 from pylons.i18n.translation import _ 38 from pylons.i18n.translation import _
39 39
40 from rhodecode.lib.vcs import get_backend 40 from rhodecode.lib.vcs import get_backend
41 41
42 from rhodecode import CELERY_ON 42 from rhodecode import CELERY_ON
43 from rhodecode.lib import LANGUAGES_EXTENSIONS_MAP, safe_str 43 from rhodecode.lib.utils2 import safe_str
44 from rhodecode.lib.celerylib import run_task, locked_task, dbsession, \ 44 from rhodecode.lib.celerylib import run_task, locked_task, dbsession, \
45 str2bool, __get_lockkey, LockHeld, DaemonLock, get_session 45 str2bool, __get_lockkey, LockHeld, DaemonLock, get_session
46 from rhodecode.lib.helpers import person 46 from rhodecode.lib.helpers import person
47 from rhodecode.lib.rcmail.smtp_mailer import SmtpMailer 47 from rhodecode.lib.rcmail.smtp_mailer import SmtpMailer
48 from rhodecode.lib.utils import add_cache, action_logger 48 from rhodecode.lib.utils import add_cache, action_logger
145 last_rev = last_rev + 1 if last_rev >= 0 else 0 145 last_rev = last_rev + 1 if last_rev >= 0 else 0
146 log.debug('Getting revisions from %s to %s' % ( 146 log.debug('Getting revisions from %s to %s' % (
147 last_rev, last_rev + parse_limit) 147 last_rev, last_rev + parse_limit)
148 ) 148 )
149 for cs in repo[last_rev:last_rev + parse_limit]: 149 for cs in repo[last_rev:last_rev + parse_limit]:
150 log.debug('parsing %s' % cs)
150 last_cs = cs # remember last parsed changeset 151 last_cs = cs # remember last parsed changeset
151 k = lmktime([cs.date.timetuple()[0], cs.date.timetuple()[1], 152 k = lmktime([cs.date.timetuple()[0], cs.date.timetuple()[1],
152 cs.date.timetuple()[2], 0, 0, 0, 0, 0, 0]) 153 cs.date.timetuple()[2], 0, 0, 0, 0, 0, 0])
153 154
154 if akc(cs.author) in co_day_auth_aggr: 155 if akc(cs.author) in co_day_auth_aggr:
231 log.error(traceback.format_exc()) 232 log.error(traceback.format_exc())
232 DBS.rollback() 233 DBS.rollback()
233 lock.release() 234 lock.release()
234 return False 235 return False
235 236
236 #final release 237 # final release
237 lock.release() 238 lock.release()
238 239
239 #execute another task if celery is enabled 240 # execute another task if celery is enabled
240 if len(repo.revisions) > 1 and CELERY_ON: 241 if len(repo.revisions) > 1 and CELERY_ON:
241 run_task(get_commits_stats, repo_name, ts_min_y, ts_max_y) 242 run_task(get_commits_stats, repo_name, ts_min_y, ts_max_y)
242 return True 243 return True
243 except LockHeld: 244 except LockHeld:
244 log.info('LockHeld') 245 log.info('LockHeld')
325 """ 326 """
326 log = get_logger(send_email) 327 log = get_logger(send_email)
327 DBS = get_session() 328 DBS = get_session()
328 329
329 email_config = config 330 email_config = config
330 subject = "%s %s" % (email_config.get('email_prefix'), subject) 331 subject = "%s %s" % (email_config.get('email_prefix', ''), subject)
331 if not recipients: 332 if not recipients:
332 # if recipients are not defined we send to email_config + all admins 333 # if recipients are not defined we send to email_config + all admins
333 admins = [u.email for u in User.query() 334 admins = [u.email for u in User.query()
334 .filter(User.admin == True).all()] 335 .filter(User.admin == True).all()]
335 recipients = [email_config.get('email_to')] + admins 336 recipients = [email_config.get('email_to')] + admins
393 fork_name, '', DBS) 394 fork_name, '', DBS)
394 # finally commit at latest possible stage 395 # finally commit at latest possible stage
395 DBS.commit() 396 DBS.commit()
396 397
397 def __get_codes_stats(repo_name): 398 def __get_codes_stats(repo_name):
399 from rhodecode.config.conf import LANGUAGES_EXTENSIONS_MAP
398 repo = Repository.get_by_repo_name(repo_name).scm_instance 400 repo = Repository.get_by_repo_name(repo_name).scm_instance
399 401
400 tip = repo.get_changeset() 402 tip = repo.get_changeset()
401 code_stats = {} 403 code_stats = {}
402 404