Mercurial > kallithea
comparison rhodecode/lib/celerylib/tasks.py @ 666:6ed37675e78b beta
fixed celery tasks for using only one method of fetching main repos path
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 07 Nov 2010 15:04:15 +0100 |
parents | 373ee7031003 |
children | 87943675813a |
comparison
equal
deleted
inserted
replaced
665:070f32743632 | 666:6ed37675e78b |
---|---|
5 from rhodecode.lib.celerylib import run_task, locked_task | 5 from rhodecode.lib.celerylib import run_task, locked_task |
6 from rhodecode.lib.helpers import person | 6 from rhodecode.lib.helpers import person |
7 from rhodecode.lib.smtp_mailer import SmtpMailer | 7 from rhodecode.lib.smtp_mailer import SmtpMailer |
8 from rhodecode.lib.utils import OrderedDict | 8 from rhodecode.lib.utils import OrderedDict |
9 from time import mktime | 9 from time import mktime |
10 from vcs.backends.hg import MercurialRepository | |
11 from vcs.backends.git import GitRepository | |
12 import os | 10 import os |
13 import traceback | 11 import traceback |
14 from vcs.backends import get_repo | 12 from vcs.backends import get_repo |
15 from vcs.utils.helpers import get_scm | 13 from rhodecode.model.hg import HgModel |
16 | |
17 try: | 14 try: |
18 import json | 15 import json |
19 except ImportError: | 16 except ImportError: |
20 #python 2.5 compatibility | 17 #python 2.5 compatibility |
21 import simplejson as json | 18 import simplejson as json |
44 from rhodecode.model.meta import Session | 41 from rhodecode.model.meta import Session |
45 sa = Session() | 42 sa = Session() |
46 | 43 |
47 return sa | 44 return sa |
48 | 45 |
49 def get_hg_settings(): | |
50 from rhodecode.model.db import RhodeCodeSettings | |
51 sa = get_session() | |
52 ret = sa.query(RhodeCodeSettings).all() | |
53 | |
54 if not ret: | |
55 raise Exception('Could not get application settings !') | |
56 settings = {} | |
57 for each in ret: | |
58 settings['rhodecode_' + each.app_settings_name] = each.app_settings_value | |
59 | |
60 return settings | |
61 | |
62 def get_hg_ui_settings(): | |
63 from rhodecode.model.db import RhodeCodeUi | |
64 sa = get_session() | |
65 ret = sa.query(RhodeCodeUi).all() | |
66 | |
67 if not ret: | |
68 raise Exception('Could not get application ui settings !') | |
69 settings = {} | |
70 for each in ret: | |
71 k = each.ui_key | |
72 v = each.ui_value | |
73 if k == '/': | |
74 k = 'root_path' | |
75 | |
76 if k.find('.') != -1: | |
77 k = k.replace('.', '_') | |
78 | |
79 if each.ui_section == 'hooks': | |
80 v = each.ui_active | |
81 | |
82 settings[each.ui_section + '_' + k] = v | |
83 | |
84 return settings | |
85 | |
86 @task | 46 @task |
87 @locked_task | 47 @locked_task |
88 def whoosh_index(repo_location, full_index): | 48 def whoosh_index(repo_location, full_index): |
89 log = whoosh_index.get_logger() | 49 log = whoosh_index.get_logger() |
90 from rhodecode.lib.indexers.daemon import WhooshIndexingDaemon | 50 from rhodecode.lib.indexers.daemon import WhooshIndexingDaemon |
99 log = get_commits_stats.get_logger() | 59 log = get_commits_stats.get_logger() |
100 author_key_cleaner = lambda k: person(k).replace('"', "") #for js data compatibilty | 60 author_key_cleaner = lambda k: person(k).replace('"', "") #for js data compatibilty |
101 | 61 |
102 commits_by_day_author_aggregate = {} | 62 commits_by_day_author_aggregate = {} |
103 commits_by_day_aggregate = {} | 63 commits_by_day_aggregate = {} |
104 repos_path = get_hg_ui_settings()['paths_root_path'] | 64 repos_path = HgModel().repos_path |
105 p = os.path.join(repos_path, repo_name) | 65 p = os.path.join(repos_path, repo_name) |
106 repo = get_repo(p) | 66 repo = get_repo(p) |
107 | 67 |
108 skip_date_limit = True | 68 skip_date_limit = True |
109 parse_limit = 250 #limit for single task changeset parsing optimal for | 69 parse_limit = 250 #limit for single task changeset parsing optimal for |
295 from vcs import get_backend | 255 from vcs import get_backend |
296 log = create_repo_fork.get_logger() | 256 log = create_repo_fork.get_logger() |
297 repo_model = RepoModel(get_session()) | 257 repo_model = RepoModel(get_session()) |
298 repo_model.create(form_data, cur_user, just_db=True, fork=True) | 258 repo_model.create(form_data, cur_user, just_db=True, fork=True) |
299 repo_name = form_data['repo_name'] | 259 repo_name = form_data['repo_name'] |
300 repos_path = get_hg_ui_settings()['paths_root_path'] | 260 repos_path = HgModel().repos_path |
301 repo_path = os.path.join(repos_path, repo_name) | 261 repo_path = os.path.join(repos_path, repo_name) |
302 repo_fork_path = os.path.join(repos_path, form_data['fork_name']) | 262 repo_fork_path = os.path.join(repos_path, form_data['fork_name']) |
303 alias = form_data['repo_type'] | 263 alias = form_data['repo_type'] |
304 | 264 |
305 log.info('creating repo fork %s as %s', repo_name, repo_path) | 265 log.info('creating repo fork %s as %s', repo_name, repo_path) |
312 'erl', 'h', 'java', 'js', 'jsp', 'jspx', 'lisp', 'lua', 'm', 'mako', 'ml', | 272 'erl', 'h', 'java', 'js', 'jsp', 'jspx', 'lisp', 'lua', 'm', 'mako', 'ml', |
313 'pas', 'patch', 'php', 'php3', 'php4', 'phtml', 'pm', 'py', 'rb', 'rst', | 273 'pas', 'patch', 'php', 'php3', 'php4', 'phtml', 'pm', 'py', 'rb', 'rst', |
314 's', 'sh', 'tpl', 'txt', 'vim', 'wss', 'xhtml', 'xml', 'xsl', 'xslt', 'yaws'] | 274 's', 'sh', 'tpl', 'txt', 'vim', 'wss', 'xhtml', 'xml', 'xsl', 'xslt', 'yaws'] |
315 | 275 |
316 | 276 |
317 repos_path = get_hg_ui_settings()['paths_root_path'] | 277 repos_path = HgModel().repos_path |
318 p = os.path.join(repos_path, repo_name) | 278 p = os.path.join(repos_path, repo_name) |
319 repo = get_repo(p) | 279 repo = get_repo(p) |
320 tip = repo.get_changeset() | 280 tip = repo.get_changeset() |
321 code_stats = {} | 281 code_stats = {} |
322 | 282 |