Mercurial > kallithea
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 |